Search in sources :

Example 21 with Entity

use of org.openforis.idm.model.Entity 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)

Example 22 with Entity

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

the class NodeBuilder method createEntity.

private Entity createEntity(Entity parent) {
    EntityDefinition def = (EntityDefinition) parent.getDefinition().getChildDefinition(name);
    Entity entity = createDetachedEntity(def);
    return entity;
}
Also used : EntityDefinition(org.openforis.idm.metamodel.EntityDefinition) Entity(org.openforis.idm.model.Entity)

Example 23 with Entity

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

the class NodeBuilder method createDetachedEntity.

protected Entity createDetachedEntity(EntityDefinition def) {
    Entity entity = (Entity) def.createNode();
    addChildren(entity, builders);
    return entity;
}
Also used : Entity(org.openforis.idm.model.Entity)

Example 24 with Entity

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

the class CollectRelationalTest method createTestRecord.

protected static CollectRecord createTestRecord(CollectSurvey survey, String id) {
    CollectRecord record = new CollectRecord(survey, "2.0");
    Entity cluster = record.createRootEntity("cluster");
    record.setCreationDate(new GregorianCalendar(2011, 12, 31, 23, 59).getTime());
    // record.setCreatedBy("ModelDaoIntegrationTest");
    record.setStep(Step.ENTRY);
    addTestValues(cluster, id);
    // set counts
    record.getEntityCounts().add(2);
    // set keys
    record.getRootEntityKeyValues().add(id);
    return record;
}
Also used : CollectRecord(org.openforis.collect.model.CollectRecord) Entity(org.openforis.idm.model.Entity) GregorianCalendar(java.util.GregorianCalendar)

Example 25 with Entity

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

the class AbsoluteModelPathExpressionTest method testIteratePath2.

@Test
public void testIteratePath2() 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"));
    List<Node<?>> list = iterateExpression("/cluster/plot/no", record);
    Assert.assertEquals(3, list.size());
}
Also used : Entity(org.openforis.idm.model.Entity) Node(org.openforis.idm.model.Node) Code(org.openforis.idm.model.Code) AbstractTest(org.openforis.idm.AbstractTest) Test(org.junit.Test)

Aggregations

Entity (org.openforis.idm.model.Entity)164 Test (org.junit.Test)88 CollectRecord (org.openforis.collect.model.CollectRecord)37 EntityDefinition (org.openforis.idm.metamodel.EntityDefinition)36 Code (org.openforis.idm.model.Code)35 RealAttribute (org.openforis.idm.model.RealAttribute)25 CollectIntegrationTest (org.openforis.collect.CollectIntegrationTest)23 NodeDefinition (org.openforis.idm.metamodel.NodeDefinition)19 Node (org.openforis.idm.model.Node)19 AbstractTest (org.openforis.idm.AbstractTest)18 Date (org.openforis.idm.model.Date)16 ArrayList (java.util.ArrayList)14 CodeAttribute (org.openforis.idm.model.CodeAttribute)14 Time (org.openforis.idm.model.Time)12 GregorianCalendar (java.util.GregorianCalendar)9 ParsingError (org.openforis.collect.io.metadata.parsing.ParsingError)9 AttributeDefinition (org.openforis.idm.metamodel.AttributeDefinition)9 TextAttribute (org.openforis.idm.model.TextAttribute)9 CodeAttributeDefinition (org.openforis.idm.metamodel.CodeAttributeDefinition)8 Attribute (org.openforis.idm.model.Attribute)8