org.kuali.rice.kew.document
Class RoutingRuleDelegationMaintainable

java.lang.Object
  extended by org.kuali.rice.krad.uif.service.impl.ViewHelperServiceImpl
      extended by org.kuali.rice.krad.maintenance.MaintainableImpl
          extended by org.kuali.rice.kns.maintenance.KualiMaintainableImpl
              extended by org.kuali.rice.kew.document.RoutingRuleDelegationMaintainable
All Implemented Interfaces:
Serializable, SelectiveReferenceRefresher, Maintainable, ViewHelperService

public class RoutingRuleDelegationMaintainable
extends KualiMaintainableImpl

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:
Serialized Form

Field Summary
 
Fields inherited from class org.kuali.rice.kns.maintenance.KualiMaintainableImpl
businessObject, businessObjectAuthorizationService, businessObjectDictionaryService, businessObjectMetaDataService, documentHelperService, inactiveRecordDisplay, maintenanceDocumentDictionaryService, newCollectionLineNames, newCollectionLines, personService
 
Constructor Summary
RoutingRuleDelegationMaintainable()
           
 
Method Summary
 List<MaintenanceLock> generateMaintenanceLocks()
          Note: as currently implemented, every key field for a given data object class must have a visible getter
 String getDocumentTitle(MaintenanceDocument document)
           
protected  RuleBaseValues getNewRule(MaintenanceDocument document)
           
protected  RuleDelegationBo getNewRuleDelegation(MaintenanceDocument document)
           
protected  RuleBaseValues getOldRule(MaintenanceDocument document)
           
protected  RuleDelegationBo getOldRuleDelegation(MaintenanceDocument document)
           
 List 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  RuleBaseValues getThisRule()
           
