OptimalTrace
5.2

com.compuware.optimaltrace.tools.common.tpn.client
Class LockSupport

java.lang.Object
  extended by com.compuware.optimaltrace.tools.common.tpn.client.LockSupport

public class LockSupport
extends java.lang.Object

Class LockSupport


Nested Class Summary
static interface LockSupport.LocallyLockedListener
          Locks the listener locally.
 
Field Summary
static int ALL_REACHABLE_OBJECTS_LOCK
          Indicates a lock for the all reachable objects.
static int CUTSOM_PROPERTY_TEMPLATE_LIST_AND_HOLDERS
          Indicates a lock for the custom property template list and holders.
static int DELETE_ACTOR_LOCK
          Indicates a lock for deleting the actor.
static int DISINHERIT_CPS_LOCK
          Indicates a lock for disinheriting CPS.
static int FULL_PROJECT_LOCK
          Indicates a lock for the full object.
static int FULL_PROJECT_LOCK_IGNORE_PERMISSIONS
          Indicates a lock for the full project with ignoring the permissions.
static int FULLPACKAGE_LOCK
          Indicates a lock for the full package.
static int GLOSSARY_LOCK
          Indicates a lock for the glossary.
static int INHERIT_CPS_LOCK
          Indicates a lock for inheriting CPS.
static int PARENT_AND_ALL_INWARD_OBJECTS_LOCK_FOR_DELETE
          Indicates a lock for deleting the parent and all inward objects.
static int PARENT_AND_ALL_REACHABLE_OBJECTS_LOCK
          Indicates a lock for the parent and all reachable objects.
static int PARENT_AND_ALL_REACHABLE_OBJECTS_LOCK_FOR_DELETE
          Indicates a lock for deleting the parent and all reachable objects.
static int PROJECT_AND_GOAL_LEVEL_LOCK
          Indicates a lock for the project and goal level.
static int REACHABLE_OBJECTS_FOR_PASTE
          Indicates a lock for pasting the reachable objects.
static int SIMPLE_LOCK
          Indicates a simple lock.
static int USECase_LOCK
          Indicates a lock for the usecase.
static int USECASEPackage_LOCK
          Indicates a lock for the usecase package.
 
Method Summary
static void addLocallyLockedBizObject(BizObjectIfc bizObject)
          Adds the locally locked biz object.
static void addLocallyLockedListener(LockSupport.LocallyLockedListener listener, BizObjectIfc bizObject)
          Adds a listener for when the specified biz object is locked by this user.
static void cancelTransaction()
          Cancels the transaction.
static boolean clearAllProjectLocks(long projectId)
          Removes all locks for this project.
static void commit()
          Commits the transaction.
 java.util.Set getBizObjectLockOwners(java.util.Set bizObjectIds)
          Gets the biz object lock owner.
 void initLocks(java.util.Map locks)
          Initializes the locks for this newly registered client.
static boolean isLockedLocally(BizObjectIfc bizObject)
          Checks if it is locked locally.
static boolean isLockedRemotely(BizObjectIfc bizObject)
          Checks if it is locked remotely.
static void lock(ProjectIfc project, BizObjectIfc bizObject)
          Locks the biz objects.
static void lock(ProjectIfc project, BizObjectIfc bizObject, int lockType)
          Locks the biz object.
static void lock(ProjectIfc project, java.util.Set bizObjects)
          Locks the business objects.
static void lockForMerge(ProjectIfc project, BizObjectIfc bizObject, int lockType)
          Locks the biz object for merge.
static void requestLocks(ProjectIfc project, java.util.Set bizObjects, boolean lockForMerge)
          Requests the locks.
static void requestLocks(ProjectIfc project, java.util.Set bizObjects, boolean lockForMerge, boolean ignorePermissionChecking)
          Requests the locks.
static void startTransaction(ProjectIfc project)
          Starts the transaction.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SIMPLE_LOCK

public static final int SIMPLE_LOCK
Indicates a simple lock.

See Also:
Constant Field Values

