Class ZOSChangelogConnector

    • Field Detail

      • PARAM_LDAP_SEARCH_BASE

        public static final java.lang.String PARAM_LDAP_SEARCH_BASE
        Parameter Name: "ldapSearchBase"
        See Also:
        Constant Field Values
      • PARAM_STORE_PARAM_NAME

        public static final java.lang.String PARAM_STORE_PARAM_NAME
        Parameter Name: "iteratorStateKey"
        See Also:
        Constant Field Values
      • PARAM_START_AT

        public static final java.lang.String PARAM_START_AT
        Parameter Name: "nsChangenumber"
        See Also:
        Constant Field Values
      • PARAM_SLEEP_INTERVAL

        public static final java.lang.String PARAM_SLEEP_INTERVAL
        Parameter Name: "nsSleepInterval"
        See Also:
        Constant Field Values
      • PARAM_TIMEOUT

        public static final java.lang.String PARAM_TIMEOUT
        Parameter Name: "nsTimeout"
        See Also:
        Constant Field Values
      • ATTRIBUTE_CPR

        public static final java.lang.String ATTRIBUTE_CPR
        Attribute name: "changeNumber"
        See Also:
        Constant Field Values
      • ATTRIBUTE_CHANGENUMBER

        public static final java.lang.String ATTRIBUTE_CHANGENUMBER
        Attribute name: "changenumber"
        See Also:
        Constant Field Values
    • Constructor Detail

      • ZOSChangelogConnector

        public ZOSChangelogConnector()
        Constructs this object and sets it supported mode.
    • Method Detail

      • initialize

        public void initialize​(java.lang.Object aObject)
                        throws java.lang.Exception
        Initializes the connector. All the configuration properties are considered and applied before a connection is made. After everything is set the connection is established.
        Specified by:
        initialize in interface ConnectorInterface
        Overrides:
        initialize in class ChangelogConnector
        Parameters:
        aObject - ignored.
        Throws:
        java.lang.Exception - if an error occurs.
      • selectEntries

        public void selectEntries()
                           throws java.lang.Exception
        Prepares the connector for iterating over changed objects.
        Specified by:
        selectEntries in interface ConnectorInterface
        Overrides:
        selectEntries in class LDAPConnector
        Throws:
        java.lang.Exception - if an error occurs.
      • getNextEntry

        public Entry getNextEntry()
                           throws java.lang.Exception
        This method will get the next change if the number of changes is smaller than the actual changes, that were done on the zOS Directory Server. If no more changes are available this method will sleep as much as the user have defined and when it wakes up it will check if any change was made.
        Specified by:
        getNextEntry in interface ConnectorInterface
        Overrides:
        getNextEntry in class LDAPConnector
        Returns:
        the changes as an Entry object
        Throws:
        java.lang.Exception - if an error occurs.
        See Also:
        ConnectorInterface.selectEntries()
      • saveStateKey

        public void saveStateKey()
                          throws java.lang.Exception
        Stores the USN values for the next synchronization. This method will skip the storing of the StateKey if the StateKey save method is set to ChangelogInterface.SAVE_STATE_AFTER_READ
        Specified by:
        saveStateKey in interface ChangelogInterface
        Throws:
        java.lang.Exception - - never
      • getStateKeyObject

        public java.lang.Object getStateKeyObject()
                                           throws java.lang.Exception
        Retrieves state key.
        Specified by:
        getStateKeyObject in interface ChangelogInterface
        Returns:
        the change number wrapped as a Long object.
        Throws:
        java.lang.Exception - - never
      • parseEntry

        protected Entry parseEntry​(Entry aEntry)
                            throws java.lang.Exception
        Method for parsing and merging Changelog Entry attributes and changed attributes from the actual Directory Entry.

        Note: The 'changes' attribute is optional for RACF LDAP changelog entries. Also the 'newrdn' attribute is missing for 'add' operations. Therefore there is no need to parse entries if both attributes are missing.

        Overrides:
        parseEntry in class ChangelogConnector
        Parameters:
        aEntry - the actual Directory Entry.
        Returns:
        the result of the parsing and merging operations entry.
        Throws:
        java.lang.Exception - if an error occurs.