Search in sources :

Example 21 with Code

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

the class ModelDaoIntegrationTest method addTestValues.

private void addTestValues(Entity cluster, String id) {
    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 22 with Code

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

the class IDMDistanceFunctionTest method testSampingPointLocation.

// @Test
public void testSampingPointLocation() throws InvalidExpressionException {
    EntityBuilder.addValue(cluster, "id", new Code("10_114"));
    EntityBuilder.addValue(cluster, "cluster_location", new Coordinate(592340d, 9293450d, "EPSG:21036"));
    EntityBuilder.addValue(cluster, "vehicle_location", new Coordinate(592342d, 9293460d, "EPSG:21036"));
    Object distance = evaluateExpression(ExpressionFactory.IDM_PREFIX + ":distance(cluster_location, vehicle_location)");
    Assert.assertEquals(Double.valueOf(10.2010d), round((Double) distance, 6));
}
Also used : Coordinate(org.openforis.idm.model.Coordinate) Code(org.openforis.idm.model.Code)

Example 23 with Code

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

the class DataMarshallerTest method createTestRecord.

private CollectRecord createTestRecord(CollectSurvey survey) throws RecordPersistenceException {
    RecordBuilder recordBuilder = record(attribute("id", "123_456"), attribute("gps_realtime", "true"), attribute("region", "001"), attribute("district", "XXX"), attribute("crew_no", 10), attribute("map_sheet", "value 1"), attribute("map_sheet", "value 2"), attribute("vehicle_location", new Coordinate(432423423d, 4324324d, "srs")), attribute("gps_model", "TomTom 1.232"), attribute("remarks", "Remarks with UTF-8 character: Í"), entity("time_study", attribute("date", new Date(2011, 2, 14)), attribute("start_time", new Time(8, 15)), attribute("end_time", new Time(15, 29))), entity("time_study", attribute("date", new Date(2011, 2, 15)), attribute("start_time", new Time(8, 32)), attribute("end_time", new Time(11, 20))), entity("plot", attribute("no", new Code("1")), entity("tree", attribute("tree_no", 1), attribute("dbh", 54.2), attribute("total_height", 2.0), attribute("bole_height", (Double) null)), entity("tree", attribute("tree_no", 2), attribute("dbh", 82.8), attribute("total_height", 3.0))), entity("plot", attribute("no", new Code("2")), entity("tree", attribute("tree_no", 1), attribute("dbh", 34.2), attribute("total_height", 2.0)), entity("tree", attribute("tree_no", 2), attribute("dbh", 85.8), attribute("total_height", 4.0))));
    CollectRecord record = recordBuilder.build(survey, "cluster", "2.0");
    record.setCreationDate(new GregorianCalendar(2011, 11, 31, 23, 59).getTime());
    record.setStep(Step.ENTRY);
    record.updateSummaryFields();
    RecordUpdater recordUpdater = new RecordUpdater();
    recordUpdater.initializeRecord(record);
    Entity cluster = record.getRootEntity();
    recordUpdater.confirmError((Attribute<?, ?>) record.findNodeByPath("/cluster/district"));
    recordUpdater.approveMissingValue(cluster, "accessibility");
    NumberAttribute<?, ?> boleHeight = (NumberAttribute<?, ?>) record.findNodeByPath("/cluster/plot[1]/tree[1]/bole_height");
    recordUpdater.updateAttribute(boleHeight, FieldSymbol.BLANK_ON_FORM);
    recordUpdater.updateRemarks(boleHeight.getNumberField(), "No value specified");
    return record;
}
Also used : CollectRecord(org.openforis.collect.model.CollectRecord) Entity(org.openforis.idm.model.Entity) Coordinate(org.openforis.idm.model.Coordinate) RecordBuilder(org.openforis.idm.testfixture.RecordBuilder) GregorianCalendar(java.util.GregorianCalendar) NumberAttribute(org.openforis.idm.model.NumberAttribute) Time(org.openforis.idm.model.Time) Code(org.openforis.idm.model.Code) RecordUpdater(org.openforis.collect.model.RecordUpdater) Date(org.openforis.idm.model.Date)

Example 24 with Code

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

the class ComparisonCheckTest method testCodeLtConstant.

@Test
public void testCodeLtConstant() {
    ComparisonCheck check = new ComparisonCheck();
    check.setLessThanExpression("-1");
    CodeAttribute region = EntityBuilder.addValue(cluster, "region", new Code("001"));
    ValidationResultFlag result = check.evaluate(region);
    assertEquals(ERROR, result);
}
Also used : CodeAttribute(org.openforis.idm.model.CodeAttribute) Code(org.openforis.idm.model.Code) Test(org.junit.Test)

Example 25 with Code

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

the class CustomCheckTest method testCustomMessageWithExpressions.

@Test
public void testCustomMessageWithExpressions() {
    Entity plot = EntityBuilder.addEntity(cluster, "plot");
    Entity tree = EntityBuilder.addEntity(plot, "tree");
    RealAttribute totalHeight = EntityBuilder.addValue(tree, "total_height", 2.0);
    EntityBuilder.addValue(tree, "dbh", 16.5);
    EntityBuilder.addValue(tree, "health", new Code("1"));
    ValidationResults results = validate(totalHeight);
    CustomCheck check = (CustomCheck) results.getWarnings().get(0).getValidator();
    String message = check.getMessageWithEvaluatedExpressions(totalHeight, Locale.ENGLISH.getLanguage());
    Assert.assertEquals("Unusual relationship between dbh (16.5) and total height (2.0).", message);
}
Also used : Entity(org.openforis.idm.model.Entity) RealAttribute(org.openforis.idm.model.RealAttribute) Code(org.openforis.idm.model.Code) Test(org.junit.Test)

Aggregations

Code (org.openforis.idm.model.Code)68 Test (org.junit.Test)45 Entity (org.openforis.idm.model.Entity)35 CodeAttribute (org.openforis.idm.model.CodeAttribute)16 AbstractTest (org.openforis.idm.AbstractTest)14 Coordinate (org.openforis.idm.model.Coordinate)14 Date (org.openforis.idm.model.Date)10 Time (org.openforis.idm.model.Time)10 CollectRecord (org.openforis.collect.model.CollectRecord)9 RealAttribute (org.openforis.idm.model.RealAttribute)9 GregorianCalendar (java.util.GregorianCalendar)8 CodeAttributeDefinition (org.openforis.idm.metamodel.CodeAttributeDefinition)6 CodeList (org.openforis.idm.metamodel.CodeList)6 CollectIntegrationTest (org.openforis.collect.CollectIntegrationTest)5 CoordinateAttribute (org.openforis.idm.model.CoordinateAttribute)5 RecordUpdater (org.openforis.collect.model.RecordUpdater)4 ModelVersion (org.openforis.idm.metamodel.ModelVersion)4 ValidationResults (org.openforis.idm.metamodel.validation.ValidationResults)4 Node (org.openforis.idm.model.Node)4 User (org.openforis.collect.model.User)3