Class AbstractWorkflowAction

    • Constructor Detail

      • AbstractWorkflowAction

        public AbstractWorkflowAction()
    • Method Detail

      • 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
      • writeAutomatedComment

        public void writeAutomatedComment​(WorkflowAction action,
                                          java.lang.String message,
                                          java.lang.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,
                                          java.lang.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