use of org.kie.workbench.common.forms.adf.definitions.annotations.layout.Column in project kie-wb-common by kiegroup.
the class FormDefinitionsProcessor method processFormDefinition.
protected void processFormDefinition(TypeElement formElement) throws Exception {
final Messager messager = processingEnv.getMessager();
messager.printMessage(Diagnostic.Kind.NOTE, "Discovered FormDefintion class [" + formElement.getSimpleName() + "]");
boolean checkInheritance = false;
FormDefinition defintion = formElement.getAnnotation(FormDefinition.class);
checkInheritance = defintion.allowInheritance();
List<Map<String, String>> formElements = new ArrayList<>();
if (checkInheritance) {
TypeElement parent = getParent(formElement);
formElements.addAll(extractParentFormFields(parent, defintion.policy(), defintion.i18n()));
}
formElements.addAll(extracFormFields(formElement, defintion.policy(), defintion.i18n()));
FormGenerationUtils.sort(defintion.startElement(), formElements);
messager.printMessage(Diagnostic.Kind.NOTE, "Discovered " + formElements.size() + " elements for form [" + formElement.getQualifiedName().toString() + "]");
String modelClassName = formElement.getQualifiedName().toString();
String builderClassName = fixClassName(formElement.getQualifiedName().toString()) + "FormBuilder";
Map<String, Object> templateContext = new HashMap<>();
templateContext.put("modelClass", modelClassName);
templateContext.put("builderClassName", builderClassName);
templateContext.put("startElement", defintion.startElement());
templateContext.put("i18n_bundle", StringUtils.isEmpty(defintion.i18n().bundle()) ? formElement.asType().toString() : defintion.i18n().bundle());
Column[] columns = defintion.layout().value();
List<String> layoutColumns = new ArrayList<>();
if (columns.length == 0) {
layoutColumns.add(ColSpan.SPAN_12.getName());
} else {
for (Column column : columns) {
layoutColumns.add(column.value().getName());
}
}
templateContext.put("layout_columns", layoutColumns);
templateContext.put("elements", formElements);
StringBuffer builder = writeTemplate("templates/FormDefinitionSettingsBuilder.ftl", templateContext);
Map<String, String> form = new HashMap<>();
form.put("package", ((PackageElement) formElement.getEnclosingElement()).getQualifiedName().toString());
form.put("modelClass", modelClassName);
form.put("builderClass", builderClassName);
form.put("builderCode", builder.toString());
context.getForms().add(form);
}
use of org.kie.workbench.common.forms.adf.definitions.annotations.layout.Column in project kie-wb-common by kiegroup.
the class FormDefinitionGenerator method processFormDefinition.
protected void processFormDefinition(TypeElement formElement) throws Exception {
final Messager messager = context.getMessager();
messager.printMessage(Diagnostic.Kind.NOTE, "Discovered FormDefintion class [" + formElement.getSimpleName() + "]");
boolean checkInheritance = false;
FormDefinition definition = formElement.getAnnotation(FormDefinition.class);
String modelClassName = formElement.getQualifiedName().toString();
String builderClassName = FormGenerationUtils.fixClassName(formElement.getQualifiedName().toString()) + FORM_BUILDER_SUFFIX;
FormDefinitionData form = new FormDefinitionData(modelClassName, builderClassName);
form.setStartElement(definition.startElement());
form.setI18nBundle(StringUtils.isEmpty(definition.i18n().bundle()) ? formElement.asType().toString() : definition.i18n().bundle());
Column[] columns = definition.layout().value();
List<String> layoutColumns = new ArrayList<>();
if (columns.length == 0) {
layoutColumns.add(ColSpan.SPAN_12.getName());
} else {
for (Column column : columns) {
layoutColumns.add(column.value().getName());
}
}
form.setLayoutColumns(layoutColumns);
checkInheritance = definition.allowInheritance();
Map<String, String> defaultFieldSettings = new HashMap<>();
for (FieldParam param : definition.defaultFieldSettings()) {
defaultFieldSettings.put(param.name(), param.value());
}
List<FormDefinitionFieldData> formElements = new ArrayList<>();
if (checkInheritance) {
TypeElement parent = getParent(formElement);
formElements.addAll(extractParentFormFields(parent, definition.policy(), definition.i18n(), defaultFieldSettings));
}
formElements.addAll(extracFormFields(formElement, definition.policy(), definition.i18n(), defaultFieldSettings));
FormGenerationUtils.sort(definition.startElement(), formElements);
messager.printMessage(Diagnostic.Kind.NOTE, "Discovered " + formElements.size() + " elements for form [" + formElement.getQualifiedName().toString() + "]");
form.getElements().addAll(formElements);
context.getForms().add(form);
}
Aggregations