@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; } }
protected FormPropertyRenderer getRenderer(FormProperty formProperty) { FormType formPropertyType = formProperty.getType(); if(formPropertyType == null) { return formPropertyRendererManager.getTypeLessFormPropertyRenderer(); } else { return formPropertyRendererManager.getPropertyRendererForType(formProperty.getType()); } } }
@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; }
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();
Map<String, String> values = (Map<String, String>) formProperty.getType().getInformation("values"); if (values != null) { for (Entry<String, String> enumEntry : values.entrySet()) {
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); } } }
@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; }
restFormProp.setId(formProp.getId()); restFormProp.setName(formProp.getName()); if (formProp.getType() != null) { restFormProp.setType(formProp.getType().getName()); 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"));
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()); }