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 };
}
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;
}
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());
}
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();
}
}
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;
}
Aggregations