Search in sources :

Example 56 with Code

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

the class RequiredExpressionTest method testTrue.

@Test
public void testTrue() throws InvalidExpressionException {
    CodeAttribute region = EntityBuilder.addValue(cluster, "region", new Code("004"));
    String expr = "true()";
    boolean b = evaluateExpression(expr, region);
    Assert.assertTrue(b);
}
Also used : CodeAttribute(org.openforis.idm.model.CodeAttribute) Code(org.openforis.idm.model.Code) AbstractTest(org.openforis.idm.AbstractTest) Test(org.junit.Test)

Example 57 with Code

use of org.openforis.idm.model.Code 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 58 with Code

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

the class CodeAttributeMapper method addNode.

@Override
CodeAttribute addNode(NodeDefinition defn, Record r, Entity parent) {
    String name = defn.getName();
    String qualifier = r.getValueAsString(DATA.TEXT2);
    CodeAttributeDefinition codeAttrDefn = (CodeAttributeDefinition) defn;
    CodeList list = codeAttrDefn.getList();
    String code = r.getValueAsString(DATA.TEXT1);
    Code value = new Code(code, qualifier);
    return parent.addValue(name, value);
}
Also used : CodeList(org.openforis.idm.metamodel.CodeList) CodeAttributeDefinition(org.openforis.idm.metamodel.CodeAttributeDefinition) Code(org.openforis.idm.model.Code)

Example 59 with Code

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

the class DistanceCheckTest method testValidMaxDistance.

@Test
public void testValidMaxDistance() {
    String coordStr = "SRID=EPSG:21035;POINT(805750 9333820)";
    Coordinate coord = Coordinate.parseCoordinate(coordStr);
    EntityBuilder.addValue(cluster, "id", new Code("001"));
    CoordinateAttribute vehicleLocation = EntityBuilder.addValue(cluster, "vehicle_location", coord);
    ValidationResults results = validate(vehicleLocation);
    Assert.assertFalse(containsDistanceCheck(results.getErrors()));
}
Also used : ValidationResults(org.openforis.idm.metamodel.validation.ValidationResults) Coordinate(org.openforis.idm.model.Coordinate) CoordinateAttribute(org.openforis.idm.model.CoordinateAttribute) Code(org.openforis.idm.model.Code) Test(org.junit.Test)

Example 60 with Code

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

the class CodeListManager method loadPersistedItem.

protected PersistedCodeListItem loadPersistedItem(CodeAttribute attribute) {
    Code code = attribute.getValue();
    if (code == null || StringUtils.isBlank(code.getCode())) {
        return null;
    } else {
        String codeVal = code.getCode();
        CodeAttributeDefinition defn = attribute.getDefinition();
        CodeList list = defn.getList();
        Record record = attribute.getRecord();
        ModelVersion version = record.getVersion();
        if (StringUtils.isBlank(defn.getParentExpression())) {
            CodeListItem item = codeListItemDao.loadRootItem(list, codeVal, version);
            return (PersistedCodeListItem) item;
        } else {
            PersistedCodeListItem parentItem = (PersistedCodeListItem) loadParentItem(attribute);
            if (parentItem == null) {
                return null;
            } else {
                CodeListItem item = codeListItemDao.loadItem(list, parentItem.getSystemId(), codeVal, version);
                return (PersistedCodeListItem) item;
            }
        }
    }
}
Also used : CodeList(org.openforis.idm.metamodel.CodeList) CodeAttributeDefinition(org.openforis.idm.metamodel.CodeAttributeDefinition) Record(org.openforis.idm.model.Record) ModelVersion(org.openforis.idm.metamodel.ModelVersion) ExternalCodeListItem(org.openforis.idm.metamodel.ExternalCodeListItem) PersistedCodeListItem(org.openforis.idm.metamodel.PersistedCodeListItem) CodeListItem(org.openforis.idm.metamodel.CodeListItem) Code(org.openforis.idm.model.Code) PersistedCodeListItem(org.openforis.idm.metamodel.PersistedCodeListItem)

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