Search in sources :

Example 41 with Code

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;
}
Also used : CollectRecord(org.openforis.collect.model.CollectRecord) Entity(org.openforis.idm.model.Entity) GregorianCalendar(java.util.GregorianCalendar) Time(org.openforis.idm.model.Time) Code(org.openforis.idm.model.Code) Date(org.openforis.idm.model.Date)

Example 42 with Code

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);
}
Also used : Entity(org.openforis.idm.model.Entity) Code(org.openforis.idm.model.Code) AbstractTest(org.openforis.idm.AbstractTest) Test(org.junit.Test)

Example 43 with Code

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)"));
}
Also used : Code(org.openforis.idm.model.Code) Test(org.junit.Test)

Example 44 with Code

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);
}
Also used : Entity(org.openforis.idm.model.Entity) Code(org.openforis.idm.model.Code) Test(org.junit.Test)

Example 45 with Code

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);
    }
}
Also used : Entity(org.openforis.idm.model.Entity) 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