Class WorkitemLinkPlugin

java.lang.Object
org.imixs.workflow.engine.plugins.AbstractPlugin
org.imixs.workflow.office.plugins.WorkitemLinkPlugin
All Implemented Interfaces:
org.imixs.workflow.Plugin

public class WorkitemLinkPlugin extends org.imixs.workflow.engine.plugins.AbstractPlugin
The Imixs Split&Join Plugin provides functionality to create and update sub-process instances from a workflow event in an origin process. It is also possible to update the origin process from the sub-process instance. The plugin evaluates the txtactivityResult and the items with the following names: subprocess_create = create a new subprocess assigned to the current workitem subprocess_update = update an existing subprocess assigned to the current workitem origin_update = update the origin process assigned to the current workitem A subprocess will contain the $UniqueID of the origin process stored in the property $uniqueidRef. The origin process will contain a link to the subprocess stored in the property txtworkitemRef. So both workitems are linked together.
Version:
1.0
Author:
Ralph Soika
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    static final String
     

    Fields inherited from class org.imixs.workflow.engine.plugins.AbstractPlugin

    INVALID_ITEMVALUE_FORMAT, INVALID_PROPERTYVALUE_FORMAT
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    copyData(List<String> definitions, org.imixs.workflow.ItemCollection workitem)
    This method syncs the items from the ref workitem into this process instance
    protected void
    copyItemList(String items, org.imixs.workflow.ItemCollection source, org.imixs.workflow.ItemCollection target, boolean debug)
    This Method copies the fields defined in 'items' into the targetWorkitem.
    org.imixs.workflow.ItemCollection
    run(org.imixs.workflow.ItemCollection workitem, org.imixs.workflow.ItemCollection event)
    The method evaluates the workflow activity result for items with name: copydata For each method a corresponding processing cycle will be started.

    Methods inherited from class org.imixs.workflow.engine.plugins.AbstractPlugin

    close, getWorkflowContext, getWorkflowService, init, mergeFieldList, setWorkflowService, uniqueList

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • WorkitemLinkPlugin

      public WorkitemLinkPlugin()
  • Method Details

    • run

      public org.imixs.workflow.ItemCollection run(org.imixs.workflow.ItemCollection workitem, org.imixs.workflow.ItemCollection event) throws org.imixs.workflow.exceptions.PluginException, org.imixs.workflow.exceptions.AccessDeniedException, org.imixs.workflow.exceptions.ProcessingErrorException
      The method evaluates the workflow activity result for items with name: copydata For each method a corresponding processing cycle will be started.
      Throws:
      org.imixs.workflow.exceptions.ProcessingErrorException - @throws AccessDeniedException @throws
      org.imixs.workflow.exceptions.PluginException
      org.imixs.workflow.exceptions.AccessDeniedException
    • copyData

      protected void copyData(List<String> definitions, org.imixs.workflow.ItemCollection workitem) throws org.imixs.workflow.exceptions.AccessDeniedException, org.imixs.workflow.exceptions.ProcessingErrorException, org.imixs.workflow.exceptions.PluginException, org.imixs.workflow.exceptions.ModelException
      This method syncs the items from the ref workitem into this process instance
      Parameters:
      definitions -
      originWorkitem -
      Throws:
      org.imixs.workflow.exceptions.AccessDeniedException
      org.imixs.workflow.exceptions.ProcessingErrorException
      org.imixs.workflow.exceptions.PluginException
      org.imixs.workflow.exceptions.ModelException
    • copyItemList

      protected void copyItemList(String items, org.imixs.workflow.ItemCollection source, org.imixs.workflow.ItemCollection target, boolean debug)
      This Method copies the fields defined in 'items' into the targetWorkitem. Multiple values are separated with comma ','.

      In case a item name contains '|' the target field name will become the right part of the item name.

      Example: txttitle,txtfirstname txttitle|newitem1,txtfirstname|newitem2

      Optional also reg expressions are supported. In this case mapping of the item name is not supported.

      Example: (^artikel$|^invoice$),txtTitel|txtNewTitel A reg expression must be includes in brackets.