USECase_LOCK

public static final int USECase_LOCK
Indicates a lock for the usecase.

See Also:
Constant Field Values

USECASEPackage_LOCK

public static final int USECASEPackage_LOCK
Indicates a lock for the usecase package.

See Also:
Constant Field Values

DELETE_ACTOR_LOCK

public static final int DELETE_ACTOR_LOCK
Indicates a lock for deleting the actor.

See Also:
Constant Field Values

GLOSSARY_LOCK

public static final int GLOSSARY_LOCK
Indicates a lock for the glossary.

See Also:
Constant Field Values

FULLPACKAGE_LOCK

public static final int FULLPACKAGE_LOCK
Indicates a lock for the full package.

See Also:
Constant Field Values

ALL_REACHABLE_OBJECTS_LOCK

public static final int ALL_REACHABLE_OBJECTS_LOCK
Indicates a lock for the all reachable objects.

See Also:
Constant Field Values

FULL_PROJECT_LOCK

public static final int FULL_PROJECT_LOCK
Indicates a lock for the full object.

See Also:
Constant Field Values

PARENT_AND_ALL_REACHABLE_OBJECTS_LOCK

public static final int PARENT_AND_ALL_REACHABLE_OBJECTS_LOCK
Indicates a lock for the parent and all reachable objects.

See Also:
Constant Field Values

PARENT_AND_ALL_REACHABLE_OBJECTS_LOCK_FOR_DELETE

public static final int PARENT_AND_ALL_REACHABLE_OBJECTS_LOCK_FOR_DELETE
Indicates a lock for deleting the parent and all reachable objects.

See Also:
Constant Field Values

PARENT_AND_ALL_INWARD_OBJECTS_LOCK_FOR_DELETE

public static final int PARENT_AND_ALL_INWARD_OBJECTS_LOCK_FOR_DELETE
Indicates a lock for deleting the parent and all inward objects.

See Also:
Constant Field Values

PROJECT_AND_GOAL_LEVEL_LOCK

public static final int PROJECT_AND_GOAL_LEVEL_LOCK
Indicates a lock for the project and goal level.

See Also:
Constant Field Values

REACHABLE_OBJECTS_FOR_PASTE

public static final int REACHABLE_OBJECTS_FOR_PASTE
Indicates a lock for pasting the reachable objects.

See Also:
Constant Field Values

CUTSOM_PROPERTY_TEMPLATE_LIST_AND_HOLDERS

public static final int CUTSOM_PROPERTY_TEMPLATE_LIST_AND_HOLDERS
Indicates a lock for the custom property template list and holders.

See Also:
Constant Field Values

FULL_PROJECT_LOCK_IGNORE_PERMISSIONS

public static final int FULL_PROJECT_LOCK_IGNORE_PERMISSIONS
Indicates a lock for the full project with ignoring the permissions.

See Also:
Constant Field Values

DISINHERIT_CPS_LOCK

public static final int DISINHERIT_CPS_LOCK
Indicates a lock for disinheriting CPS.

See Also:
Constant Field Values

INHERIT_CPS_LOCK

public static final int INHERIT_CPS_LOCK
Indicates a lock for inheriting CPS.

See Also:
Constant Field Values
Method Detail

getBizObjectLockOwners

public java.util.Set getBizObjectLockOwners(java.util.Set bizObjectIds)
Gets the biz object lock owner.

Parameters:
bizObjectIds -

addLocallyLockedListener

public static void addLocallyLockedListener(LockSupport.LocallyLockedListener listener,
                                            BizObjectIfc bizObject)
Adds a listener for when the specified biz object is locked by this user. Note: the current user of this (TreeRenderer) this uses a weak hash map so there is no corresponding removeLocallyLockedListener.

Parameters:
listener -
bizObject -

addLocallyLockedBizObject

public static void addLocallyLockedBizObject(BizObjectIfc bizObject)
Adds the locally locked biz object.

Parameters:
bizObject -

isLockedLocally

