Class AbstractWorkflowAction

All Implemented Interfaces:
Serializable, Comparable
Direct Known Subclasses:
GeneratedWorkflowAction, GeneratedWorkflowActionTemplate

public abstract class AbstractWorkflowAction extends GeneratedAbstractWorkflowAction
An action is identified by its code and belongs to an AbstractWorkflow. It represents a single action executed by one user.
See Also:
  • Constructor Details

    • AbstractWorkflowAction

      public AbstractWorkflowAction()
  • Method Details

    • createItem

      protected Item createItem(SessionContext ctx, ComposedType type, Item.ItemAttributeMap allAttributes) throws JaloBusinessException
      Description copied from class: Item
      Has to be implemented for each concrete subtype of item. This method is responsible for creating a new item instance ( by calling managers, ejb homes, etc. ) during ComposedType.newInstance(Map).

      In case this method uses any of the attribute values during creation it is required to override Item.getNonInitialAttributes(SessionContext, ItemAttributeMap) too.
      Sn example:

      
       public static final String MY_ATTRIBUTE = "someAttribute"; ... protected Item createItem(SessionContext
       ctx, ComposedType type, Map allAttributes ) throws JaloBusinessException { MyManager man = ... return
       man.createMyItem( (String)allAttributes.get(MY_ATTRIBUTE) );
       // here MY_ATTRIBUTE is used for creation, so it must not be set again } protected Map getNonInitialAttributes(
       SessionContext ctx, Map allAttributes ) { // let superclass remove its own initial attributes Map ret =
       super.getNonInitialAttributes( ctx, allAttributes );
       // remove MY_ATTRIBUTE from all attributes since if has already been set ret.remove(MY_ATTRIBUTE); return ret; }
      
       
      Overrides:
      createItem in class GenericItem
      Parameters:
      ctx - the current session context which this item is created within
      type - the actual item type ( since subtypes may not provide a own jalo class this may be different from the type which this method was implemented for )
      Returns:
      the new item instance
      Throws:
      JaloBusinessException - indicates an error during creation - any changes will be rollbacked
    • getInitialProperties

      protected JaloPropertyContainer getInitialProperties(JaloSession jaloSession, Item.ItemAttributeMap allAttributes)
      Description copied from class: GenericItem
      Override to specify all properties which should be written during ejbCreate. This way is is possible to implement non-null property fields ( means property fields which are written in SQL INSERT ). Properties which are set via Item.setNonInitialAttributes(SessionContext, Item, Item.ItemAttributeMap) are usually written by additional SQL UPDATE statements.
       protected JaloPropertyContainer getInitialProperties(ItemAttributeMap allAttributes)
       {
              JaloPropertyContainer cont = jaloSession.createPropertyContainer();
              cont.setProperty("key", (Serializable) allAttributes.get("myKey"));
              return cont;
       }
       

      The default implementation collects all initial properties (localized and unlocalized ones), which were registered by calling allAttributes.setAttributeMode( MYPROPERTY, Item.AttributeMode.INITIAL ); inside MyType#createItem( SessionContext , ComposedType , Item.ItemAttributeMap ).

      Overrides:
      getInitialProperties in class GenericItem
      Parameters:
      jaloSession - the jalo session which the new item is create within
      allAttributes - the attribute values of the new item
    • getNonInitialAttributes

      protected Item.ItemAttributeMap getNonInitialAttributes(SessionContext ctx, Item.ItemAttributeMap allAttributes)
      Description copied from class: GenericItem
      The default implementation of GenericItem.getNonInitialAttributes(SessionContext, Item.ItemAttributeMap) assures that the 'registered initial' properties GenericItem.getInitialProperties(JaloSession, Item.ItemAttributeMap) will be removed from the 'non initial map'.
      Overrides:
      getNonInitialAttributes in class GenericItem
      Parameters:
      ctx - session context with language = NULL
      allAttributes - a ItemAttributeMap contaning attribute values.
      Returns:
      a ItemAttributeMap containing all attribute values, which belong to non-initial attributes.
    • getPredecessorsStr

      @Deprecated(since="ages", forRemoval=false) public String getPredecessorsStr(SessionContext ctx)
      Deprecated.
      since ages
      Description copied from class: GeneratedAbstractWorkflowAction
      Generated method - Getter of the AbstractWorkflowAction.predecessorsStr attribute.
      Specified by:
      getPredecessorsStr in class GeneratedAbstractWorkflowAction
      Returns:
      the predecessorsStr
    • setPrincipalAssigned

      public void setPrincipalAssigned(SessionContext ctx, Principal value)
      Description copied from class: GeneratedAbstractWorkflowAction
      Generated method - Setter of the AbstractWorkflowAction.principalAssigned attribute.
      Overrides:
      setPrincipalAssigned in class GeneratedAbstractWorkflowAction
      value - the principalAssigned - assigned principal who has to assure the completion (can also be a principal group where any member of the group can process the action)
    • writeAutomatedComment

      public void writeAutomatedComment(WorkflowAction action, String message, String[] messageParams) throws JaloSystemException
      Creates a new workflow comment and attaches it to the action.
      Parameters:
      action - The action the comment will be attached to.
      message - The message's name in the locales_xx.properties. e.g. "text.automatedworkflowactionTemplate.perform.start"=
      messageParams - The params which are used to create the message. e.g. "Automated action started. Action class:{0}" The "{0} will be replaced."
      Throws:
      JaloSystemException
    • writeAutomatedComment

      public void writeAutomatedComment(WorkflowAction action, String message) throws JaloSystemException
      Creates a new workflow comment and attaches it to the action.
      Parameters:
      action - The action the comment will be attached to.
      message - The message's name in the locales_xx.properties. e.g. "text.automatedworkflowactionTemplate.perform.start"=
      Throws:
      JaloSystemException