Class CustomFormController

java.lang.Object
org.imixs.workflow.office.forms.CustomFormController
All Implemented Interfaces:
Serializable

@Named @ConversationScoped public class CustomFormController extends Object implements Serializable
The CustomFormController is used by the workitem form to compute a set of fields based on a data object provided by the model. The form definition is automatically updated in a workitem field 'txtWorkflowEditorCustomForm' by the CustomFormService EJB.
Author:
rsoika
See Also:
  • Field Details

  • Constructor Details

    • CustomFormController

      public CustomFormController()
  • Method Details

    • init

      @PostConstruct public void init()
      Initializes the ModelManger
    • getSubforms

      public List<CustomSubForm> getSubforms()
    • getSections

      public List<CustomFormSection> getSections()
    • onWorkflowEvent

      public void onWorkflowEvent(@Observes org.imixs.workflow.faces.data.WorkflowEvent workflowEvent) throws org.imixs.workflow.exceptions.ModelException
      WorkflowEvent listener to update the current FormDefinition.
      Parameters:
      workflowEvent -
      Throws:
      org.imixs.workflow.exceptions.AccessDeniedException
      org.imixs.workflow.exceptions.ModelException
    • computeFieldDefinition

      public void computeFieldDefinition(org.imixs.workflow.ItemCollection workitem) throws org.imixs.workflow.exceptions.ModelException
      The method reads the custom form definition from the item 'txtWorkflowEditorCustomForm' and computes an new custom Field Definition based on a given workitem. The method first looks if the model contains a custom definition. If not the method checks the workitem field txtWorkflowEditorCustomForm which holds the last parsed custom form definition
      Throws:
      org.imixs.workflow.exceptions.ModelException
    • setReadOnly

      public void setReadOnly(boolean readOnly)
      This method overwrite the 'readOnly' status flag for all sections. Note: sections can be embedded in optional subForms.
      Parameters:
      readOnly -
    • getInnerXMLContent

      public static String getInnerXMLContent(Element element)
      Helper method to extract the content of a xml tag including child tags
    • updateCustomFieldDefinition

      public String updateCustomFieldDefinition(org.imixs.workflow.ItemCollection workitem) throws org.imixs.workflow.exceptions.ModelException
      This method updates the custom Field Definition based on a given workitem. The method first looks if the task associated with the workitem contains a bpmn:DataObject containing a custom definition. The result is stored into the item txtWorkflowEditorCustomForm.

      In case the model does not provide a custom Field Definition but the workitem has stored one the method returns the existing one and did not update the item txtWorkflowEditorCustomForm.

      Returns:
      Throws:
      org.imixs.workflow.exceptions.ModelException