AnsweredAssumed Answered

Activiti Modeler - custom components

Question asked by racadent on Jan 10, 2013
Latest reply on Jan 11, 2013 by trademak
Is it possible to have combobox with predifined variables in the Service Task component instead of Complex type (list of values) for Class field (Field extension) in the Activiti Modeler 5.11.

What I want to do is to create custom component with predefined java class that implements the service task logic and only one variable (class field) which has several predefined values and represent it as a combo box. The same logic as we have with Activiti designer extension (AbstractCustomServiceTask) in Eclipse:

@Property(type = PropertyType.COMBOBOX_CHOICE, displayName = "Account type", required = true)
@Help(displayHelpShort = "The type of account", displayHelpLong = "Choose a type of account from the list of options")
@PropertyItems({ ACCOUNT_TYPE_SAVINGS_LABEL, ACCOUNT_TYPE_SAVINGS_VALUE, ACCOUNT_TYPE_JUNIOR_LABEL, ACCOUNT_TYPE_JUNIOR_VALUE, ACCOUNT_TYPE_JOINT_LABEL,
  ACCOUNT_TYPE_JOINT_VALUE, ACCOUNT_TYPE_TRANSACTIONAL_LABEL, ACCOUNT_TYPE_TRANSACTIONAL_VALUE, ACCOUNT_TYPE_STUDENT_LABEL, ACCOUNT_TYPE_STUDENT_VALUE,
  ACCOUNT_TYPE_SENIOR_LABEL, ACCOUNT_TYPE_SENIOR_VALUE })
private String accountType;

Currently, json for service task fields looks like this:

{
      "id" : "servicetaskfields",
      "type" : "Complex",
      "title" : "Class fields",
      "value" : "",
      "description" : "Field extensions",
      "popular" : true,
      "complexItems" : [ {
        "id" : "servicetask_field_name",
        "name" : "Name",
        "type" : "String",
        "value" : "",
        "width" : 200,
        "optional" : false
      }, {
        "id" : "servicetask_field_value",
        "name" : "String value",
        "type" : "String",
        "value" : "",
        "width" : 200,
        "optional" : false
      }, {
        "id" : "servicetask_field_expression",
        "name" : "Expression",
        "type" : "String",
        "value" : "",
        "width" : 200,
        "optional" : false
      } ]
    }

and I want to replace:
"type" : "Complex"

with:
"type" : "Choice"

and to add predefined values for the related variable.

Outcomes