@Override public Object getVariable(FormProperty formProperty, String value) { value = StrUtil.isEmpty(value) ? formProperty.getValue() : value; FormType formType = formProperty.getType(); if (formType.getClass().equals(DateFormType.class)) { DateFormType dateType = (DateFormType) formType; return dateType.convertFormValueToModelValue(value); } else if (formType.getClass().equals(BooleanFormType.class)) { BooleanFormType boolType = (BooleanFormType) formType; return boolType.convertFormValueToModelValue(value); } else if (formType.getClass().equals(EnumFormType.class)) { EnumFormType enumType = (EnumFormType) formType; return enumType.convertFormValueToModelValue(value); } else if (formType.getClass().equals(DoubleFormType.class)) { DoubleFormType doubleType = (DoubleFormType) formType; return doubleType.convertFormValueToModelValue(value); } else if (formType.getClass().equals(LongFormType.class)) { LongFormType longType = (LongFormType) formType; return longType.convertFormValueToModelValue(value); } else { return value; } }
propertyJSON.put("id", property.getId()); propertyJSON.put("name", property.getName()); if (property.getValue() != null) { propertyJSON.put("value", property.getValue()); } else { propertyJSON.putNull("value"); if (property.getType() != null) { propertyJSON.put("type", property.getType().getName()); if (property.getType() instanceof EnumFormType) { @SuppressWarnings("unchecked") Map<String, String> valuesMap = (Map<String, String>) property.getType().getInformation("values"); if (valuesMap != null) { ArrayNode valuesArray = objectMapper.createArrayNode(); propertyJSON.put("required", property.isRequired()); propertyJSON.put("readable", property.isReadable()); propertyJSON.put("writable", property.isWritable());
@Override public Field getPropertyField(FormProperty formProperty) { CheckBox checkBox = new CheckBox(getPropertyLabel(formProperty)); checkBox.setRequired(formProperty.isRequired()); checkBox.setEnabled(formProperty.isWritable()); if (formProperty.getValue() != null) { Boolean value = new Boolean(Boolean.parseBoolean(formProperty.getValue())); checkBox.setValue(value); } return checkBox; }
FormService formService = processEngine.getFormService(); TaskService taskService1 = processEngine.getTaskService(); TaskQuery taskQuery1 = taskService1.createTaskQuery().taskAssignee("gonzo"); List<Task> taskList1 = taskQuery1.list(); int j = 0; for(Task task : taskList1){ j++; TaskFormData taskFormData = formService.getTaskFormData(task.getId()); List<FormProperty> listFormProperty = taskFormData.getFormProperties(); for(FormProperty formProperty : listFormProperty){ out.println(task.getId()+":"+task.getName()+"id:"+formProperty.getId()); out.println(task.getId()+":"+task.getName()+"name:"+formProperty.getName()); out.println(task.getId()+":"+task.getName()+"type:"+formProperty.getType().getName()); out.println(task.getId()+":"+task.getName()+"value:"+formProperty.getValue()); } out.println("task "+j+"is "+task.getId()+":"+task.getName()+":"+task.getAssignee()+":"+task.getDescription()); }
@Override public Field getPropertyField(FormProperty formProperty) { // Writable string PopupDateField dateField = new PopupDateField(getPropertyLabel(formProperty)); String datePattern = (String) formProperty.getType().getInformation("datePattern"); dateField.setDateFormat(datePattern); dateField.setRequired(formProperty.isRequired()); dateField.setRequiredError(getMessage(Messages.FORM_FIELD_REQUIRED, getPropertyLabel(formProperty))); dateField.setEnabled(formProperty.isWritable()); if (formProperty.getValue() != null) { // Try parsing the current value SimpleDateFormat dateFormat = new SimpleDateFormat(datePattern); try { Date date = dateFormat.parse(formProperty.getValue()); dateField.setValue(date); } catch (ParseException e) { // TODO: what happens if current value is illegal date? } } return dateField; }
@Override public Map<String, Object> getTaskVariables(List<FormProperty> formProperties, Map<String, String> formData) { Map<String, Object> map = new HashMap<>(); for (FormProperty formProperty : formProperties) { String id = formProperty.getId(); if (!StrUtil.isEmpty(formData.get(id))) { map.put(id, this.getVariable(formProperty, formData.get(id))); } } return map; }
/** * Returns all values filled in in the writable fields on the form. * * @throws InvalidValueException when a validation error occurs. */ public Map<String, String> getFormPropertyValues() throws InvalidValueException { // Commit the form to ensure validation is executed form.commit(); Map<String, String> formPropertyValues = new HashMap<String, String>(); // Get values from fields defined for each form property for(FormProperty formProperty : formProperties) { if(formProperty.isWritable()) { Field field = form.getField(formProperty.getId()); FormPropertyRenderer renderer = getRenderer(formProperty); String fieldValue = renderer.getFieldValue(formProperty, field); formPropertyValues.put(formProperty.getId(), fieldValue); } } return formPropertyValues; }
protected FormPropertyRenderer getRenderer(FormProperty formProperty) { FormType formPropertyType = formProperty.getType(); if(formPropertyType == null) { return formPropertyRendererManager.getTypeLessFormPropertyRenderer(); } else { return formPropertyRendererManager.getPropertyRendererForType(formProperty.getType()); } } }
public Field getPropertyField(FormProperty formProperty) { ComboBox comboBox = new MonthCombobox(getPropertyLabel(formProperty)); comboBox.setRequired(formProperty.isRequired()); comboBox.setRequiredError(getMessage(Messages.FORM_FIELD_REQUIRED, getPropertyLabel(formProperty))); comboBox.setEnabled(formProperty.isWritable()); // Fill combobox I18nManager i18nManager = ExplorerApp.get().getI18nManager(); for (int i=0; i<12; i++) { comboBox.addItem(i); comboBox.setItemCaption(i, i18nManager.getMessage(Messages.MONTH_PREFIX + i)); } // Select first comboBox.setNullSelectionAllowed(false); Calendar cal = Calendar.getInstance(); comboBox.select(cal.get(Calendar.MONTH)); return comboBox; }
public class CustomFormTypes extends FormTypes { public CustomFormTypes() { // register Activiti's default form types addFormType(new StringFormType()); addFormType(new LongFormType()); addFormType(new DateFormType("dd/MM/yyyy")); addFormType(new BooleanFormType()); addFormType(new DoubleFormType()); } @Override public AbstractFormType parseFormPropertyType(FormProperty formProperty) { if (ImpactedSitesFormType.TYPE_NAME.equals(formProperty.getType())) { Map<String, String> values = new LinkedHashMap<>(); for (FormValue formValue : formProperty.getFormValues()) { values.put(formValue.getId(), formValue.getName()); } return new ImpactedSitesFormType(values); } else { // delegate construction of all other types return super.parseFormPropertyType(formProperty); } } }
for (FormProperty formProp : formData.getFormProperties()) { RestFormProperty restFormProp = new RestFormProperty(); restFormProp.setId(formProp.getId()); restFormProp.setName(formProp.getName()); if (formProp.getType() != null) { restFormProp.setType(formProp.getType().getName()); restFormProp.setValue(formProp.getValue()); restFormProp.setReadable(formProp.isReadable()); restFormProp.setRequired(formProp.isRequired()); restFormProp.setWritable(formProp.isWritable()); if ("enum".equals(restFormProp.getType())) { Object values = formProp.getType().getInformation("values"); if (values != null) { @SuppressWarnings("unchecked") restFormProp.setDatePattern((String) formProp.getType().getInformation("datePattern"));
@Override public Field getPropertyField(FormProperty formProperty) { TextField textField = new TextField(getPropertyLabel(formProperty)); textField.setRequired(formProperty.isRequired()); textField.setEnabled(formProperty.isWritable()); textField.setRequiredError(getMessage(Messages.FORM_FIELD_REQUIRED, getPropertyLabel(formProperty))); if (formProperty.getValue() != null) { textField.setValue(formProperty.getValue()); } return textField; }
public Field getPropertyField(FormProperty formProperty) { ComboBox comboBox = new ComboBox(getPropertyLabel(formProperty)); comboBox.setRequired(formProperty.isRequired()); comboBox.setRequiredError(getMessage(Messages.FORM_FIELD_REQUIRED, getPropertyLabel(formProperty))); comboBox.setEnabled(formProperty.isWritable()); comboBox.setNullSelectionAllowed(false); Map<String, String> values = (Map<String, String>) formProperty.getType().getInformation("values"); if (values != null) { for (Entry<String, String> enumEntry : values.entrySet()) { String selectedValue = formProperty.getValue(); if (selectedValue != null && selectedValue.equals(enumEntry.getKey())) {
public static Map<String,FormProperty> formPropertiesAsMap(List<FormProperty> properties) { Map<String,FormProperty> retval = new HashMap<>(); for (FormProperty property : properties) { retval.put(property.getId(), property); } return retval; }
@Override public String getFieldValue(FormProperty formProperty, Field field) { PopupDateField dateField = (PopupDateField) field; Date selectedDate = (Date) dateField.getValue(); if(selectedDate != null) { // Use the datePattern specified in the form property type String datePattern = (String) formProperty.getType().getInformation("datePattern"); SimpleDateFormat dateFormat = new SimpleDateFormat(datePattern); return dateFormat.format(selectedDate); } return null; }
public Field getPropertyField(FormProperty formProperty) { ComboBox comboBox = new ComboBox(getPropertyLabel(formProperty)); comboBox.setRequired(formProperty.isRequired()); comboBox.setRequiredError(getMessage(Messages.FORM_FIELD_REQUIRED, getPropertyLabel(formProperty))); comboBox.setEnabled(formProperty.isWritable()); List<ProcessDefinition> processDefinitions = ProcessEngines.getDefaultProcessEngine() .getRepositoryService() .createProcessDefinitionQuery() .orderByProcessDefinitionName().asc() .orderByProcessDefinitionVersion().asc() .list(); for (ProcessDefinition processDefinition : processDefinitions) { comboBox.addItem(processDefinition.getId()); String name = processDefinition.getName() + " (v" + processDefinition.getVersion() + ")"; comboBox.setItemCaption(processDefinition.getId(), name); } // Select first if (!processDefinitions.isEmpty()) { comboBox.setNullSelectionAllowed(false); comboBox.select(processDefinitions.get(0).getId()); } return comboBox; }