Search in sources :

Example 11 with FormDefinition

use of org.kie.workbench.common.forms.model.FormDefinition in project kie-wb-common by kiegroup.

the class FormGenerationIntegrationTest method sameIOTaskFormIsCorrectlyGenerated.

@Test
public void sameIOTaskFormIsCorrectlyGenerated() {
    when(module.getRootPath()).thenReturn(rootPathWithNestedForms);
    final FormGenerationResult formGenerationResult = generateForm("FormGenerationTest_TaskWithTheSameInputsAndOutputs-taskform.frm", taskFormModels.get(3));
    final List<String> expectedProcessFormFields = Arrays.asList("_boolean_", CHECKBOX_FIELDTYPE, "_dataObject_", SUBFORM_FIELDTYPE, "_document_", DOCUMENT_FIELDTYPE, "_float_", DECIMALBOX_FIELDTYPE, "_integer_", INTEGERBOX_FIELDTYPE, "_object_", TEXTAREA_FIELDTYPE, "_string_", TEXTBOX_FIELDTYPE);
    final FormDefinition rootForm = formGenerationResult.getRootForm();
    testFormDefinition(rootForm, expectedProcessFormFields);
    testNestedFormsHaveCorrectId(rootForm, "_dataObject_", DATAOBJECT_FORM_ID);
}
Also used : FormGenerationResult(org.kie.workbench.common.forms.jbpm.server.service.formGeneration.FormGenerationResult) FormDefinition(org.kie.workbench.common.forms.model.FormDefinition) Test(org.junit.Test)

Example 12 with FormDefinition

use of org.kie.workbench.common.forms.model.FormDefinition in project kie-wb-common by kiegroup.

the class FormGenerationIntegrationTest method differentIOTaskFormIsCorrectlyGenerated.

@Test
public void differentIOTaskFormIsCorrectlyGenerated() {
    when(module.getRootPath()).thenReturn(rootPathWithNestedForms);
    final FormGenerationResult formGenerationResult = generateForm("FormGenerationTest_TaskWithDifferentInputsAndOutputs-taskform.frm", taskFormModels.get(0));
    final List<String> expectedProcessFormFields = Arrays.asList(// inputs
    "_boolean", CHECKBOX_FIELDTYPE, "_dataObject", SUBFORM_FIELDTYPE, "_document", DOCUMENT_FIELDTYPE, "_float", DECIMALBOX_FIELDTYPE, "_integer", INTEGERBOX_FIELDTYPE, "_object", TEXTAREA_FIELDTYPE, "_string", TEXTBOX_FIELDTYPE, // outputs
    "boolean_", CHECKBOX_FIELDTYPE, "dataObject_", SUBFORM_FIELDTYPE, "document_", DOCUMENT_FIELDTYPE, "float_", DECIMALBOX_FIELDTYPE, "integer_", INTEGERBOX_FIELDTYPE, "object_", TEXTAREA_FIELDTYPE, "string_", TEXTBOX_FIELDTYPE);
    final FormDefinition rootForm = formGenerationResult.getRootForm();
    testFormDefinition(rootForm, expectedProcessFormFields);
    testNestedFormsHaveCorrectId(rootForm, "_dataObject", DATAOBJECT_FORM_ID);
    testNestedFormsHaveCorrectId(rootForm, "dataObject_", DATAOBJECT_FORM_ID);
}
Also used : FormGenerationResult(org.kie.workbench.common.forms.jbpm.server.service.formGeneration.FormGenerationResult) FormDefinition(org.kie.workbench.common.forms.model.FormDefinition) Test(org.junit.Test)

Example 13 with FormDefinition

use of org.kie.workbench.common.forms.model.FormDefinition in project kie-wb-common by kiegroup.

the class FormGenerationIntegrationTest method emptyTaskFormIsCorrectlyGenerated.