protected  RuleDelegationBo getThisRuleDelegation()
           
 void prepareForSave()
          This overridden method ...
 void processAfterCopy(MaintenanceDocument document, Map<String,String[]> parameters)
          Set the new collection records back to true so they can be deleted (copy should act like new)
 void processAfterEdit(MaintenanceDocument document, Map<String,String[]> parameters)
           
 void processAfterNew(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.
 void saveBusinessObject()
          A complete override of the implementation for saving a Rule
 void setGenerateDefaultValues(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.
 
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, getDocumentHelperService, getDuplicateIdentifierFieldsFromDataDictionary, getInactiveRecordDisplay, getMaintainableTitle, getMaintenanceDocumentDictionaryService, getMultiValueIdentifierList, getNewCollectionLine, getPersonService, getShowInactiveRecords, hasBusinessObjectExisted, initNewCollectionLine, isBoNotesEnabled, isExternalBusinessObject, isNotesEnabled, isOldBusinessObjectInDocument, isRelationshipRefreshable, performCollectionForceUpperCase, performFieldForceUpperCase, performFieldForceUpperCase, performForceUpperCase, populateBusinessObject, populateNewCollectionLines, populateNewSubCollectionLines, prepareBusinessObject, prepareBusinessObjectForAdditionFromMultipleValueLookup, processAfterAddLine, processAfterPost, processBeforeAddLine, refresh, refreshReferences, saveDataObject, setBoClass, setBusinessObject, setBusinessObjectAuthorizationService, setBusinessObjectDictionaryService, setBusinessObjectMetaDataService, setDataObject, setDocumentHelperService, setGenerateBlankRequiredValues, setMaintenanceDocumentDictionaryService, setNewCollectionLineDefaultValues, setPersonService, setShowInactiveRecords, setupNewFromExisting, shouldFieldBeEncrypted
 
Methods inherited from class org.kuali.rice.krad.maintenance.MaintainableImpl
deleteDataObject, doRouteStatusChange, getCustomLockDescriptor, getDataObject, getDataObjectAuthorizationService, getDataObjectClass, getDataObjectMetaDataService, getDocumentDictionaryService, getDocumentNumber, getDocumentTitle, getDocumentTypeName, getEncryptionService, getLockingDocumentId, getLookupService, getMaintenanceAction, getMaintenanceDocumentService, getPersistableBusinessObject, getWorkflowEngineDocumentIdsToLock, isLockable, isOldDataObjectInDocument, prepareExternalBusinessObject, processAfterAddLine, processAfterCopy, processAfterDeleteLine, processAfterEdit, processAfterNew, processAfterPost, processAfterRetrieve, retrieveObjectForEditOrCopy, setDataObjectAuthorizationService, setDataObjectClass, setDataObjectMetaDataService, setDocumentDictionaryService, setDocumentNumber, setEncryptionService, setLookupService, setMaintenanceAction, setMaintenanceDocumentService, setupNewFromExisting, useCustomLockDescriptors
 
Methods inherited from class org.kuali.rice.krad.uif.service.impl.ViewHelperServiceImpl
addCustomContainerComponents, addLine, adjustIdIfNecessary, applyAuthorizationAndPresentationLogic, applyDefaultValues, applyDefaultValuesForCollectionLine, buildClientSideStateScript, buildExportTableData, buildExportTableRow, buildGrowlScript, buildInquiryLink, cleanViewAfterRender, findNestedDictionaryAttribute, getBusinessObjectService, getCommonContext, getConfigurationService, getDataDictionaryService, getExportTableFormatOptions, getExpressionEvaluator, getPersistenceService, getPersistenceStructureService, getPreModelContext, getViewDictionaryService, initializeDataFieldFromDataDictionary, invokeMethodFinalizer, logAndThrowRuntime, performAddLineValidation, performApplyModel, performComponentApplyModel, performComponentFinalize, performComponentInitialization, performComponentLifecycle, performCustomApplyModel, performCustomFinalize, performCustomInitialization, performDeleteLineValidation, performFinalize, performInitialization, populateDefaultValueForField, populateViewFromRequestParameters, processAfterSaveLine, processAnyRemoteFieldsHolder, processBeforeAddLine, processBeforeSaveLine, processCollectionAddBlankLine, processCollectionAddLine, processCollectionDeleteLine, processCollectionSaveLine, processMultipleValueLookupResults, refreshReferences, retrieveEditModesAndActionFlags, runComponentModifiers, setBusinessObjectService, setConfigurationService, setDataDictionaryService, setExpressionEvaluator, setPersistenceService, setPersistenceStructureService, setViewContext, setViewDictionaryService, spawnSubLifecyle, syncClientSideStateForComponent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.kuali.rice.krad.maintenance.Maintainable
deleteDataObject, doRouteStatusChange, getCustomLockDescriptor, getDataObject, getDataObjectClass, getDocumentTitle, getLockingDocumentId, getMaintenanceAction, getPersistableBusinessObject, getWorkflowEngineDocumentIdsToLock, isLockable, isOldDataObjectInDocument, prepareExternalBusinessObject, processAfterCopy, processAfterEdit, processAfterNew, processAfterPost, processAfterRetrieve, retrieveObjectForEditOrCopy, setDataObjectClass, setDocumentNumber, setMaintenanceAction, setupNewFromExisting, useCustomLockDescriptors
 
Methods inherited from interface org.kuali.rice.krad.uif.service.ViewHelperService
applyDefaultValuesForCollectionLine, buildExportTableData, buildInquiryLink, cleanViewAfterRender, getCommonContext, getExpressionEvaluator, performApplyModel, performComponentInitialization, performComponentLifecycle, performFinalize, performInitialization, populateViewFromRequestParameters, processCollectionAddBlankLine, processCollectionAddLine, processCollectionDeleteLine, processCollectionSaveLine, processMultipleValueLookupResults, refreshReferences, spawnSubLifecyle
 

Constructor Detail

RoutingRuleDelegationMaintainable

public RoutingRuleDelegationMaintainable()
Method Detail

getSections

public List 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.

Overrides:
getSections in class KualiMaintainableImpl
oldMaintainable - - If this is the new maintainable, the old is passed in for reference. If it is the old maintainable, then null will be passed in
Returns:
List of org.kuali.ui.Section objects

processAfterNew

public void processAfterNew(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.

Overrides:
processAfterNew in class KualiMaintainableImpl

setGenerateDefaultValues

public void setGenerateDefaultValues(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. See SectionBridge.toSection for the "if" block where it populates Field.propertyValue to see why this causes problems

Overrides:
setGenerateDefaultValues in class KualiMaintainableImpl
See Also:
Maintainable#setGenerateDefaultValues()

saveBusinessObject

public void saveBusinessObject()
A complete override of the implementation for saving a Rule

Overrides:
saveBusinessObject in class KualiMaintainableImpl
See Also:
Maintainable.saveBusinessObject()

processAfterCopy

public void processAfterCopy(MaintenanceDocument document,
                             Map<String,String[]> parameters)
Description copied from class: KualiMaintainableImpl
Set the new collection records back to true so they can be deleted (copy should act like new)

Overrides:
processAfterCopy in class KualiMaintainableImpl
See Also:
KualiMaintainableImpl#processAfterCopy()

processAfterEdit

public void processAfterEdit(MaintenanceDocument document,
                             Map<String,String[]> parameters)
Overrides:
processAfterEdit in class KualiMaintainableImpl

generateMaintenanceLocks

public List<MaintenanceLock> generateMaintenanceLocks()
Description copied from class: MaintainableImpl
Note: as currently implemented, every key field for a given data object class must have a visible getter

Specified by:
generateMaintenanceLocks in interface Maintainable
Overrides:
generateMaintenanceLocks in class MaintainableImpl
Returns:
the locking representation(s) of this document, which are reproducible given the same keys and the same maintainable object
See Also:
Maintainable.generateMaintenanceLocks()

getDocumentTitle

public String getDocumentTitle(MaintenanceDocument document)
Overrides:
getDocumentTitle in class KualiMaintainableImpl

getNewRuleDelegation

protected RuleDelegationBo getNewRuleDelegation(MaintenanceDocument document)

getOldRuleDelegation

protected RuleDelegationBo getOldRuleDelegation(MaintenanceDocument document)

getThisRuleDelegation

protected RuleDelegationBo getThisRuleDelegation()

getNewRule

protected RuleBaseValues getNewRule(MaintenanceDocument document)

getOldRule

protected RuleBaseValues getOldRule(MaintenanceDocument document)

getThisRule

protected RuleBaseValues getThisRule()

prepareForSave

public void prepareForSave()
This overridden method ...

Specified by:
prepareForSave in interface Maintainable
Overrides:
prepareForSave in class MaintainableImpl
See Also:
org.kuali.rice.krad.maintenance.KualiMaintainableImpl#prepareForSave()


Copyright © 2005-2013 The Kuali Foundation. All Rights Reserved.