Search in sources :

Example 16 with Date

use of org.openforis.idm.model.Date in project collect by openforis.

the class DateValidator method evaluate.

@Override
public ValidationResultFlag evaluate(DateAttribute attribute) {
    try {
        Date date = attribute.getValue();
        Calendar cal = date.toCalendar();
        if (cal == null) {
            return ValidationResultFlag.ERROR;
        }
        cal.getTime();
        return ValidationResultFlag.OK;
    } catch (IllegalArgumentException e) {
        return ValidationResultFlag.ERROR;
    }
}
Also used : Calendar(java.util.Calendar) Date(org.openforis.idm.model.Date)

Example 17 with Date

use of org.openforis.idm.model.Date in project collect by openforis.

the class CollectRelationalTest method addTestValues.

private static void addTestValues(Entity cluster, String id) {
    // cluster.setId(100);
    EntityBuilder.addValue(cluster, "id", new Code(id));
    EntityBuilder.addValue(cluster, "gps_realtime", Boolean.TRUE);
    EntityBuilder.addValue(cluster, "region", new Code("001"));
    EntityBuilder.addValue(cluster, "district", new Code("002"));
    EntityBuilder.addValue(cluster, "crew_no", 10);
    EntityBuilder.addValue(cluster, "map_sheet", "value 1");
    EntityBuilder.addValue(cluster, "map_sheet", "value 2");
    EntityBuilder.addValue(cluster, "vehicle_location", new Coordinate((double) 432423423l, (double) 4324324l, "srs"));
    EntityBuilder.addValue(cluster, "gps_model", "TomTom 1.232");
    {
        Entity ts = EntityBuilder.addEntity(cluster, "time_study");
        EntityBuilder.addValue(ts, "date", new Date(2011, 2, 14));
        EntityBuilder.addValue(ts, "start_time", new Time(8, 15));
        EntityBuilder.addValue(ts, "end_time", new Time(15, 29));
    }
    {
        Entity ts = EntityBuilder.addEntity(cluster, "time_study");
        EntityBuilder.addValue(ts, "date", new Date(2011, 2, 15));
        EntityBuilder.addValue(ts, "start_time", new Time(8, 32));
        EntityBuilder.addValue(ts, "end_time", new Time(11, 20));
    }
    {
        Entity plot = EntityBuilder.addEntity(cluster, "plot");
        EntityBuilder.addValue(plot, "no", new Code("1"));
        Entity tree1 = EntityBuilder.addEntity(plot, "tree");
        EntityBuilder.addValue(tree1, "tree_no", 1);
        EntityBuilder.addValue(tree1, "dbh", 54.2);
        EntityBuilder.addValue(tree1, "total_height", 2.0);
        // EntityBuilder.addValue(tree1, "bole_height", (Double) null).setMetadata(new CollectAttributeMetadata('*',null,"No value specified"));
        RealAttribute boleHeight = EntityBuilder.addValue(tree1, "bole_height", (Double) null);
        boleHeight.getField(0).setSymbol('*');
        boleHeight.getField(0).setRemarks("No value specified");
        Entity tree2 = EntityBuilder.addEntity(plot, "tree");
        EntityBuilder.addValue(tree2, "tree_no", 2);
        EntityBuilder.addValue(tree2, "dbh", 82.8);
        EntityBuilder.addValue(tree2, "total_height", 3.0);
    }
    {
        Entity plot = EntityBuilder.addEntity(cluster, "plot");
        EntityBuilder.addValue(plot, "no", new Code("2"));
        Entity tree1 = EntityBuilder.addEntity(plot, "tree");
        EntityBuilder.addValue(tree1, "tree_no", 1);
        EntityBuilder.addValue(tree1, "dbh", 34.2);
        EntityBuilder.addValue(tree1, "total_height", 2.0);
        Entity tree2 = EntityBuilder.addEntity(plot, "tree");
        EntityBuilder.addValue(tree2, "tree_no", 2);
        EntityBuilder.addValue(tree2, "dbh", 85.8);
        EntityBuilder.addValue(tree2, "total_height", 4.0);
    }
}
Also used : Entity(org.openforis.idm.model.Entity) Coordinate(org.openforis.idm.model.Coordinate) RealAttribute(org.openforis.idm.model.RealAttribute) Time(org.openforis.idm.model.Time) Code(org.openforis.idm.model.Code) Date(org.openforis.idm.model.Date)

