Search in sources :

Example 1 with Person

use of org.kie.workbench.common.forms.dynamic.backend.server.context.generation.dynamic.impl.model.Person in project kie-wb-common by kiegroup.

the class MultipleSubformBackendFormRenderingContextManagerTest method getNestedForms.

@Override
protected FormDefinition[] getNestedForms() {
    JavaFormModel model = new PortableJavaModel(Person.class.getName());
    FormDefinition creationForm = new FormDefinition(model);
    creationForm.setId("person-creation");
    FieldDefinition field = fieldManager.getDefinitionByDataType(new TypeInfoImpl(Long.class.getName()));
    field.setName("id");
    field.setBinding("id");
    creationForm.getFields().add(field);
    field = fieldManager.getDefinitionByDataType(new TypeInfoImpl(String.class.getName()));
    field.setName("name");
    field.setBinding("name");
    creationForm.getFields().add(field);
    field = fieldManager.getDefinitionByDataType(new TypeInfoImpl(String.class.getName()));
    field.setName("lastName");
    field.setBinding("lastName");
    creationForm.getFields().add(field);
    field = fieldManager.getDefinitionByDataType(new TypeInfoImpl(Date.class.getName()));
    field.setName("birthday");
    field.setBinding("birthday");
    creationForm.getFields().add(field);
    FormDefinition editionForm = new FormDefinition(model);
    editionForm.setId("person-edition");
    field = fieldManager.getDefinitionByDataType(new TypeInfoImpl(Long.class.getName()));
    field.setName("id");
    field.setBinding("id");
    editionForm.getFields().add(field);
    field = fieldManager.getDefinitionByDataType(new TypeInfoImpl(String.class.getName()));
    field.setName("name");
    field.setBinding("name");
    editionForm.getFields().add(field);
    field = fieldManager.getDefinitionByDataType(new TypeInfoImpl(String.class.getName()));
    field.setName("lastName");
    field.setBinding("lastName");
    editionForm.getFields().add(field);
    field = fieldManager.getDefinitionByDataType(new TypeInfoImpl(Date.class.getName()));
    field.setName("birthday");
    field.setBinding("birthday");
    editionForm.getFields().add(field);
    return new FormDefinition[] { creationForm, editionForm };
}
Also used : FieldDefinition(org.kie.workbench.common.forms.model.FieldDefinition) MultipleSubFormFieldDefinition(org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.multipleSubform.definition.MultipleSubFormFieldDefinition) PortableJavaModel(org.kie.workbench.common.forms.model.impl.PortableJavaModel) FormDefinition(org.kie.workbench.common.forms.model.FormDefinition) TypeInfoImpl(org.kie.workbench.common.forms.model.impl.TypeInfoImpl) JavaFormModel(org.kie.workbench.common.forms.model.JavaFormModel) Person(org.kie.workbench.common.forms.dynamic.backend.server.context.generation.dynamic.impl.model.Person) Date(java.util.Date)

Example 2 with Person

use of org.kie.workbench.common.forms.dynamic.backend.server.context.generation.dynamic.impl.model.Person in project kie-wb-common by kiegroup.

the class MultipleSubformBackendFormRenderingContextManagerTest method doReadNestedData.

protected Map<String, Object> doReadNestedData() {
    Map<String, Object> result = context.getRenderingContext().getModel();
    assertFalse("There should be some validations for model", context.getRenderingContext().getModelConstraints().isEmpty());
    assertNotNull("Result cannot be null ", result);
    assertTrue("Result must contain only one entry", result.size() == 1);
    assertTrue("Processed map must contain value for field 'persons'", result.containsKey("persons"));
    assertNotNull("Processed map must contain value for field 'persons'", result.get("persons"));
    List<Map<String, Object>> personMaps = (List<Map<String, Object>>) result.get("persons");
    assertEquals("There must be 4 persons", 4, personMaps.size());
    for (int i = 0; i < personMaps.size(); i++) {
        Person person = persons.get(i);
        Map<String, Object> personMap = personMaps.get(i);
        assertEquals("Id must be equal", person.getId(), personMap.get("id"));
        assertEquals("Name must be equal", person.getName(), personMap.get("name"));
        assertEquals("LastName must be equal", person.getLastName(), personMap.get("lastName"));
        assertEquals("Birthday must be equal", person.getBirthday(), personMap.get("birthday"));
    }
    return result;
}
Also used : ArrayList(java.util.ArrayList) List(java.util.List) HashMap(java.util.HashMap) Map(java.util.Map) Person(org.kie.workbench.common.forms.dynamic.backend.server.context.generation.dynamic.impl.model.Person)

Example 3 with Person

use of org.kie.workbench.common.forms.dynamic.backend.server.context.generation.dynamic.impl.model.Person in project kie-wb-common by kiegroup.

the class NestedFormBackendFormRenderingContextManagerTest method testWriteNestedModelWithExistingObject.

