atg.markers.bp
Class BusinessProcessConfiguration

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.markers.ValidateMarkerByPossibleValue
              extended by atg.markers.ConfigurableMarkerValidator
                  extended by atg.markers.bp.BusinessProcessConfiguration
All Implemented Interfaces:
BusinessProcessConstants, MarkerConstants, MarkerValidator, NameContextBindingListener, NameContextElement, NameResolver, AdminableService, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, java.util.EventListener
Direct Known Subclasses:
ItemBasedProcessConfiguration, OrderBasedProcessConfiguration

public abstract class BusinessProcessConfiguration
extends ConfigurableMarkerValidator
implements BusinessProcessConstants

Business Process configuration class.

This is the base class for a business process configuration. It contains the properties that are common to all types of configurations.

businessProcessName
defines the name of the business process.
stageNames
defines the business process stage names.
duplicationMode
the duplication mode is used when adding new markers for a business process. Default is NO_DUPLICATES. If the default NO_DUPLICATES is used, it means that there can only be one marker per stage at any given time. Tracking subsequent passes through the business process requires that the previous markers for the process be removed. The Business Process Manager provides the api for removing all the business process markers for a given business process.

markerPropertyName
the repository item property name that contains the business process markers.
markerItemType
the repository item type for all new business process markers.
markedItemType
the repository item type that has a relationship with the markers created for the businessProcess. This property is used when deleting markers with the BusinessProcessManager.deleteBusinessProcessMarkers API.
generateEvents
boolean property that controls if event messages are generated by the BusinessProcessManager for the business process. Ignored if the BusinessProcessManager is not configured to generate events. Default value is false.
enabled
boolean property that controls if the business process is enabled. When a business process is disabled, no new stages can ben reached, testing for stages will always return a negative result, and removing of stages is bypassed. Disabling a process allows the process to be turned off, without having to remove any of the stage handling in pages and scenarios. The default value is true.
markerValidatorContainer
The instance of MarkerValidatorContainer that will contain this ConfigurableMarkerValidator. The doStartService method adds the configuration object to the MarkerValidatorContainer. Typically, the marker validator container is the same as the marker manager that will handle markers for the business process.

This class is abstract to prevent instantiation of components based on this class.


Field Summary
static java.lang.String CLASS_VERSION
          Class version string
protected  java.lang.String mBusinessProcessName
           
protected  java.lang.String mDuplicationMode
           
protected  boolean mEnabled
           
protected  boolean mGenerateEvents
           
protected  java.lang.String mMarkedItemType
           
protected  java.lang.String mMarkerItemType
           
protected  java.lang.String mMarkerPropertyName
           
protected  MarkerValidatorContainer mMarkerValidatorContainer
           
protected  java.lang.String[] mStageNames
           
 
Fields inherited from class atg.markers.ValidateMarkerByPossibleValue
mAcceptAllValues, mNullValueValid
 
Fields inherited from class atg.nucleus.GenericService
SERVICE_INFO_KEY
 
Fields inherited from interface atg.markers.bp.BusinessProcessConstants
BUSINESS_PROCESS_RESOURCE_NAME, sBusinessProcessResourceBundle
 
Fields inherited from interface atg.markers.MarkerConstants
ALLOW_DUPLICATES, ANY_VALUE, DEFAULT_MARKER_ID_PROPERTY_NAME, DEFAULT_MARKER_ITEM_TYPE, DEFAULT_MARKER_PROPERTY_NAME, DEFAULT_MARKER_SORT_PROPERTY_NAME, MARKER_CREATIONDATE_PROPERTY_NAME, MARKER_DATA_PROPERTY_NAME, MARKER_DUPLICATIONMODE_PROPERTY_NAME, MARKER_KEY_PROPERTY_NAME, MARKER_OWNER_PROPERTY_NAME, MARKER_RESOURCE_NAME, MARKER_VALUE_PROPERTY_NAME, NO_DUPLICATES, PARAM_DATA, PARAM_DUPMODE, PARAM_EXTENDED_PROPERTIES, PARAM_ITEM, PARAM_ITEM_ID, PARAM_KEY, PARAM_MARKED_ITEM_TYPE, PARAM_MARKER_ITEM_TYPE, PARAM_MARKER_MANAGER, PARAM_MARKER_PROPERTY_NAME, PARAM_VALUE, REPLACE_DUPLICATES, sResourceBundle
 
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging
DEFAULT_LOG_TRACE_STATUS
 
Fields inherited from interface atg.nucleus.logging.ApplicationLogging
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
 
Constructor Summary
BusinessProcessConfiguration()
           
 
Method Summary
 void doStartService()
          Validates the configuration by calling validateConfiguration and adds this object to the MarkerValidatorContainer.
 java.lang.String getBusinessProcessName()
          Returns the name of the business process
 java.lang.String getDuplicationMode()
           
 java.lang.String getMarkedItemType()
           
 java.lang.String getMarkerItemType()
           
 java.lang.String getMarkerPropertyName()
           
 MarkerValidatorContainer getMarkerValidatorContainer()
          Returns the MarkerValidatorContainer associated with this Business Process.
 java.lang.String[] getPossibleValues()
          Gets the array of possible marker values.
 java.lang.String[] getStageNames()
          Gets the array of possible business process stage names.
 boolean isEnabled()
          Boolean flag for optionally disabling a business process.
 boolean isGenerateEvents()
          Boolean flag for optionally generating JMS events for this business process.
 boolean isNullValueValid()
          Override to make null an invalid stage for a bp marker.
 void setBusinessProcessName(java.lang.String pBusinessProcessName)
          Sets the name of the business process
 void setDuplicationMode(java.lang.String pDuplicationMode)
          Sets the duplication mode used for adding new business process markers.
 void setEnabled(boolean pEnabled)
          Sets the boolean flag for optionally disabling a business process
 void setGenerateEvents(boolean pGenerateEvents)
          Sets the boolean flag for optionally generating JMS events for this business process
 void setMarkedItemType(java.lang.String pMarkedItemType)
          Sets the marked item type.
 void setMarkerItemType(java.lang.String pMarkerItemType)
          Sets the marker item type used when creating new business process markers.
 void setMarkerPropertyName(java.lang.String pMarkerPropertyName)
          Sets the marker property name where the business process markers are maintained on the containing object.
 void setMarkerValidatorContainer(MarkerValidatorContainer pMarkerValidatorContainer)
          Sets the MarkerValidatorContainer associated with this Business Process.
 void setStageNames(java.lang.String[] pStageNames)
          Sets the array of possible business process stage names.
 void validateConfiguration()
          Validates the property settings for the configuration component
 
