Class ChangeLogConsumerBaseImpl

java.lang.Object
edu.internet2.middleware.grouper.changeLog.ChangeLogConsumerBase
edu.internet2.middleware.grouper.changeLog.ChangeLogConsumerBaseImpl
Direct Known Subclasses:
PrintChangeLogConsumer

public class ChangeLogConsumerBaseImpl extends ChangeLogConsumerBase
Default @ChangeLogConsumerBase implementation. This class gets instantiated by grouper for every run of processChangeLogEntries().
  • Field Details

    • CONFIG_FOLDER_NAME

      public static String CONFIG_FOLDER_NAME
    • SYNC_ATTRIBUTE_NAME

      public static String SYNC_ATTRIBUTE_NAME
      Property name for marker attribute defined in changeLog.consumer..syncAttributeName
    • CONSUMER_CLASS_NAME

      public static String CONSUMER_CLASS_NAME
      Property name for subclassed target consumer defined in changeLog.consumer..class
  • Constructor Details

    • ChangeLogConsumerBaseImpl

      public ChangeLogConsumerBaseImpl()
  • Method Details

    • addGroup

      protected void addGroup(Group group, ChangeLogEntry changeLogEntry)
      These methods are expected to be overidden in a subclass that is specific to a provisioning target. (e.g. Google Apps)
    • updateGroup

      protected void updateGroup(Group group, ChangeLogEntry changeLogEntry)
    • renameGroup

      protected void renameGroup(String oldGroupName, String newGroupName, ChangeLogEntry changeLogEntry)
      renameGroup may be called for groups that have not previously been marked, need to check the target to be sure. If the oldGroupName doesn't exist at the target, then add the newGroupName and all its memberships.
    • removeGroup

      protected void removeGroup(Group group, ChangeLogEntry changeLogEntry)
    • removeMovedGroup

      protected void removeMovedGroup(String oldGroupName, ChangeLogEntry changeLogEntry)
      removeMovedGroup may be called for groups that have not previously been marked, need to check the target to be sure. If the oldGroupName doesn't exist at the target, this call should be a no-op.
    • removeDeletedGroup

      protected void removeDeletedGroup(PITGroup pitGroup, ChangeLogEntry changeLogEntry)
    • addMembership

      protected void addMembership(Subject subject, Group group, ChangeLogEntry changeLogEntry)
    • removeMembership

      protected void removeMembership(Subject subject, Group group, ChangeLogEntry changeLogEntry)
    • addGroupAndMemberships

      protected void addGroupAndMemberships(Group group, ChangeLogEntry changeLogEntry)
    • getConsumerName

      public String getConsumerName()
      Description copied from class: ChangeLogConsumerBase
      consumer name in config file
      Overrides:
      getConsumerName in class ChangeLogConsumerBase
      Returns:
    • isFullSyncRunning

      protected boolean isFullSyncRunning(String consumerName)
      expected to be overidden
      Parameters:
      consumerName -
      Returns:
    • processChangeLogEntries

      public long processChangeLogEntries(List<ChangeLogEntry> changeLogEntryList, ChangeLogProcessorMetadata changeLogProcessorMetadata)
      Process the list of changeLogEntries since the last time this consumer was run. This method will be called by grouper daemon (aka grouper loader).
      Specified by:
      processChangeLogEntries in class ChangeLogConsumerBase
      Parameters:
      changeLogEntryList -
      changeLogProcessorMetadata -
      Returns:
      last processed changeLogEntry Id