Class AccessAdapter

  • All Implemented Interfaces:
    Serializable, Adapter, GenericAdapter

    @Named
    public class AccessAdapter
    extends Object
    implements GenericAdapter, Serializable
    The AccessAdapter is a generic adapter class responsible to update the ACL of a workitem. The CID Bean updates the following Items
    • $writeAccess
    • $readAccess
    • $participants

    The read and write access for a workitem can be defined by the BPMN model with the ACL Properties of the Imixs-BPMN modeler.

    The participants is a computed list of all users who edited this workitem.

    By defining an CDI alternative an application can overwrite the behavior of this bean.

    Version:
    1.0.0
    Author:
    rsoika
    See Also:
    Serialized Form
    • Constructor Detail

      • AccessAdapter

        public AccessAdapter()
        Default Constructor
      • AccessAdapter

        @Inject
        public AccessAdapter​(WorkflowService workflowService)
        CDI Constructor to inject WorkflowService
        Parameters:
        workflowService -
    • Method Detail

      • execute

        public ItemCollection execute​(ItemCollection document,
                                      ItemCollection event)
                               throws AdapterException
        The Execute method updates the ACL of a process instance based on a given event.
        Specified by:
        execute in interface Adapter
        Parameters:
        document - the workitem to be processed
        event - the workflow event containing the processing instructions
        Returns:
        updated workitem for further processing
        Throws:
        AdapterException - interrupt processing
      • setWorkflowService

        public void setWorkflowService​(WorkflowService workflowService)
      • updateParticipants

        public ItemCollection updateParticipants​(ItemCollection workitem)
        Update the $PARTICIPANTS.
        Parameters:
        workitem -
        Returns:
      • mergeFieldList

        public void mergeFieldList​(ItemCollection documentContext,
                                   List valueList,
                                   List<String> fieldList)
        This method merges the values of fieldList into valueList and test for duplicates. If an entry of the fieldList is a single key value, than the values to be merged are read from the corresponding documentContext property e.g. 'namTeam' -> maps the values of the documentContext property 'namteam' into the valueList If an entry of the fieldList is in square brackets, than the comma separated elements are mapped into the valueList e.g. '[user1,user2]' - maps the values 'user1' and 'user2' int the valueList. Also Curly brackets are allowed '{user1,user2}'
        Parameters:
        valueList -
        fieldList -
      • uniqueList

        public List<?> uniqueList​(List<Object> valueList)
        This method removes duplicates and null values from a vector.
        Parameters:
        valueList - - list of elements
      • mergeRoles

        public void mergeRoles​(List valueList,
                               List sourceList,
                               ItemCollection documentContext)
                        throws PluginException
        This method merges the role names from a SourceList into a valueList and removes duplicates. The AddaptText event is fired so a client can adapt a role name.
        Parameters:
        valueList -
        sourceList -
        Throws:
        PluginException