04-06-2012 12:31 PM
04-09-2012 11:12 AM
@Override
public void afterGenerate(final WorkflowTask item, final List<String> fields, final List<String> forcedFields, final Form form, final Map<String, Object> context) {
final QName taskType = item.definition.metadata.getName();
if (this.dictionaryService.isSubClass(taskType, YourModel.TYPE_YOUR_TASK)) {
// lookup field definition
final String lookupDataKey = FormFieldConstants.PROP_DATA_PREFIX + YourModel.PROP_YOUR_PROP.toPrefixString(this.namespaceService).replace(':', '_');
final List<FieldDefinition> fieldDefinitions = form.getFieldDefinitions();
PropertyFieldDefinition propertyDefinition = null;
boolean completed = item.state.equals(WorkflowTaskState.COMPLETED);
for (final FieldDefinition def : fieldDefinitions) {
if (def instanceof PropertyFieldDefinition && lookupDataKey.equals(def.getDataKeyName())) {
propertyDefinition = (PropertyFieldDefinition) def;
break;
}
}
if (propertyDefinition != null) {
// build constraints
final Map<String, Object> constraintParams = new HashMap<String, Object>();
final List<String> options = new ArrayList<String>();
// collect your options
constraintParams.put("caseSensitive", true);
constraintParams.put("allowedValues", options);
// actually constrain the field
final FieldConstraint constraint = new FieldConstraint("LIST", constraintParams);
List<FieldConstraint> constraints = propertyDefinition.getConstraints();
if (constraints == null) {
constraints = new ArrayList<PropertyFieldDefinition.FieldConstraint>();
propertyDefinition.setConstraints(constraints);
}
constraints.add(constraint);
}
}
}
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.