@Test
public void emptyTaskFormIsCorrectlyGenerated() {
    final FormGenerationResult formGenerationResult = generateForm("FormGenerationTest_EmptyTask-taskform.frm", taskFormModels.get(1));
    final FormDefinition rootForm = formGenerationResult.getRootForm();
    testFormDefinition(rootForm, Collections.emptyList());
}
Also used : FormGenerationResult(org.kie.workbench.common.forms.jbpm.server.service.formGeneration.FormGenerationResult) FormDefinition(org.kie.workbench.common.forms.model.FormDefinition) Test(org.junit.Test)

Example 14 with FormDefinition

use of org.kie.workbench.common.forms.model.FormDefinition in project kie-wb-common by kiegroup.

the class AbstractBPMNFormGeneratorService method processFieldDefinition.

protected void processFieldDefinition(FieldDefinition field, GenerationContext<SOURCE> context) {
    if (field instanceof EntityRelationField) {
        if (field instanceof HasNestedForm) {
            HasNestedForm nestedFormField = (HasNestedForm) field;
            FormDefinition nestedForm = findFormDefinitionForModelType(field.getStandaloneClassName(), context);
            if (nestedForm == null) {
                nestedForm = createModelFormDefinition(field.getStandaloneClassName(), context);
            }
            nestedFormField.setNestedForm(nestedForm.getId());
        } else if (field instanceof IsCRUDDefinition) {
            IsCRUDDefinition crudField = (IsCRUDDefinition) field;
            FormDefinition nestedForm = findFormDefinitionForModelType(field.getStandaloneClassName(), context);
            if (nestedForm == null) {
                nestedForm = createModelFormDefinition(field.getStandaloneClassName(), context);
                crudField.setCreationForm(nestedForm.getId());
                crudField.setEditionForm(nestedForm.getId());
                List<TableColumnMeta> tableColumnMetas = new ArrayList<>();
                nestedForm.getFields().forEach(nestedField -> {
                    tableColumnMetas.add(new TableColumnMeta(nestedField.getLabel(), nestedField.getBinding()));
                });
                crudField.setColumnMetas(tableColumnMetas);
            }
        }
    }
}
Also used : LayoutColumnDefinition(org.kie.workbench.common.forms.adf.service.definitions.layout.LayoutColumnDefinition) TableColumnMeta(org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.TableColumnMeta) UIDGenerator(org.kie.workbench.common.forms.services.backend.util.UIDGenerator) FieldDefinition(org.kie.workbench.common.forms.model.FieldDefinition) FormLayoutComponent(org.kie.workbench.common.forms.model.FormLayoutComponent) IsCRUDDefinition(org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.IsCRUDDefinition) BPMNFormGeneratorService(org.kie.workbench.common.forms.jbpm.server.service.formGeneration.BPMNFormGeneratorService) JavaFormModel(org.kie.workbench.common.forms.model.JavaFormModel) JBPMFormModel(org.kie.workbench.common.forms.jbpm.model.authoring.JBPMFormModel) LayoutComponent(org.uberfire.ext.layout.editor.api.editor.LayoutComponent) ArrayList(java.util.ArrayList) ColSpan(org.kie.workbench.common.forms.adf.definitions.settings.ColSpan) HasNestedForm(org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.HasNestedForm) TaskFormModel(org.kie.workbench.common.forms.jbpm.model.authoring.task.TaskFormModel) StaticFormLayoutTemplateGenerator(org.kie.workbench.common.forms.commons.shared.layout.impl.StaticFormLayoutTemplateGenerator) List(java.util.List) LayoutGenerator(org.kie.workbench.common.forms.adf.engine.shared.formGeneration.layout.LayoutGenerator) FormGenerationResult(org.kie.workbench.common.forms.jbpm.server.service.formGeneration.FormGenerationResult) EntityRelationField(org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.EntityRelationField) FormDefinition(org.kie.workbench.common.forms.model.FormDefinition) FieldManager(org.kie.workbench.common.forms.service.shared.FieldManager) LayoutSettings(org.kie.workbench.common.forms.adf.service.definitions.layout.LayoutSettings) DataObjectFormModel(org.kie.workbench.common.forms.data.modeller.model.DataObjectFormModel) EntityRelationField(org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.EntityRelationField) TableColumnMeta(org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.TableColumnMeta) IsCRUDDefinition(org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.IsCRUDDefinition) HasNestedForm(org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.HasNestedForm) ArrayList(java.util.ArrayList) List(java.util.List) FormDefinition(org.kie.workbench.common.forms.model.FormDefinition)

