|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.kuali.rice.kns.maintenance.KualiMaintainableImpl
org.kuali.kfs.sys.document.FinancialSystemMaintainable
org.kuali.kfs.sec.document.SecurityDefinitionMaintainableImpl
public class SecurityDefinitionMaintainableImpl
Maintainable implementation for the Security Definition maintenance document. Hooks into Post processing to create the KIM permissions from the definition records
Field Summary |
---|
Fields inherited from class org.kuali.rice.kns.maintenance.KualiMaintainableImpl |
---|
boClass, businessObject, businessObjectAuthorizationService, businessObjectDictionaryService, businessObjectMetaDataService, businessObjectService, dataDictionaryService, docTypeName, documentHelperService, documentNumber, encryptionService, inactiveRecordDisplay, maintenanceAction, maintenanceDocumentDictionaryService, maintenanceDocumentService, newCollectionLines, persistenceStructureService, personService |
Constructor Summary | |
---|---|
SecurityDefinitionMaintainableImpl()
|
Method Summary | |
---|---|
protected void |
createNewDocumentTypePermissions(String documentType,
boolean active,
SecurityDefinition newSecurityDefinition)
Checks the document restrict flags on the security definition and if true calls helper method to create a new permission |
protected void |
createOrUpdateDefinitionRole(SecurityDefinition oldSecurityDefinition,
SecurityDefinition newSecurityDefinition)
Creates a new role for the definition (if the definition is new), then grants to the role any new permissions granted for the definition. |
protected void |
createOrUpdateDocumentPermissions(SecurityDefinition oldSecurityDefinition,
SecurityDefinition newSecurityDefinition,
boolean newMaintenanceAction)
Iterates through the document types and creates any new document permissions necessary or updates old permissions setting inactive if needed |
protected void |
createOrUpdateDocumentTypePermission(String documentType,
boolean active,
SecurityDefinition oldSecurityDefinition,
SecurityDefinition newSecurityDefinition,
String templateId)
First tries to find an existing permission for the document type, template, and definition. |
protected void |
createOrUpdateDocumentTypePermissions(String documentType,
boolean active,
SecurityDefinition oldSecurityDefinition,
SecurityDefinition newSecurityDefinition)
For each of the document templates ids calls helper method to create or update corresponding permission |
protected void |
createOrUpdateInquiryPermissions(SecurityDefinition oldSecurityDefinition,
SecurityDefinition newSecurityDefinition,
boolean newMaintenanceAction)
First tries to find inquiry permissions for GL namespace and LD namespace. |
protected void |
createOrUpdateLookupPermission(SecurityDefinition oldSecurityDefinition,
SecurityDefinition newSecurityDefinition,
boolean newMaintenanceAction)
First tries to retrieve a lookup permission previously setup for this definition. |
void |
doRouteStatusChange(org.kuali.rice.kns.bo.DocumentHeader documentHeader)
|
protected org.kuali.rice.kim.bo.role.dto.KimPermissionInfo |
findDocumentPermission(SecurityDefinition securityDefinition,
String templateId,
String documentType)
Calls helper method to find all permissions for the given template ID and security defintion name (permission name). |
protected List<org.kuali.rice.kim.bo.role.dto.KimPermissionInfo> |
findSecurityPermissionsByNameAndTemplate(String permissionName,
String templateId)
Calls permission service to find all permissions for the given name. |
protected boolean |
isDocumentTypeInDefinition(String documentType,
SecurityDefinition oldSecurityDefinition)
Determines whether a given document type name is included in the document type list for the given security definition |
protected org.kuali.rice.kim.bo.types.dto.AttributeSet |
populateDocumentTypePermissionDetails(String documentType,
SecurityDefinition securityDefinition)
Builds an AttributeSet populated from the given method parameters. |
protected org.kuali.rice.kim.bo.types.dto.AttributeSet |
populateInquiryPermissionDetails(String namespaceCode,
SecurityDefinition securityDefinition)
Builds an AttributeSet populated from the given method parameters. |
protected org.kuali.rice.kim.bo.types.dto.AttributeSet |
populateLookupPermissionDetails(SecurityDefinition securityDefinition)
Builds an AttributeSet populated from the given method parameters. |
void |
processAfterCopy(org.kuali.rice.kns.document.MaintenanceDocument document,
Map<String,String[]> parameters)
Override to clear out KIM role id on copy |
void |
refresh(String refreshCaller,
Map fieldValues,
org.kuali.rice.kns.document.MaintenanceDocument document)
|
protected void |
savePermission(SecurityDefinition securityDefinition,
String permissionId,
String permissionTemplateId,
boolean active,
org.kuali.rice.kim.bo.types.dto.AttributeSet permissionDetails)
Calls PermissionUpdateService to save a permission. |
Methods inherited from class org.kuali.kfs.sys.document.FinancialSystemMaintainable |
---|
answerSplitNodeQuestion, populateChartOfAccountsCodeFields, processAfterPost, processBeforeAddLine, refreshReferences |
Methods inherited from class org.kuali.rice.kns.maintenance.KualiMaintainableImpl |
---|
addMultipleValueLookupResults, addNewLineToCollection, clearBusinessObjectOfRestrictedValues, clearCollectionRestrictedValues, clearFieldRestrictedValues, decryptEncryptedData, deleteBusinessObject, generateAllAffectedReferences, generateMaintenanceLocks, getAffectedReferencesFromLookup, getAllRefreshableReferences, getBoClass, getBusinessObject, getBusinessObjectAuthorizationService, getBusinessObjectDictionaryService, getBusinessObjectMetaDataService, getBusinessObjectService, getCoreSections, getCustomLockDescriptor, getDataDictionaryService, getDocumentHelperService, getDocumentTitle, getDocumentTypeName, getDuplicateIdentifierFieldsFromDataDictionary, getEncryptionService, getInactiveRecordDisplay, getLockingDocumentId, getMaintainableTitle, getMaintenanceAction, getMaintenanceDocumentDictionaryService, getMaintenanceDocumentService, getMultiValueIdentifierList, getNewCollectionLine, getPersistenceStructureService, getPersonService, getSections, getShowInactiveRecords, getWorkflowEngineDocumentIdsToLock, hasBusinessObjectExisted, initNewCollectionLine, isBoNotesEnabled, isExternalBusinessObject, isOldBusinessObjectInDocument, isRelationshipRefreshable, performCollectionForceUpperCase, performFieldForceUpperCase, performFieldForceUpperCase, performForceUpperCase, populateBusinessObject, populateNewCollectionLines, populateNewSubCollectionLines, prepareBusinessObject, prepareBusinessObjectForAdditionFromMultipleValueLookup, prepareForSave, processAfterAddLine, processAfterEdit, processAfterNew, processAfterRetrieve, saveBusinessObject, setBoClass, setBusinessObject, setDocumentNumber, setGenerateBlankRequiredValues, setGenerateDefaultValues, setMaintenanceAction, setNewCollectionLineDefaultValues, setShowInactiveRecords, setupNewFromExisting, shouldFieldBeEncrypted, useCustomLockDescriptors |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SecurityDefinitionMaintainableImpl()
Method Detail |
---|
public void refresh(String refreshCaller, Map fieldValues, org.kuali.rice.kns.document.MaintenanceDocument document)
refresh
in interface org.kuali.rice.kns.maintenance.Maintainable
refresh
in class org.kuali.rice.kns.maintenance.KualiMaintainableImpl
KualiMaintainableImpl.refresh(java.lang.String, java.util.Map, org.kuali.rice.kns.document.MaintenanceDocument)
public void doRouteStatusChange(org.kuali.rice.kns.bo.DocumentHeader documentHeader)
doRouteStatusChange
in interface org.kuali.rice.kns.maintenance.Maintainable
doRouteStatusChange
in class org.kuali.rice.kns.maintenance.KualiMaintainableImpl
KualiMaintainableImpl.doRouteStatusChange(org.kuali.rice.kns.bo.DocumentHeader)
protected void createOrUpdateDefinitionRole(SecurityDefinition oldSecurityDefinition, SecurityDefinition newSecurityDefinition)
oldSecurityDefinition
- SecurityDefinition record before updatesnewSecurityDefinition
- SecurityDefinition after updatesprotected void createOrUpdateDocumentPermissions(SecurityDefinition oldSecurityDefinition, SecurityDefinition newSecurityDefinition, boolean newMaintenanceAction)
oldSecurityDefinition
- SecurityDefiniton record before requested changes (old side of maintenance document)newSecurityDefinition
- SecurityDefinition record with requested changes (new side of maintenance document)newMaintenanceAction
- Indicates whether this is a new maintenance record (old side in empty)protected void createOrUpdateLookupPermission(SecurityDefinition oldSecurityDefinition, SecurityDefinition newSecurityDefinition, boolean newMaintenanceAction)
oldSecurityDefinition
- SecurityDefiniton record before requested changes (old side of maintenance document)newSecurityDefinition
- SecurityDefinition record with requested changes (new side of maintenance document)newMaintenanceAction
- Indicates whether this is a new maintenance record (old side in empty)protected void createOrUpdateInquiryPermissions(SecurityDefinition oldSecurityDefinition, SecurityDefinition newSecurityDefinition, boolean newMaintenanceAction)
oldSecurityDefinition
- SecurityDefiniton record before requested changes (old side of maintenance document)newSecurityDefinition
- SecurityDefinition record with requested changes (new side of maintenance document)newMaintenanceAction
- Indicates whether this is a new maintenance record (old side in empty)protected void createNewDocumentTypePermissions(String documentType, boolean active, SecurityDefinition newSecurityDefinition)
documentType
- workflow document type name for permission detailactive
- boolean indicating whether the permissions should be set to active (true) or non-active (false)newSecurityDefinition
- SecurityDefintion which contains values for the permissionsprotected void createOrUpdateDocumentTypePermissions(String documentType, boolean active, SecurityDefinition oldSecurityDefinition, SecurityDefinition newSecurityDefinition)
documentType
- workflow document type name for permission detailactive
- boolean indicating whether the permissions should be set to active (true) or non-active (false)oldSecurityDefinition
- SecurityDefiniton record before requested changes (old side of maintenance document)newSecurityDefinition
- SecurityDefinition record with requested changes (new side of maintenance document)protected void createOrUpdateDocumentTypePermission(String documentType, boolean active, SecurityDefinition oldSecurityDefinition, SecurityDefinition newSecurityDefinition, String templateId)
documentType
- workflow document type name for permission detailactive
- boolean indicating whether the permissions should be set to active (true) or non-active (false)oldSecurityDefinition
- SecurityDefiniton record before requested changes (old side of maintenance document)newSecurityDefinition
- SecurityDefinition record with requested changes (new side of maintenance document)templateId
- KIM template id for the permission record that is should be created or updatedprotected org.kuali.rice.kim.bo.types.dto.AttributeSet populateDocumentTypePermissionDetails(String documentType, SecurityDefinition securityDefinition)
documentType
- workflow document type namesecurityDefinition
- SecurityDefiniton record
protected org.kuali.rice.kim.bo.types.dto.AttributeSet populateLookupPermissionDetails(SecurityDefinition securityDefinition)
securityDefinition
- SecurityDefiniton record
protected org.kuali.rice.kim.bo.types.dto.AttributeSet populateInquiryPermissionDetails(String namespaceCode, SecurityDefinition securityDefinition)
namespaceCode
- KIM namespace codesecurityDefinition
- SecurityDefiniton record
protected org.kuali.rice.kim.bo.role.dto.KimPermissionInfo findDocumentPermission(SecurityDefinition securityDefinition, String templateId, String documentType)
securityDefinition
- SecurityDefiniton record for permissiontemplateId
- KIM template ID for permissiondocumentType
- KEW document type name for permission detail
protected List<org.kuali.rice.kim.bo.role.dto.KimPermissionInfo> findSecurityPermissionsByNameAndTemplate(String permissionName, String templateId)
permissionName
- name of permission to findtemplateId
- KIM template ID of permission to find
org.kuali.rice.kim.service.PermissionService#getPermissionsByName()
protected boolean isDocumentTypeInDefinition(String documentType, SecurityDefinition oldSecurityDefinition)
documentType
- KEW document type nameoldSecurityDefinition
- SecurityDefinition record
protected void savePermission(SecurityDefinition securityDefinition, String permissionId, String permissionTemplateId, boolean active, org.kuali.rice.kim.bo.types.dto.AttributeSet permissionDetails)
securityDefinition
- SecurityDefinition recordpermissionId
- ID for the permission being saved, or empty for new permissionpermissionTemplateId
- KIM template ID for permission to saveactive
- boolean indicating whether the permission should be set to active (true) or non-active (false)permissionDetails
- AttributeSet representing the permission detailsorg.kuali.rice.kim.service.PermissionUpdateService#savePermission()
public void processAfterCopy(org.kuali.rice.kns.document.MaintenanceDocument document, Map<String,String[]> parameters)
processAfterCopy
in interface org.kuali.rice.kns.maintenance.Maintainable
processAfterCopy
in class org.kuali.rice.kns.maintenance.KualiMaintainableImpl
KualiMaintainableImpl.processAfterCopy(org.kuali.rice.kns.document.MaintenanceDocument,
java.util.Map)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |