|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.kuali.rice.krad.service.impl.PessimisticLockServiceImpl
@Transactional public class PessimisticLockServiceImpl
Service implementation for pessimistic locking
| Field Summary | |
|---|---|
protected DataDictionaryService |
dataDictionaryService
|
protected DataObjectService |
dataObjectService
|
protected PermissionService |
permissionService
|
protected PersonService |
personService
|
| Constructor Summary | |
|---|---|
PessimisticLockServiceImpl()
|
|
| Method Summary | |
|---|---|
protected PessimisticLock |
createNewPessimisticLock(Document document,
Map editMode,
Person user)
This method creates a new PessimisticLock object using the given document and user. |
void |
delete(String id)
This method deletes the given lock object |
Map |
establishLocks(Document document,
Map editMode,
Person user)
This implementation will check the given document, editMode map, and user object to verify Pessimistic Locking. |
void |
establishWorkflowPessimisticLocking(Document document)
This method creates a new PessimisticLock when Workflow processing requires one |
PessimisticLock |
generateNewLock(String documentNumber)
This method will generate a new PessimisticLock object with a 'document'
lock descriptor |
PessimisticLock |
generateNewLock(String documentNumber,
Person user)
This method will generate a new PessimisticLock object with a 'document'
lock descriptor |
PessimisticLock |
generateNewLock(String documentNumber,
String lockDescriptor)
This method will generate a new PessimisticLock object with a lock descriptor of
the given parameter |
PessimisticLock |
generateNewLock(String documentNumber,
String lockDescriptor,
Person user)
This method will generate a new PessimisticLock object with a lock descriptor of
the given parameter |
DataDictionaryService |
getDataDictionaryService()
|
Set |
getDocumentActions(Document document,
Person user,
Set<String> documentActions)
|
protected Map |
getEditModeWithEditableModesRemoved(Map currentEditMode)
This method is used to remove edit modes from the given map that allow the user to edit data on the document. |
protected Map |
getEntryEditModeReplacementMode(Map.Entry entry)
This method is used to return values needed to replace the given 'entry type' edit mode Map.Entry with one that will not allow the user to enter data on the document |
PermissionService |
getPermissionService()
|
PersonService |
getPersonService()
|
List<PessimisticLock> |
getPessimisticLocksForDocument(String documentNumber)
This method gets all locks associated with the given document number |
List<PessimisticLock> |
getPessimisticLocksForSession(String sessionId)
Return all locks associated with the given session id |
protected Person |
getWorkflowPessimisticLockOwnerUser()
This method identifies the user that should be used to create and clear PessimisticLock objects required by
Workflow.The default is the Kuali system user defined by RiceConstants#SYSTEM_USER. |
protected boolean |
hasPreRouteEditAuthorization(Document document,
Person user)
This method checks to see that the given user has a lock on the document and return true if one is found. |
protected boolean |
isEntryEditMode(Map.Entry entry)
This method is used to check if the given Map.Entry is an 'entry type' edit mode and that the value is set to
signify that this user has that edit mode available to them |
protected boolean |
isLockRequiredByUser(Document document,
Map editMode,
Person user)
This method is used to check if the given parameters warrant a new lock to be created for the given user. |
boolean |
isPessimisticLockAdminUser(Person user)
This method is used to identify who is an admin user for PessimisticLock objects |
void |
releaseAllLocksForUser(List<PessimisticLock> locks,
Person user)
This method will release all locks in the given list that are owned by the given user |
void |
releaseAllLocksForUser(List<PessimisticLock> locks,
Person user,
String lockDescriptor)
This method will release all locks in the given list that are owned by the given user that have a matching lock descriptor value |
void |
releaseWorkflowPessimisticLocking(Document document)
This method releases locks created via the establishWorkflowPessimisticLocking(Document) method for the given document |
PessimisticLock |
save(PessimisticLock lock)
This method saves the given lock object |
void |
setDataDictionaryService(DataDictionaryService dataDictionaryService)
|
void |
setDataObjectService(DataObjectService dataObjectService)
|
protected boolean |
usesPessimisticLocking(Document document)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected DataObjectService dataObjectService
protected DataDictionaryService dataDictionaryService
protected PermissionService permissionService
protected PersonService personService
| Constructor Detail |
|---|
public PessimisticLockServiceImpl()
| Method Detail |
|---|
public void delete(String id)
PessimisticLockService
delete in interface PessimisticLockServiceid - - the id of the lock to deletePessimisticLockService.delete(java.lang.String)public PessimisticLock generateNewLock(String documentNumber)
PessimisticLockServicePessimisticLock object with a 'document'
lock descriptor
generateNewLock in interface PessimisticLockServicedocumentNumber - - the document number of the document associated with the new lock
PessimisticLockPessimisticLockService.generateNewLock(String)
public PessimisticLock generateNewLock(String documentNumber,
String lockDescriptor)
PessimisticLockServicePessimisticLock object with a lock descriptor of
the given parameter
generateNewLock in interface PessimisticLockServicedocumentNumber - - the document number of the document associated with the new locklockDescriptor - - the lock descriptor the new PessimisticLock object should contain
PessimisticLock containing the given lockDescriptorPessimisticLockService.generateNewLock(java.lang.String)
public PessimisticLock generateNewLock(String documentNumber,
Person user)
PessimisticLockServicePessimisticLock object with a 'document'
lock descriptor
generateNewLock in interface PessimisticLockServicedocumentNumber - - the document number of the document associated with the new lockuser - - the user to set on the new lock being generated
PessimisticLockPessimisticLockService.generateNewLock(java.lang.String, org.kuali.rice.kim.api.identity.Person)
public PessimisticLock generateNewLock(String documentNumber,
String lockDescriptor,
Person user)
PessimisticLockServicePessimisticLock object with a lock descriptor of
the given parameter
generateNewLock in interface PessimisticLockServicedocumentNumber - - the document number of the document associated with the new locklockDescriptor - - the lock descriptor the new PessimisticLock object should containuser - - the user to set on the new lock being generated
PessimisticLock containing the given lockDescriptorPessimisticLockService.generateNewLock(java.lang.String, java.lang.String, org.kuali.rice.kim.api.identity.Person)public List<PessimisticLock> getPessimisticLocksForDocument(String documentNumber)
PessimisticLockService
getPessimisticLocksForDocument in interface PessimisticLockServicedocumentNumber - - the document number of the document requiring locks
PessimisticLock objects
found for the given documentNumberPessimisticLockService.getPessimisticLocksForDocument(java.lang.String)public List<PessimisticLock> getPessimisticLocksForSession(String sessionId)
PessimisticLockService
getPessimisticLocksForSession in interface PessimisticLockServicesessionId - - the session id
PessimisticLock objects
found for the given sessionIdPessimisticLockService.getPessimisticLocksForSession(java.lang.String)public boolean isPessimisticLockAdminUser(Person user)
PessimisticLockServicePessimisticLock objects
isPessimisticLockAdminUser in interface PessimisticLockServiceuser - - user to verify as admin
PessimisticLockService.isPessimisticLockAdminUser(org.kuali.rice.kim.api.identity.Person)
public void releaseAllLocksForUser(List<PessimisticLock> locks,
Person user)
PessimisticLockService
releaseAllLocksForUser in interface PessimisticLockServicelocks - - locks to release if owned by given useruser - - user to check for lock ownershipPessimisticLockService.releaseAllLocksForUser(java.util.List, org.kuali.rice.kim.api.identity.Person)
public void releaseAllLocksForUser(List<PessimisticLock> locks,
Person user,
String lockDescriptor)
PessimisticLockService
releaseAllLocksForUser in interface PessimisticLockServicelocks - - locks to release if owned by given useruser - - user to check for lock ownershiplockDescriptor - - lock descriptor value to match locks againstPessimisticLockService.releaseAllLocksForUser(java.util.List, org.kuali.rice.kim.api.identity.Person, java.lang.String)public PessimisticLock save(PessimisticLock lock)
PessimisticLockService
save in interface PessimisticLockServicePessimisticLockService.save(org.kuali.rice.krad.document.authorization.PessimisticLock)
public Set getDocumentActions(Document document,
Person user,
Set<String> documentActions)
getDocumentActions in interface PessimisticLockServicedocument - user -
protected boolean hasPreRouteEditAuthorization(Document document,
Person user)
document - - document to checkuser - - current user
#hasInitiateAuthorization(Document, Person)), and the document has a lock owned by the given
user. If the document is not using Pessimistic Locking the value returned will be that returned by
#hasInitiateAuthorization(Document, Person).protected boolean usesPessimisticLocking(Document document)
public void establishWorkflowPessimisticLocking(Document document)
PessimisticLock when Workflow processing requires one
establishWorkflowPessimisticLocking in interface PessimisticLockServicedocument - - the document to create the lock against and add the lock toorg.kuali.rice.kns.document.authorization.DocumentAuthorizer#establishWorkflowPessimisticLocking(org.kuali.rice.krad.document.Document)public void releaseWorkflowPessimisticLocking(Document document)
establishWorkflowPessimisticLocking(Document) method for the given document
releaseWorkflowPessimisticLocking in interface PessimisticLockServicedocument - - document to release locks fromorg.kuali.rice.kns.document.authorization.DocumentAuthorizer#releaseWorkflowPessimisticLocking(org.kuali.rice.krad.document.Document)protected Person getWorkflowPessimisticLockOwnerUser()
PessimisticLock objects required by
Workflow.RiceConstants#SYSTEM_USER. This method can be overriden by
implementing documents if another user is needed.
Person object
public Map establishLocks(Document document,
Map editMode,
Person user)
PessimisticLock object will be created and set on the document for the given user.
establishLocks in interface PessimisticLockServicedocument - - the document locks are to be established against or byeditMode - - the editModeuser - - the user locks are being established for
org.kuali.rice.kns.document.authorization.DocumentAuthorizer#establishLocks(org.kuali.rice.krad.document.Document,
java.util.Map, org.kuali.rice.kim.api.identity.Person)
protected boolean isLockRequiredByUser(Document document,
Map editMode,
Person user)
isEntryEditMode(java.util.Map.Entry) method.
document - -
document to verify lock creation againsteditMode - -
edit modes list to check for 'entry type' edit modesuser - -
user the lock will be 'owned' by
protected Map getEditModeWithEditableModesRemoved(Map currentEditMode)
isEntryEditMode(java.util.Map.Entry) method to identify if an edit mode is defined as an
'entry type' edit mode. It also uses the getEntryEditModeReplacementMode(java.util.Map.Entry) method to replace
any 'entry type' edit modes it finds.
currentEditMode - -
current set of edit modes the user has assigned to them
getEntryEditModeReplacementMode(java.util.Map.Entry) methodprotected boolean isEntryEditMode(Map.Entry entry)
Map.Entry is an 'entry type' edit mode and that the value is set to
signify that this user has that edit mode available to them
entry - -
the Map.Entry object that contains an edit mode such as the ones returned but
#getEditMode(Document, Person)
#EDIT_MODE_DEFAULT_TRUE_VALUE... false if notprotected Map getEntryEditModeReplacementMode(Map.Entry entry)
Map.Entry with one that will not allow the user to enter data on the document
entry - - the current 'entry type' edit mode to replace
protected PessimisticLock createNewPessimisticLock(Document document,
Map editMode,
Person user)
PessimisticLock object using the given document and user. If the document's
useCustomLockDescriptors() method returns true then the new lock will also have a custom lock descriptor
value set to the return value of the document's getCustomLockDescriptor(Person) method.
document - -
document to place the lock oneditMode - -
current edit modes for given useruser - -
user who will 'own' the new lock object
public PersonService getPersonService()
public DataDictionaryService getDataDictionaryService()
public void setDataDictionaryService(DataDictionaryService dataDictionaryService)
public PermissionService getPermissionService()
public void setDataObjectService(DataObjectService dataObjectService)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||