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()"));
}
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());
}
}
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);
}
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);
}
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()));
}
Aggregations