use of org.openforis.idm.model.Code in project collect by openforis.
the class CSVDataImportJobIntegrationTest method createTestRecord.
private CollectRecord createTestRecord(CollectSurvey survey, String id) {
CollectRecord record = new CollectRecord(survey, "2.0", "cluster");
Entity cluster = record.getRootEntity();
record.setCreationDate(new GregorianCalendar(2011, 11, 31, 23, 59).getTime());
EntityBuilder.addValue(cluster, "id", new Code(id));
EntityBuilder.addValue(cluster, "region", new Code("001"));
EntityBuilder.addValue(cluster, "district", new Code("002"));
EntityBuilder.addValue(cluster, "plot_distance", 100d, meterUnit);
EntityBuilder.addValue(cluster, "map_sheet", "map sheet 1");
EntityBuilder.addValue(cluster, "map_sheet", "map sheet 2");
EntityBuilder.addValue(cluster, "map_sheet", "map sheet 3");
{
Entity timeStudy = EntityBuilder.addEntity(cluster, "time_study");
EntityBuilder.addValue(timeStudy, "date", new Date(2012, 1, 1));
EntityBuilder.addValue(timeStudy, "start_time", new Time(9, 10));
EntityBuilder.addValue(timeStudy, "end_time", new Time(12, 20));
}
{
Entity timeStudy = EntityBuilder.addEntity(cluster, "time_study");
EntityBuilder.addValue(timeStudy, "date", new Date(2012, 2, 20));
EntityBuilder.addValue(timeStudy, "start_time", new Time(8, 15));
EntityBuilder.addValue(timeStudy, "end_time", new Time(11, 10));
}
{
Entity plot = EntityBuilder.addEntity(cluster, "plot");
EntityBuilder.addValue(plot, "no", new Code("1"));
EntityBuilder.addValue(plot, "subplot", "A");
EntityBuilder.addValue(plot, "land_use", new Code("1"));
{
Entity tree = EntityBuilder.addEntity(plot, "tree");
EntityBuilder.addValue(tree, "tree_no", 1);
EntityBuilder.addValue(tree, "stem_no", 1);
EntityBuilder.addValue(tree, "dbh", 10.5d);
}
{
Entity tree = EntityBuilder.addEntity(plot, "tree");
EntityBuilder.addValue(tree, "tree_no", 2);
EntityBuilder.addValue(tree, "stem_no", 1);
EntityBuilder.addValue(tree, "dbh", 20.5d);
}
}
{
Entity plot = EntityBuilder.addEntity(cluster, "plot");
EntityBuilder.addValue(plot, "no", new Code("2"));
EntityBuilder.addValue(plot, "subplot", "A");
EntityBuilder.addValue(plot, "land_use", new Code("2"));
{
Entity tree = EntityBuilder.addEntity(plot, "tree");
EntityBuilder.addValue(tree, "tree_no", 1);
EntityBuilder.addValue(tree, "stem_no", 1);
EntityBuilder.addValue(tree, "dbh", 10.5d);
}
{
Entity tree = EntityBuilder.addEntity(plot, "tree");
EntityBuilder.addValue(tree, "tree_no", 2);
EntityBuilder.addValue(tree, "stem_no", 1);
EntityBuilder.addValue(tree, "dbh", 20.5d);
}
}
{
Entity plot = EntityBuilder.addEntity(cluster, "plot");
EntityBuilder.addValue(plot, "no", new Code("2"));
EntityBuilder.addValue(plot, "subplot", "B");
EntityBuilder.addValue(plot, "land_use", new Code("3"));
{
Entity tree = EntityBuilder.addEntity(plot, "tree");
EntityBuilder.addValue(tree, "tree_no", 1);
EntityBuilder.addValue(tree, "stem_no", 1);
EntityBuilder.addValue(tree, "dbh", 10.5d);
}
{
Entity tree = EntityBuilder.addEntity(plot, "tree");
EntityBuilder.addValue(tree, "tree_no", 2);
EntityBuilder.addValue(tree, "stem_no", 1);
EntityBuilder.addValue(tree, "dbh", 20.5d);
}
}
record.updateSummaryFields();
recordManager.validate(record);
return record;
}
use of org.openforis.idm.model.Code in project collect by openforis.
the class AbsoluteModelPathExpressionTest method testInvalidExpression.
@Test(expected = InvalidExpressionException.class)
public void testInvalidExpression() 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("1"));
Entity plot3 = EntityBuilder.addEntity(cluster, "plot");
EntityBuilder.addValue(plot3, "no", new Code("1"));
iterateExpression("/plot/no", record);
}
use of org.openforis.idm.model.Code in project collect by openforis.
the class IDMFunctionsTest method testNotBlankWithValidCode.
@Test
public void testNotBlankWithValidCode() throws InvalidExpressionException {
EntityBuilder.addValue(cluster, "id", new Code("001"));
Assert.assertTrue(evaluateBooleanExpression(cluster, null, "idm:not-blank(id)"));
}
use of org.openforis.idm.model.Code in project collect by openforis.
the class IDMFunctionsTest method testDistinctValuesFunction.
// start of distinct-values test
@Test
public void testDistinctValuesFunction() 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"));
String expr = ExpressionFactory.IDM_PREFIX + ":" + "distinct-values(plot/no)";
Object result = evaluateExpression(expr);
Assert.assertEquals(Arrays.asList("1", "2"), result);
}
use of org.openforis.idm.model.Code in project collect by openforis.
the class IDMFunctionsTest method testContainsFunction.
@Test
public void testContainsFunction() throws InvalidExpressionException {
EntityBuilder.addValue(cluster, "id", new Code("001"));
Entity plot = EntityBuilder.addEntity(cluster, "plot");
Entity humanImpact = EntityBuilder.addEntity(plot, "human_impact");
EntityBuilder.addValue(humanImpact, "type", new Code("1"));
EntityBuilder.addValue(humanImpact, "type", new Code("2"));
{
String expr = ExpressionFactory.IDM_PREFIX + ":" + "contains(plot/human_impact/type, '1')";
Object result = evaluateExpression(expr);
assertEquals(true, result);
}
{
String expr = ExpressionFactory.IDM_PREFIX + ":" + "contains(plot/human_impact/type, '2')";
Object result = evaluateExpression(expr);
assertEquals(true, result);
}
{
String expr = ExpressionFactory.IDM_PREFIX + ":" + "contains(plot/human_impact/type, '0')";
Object result = evaluateExpression(expr);
assertEquals(false, result);
}
}
Aggregations