Example 15 with FormDefinition

use of org.kie.workbench.common.forms.model.FormDefinition in project kie-wb-common by kiegroup.

the class AbstractBPMNFormGeneratorService method createModelFormDefinition.

protected FormDefinition createModelFormDefinition(String modelType, GenerationContext<SOURCE> context) {
    FormDefinition form = context.getContextForms().get(modelType);
    if (form == null) {
        String modelName = modelType.substring(modelType.lastIndexOf(".") + 1);
        String formModelName = modelName;
        formModelName = formModelName.substring(0, 1).toLowerCase() + formModelName.substring(1);
        DataObjectFormModel formModel = new DataObjectFormModel(formModelName, modelType);
        form = new FormDefinition(formModel);
        context.getContextForms().put(modelType, form);
        form.setId(UIDGenerator.generateUID());
        form.setName(modelName);
        // TODO: extract model properties & generate fields
        List<FieldDefinition> fields = extractModelFields(formModel, context);
        form.getFields().addAll(fields);
        createFormLayout(form);
        processFormDefinition(form, context);
    }
    return form;
}
Also used : FieldDefinition(org.kie.workbench.common.forms.model.FieldDefinition) FormDefinition(org.kie.workbench.common.forms.model.FormDefinition) DataObjectFormModel(org.kie.workbench.common.forms.data.modeller.model.DataObjectFormModel)

Aggregations

FormDefinition (org.kie.workbench.common.forms.model.FormDefinition)89 FieldDefinition (org.kie.workbench.common.forms.model.FieldDefinition)30 Test (org.junit.Test)29 ArrayList (java.util.ArrayList)16 SubFormFieldDefinition (org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.subForm.definition.SubFormFieldDefinition)14 FormGenerationResult (org.kie.workbench.common.forms.jbpm.server.service.formGeneration.FormGenerationResult)14 TextBoxFieldDefinition (org.kie.workbench.common.forms.fields.shared.fieldTypes.basic.textBox.definition.TextBoxFieldDefinition)13 MultipleSubFormFieldDefinition (org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.multipleSubform.definition.MultipleSubFormFieldDefinition)12 TypeInfoImpl (org.kie.workbench.common.forms.model.impl.TypeInfoImpl)12 AbstractFormGenerationTest (org.kie.workbench.common.forms.adf.engine.shared.test.AbstractFormGenerationTest)10 Form (org.kie.workbench.common.forms.migration.legacy.model.Form)10 List (java.util.List)9 LayoutTemplate (org.uberfire.ext.layout.editor.api.editor.LayoutTemplate)9 IntegerBoxFieldDefinition (org.kie.workbench.common.forms.fields.shared.fieldTypes.basic.integerBox.definition.IntegerBoxFieldDefinition)8 ModelProperty (org.kie.workbench.common.forms.model.ModelProperty)8 ModelPropertyImpl (org.kie.workbench.common.forms.model.impl.ModelPropertyImpl)8 Person (org.kie.workbench.common.forms.adf.engine.shared.formGeneration.model.Person)7 FormModel (org.kie.workbench.common.forms.model.FormModel)7 PortableJavaModel (org.kie.workbench.common.forms.model.impl.PortableJavaModel)7 Date (java.util.Date)6