wt.inf.container
Class PersistenceManagerEventHandler

java.lang.Object
  extended bywt.inf.container.PersistenceManagerEventHandler

final class PersistenceManagerEventHandler
extends Object



Supported API: false

Extendable: false


Field Summary
private static Vector ALL_PERM
           
private static String CLASSNAME
           
private static boolean DEBUG
           
private static DebugWriter LOG
           
private static String RESOURCE
           
private  StandardWTContainerService service
           
private static Object USER_STORE_LOOP_KEY
           
private static String WTOBJECT_NAME
           
private static int[] ZERO
           
 
Constructor Summary
(package private) PersistenceManagerEventHandler(StandardWTContainerService a_Service)
           
 
Method Summary
private  void addEventListeners(StandardWTContainerService service)
           
private  boolean checkUserStoreLoop(WTUser user)
          Detect whether or not there has already been a call to store the given user in the current transaction.
private  void createAdministratorRule(AdministrativeDomain domain)
           
private  void preDelete(WTOrganization org)
           
private  WTContained preStore(Iterated iterated)
           
private  WTContained preStore(OrganizationOwnedImpl impl)
           
private  void preStore(WTContained contained)
           
private  void preStore(WTPrincipal principal)
           
private  void refreshCreatorsLink(CreatorsLink link)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

DEBUG

private static final boolean DEBUG

LOG

private static final DebugWriter LOG

WTOBJECT_NAME

private static final String WTOBJECT_NAME

ALL_PERM

private static final Vector ALL_PERM

ZERO

private static final int[] ZERO

USER_STORE_LOOP_KEY

private static final Object USER_STORE_LOOP_KEY

service

private final StandardWTContainerService service
Constructor Detail

PersistenceManagerEventHandler

PersistenceManagerEventHandler(StandardWTContainerService a_Service)
                         throws WTException
Method Detail

addEventListeners

private void addEventListeners(StandardWTContainerService service)
                        throws WTException
Throws:
WTException

createAdministratorRule

private final void createAdministratorRule(AdministrativeDomain domain)
                                    throws WTException
Throws:
WTException

preStore

private final void preStore(WTContained contained)
                     throws WTException
Throws:
WTException

preStore

private final WTContained preStore(Iterated iterated)
                            throws WTException
Throws:
WTException

preStore

private final WTContained preStore(OrganizationOwnedImpl impl)
                            throws WTException
Throws:
WTException

preStore

private final void preStore(WTPrincipal principal)
                     throws WTException
Throws:
WTException

checkUserStoreLoop

private final boolean checkUserStoreLoop(WTUser user)
                                  throws WTException
Detect whether or not there has already been a call to store the given user in the current transaction. This is to prevent us from entering an infinite recursion when a user is the administrator of their organization, since the persistence of a user causes the persistence of their organization which in turn causes the persistence of the organization's administrator. Reported in SPR 1073544.

Parameters:
user -
Returns:
true if a loop is detected
Throws:
WTException

preDelete

private final void preDelete(WTOrganization org)
                      throws WTException
Throws:
WTException

refreshCreatorsLink

private final void refreshCreatorsLink(CreatorsLink link)
                                throws WTException
Throws:
WTException