Example 18 with Date

use of org.openforis.idm.model.Date in project collect by openforis.

the class DateAttributeMapper method addNode.

@Override
Node<?> addNode(NodeDefinition defn, Record r, Entity parent) {
    Integer year = r.getValueAsInteger(DATA.NUMBER1);
    Integer month = r.getValueAsInteger(DATA.NUMBER2);
    Integer day = r.getValueAsInteger(DATA.NUMBER3);
    Date date = new Date(year, month, day);
    return parent.addValue(defn.getName(), date);
}
Also used : Date(org.openforis.idm.model.Date)

Example 19 with Date

use of org.openforis.idm.model.Date in project collect by openforis.

the class DateAttributeMapper method setFields.

@Override
void setFields(Node<?> node, InsertSetStep<?> insert) {
    Date value = ((DateAttribute) node).getValue();
    if (value != null) {
        insert.set(DATA.NUMBER1, toNumeric(value.getYear()));
        insert.set(DATA.NUMBER2, toNumeric(value.getMonth()));
        insert.set(DATA.NUMBER3, toNumeric(value.getDay()));
    }
}
Also used : Date(org.openforis.idm.model.Date) DateAttribute(org.openforis.idm.model.DateAttribute)

Example 20 with Date

use of org.openforis.idm.model.Date in project collect by openforis.

the class MinCountValidatorTest method testSpecifiedRequiredMultipleEntity.

@Test
public void testSpecifiedRequiredMultipleEntity() {
    updateMinCount(cluster, "time_study");
    Entity timeStudy = EntityBuilder.addEntity(cluster, "time_study");
    EntityBuilder.addValue(timeStudy, "date", new Date(2012, 1, 1));
    // ValidationResults results = validate(cluster);
    // List<ValidationResult> errors = results.getErrors();
    // assertFalse(containsMinCountError(errors, "time_study"));
    ValidationResultFlag result = validator.validateMinCount(cluster, "time_study");
    assertTrue(result.isOk());
}
Also used : Entity(org.openforis.idm.model.Entity) Date(org.openforis.idm.model.Date) Test(org.junit.Test)

Aggregations

Date (org.openforis.idm.model.Date)20 Entity (org.openforis.idm.model.Entity)16 CollectRecord (org.openforis.collect.model.CollectRecord)10 Code (org.openforis.idm.model.Code)10 Time (org.openforis.idm.model.Time)10 Coordinate (org.openforis.idm.model.Coordinate)8 Test (org.junit.Test)7 DateAttribute (org.openforis.idm.model.DateAttribute)7 GregorianCalendar (java.util.GregorianCalendar)6 CollectIntegrationTest (org.openforis.collect.CollectIntegrationTest)4 EntityDefinition (org.openforis.idm.metamodel.EntityDefinition)4 RealAttribute (org.openforis.idm.model.RealAttribute)4 NumberAttribute (org.openforis.idm.model.NumberAttribute)3 RecordBuilder (org.openforis.idm.testfixture.RecordBuilder)3 ParsingError (org.openforis.collect.io.metadata.parsing.ParsingError)2 RecordUpdater (org.openforis.collect.model.RecordUpdater)2 NumberFormat (java.text.NumberFormat)1 Calendar (java.util.Calendar)1 User (org.openforis.collect.model.User)1 CodeAttributeDefinition (org.openforis.idm.metamodel.CodeAttributeDefinition)1