Package org.kuali.rice.kew.document
Class RoutingRuleMaintainable
java.lang.Object
org.kuali.rice.krad.uif.service.impl.ViewHelperServiceImpl
org.kuali.rice.krad.maintenance.MaintainableImpl
org.kuali.rice.kns.maintenance.KualiMaintainableImpl
org.kuali.rice.kew.document.RoutingRuleMaintainable
- All Implemented Interfaces:
Serializable,SelectiveReferenceRefresher,Maintainable,Maintainable,ViewHelperService
This class is the maintainable implementation for Routing Rules
in KEW (represented by the
RuleBaseValues business object).- Author:
- Kuali Rice Team (rice.collab@kuali.org)
- See Also:
-
Field Summary
Fields inherited from class org.kuali.rice.kns.maintenance.KualiMaintainableImpl
businessObject, businessObjectAuthorizationService, businessObjectDictionaryService, businessObjectMetaDataService, documentHelperService, inactiveRecordDisplay, maintenanceDocumentDictionaryService, newCollectionLineNames, newCollectionLines, personService -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionOverridden implementation of maintenance locks.getDocumentTitle(MaintenanceDocument document) protected RuleBaseValuesgetNewRule(MaintenanceDocument document) Returns the new RuleBaseValues business object.protected RuleBaseValuesgetOldRule(MaintenanceDocument document) Returns the old RuleBaseValues business object.getSections(MaintenanceDocument document, Maintainable oldMaintainable) Override the getSections method on this maintainable so that the Section Containing the various Rule Attributes can be dynamically generated based on the RuleTemplate which is selected.protected RuleBaseValuesReturns the RuleBaseValues business object associated with this Maintainable.voidprocessAfterCopy(MaintenanceDocument document, Map<String, String[]> parameters) voidprocessAfterEdit(MaintenanceDocument document, Map<String, String[]> parameters) voidprocessAfterNew(MaintenanceDocument document, Map<String, String[]> parameters) On creation of a new rule document, we must validate that a rule template and document type are set.voidA complete override of the implementation for saving a RulevoidsetGenerateBlankRequiredValues(String docTypeName) This is a hack to get around the fact that when a document is first created, this value is true which causes issues if you want to be able to initialize fields on the document using request parameters.protected voidsetNewCollectionLineDefaultValues(String collectionName, PersistableBusinessObject addLine) Methods inherited from class org.kuali.rice.kns.maintenance.KualiMaintainableImpl
addMultipleValueLookupResults, addNewLineToCollection, clearBusinessObjectOfRestrictedValues, clearCollectionRestrictedValues, clearFieldRestrictedValues, decryptEncryptedData, deleteBusinessObject, generateAllAffectedReferences, getAffectedReferencesFromLookup, getAllRefreshableReferences, getBoClass, getBusinessObject, getBusinessObjectAuthorizationService, getBusinessObjectDictionaryService, getBusinessObjectMetaDataService, getCoreSections, getDataObjectMetaDataService, getDocumentHelperService, getDuplicateIdentifierFieldsFromDataDictionary, getInactiveRecordDisplay, getMaintainableTitle, getMaintenanceDocumentDictionaryService, getMultiValueIdentifierList, getNewCollectionLine, getPersistenceStructureService, getPersonService, getShowInactiveRecords, hasBusinessObjectExisted, initNewCollectionLine, isBoNotesEnabled, isExternalBusinessObject, isNotesEnabled, isOldBusinessObjectInDocument, isRelationshipRefreshable, performCollectionForceUpperCase, performFieldForceUpperCase, performFieldForceUpperCase, performForceUpperCase, populateBusinessObject, populateNewCollectionLines, populateNewSubCollectionLines, prepareBusinessObject, prepareBusinessObjectForAdditionFromMultipleValueLookup, processAfterAddLine, processAfterPost, processBeforeAddLine, refresh, refreshReferences, retrieveObjectForEditOrCopy, saveDataObject, setBoClass, setBusinessObject, setBusinessObjectAuthorizationService, setBusinessObjectDictionaryService, setBusinessObjectMetaDataService, setDataObject, setDataObjectMetaDataService, setDocumentHelperService, setGenerateDefaultValues, setMaintenanceDocumentDictionaryService, setPersonService, setShowInactiveRecords, setupNewFromExisting, shouldFieldBeEncryptedMethods inherited from class org.kuali.rice.krad.maintenance.MaintainableImpl
deleteDataObject, doRouteStatusChange, generateMaintenanceLocks, getCustomLockDescriptor, getDataObject, getDataObjectAuthorizationService, getDataObjectClass, getDataObjectService, getDocumentDictionaryService, getDocumentNumber, getDocumentTitle, getDocumentTypeName, getEncryptionService, getKualiRuleService, getLegacyDataAdapter, getLockingDocumentId, getMaintenanceAction, getMaintenanceDocumentService, getPersistableBusinessObject, getWorkflowEngineDocumentIdsToLock, isLockable, isOldDataObjectInDocument, performAddLineValidation, performCustomApplyModel, performCustomFinalize, performCustomViewFinalize, prepareExternalBusinessObject, prepareForSave, processAfterAddLine, processAfterCopy, processAfterDeleteLine, processAfterEdit, processAfterNew, processAfterPost, processAfterRetrieve, retrieveObjectForEditOrCopy, setDataObjectAuthorizationService, setDataObjectClass, setDocumentDictionaryService, setDocumentNumber, setEncryptionService, setKualiRuleService, setLegacyDataAdapter, setMaintenanceAction, setMaintenanceDocumentService, setupNewFromExisting, useCustomLockDescriptorsMethods inherited from class org.kuali.rice.krad.uif.service.impl.ViewHelperServiceImpl
addCustomContainerComponents, addLine, applyDefaultValues, applyDefaultValuesForCollectionLine, buildGrowlScript, buildInquiryLink, containsDuplicateLine, extractNewValuesAndAssign, extractSingleValue, filterByReturnedFieldConversions, getConfigurationService, getCurrentPersonContactId, getDataDictionaryService, getDefaultValueForField, getExpressionEvaluatorFactory, getViewDictionaryService, isDuplicateLine, linkAddedLine, logAndThrowRuntime, performCustomInitialization, performCustomViewInitialization, performDeleteLineValidation, populateDefaultValueForField, populateViewFromRequestParameters, processAfterEditLine, processAfterSaveLine, processAndAddLineObject, processBeforeAddLine, processBeforeEditLine, processBeforeSaveLine, processCollectionAddBlankLine, processCollectionAddLine, processCollectionCloseEditLineDialog, processCollectionDeleteLine, processCollectionEditLine, processCollectionRetrieveEditLineDialog, processCollectionSaveLine, processMultipleValueLookupResults, refreshReference, retrieveEditModesAndActionFlags, setConfigurationService, setDataDictionaryService, setDataObjectService, setElementContext, setExpressionEvaluatorFactory, setViewContext, setViewDictionaryServiceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.kuali.rice.krad.maintenance.Maintainable
deleteDataObject, doRouteStatusChange, getCustomLockDescriptor, getDataObject, getDataObjectClass, getDocumentTitle, getLockingDocumentId, getMaintenanceAction, getPersistableBusinessObject, getWorkflowEngineDocumentIdsToLock, isLockable, isOldDataObjectInDocument, prepareExternalBusinessObject, prepareForSave, processAfterCopy, processAfterEdit, processAfterNew, processAfterPost, processAfterRetrieve, retrieveObjectForEditOrCopy, setDataObjectClass, setDocumentNumber, setMaintenanceAction, setupNewFromExisting, useCustomLockDescriptorsMethods inherited from interface org.kuali.rice.krad.uif.service.ViewHelperService
addCustomContainerComponents, applyDefaultValues, applyDefaultValuesForCollectionLine, buildGrowlScript, buildInquiryLink, getDefaultValueForField, getExpressionEvaluatorFactory, performCustomApplyModel, performCustomFinalize, performCustomInitialization, performCustomViewFinalize, performCustomViewInitialization, populateDefaultValueForField, populateViewFromRequestParameters, processAfterAddLine, processAfterDeleteLine, processAfterEditLine, processAfterSaveLine, processAndAddLineObject, processBeforeAddLine, processBeforeEditLine, processBeforeSaveLine, processCollectionAddBlankLine, processCollectionAddLine, processCollectionCloseEditLineDialog, processCollectionDeleteLine, processCollectionEditLine, processCollectionRetrieveEditLineDialog, processCollectionSaveLine, processMultipleValueLookupResults, refreshReference, retrieveEditModesAndActionFlags, setElementContext, setViewContext
-
Constructor Details
-
RoutingRuleMaintainable
public RoutingRuleMaintainable()
-
-
Method Details
-
getSections
Override the getSections method on this maintainable so that the Section Containing the various Rule Attributes can be dynamically generated based on the RuleTemplate which is selected.- Specified by:
getSectionsin interfaceMaintainable- Overrides:
getSectionsin classKualiMaintainableImpl
-
processAfterNew
On creation of a new rule document, we must validate that a rule template and document type are set.- Specified by:
processAfterNewin interfaceMaintainable- Overrides:
processAfterNewin classKualiMaintainableImpl
-
setGenerateBlankRequiredValues
This is a hack to get around the fact that when a document is first created, this value is true which causes issues if you want to be able to initialize fields on the document using request parameters. See SectionBridge.toSection for the "if" block where it populates Field.propertyValue to see why this causes problems- Specified by:
setGenerateBlankRequiredValuesin interfaceMaintainable- Overrides:
setGenerateBlankRequiredValuesin classKualiMaintainableImpl
-
saveBusinessObject
public void saveBusinessObject()A complete override of the implementation for saving a Rule- Specified by:
saveBusinessObjectin interfaceMaintainable- Overrides:
saveBusinessObjectin classKualiMaintainableImpl
-
processAfterCopy
- Specified by:
processAfterCopyin interfaceMaintainable- Overrides:
processAfterCopyin classKualiMaintainableImpl
-
processAfterEdit
- Specified by:
processAfterEditin interfaceMaintainable- Overrides:
processAfterEditin classKualiMaintainableImpl
-
getNewRule
Returns the new RuleBaseValues business object. -
getOldRule
Returns the old RuleBaseValues business object. -
getThisRule
Returns the RuleBaseValues business object associated with this Maintainable. -
generateMaintenanceLocks
Overridden implementation of maintenance locks. The default locking for Routing Rules is based on previous version (can't route more than one rule based off the same previous verison). However, for the first version of a rule, the previous version id will be null. So for a new Route Rule maintenance document we don't want any locks generated. TODO can we just let the locking key be the primary key? (ruleBaseValuesId)- Specified by:
generateMaintenanceLocksin interfaceMaintainable- Overrides:
generateMaintenanceLocksin classMaintainableImpl
-
getDocumentTitle
- Specified by:
getDocumentTitlein interfaceMaintainable- Overrides:
getDocumentTitlein classKualiMaintainableImpl
-
setNewCollectionLineDefaultValues
protected void setNewCollectionLineDefaultValues(String collectionName, PersistableBusinessObject addLine) - Overrides:
setNewCollectionLineDefaultValuesin classKualiMaintainableImpl
-