Search in sources :

Example 6 with Field

use of org.openmrs.Field in project openmrs-core by openmrs.

the class FieldValidatorTest method validate_shouldFailValidationIfNameIsEmpty.

/**
 * @see FieldValidator#validate(Object,Errors)
 */
@Test
public void validate_shouldFailValidationIfNameIsEmpty() {
    Field ff = new Field();
    ff.setName("");
    FieldType ft = new FieldType();
    Boolean retired = Boolean.FALSE;
    ft.setId(0xdeadcafe);
    ff.setFieldType(ft);
    ff.setRetired(retired);
    Boolean multiple = Boolean.FALSE;
    ff.setSelectMultiple(multiple);
    Errors errors = new BindException(ff, "name");
    new FieldValidator().validate(ff, errors);
    Assert.assertTrue(errors.hasFieldErrors("name"));
}
Also used : Field(org.openmrs.Field) Errors(org.springframework.validation.Errors) BindException(org.springframework.validation.BindException) FieldType(org.openmrs.FieldType) Test(org.junit.Test) BaseContextSensitiveTest(org.openmrs.test.BaseContextSensitiveTest)

Example 7 with Field

use of org.openmrs.Field in project openmrs-core by openmrs.

the class FieldValidatorTest method validate_shouldFailValidationIfNameIsNull.

/**
 * @see FieldValidator#validate(Object,Errors)
 */
@Test
public void validate_shouldFailValidationIfNameIsNull() {
    Field ff = new Field();
    ff.setName(null);
    FieldType ft = new FieldType();
    Boolean retired = Boolean.FALSE;
    ft.setId(0xdeadcafe);
    ff.setFieldType(ft);
    ff.setRetired(retired);
    Boolean multiple = Boolean.FALSE;
    ff.setSelectMultiple(multiple);
    Errors errors = new BindException(ff, "name");
    new FieldValidator().validate(ff, errors);
    Assert.assertTrue(errors.hasFieldErrors("name"));
}
Also used : Field(org.openmrs.Field) Errors(org.springframework.validation.Errors) BindException(org.springframework.validation.BindException) FieldType(org.openmrs.FieldType) Test(org.junit.Test) BaseContextSensitiveTest(org.openmrs.test.BaseContextSensitiveTest)

Example 8 with Field

use of org.openmrs.Field in project openmrs-core by openmrs.

the class FieldValidatorTest method validate_shouldPassValidationIfFieldLengthsAreCorrect.

/**
 * @see FieldValidator#validate(Object,Errors)
 */
@Test
public void validate_shouldPassValidationIfFieldLengthsAreCorrect() {
    Field ff = new Field();
    FieldType ft = new FieldType();
    Boolean retired = Boolean.FALSE;
    ft.setId(0xdeadcafe);
    ff.setFieldType(ft);
    ff.setName("name");
    ff.setRetired(retired);
    Boolean multiple = Boolean.FALSE;
    ff.setSelectMultiple(multiple);
    ff.setTableName("tableName");
    ff.setAttributeName("attributeName");
    ff.setRetireReason("retireReason");
    Errors errors = new BindException(ff, "field");
    new FieldValidator().validate(ff, errors);
    Assert.assertFalse(errors.hasErrors());
}
Also used : Field(org.openmrs.Field) Errors(org.springframework.validation.Errors) BindException(org.springframework.validation.BindException) FieldType(org.openmrs.FieldType) Test(org.junit.Test) BaseContextSensitiveTest(org.openmrs.test.BaseContextSensitiveTest)

Example 9 with Field

use of org.openmrs.Field in project openmrs-core by openmrs.

the class FieldValidatorTest method validate_shouldFailValidationIfRetiredIsNull.

/**
 * @see FieldValidator#validate(Object,Errors)
 */
@Test
public void validate_shouldFailValidationIfRetiredIsNull() {
    Field ff = new Field();
    ff.setName("good");
    FieldType ft = new FieldType();
    ft.setFieldTypeId(0xdeadcafe);
    ff.setFieldType(ft);
    ff.setName("valid");
    Boolean retired = null;
    ff.setRetired(retired);
    Boolean multiple = Boolean.TRUE;
    ff.setSelectMultiple(multiple);
    Errors errors = new BindException(ff, "retired");
    new FieldValidator().validate(ff, errors);
    Assert.assertTrue(errors.hasFieldErrors("retired"));
}
Also used : Field(org.openmrs.Field) Errors(org.springframework.validation.Errors) BindException(org.springframework.validation.BindException) FieldType(org.openmrs.FieldType) Test(org.junit.Test) BaseContextSensitiveTest(org.openmrs.test.BaseContextSensitiveTest)

Example 10 with Field

use of org.openmrs.Field in project openmrs-core by openmrs.

the class FormServiceImpl method saveFormField.

/**
 * @see org.openmrs.api.FormService#saveFormField(org.openmrs.FormField)
 */
@Override
public FormField saveFormField(FormField formField) throws APIException {
    Field field = formField.getField();
    if (field.getCreator() == null) {
        field.setCreator(Context.getAuthenticatedUser());
    }
    if (field.getDateCreated() == null) {
        field.setDateCreated(new Date());
    }
    // set the uuid here because the RequiredDataAdvice only looks at child lists
    if (field.getUuid() == null) {
        field.setUuid(UUID.randomUUID().toString());
    }
    FormField tmpFormField = dao.saveFormField(formField);
    // Include all formfields from all serializable complex obs handlers
    Concept concept = tmpFormField.getField().getConcept();
    if (concept != null && concept.isComplex()) {
        ComplexObsHandler handler = Context.getObsService().getHandler(((ConceptComplex) concept).getHandler());
        if (handler instanceof SerializableComplexObsHandler) {
            SerializableComplexObsHandler sHandler = (SerializableComplexObsHandler) handler;
            if (sHandler.getFormFields() != null) {
                for (FormField ff : sHandler.getFormFields()) {
                    ff.setParent(tmpFormField);
                    ff.setForm(tmpFormField.getForm());
                    ff.setCreator(tmpFormField.getCreator());
                    ff.setDateCreated(tmpFormField.getDateCreated());
                    dao.saveFormField(ff);
                }
            }
        }
    }
    return tmpFormField;
}
Also used : Concept(org.openmrs.Concept) FormField(org.openmrs.FormField) Field(org.openmrs.Field) SerializableComplexObsHandler(org.openmrs.obs.SerializableComplexObsHandler) ComplexObsHandler(org.openmrs.obs.ComplexObsHandler) SerializableComplexObsHandler(org.openmrs.obs.SerializableComplexObsHandler) FormField(org.openmrs.FormField) Date(java.util.Date)

Aggregations

Field (org.openmrs.Field)16 Test (org.junit.Test)13 BaseContextSensitiveTest (org.openmrs.test.BaseContextSensitiveTest)13 FieldType (org.openmrs.FieldType)9 BindException (org.springframework.validation.BindException)8 Errors (org.springframework.validation.Errors)8 FormField (org.openmrs.FormField)7 Concept (org.openmrs.Concept)3 Form (org.openmrs.Form)2 ArrayList (java.util.ArrayList)1 Date (java.util.Date)1 HashMap (java.util.HashMap)1 HashSet (java.util.HashSet)1 ComplexObsHandler (org.openmrs.obs.ComplexObsHandler)1 SerializableComplexObsHandler (org.openmrs.obs.SerializableComplexObsHandler)1