public static boolean isLockedLocally(BizObjectIfc bizObject)
Checks if it is locked locally.

Parameters:
bizObject -
Returns:
boolean

isLockedRemotely

public static boolean isLockedRemotely(BizObjectIfc bizObject)
Checks if it is locked remotely.

Parameters:
bizObject -
Returns:
boolean

lock

public static void lock(ProjectIfc project,
                        BizObjectIfc bizObject,
                        int lockType)
                 throws ObjectAlreadyLockedException,
                        PermissionException,
                        NetworkException,
                        DisconnectEventPendingException
Locks the biz object.

Parameters:
project -
bizObject -
lockType -
Throws:
ObjectAlreadyLockedException
PermissionException
NetworkException
DisconnectEventPendingException

lockForMerge

public static void lockForMerge(ProjectIfc project,
                                BizObjectIfc bizObject,
                                int lockType)
                         throws NetworkException,
                                ObjectAlreadyLockedException,
                                PermissionException,
                                DisconnectEventPendingException
Locks the biz object for merge.

Parameters:
project -
bizObject -
lockType -
Throws:
ObjectAlreadyLockedException
PermissionException
NetworkException
DisconnectEventPendingException

startTransaction

public static void startTransaction(ProjectIfc project)
Starts the transaction.

Parameters:
project -

commit

public static void commit()
                   throws ObjectAlreadyLockedException,
                          PermissionException,
                          NetworkException,
                          DisconnectEventPendingException
Commits the transaction.

Throws:
ObjectAlreadyLockedException
PermissionException
NetworkException
DisconnectEventPendingException

cancelTransaction

public static void cancelTransaction()
Cancels the transaction.


requestLocks

public static void requestLocks(ProjectIfc project,
                                java.util.Set bizObjects,
                                boolean lockForMerge)
                         throws ObjectAlreadyLockedException,
                                NetworkException,
                                PermissionException,
                                DisconnectEventPendingException
Requests the locks.

Parameters:
project -
bizObjects -
lockForMerge -
Throws:
ObjectAlreadyLockedException
PermissionException
NetworkException
DisconnectEventPendingException

requestLocks

public static void requestLocks(ProjectIfc project,
                                java.util.Set bizObjects,
                                boolean lockForMerge,
                                boolean ignorePermissionChecking)
                         throws ObjectAlreadyLockedException,
                                NetworkException,
                                PermissionException,
                                DisconnectEventPendingException
Requests the locks.

Parameters:
project -
bizObjects -
lockForMerge -
ignorePermissionChecking -
Throws:
ObjectAlreadyLockedException
PermissionException
NetworkException
DisconnectEventPendingException

lock

public static void lock(ProjectIfc project,
                        java.util.Set bizObjects)
                 throws ObjectAlreadyLockedException,
                        PermissionException,
                        DisconnectEventPendingException,
                        NetworkException
Locks the business objects.

Parameters:
project -
bizObjects -
Throws:
ObjectAlreadyLockedException
PermissionException
NetworkException
DisconnectEventPendingException

lock

public static void lock(ProjectIfc project,
                        BizObjectIfc bizObject)
                 throws ObjectAlreadyLockedException,
                        PermissionException,
                        NetworkException,
                        DisconnectEventPendingException
Locks the biz objects.

Parameters:
project -
bizObject -
Throws:
ObjectAlreadyLockedException
PermissionException
NetworkException
DisconnectEventPendingException

clearAllProjectLocks

public static boolean clearAllProjectLocks(long projectId)
Removes all locks for this project.

Parameters:
projectId -
Returns:
boolean

initLocks

public void initLocks(java.util.Map locks)
Initializes the locks for this newly registered client.

Parameters:
locks -

OptimalTrace
5.2

Compuware Corporation

OptimalTrace is a trademark or registered trademark of Compuware Corporation in the US and other countries.
Copyright 2008-2009 Compuware Corporation. One Campus Martius,
Detroit, Michigan, 48226, U.S.A. All Rights Reserved.