@Test
public void testWriteNestedModelWithExistingObject() {
    Date date = new Date();
    date.setTime(date.getTime() + 5000);
    Map<String, Object> personValues = new HashMap<>();
    personValues.put("name", "John");
    personValues.put("lastName", "Snow");
    personValues.put("birthday", date);
    Map<String, Object> formValues = new HashMap<>();
    formValues.put("person", personValues);
    Map<String, Object> result = contextManager.updateContextData(context.getTimestamp(), formValues).getFormData();
    assertNotNull("Result cannot be null ", result);
    assertTrue("Result must contain only one entry", result.size() == 1);
    assertTrue("Processed map must contain value for field 'person'", result.containsKey("person"));
    assertNotNull("Processed map must contain value for field 'person'", result.get("person"));
    Object value = result.get("person");
    assertNotNull("Value must not be null", value);
    assertTrue("Value must be a Person object", value instanceof Person);
    assertEquals("Value must be the same object that model", model, value);
    assertEquals("Name must be 'John'", "John", model.getName());
    assertEquals("LastName must be 'Snow'", "Snow", model.getLastName());
}
Also used : HashMap(java.util.HashMap) Person(org.kie.workbench.common.forms.dynamic.backend.server.context.generation.dynamic.impl.model.Person) Date(java.util.Date) Test(org.junit.Test)

Example 4 with Person

use of org.kie.workbench.common.forms.dynamic.backend.server.context.generation.dynamic.impl.model.Person in project kie-wb-common by kiegroup.

the class NestedFormBackendFormRenderingContextManagerTest method testWriteNestedModelWithoutModel.

protected void testWriteNestedModelWithoutModel(boolean classOnContentMarshaller) {
    try {
        initContentMarshallerClassLoader(Person.class, classOnContentMarshaller);
        formData.remove("person");
        Map<String, Object> personValues = new HashMap<>();
        personValues.put("id", 5555);
        personValues.put("name", "John");
        personValues.put("lastName", "Snow");
        Date date = new Date();
        personValues.put("birthday", date);
        Map<String, Object> formValues = new HashMap<>();
        formValues.put("person", personValues);
        Map<String, Object> result = contextManager.updateContextData(context.getTimestamp(), formValues).getFormData();
        assertNotNull("Result cannot be null ", result);
        assertTrue("Result must contain only one entry", result.size() == 1);
        assertTrue("Processed map must contain value for field 'person'", result.containsKey("person"));
        assertNotNull("Processed map must contain value for field 'person'", result.get("person"));
        Object value = result.get("person");
        assertNotNull("Value must not be null", value);
        assertTrue("Value must be a Person object", value instanceof Person);
        Person personValue = (Person) value;
        assertEquals("Name must be '5555'", new Integer(5555), personValue.getId());
        assertEquals("Name must be 'John'", "John", personValue.getName());
        assertEquals("LastName must be 'Snow'", "Snow", personValue.getLastName());
        assertEquals("Date must be equal", date, personValue.getBirthday());
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Also used : HashMap(java.util.HashMap) Person(org.kie.workbench.common.forms.dynamic.backend.server.context.generation.dynamic.impl.model.Person) Date(java.util.Date)

Example 5 with Person

use of org.kie.workbench.common.forms.dynamic.backend.server.context.generation.dynamic.impl.model.Person in project kie-wb-common by kiegroup.

the class NestedFormBackendFormRenderingContextManagerTest method getRootForm.

@Override
protected FormDefinition getRootForm() {
    FormDefinition form = new FormDefinition(new PortableJavaModel(Person.class.getName()));
    FieldDefinition field = fieldManager.getDefinitionByDataType(new TypeInfoImpl(TypeKind.OBJECT, Person.class.getName(), false));
    field.setName("person");
    field.setBinding("person");
    SubFormFieldDefinition subForm = (SubFormFieldDefinition) field;
    subForm.setNestedForm(Person.class.getName());
    form.getFields().add(field);
    return form;
}
Also used : SubFormFieldDefinition(org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.subForm.definition.SubFormFieldDefinition) FieldDefinition(org.kie.workbench.common.forms.model.FieldDefinition) SubFormFieldDefinition(org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.subForm.definition.SubFormFieldDefinition) PortableJavaModel(org.kie.workbench.common.forms.model.impl.PortableJavaModel) FormDefinition(org.kie.workbench.common.forms.model.FormDefinition) TypeInfoImpl(org.kie.workbench.common.forms.model.impl.TypeInfoImpl) Person(org.kie.workbench.common.forms.dynamic.backend.server.context.generation.dynamic.impl.model.Person)

Aggregations

Person (org.kie.workbench.common.forms.dynamic.backend.server.context.generation.dynamic.impl.model.Person)7 HashMap (java.util.HashMap)5 Date (java.util.Date)4 FieldDefinition (org.kie.workbench.common.forms.model.FieldDefinition)2 FormDefinition (org.kie.workbench.common.forms.model.FormDefinition)2 PortableJavaModel (org.kie.workbench.common.forms.model.impl.PortableJavaModel)2 TypeInfoImpl (org.kie.workbench.common.forms.model.impl.TypeInfoImpl)2 ParseException (java.text.ParseException)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1 Map (java.util.Map)1 Test (org.junit.Test)1 MultipleSubFormFieldDefinition (org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.multipleSubform.definition.MultipleSubFormFieldDefinition)1 SubFormFieldDefinition (org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.subForm.definition.SubFormFieldDefinition)1 JavaFormModel (org.kie.workbench.common.forms.model.JavaFormModel)1