Class ACMSessionIdParser


  • public class ACMSessionIdParser
    extends IDSSXMLSessionIdParser
    ACMSessionIdParser is the implementation of the IDSSXMLSessionId
    ACMSessionIdParser is the ONLY place that knows about the content and syntax of the sessionId.

    The Syntax:
    (1) The 32 character GUID that represents the sessionID as given out by IServer is the first 32 characters in the sessionID
    (2) If the string is less than 32 characters, then this cannot represent a GUID and the constructor will throw an exception
    (3) There are six possible delimiters (:^~#@$)
    (4) The 33rd character up to the end of the string or the first delimiter, whichever comes first, is the machine name
    (5) The machine name must exist
    (6) The parameter after ":" and up to the end of the string or the next delimiter is the locale
    (7) The locale may not exist
    (8) The parameter after "^" and up to the end of the string or the next delimiter is the return value
    (9) The return value may not exist
    (10) The parameter after "~" and up to the end of the string or the next delimiter is the message id
    (11) The message idmay not exist
    (12) The parameter after "#" and up to the end of the string or the next delimiter is the project id
    (13) The project id may not exist
    (14) The parameter after "@" and up to the end of the string or the next delimiter is the port associated with the machine (15) The port must exist (16) The parameter after "$" and up to the end of the string or the next delimiter is the session type ("MASTER", "CONFIG", "PROJECT") (17) The type must exist (18) The parameter after "*" and up to the end of the string or the next delimiter is the should close ("CLOSE", "DONTCLOSE") (19) The should close value may not exist. The default is CLOSE (18) If any parameter has invalid syntax then the entire sessionID is assumed invalid

    Valid sessionID examples:
    A633E7CEC88C42727B6EEC22795DEE6DDFM-WIN-VS15-7:1033^1~00000000000000000000000000000000#BC53E7CEC88C42727B6EEC22795DA974@34952$MASTER
    A633E7CEC88C42727B6EEC22795DEE6DD@34952$MASTER
    A633E7CEC88C42727B6EEC22795DEE6DDFM-WIN-VS15-7@34952$MASTER
    A633E7CEC88C42727B6EEC22795DEE6DDFM-WIN-VS15-7:1033@34952$MASTER
    A633E7CEC88C42727B6EEC22795DEE6DDFM-WIN-VS15-7^1@34952$MASTER
    A633E7CEC88C42727B6EEC22795DEE6DDFM-WIN-VS15-7~00000000000000000000000000000000@34952$MASTER
    A633E7CEC88C42727B6EEC22795DEE6DDFM-WIN-VS15-7#BC53E7CEC88C42727B6EEC22795DA974@34952$MASTER
    A633E7CEC88C42727B6EEC22795DEE6DDFM-WIN-VS15-7:1033#BC53E7CEC88C42727B6EEC22795DA974@34952$MASTER
    A633E7CEC88C42727B6EEC22795DEE6DDFM-WIN-VS15-7:1033^1@34952$MASTER
    A633E7CEC88C42727B6EEC22795DEE6DDFM-WIN-VS15-7:1033~00000000000000000000000000000000@34952$MASTER
    A633E7CEC88C42727B6EEC22795DEE6DDFM-WIN-VS15-7:1033~00000000000000000000000000000000@34952$MASTER*DONTCLOSE