Methods inherited from class atg.markers.ConfigurableMarkerValidator
getValidValuesForKey, setPossibleValues
 
Methods inherited from class atg.markers.ValidateMarkerByPossibleValue
isAcceptAllValues, isValidMarker, isValidValueForKey, setAcceptAllValues, setNullValueValid
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, doStopService, getAbsoluteName, getAdminServlet, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_VERSION

public static java.lang.String CLASS_VERSION
Class version string


mBusinessProcessName

protected java.lang.String mBusinessProcessName

mStageNames

protected java.lang.String[] mStageNames

mDuplicationMode

protected java.lang.String mDuplicationMode

mMarkerPropertyName

protected java.lang.String mMarkerPropertyName

mMarkedItemType

protected java.lang.String mMarkedItemType

mMarkerItemType

protected java.lang.String mMarkerItemType

mEnabled

protected boolean mEnabled

mGenerateEvents

protected boolean mGenerateEvents

mMarkerValidatorContainer

protected MarkerValidatorContainer mMarkerValidatorContainer
Constructor Detail

BusinessProcessConfiguration

public BusinessProcessConfiguration()
Method Detail

isNullValueValid

public boolean isNullValueValid()
Override to make null an invalid stage for a bp marker.

Overrides:
isNullValueValid in class ValidateMarkerByPossibleValue
Returns:
true if a marker value of null is valid

setBusinessProcessName

public void setBusinessProcessName(java.lang.String pBusinessProcessName)
Sets the name of the business process


getBusinessProcessName

public java.lang.String getBusinessProcessName()
Returns the name of the business process


getStageNames

public java.lang.String[] getStageNames()
Gets the array of possible business process stage names.

Returns:
the array of possible business process stage names.

setStageNames

public void setStageNames(java.lang.String[] pStageNames)
Sets the array of possible business process stage names.


getPossibleValues

public java.lang.String[] getPossibleValues()
Gets the array of possible marker values. This method is used by the super class ConfigurableMarkerValidator to get the possible values for a marker.

This override returns the values from the stageNames property

Overrides:
getPossibleValues in class ConfigurableMarkerValidator
Returns:
the array of possible marker values.

setDuplicationMode

public void setDuplicationMode(java.lang.String pDuplicationMode)
Sets the duplication mode used for adding new business process markers.


getDuplicationMode

public java.lang.String getDuplicationMode()
Returns:
the duplication mode used for adding new business process markers.

setMarkerPropertyName

public void setMarkerPropertyName(java.lang.String pMarkerPropertyName)
Sets the marker property name where the business process markers are maintained on the containing object.


getMarkerPropertyName

public java.lang.String getMarkerPropertyName()
Returns:
the marker property name where the business process markers are maintained on the containing object.

setMarkedItemType

public void setMarkedItemType(java.lang.String pMarkedItemType)
Sets the marked item type. This value should be set to the repository item type that is marked by the business process.


getMarkedItemType

public java.lang.String getMarkedItemType()
Returns:
the marked item type.

setMarkerItemType

public void setMarkerItemType(java.lang.String pMarkerItemType)
Sets the marker item type used when creating new business process markers.


getMarkerItemType

public java.lang.String getMarkerItemType()
Returns:
the marker item type used when creating new business process markers.

setEnabled

public void setEnabled(boolean pEnabled)
Sets the boolean flag for optionally disabling a business process


isEnabled

public boolean isEnabled()
Boolean flag for optionally disabling a business process. Default value is true.

When a business process is disabled, stages cannot be added or removed. Also, conditional testing for the existence of stages will always return false or null.


setGenerateEvents

public void setGenerateEvents(boolean pGenerateEvents)
Sets the boolean flag for optionally generating JMS events for this business process


isGenerateEvents

public boolean isGenerateEvents()
Boolean flag for optionally generating JMS events for this business process. Default value is false.


setMarkerValidatorContainer

public void setMarkerValidatorContainer(MarkerValidatorContainer pMarkerValidatorContainer)
Sets the MarkerValidatorContainer associated with this Business Process.


getMarkerValidatorContainer

public MarkerValidatorContainer getMarkerValidatorContainer()
Returns the MarkerValidatorContainer associated with this Business Process.

Returns:
the MarkerValidatorContainer associated with this Business Process

doStartService

public void doStartService()
                    throws ServiceException
Validates the configuration by calling validateConfiguration and adds this object to the MarkerValidatorContainer.

Overrides:
doStartService in class GenericService
Throws:
ServiceException - if the Service had a problem starting up

validateConfiguration

public void validateConfiguration()
                           throws BusinessProcessException
Validates the property settings for the configuration component

Throws:
BusinessProcessException - for properties that aren't properly configured.