com.atlassian.crowd.directory.ldap.monitor.listener
Class ChangeListener

java.lang.Object
  extended by com.atlassian.crowd.directory.ldap.monitor.listener.ChangeListener
All Implemented Interfaces:
EventListener, NamespaceChangeListener, NamingListener, ObjectChangeListener
Direct Known Subclasses:
GroupChangeListener, UserChangeListener

public abstract class ChangeListener
extends Object
implements ObjectChangeListener, NamespaceChangeListener


Field Summary
protected  Name baseDN
           
protected  com.atlassian.event.api.EventPublisher eventPublisher
           
protected  org.slf4j.Logger logger
           
protected  boolean lookupUpdates
           
protected  org.springframework.ldap.core.ContextMapper mapper
           
protected  String objectFilter
           
protected  LDAPDirectory remoteDirectory
           
 
Constructor Summary
ChangeListener(LDAPDirectory remoteDirectory, Name baseDN, String objectFilter, org.springframework.ldap.core.ContextMapper mapper, com.atlassian.event.api.EventPublisher eventPublisher, boolean lookupUpdates)
           
 
Method Summary
protected  org.springframework.ldap.core.DirContextAdapter buildContextAdapter(SearchResult result)
           
 Name getBaseDN()
           
 long getDirectoryID()
           
 String getObjectFilter()
           
protected abstract  Object lookupEntity(String dn)
          Find an entity based on it's DN.
 void namingExceptionThrown(NamingExceptionEvent event)
           
 void objectAdded(NamingEvent event)
           
 void objectChanged(NamingEvent event)
           
 void objectRemoved(NamingEvent event)
           
 void objectRenamed(NamingEvent event)
           
protected abstract  void publishEntityCreatedEvent(Object entity)
          Fire an entity created event.
protected abstract  void publishEntityDeletedEvent(Object entity)
          Fire an entity deleted event.
protected abstract  void publishEntityUpdatedEvent(Object entity)
          Fire an entity updated event.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final org.slf4j.Logger logger

remoteDirectory

protected final LDAPDirectory remoteDirectory

baseDN

protected final Name baseDN

objectFilter

protected final String objectFilter

mapper

protected final org.springframework.ldap.core.ContextMapper mapper

eventPublisher

protected final com.atlassian.event.api.EventPublisher eventPublisher

lookupUpdates

protected final boolean lookupUpdates
Constructor Detail

ChangeListener

public ChangeListener(LDAPDirectory remoteDirectory,
                      Name baseDN,
                      String objectFilter,
                      org.springframework.ldap.core.ContextMapper mapper,
                      com.atlassian.event.api.EventPublisher eventPublisher,
                      boolean lookupUpdates)
Method Detail

getDirectoryID

public long getDirectoryID()

getBaseDN

public Name getBaseDN()

getObjectFilter

public String getObjectFilter()

buildContextAdapter

protected org.springframework.ldap.core.DirContextAdapter buildContextAdapter(SearchResult result)

publishEntityCreatedEvent

protected abstract void publishEntityCreatedEvent(Object entity)
Fire an entity created event.

Parameters:
entity - entity object.

publishEntityUpdatedEvent

protected abstract void publishEntityUpdatedEvent(Object entity)
Fire an entity updated event.

Parameters:
entity - entity object.

publishEntityDeletedEvent

protected abstract void publishEntityDeletedEvent(Object entity)
Fire an entity deleted event.

Parameters:
entity - entity object.

lookupEntity

protected abstract Object lookupEntity(String dn)
Find an entity based on it's DN. Return null if the entity cannot be found.

Parameters:
dn - distinguished name.

objectAdded

public void objectAdded(NamingEvent event)
Specified by:
objectAdded in interface NamespaceChangeListener

objectChanged

public void objectChanged(NamingEvent event)
Specified by:
objectChanged in interface ObjectChangeListener

objectRemoved

public void objectRemoved(NamingEvent event)
Specified by:
objectRemoved in interface NamespaceChangeListener

objectRenamed

public void objectRenamed(NamingEvent event)
Specified by:
objectRenamed in interface NamespaceChangeListener

namingExceptionThrown

public void namingExceptionThrown(NamingExceptionEvent event)
Specified by:
namingExceptionThrown in interface NamingListener


Copyright © 2012 Atlassian. All Rights Reserved.