Search in sources :

Example 6 with Node

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

the class ModelPathExpressionTest method testParent.

@Test
public void testParent() throws InvalidExpressionException {
    Entity plot = EntityBuilder.addEntity(cluster, "plot");
    List<Node<?>> plots = iterateExpression("parent()", plot);
    Assert.assertEquals(1, plots.size());
}
Also used : Entity(org.openforis.idm.model.Entity) Node(org.openforis.idm.model.Node) AbstractTest(org.openforis.idm.AbstractTest) Test(org.junit.Test)

Example 7 with Node

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

the class ModelPathExpressionTest method testThis.

@Test
public void testThis() throws InvalidExpressionException {
    Entity plot = EntityBuilder.addEntity(cluster, "plot");
    CodeAttribute plotNum = EntityBuilder.addValue(plot, "no", new Code("1"));
    List<Node<?>> plotNums = iterateExpression("$this", plot, plotNum);
    Assert.assertEquals(1, plotNums.size());
}
Also used : Entity(org.openforis.idm.model.Entity) CodeAttribute(org.openforis.idm.model.CodeAttribute) Node(org.openforis.idm.model.Node) Code(org.openforis.idm.model.Code) AbstractTest(org.openforis.idm.AbstractTest) Test(org.junit.Test)

Example 8 with Node

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

the class ModelPathExpressionTest method testAttributeParent.

@Test
public void testAttributeParent() throws InvalidExpressionException {
    Entity plot = EntityBuilder.addEntity(cluster, "plot");
    RealAttribute canopyCover = EntityBuilder.addValue(plot, "canopy_cover", 12.56);
    List<Node<?>> plots = iterateExpression("parent()", canopyCover);
    Assert.assertEquals(1, plots.size());
}
Also used : Entity(org.openforis.idm.model.Entity) RealAttribute(org.openforis.idm.model.RealAttribute) Node(org.openforis.idm.model.Node) AbstractTest(org.openforis.idm.AbstractTest) Test(org.junit.Test)

Example 9 with Node

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

the class PathTest method testSingleAttributeWithIndex.

@Test
public void testSingleAttributeWithIndex() throws InvalidPathException {
    Entity cluster = getRootEntity();
    Entity plot = EntityBuilder.addEntity(cluster, "plot");
    Entity tree1 = EntityBuilder.addEntity(plot, "tree");
    EntityBuilder.addValue(tree1, "dbh", 12.2);
    Entity tree2 = EntityBuilder.addEntity(plot, "tree");
    RealAttribute dbh2 = EntityBuilder.addValue(tree2, "dbh", 15.7);
    Path path = Path.parse("tree[2]/dbh[1]");
    // Node
    List<Node<?>> res = path.evaluate(plot);
    Assert.assertEquals(1, res.size());
    Assert.assertEquals(dbh2, res.get(0));
    // Defn
    NodeDefinition def = path.evaluate(plot.getDefinition());
    Assert.assertEquals(dbh2.getDefinition(), def);
}
Also used : Entity(org.openforis.idm.model.Entity) RealAttribute(org.openforis.idm.model.RealAttribute) Node(org.openforis.idm.model.Node) NodeDefinition(org.openforis.idm.metamodel.NodeDefinition) AbstractTest(org.openforis.idm.AbstractTest) Test(org.junit.Test)

Example 10 with Node

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

the class PathTest method testMultipleFieldPathWithIndex.

@Test
public void testMultipleFieldPathWithIndex() throws InvalidPathException {
    Entity cluster = getRootEntity();
    Entity plot = EntityBuilder.addEntity(cluster, "plot");
    EntityBuilder.addEntity(plot, "tree");
    Entity tree2 = EntityBuilder.addEntity(plot, "tree");
    EntityBuilder.addValue(tree2, "dbh", 12.2);
    RealAttribute dbh2 = EntityBuilder.addValue(tree2, "dbh", 15.7);
    Path path = Path.parse("tree[2]/dbh[2]/value");
    // Node
    List<Node<?>> res = path.evaluate(plot);
    Assert.assertEquals(1, res.size());
    Assert.assertEquals(15.7, ((Field<?>) res.get(0)).getValue());
    // Defn
    NodeDefinition def = path.evaluate(plot.getDefinition());
    Assert.assertEquals(dbh2.getDefinition().getFieldDefinition("value"), def);
}
Also used : Entity(org.openforis.idm.model.Entity) RealAttribute(org.openforis.idm.model.RealAttribute) Node(org.openforis.idm.model.Node) NodeDefinition(org.openforis.idm.metamodel.NodeDefinition) AbstractTest(org.openforis.idm.AbstractTest) Test(org.junit.Test)

Aggregations

Node (org.openforis.idm.model.Node)37 Entity (org.openforis.idm.model.Entity)19 Test (org.junit.Test)13 ArrayList (java.util.ArrayList)11 AbstractTest (org.openforis.idm.AbstractTest)11 NodeDefinition (org.openforis.idm.metamodel.NodeDefinition)8 CollectRecord (org.openforis.collect.model.CollectRecord)6 RealAttribute (org.openforis.idm.model.RealAttribute)6 Attribute (org.openforis.idm.model.Attribute)5 CodeAttribute (org.openforis.idm.model.CodeAttribute)5 Code (org.openforis.idm.model.Code)4 Record (org.openforis.idm.model.Record)4 HashSet (java.util.HashSet)3 LinkedHashSet (java.util.LinkedHashSet)3 XPathDataQueryEvaluator (org.openforis.collect.datacleansing.xpath.XPathDataQueryEvaluator)3 CollectRecordSummary (org.openforis.collect.model.CollectRecordSummary)3 CollectSurvey (org.openforis.collect.model.CollectSurvey)3 RecordFilter (org.openforis.collect.model.RecordFilter)3 AttributeDefinition (org.openforis.idm.metamodel.AttributeDefinition)3 EntityDefinition (org.openforis.idm.metamodel.EntityDefinition)3