Search in sources :

Example 11 with Code

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

the class IDMFunctionsTest method testIndexAndPosition.

@Test
public void testIndexAndPosition() throws InvalidExpressionException {
    Entity plot1 = EntityBuilder.addEntity(cluster, "plot");
    EntityBuilder.addValue(plot1, "no", new Code("1"));
    Entity plot2 = EntityBuilder.addEntity(cluster, "plot");
    EntityBuilder.addValue(plot2, "no", new Code("2"));
    Assert.assertEquals(Integer.valueOf(0), evaluateExpression(cluster, "idm:index(plot[1])"));
    Assert.assertEquals(Integer.valueOf(0), evaluateExpression(cluster, "idm:index(plot[no='1'])"));
    Assert.assertEquals(Integer.valueOf(1), evaluateExpression(cluster, "idm:index(plot[2])"));
    Assert.assertEquals(Integer.valueOf(1), evaluateExpression(cluster, "idm:index(plot[no='2'])"));
    Assert.assertEquals(Integer.valueOf(1), evaluateExpression(cluster, "idm:position(plot[1])"));
    Assert.assertEquals(Integer.valueOf(2), evaluateExpression(cluster, "idm:position(plot[2])"));
    Assert.assertEquals(Integer.valueOf(1), evaluateExpression(plot2, "idm:index()"));
}
Also used : Entity(org.openforis.idm.model.Entity) Code(org.openforis.idm.model.Code) Test(org.junit.Test)

Example 12 with Code

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

the class CodeAttributeMapper method setFields.

@Override
void setFields(Node<?> node, InsertSetStep<?> insert) {
    Code value = ((CodeAttribute) node).getValue();
    if (value != null) {
        insert.set(DATA.TEXT1, value.getCode());
        insert.set(DATA.TEXT2, value.getQualifier());
    }
}
Also used : CodeAttribute(org.openforis.idm.model.CodeAttribute) Code(org.openforis.idm.model.Code)

Example 13 with Code

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

the class DistanceCheckTest method testEvalutateDistanceCheckDestinationPoint.

@Test
public void testEvalutateDistanceCheckDestinationPoint() {
    EntityBuilder.addValue(cluster, "id", new Code("001"));
    Coordinate coord = Coordinate.parseCoordinate("SRID=EPSG:21035;POINT(885750 9333820)");
    CoordinateAttribute vehicleLocation = EntityBuilder.addValue(cluster, "vehicle_location", coord);
    CoordinateAttributeDefinition defn = vehicleLocation.getDefinition();
    DistanceCheck check = (DistanceCheck) defn.getChecks().get(0);
    Coordinate destinationPoint = check.evaluateDestinationPoint(vehicleLocation);
    Assert.assertEquals(TEST_COORDINATE, destinationPoint);
}
Also used : CoordinateAttributeDefinition(org.openforis.idm.metamodel.CoordinateAttributeDefinition) DistanceCheck(org.openforis.idm.metamodel.validation.DistanceCheck) Coordinate(org.openforis.idm.model.Coordinate) CoordinateAttribute(org.openforis.idm.model.CoordinateAttribute) Code(org.openforis.idm.model.Code) Test(org.junit.Test)

Example 14 with Code

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

the class DistanceCheckTest method testEvalutateDistanceCheckMaxDistance.

@Test
public void testEvalutateDistanceCheckMaxDistance() {
    EntityBuilder.addValue(cluster, "id", new Code("001"));
    Coordinate coord = Coordinate.parseCoordinate("SRID=EPSG:21035;POINT(885750 9333820)");
    CoordinateAttribute vehicleLocation = EntityBuilder.addValue(cluster, "vehicle_location", coord);
    CoordinateAttributeDefinition defn = vehicleLocation.getDefinition();
    DistanceCheck check = (DistanceCheck) defn.getChecks().get(0);
    Double maxDistance = check.evaluateMaxDistance(vehicleLocation);
    Assert.assertEquals(Double.valueOf(100000d), maxDistance);
}
Also used : CoordinateAttributeDefinition(org.openforis.idm.metamodel.CoordinateAttributeDefinition) DistanceCheck(org.openforis.idm.metamodel.validation.DistanceCheck) Coordinate(org.openforis.idm.model.Coordinate) CoordinateAttribute(org.openforis.idm.model.CoordinateAttribute) Code(org.openforis.idm.model.Code) Test(org.junit.Test)

Example 15 with Code

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

the class DistanceCheckTest method testWarnMaxDistance.

@Test
public void testWarnMaxDistance() {
    String coordStr = "SRID=EPSG:21035;POINT(885750 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()));
    Assert.assertTrue(containsDistanceCheck(results.getWarnings()));
}
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)

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