• Guus der Kinderen's avatar
    OF-1125: Should use StreamID class instead of String. · 2cc0a948
    Guus der Kinderen authored
    To represent a stream ID, Openfire defines the StreamID interface. However,
    that interface is hardly used. Instead, simple String representations are used
    in most places.
    
    StreamIDs should conform to some specifications (notably: they shouldn't
    include XML special characters). An implementation of the StreamID interface
    is a good place to enforce specifications like that.
    
    This commit replaces all String-based stream ID representations with an
    implemenation of StreamID. For clustering/hazelcast, the serialized string
    is still being used to exchange data between nodes (I expect that this allows
    older and newer cluster nodes to continue to exchange cache information within
    the same cluster).
    
    Also in this commit:
    - StreamID implementations check for (and escape) XML special characters.
    - Duplicate implemenations of the StreamID interface are removed.
    
    Some code refers to streamID while in reality session IDs are implemented. This
    commit does not affect those pieces of code.
    2cc0a948
SessionManager.java 70.5 KB