Search in sources :

Example 1 with Code

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

the class RecordDaoTest method createRecord.

private CollectRecord createRecord(CollectSurvey survey, int sequenceNumber) {
    int skippedCount = new Double(Math.ceil((double) (Math.random() * 40))).intValue();
    int missingCount = new Double(Math.ceil((double) (Math.random() * 50))).intValue();
    int errorsCount = new Double(Math.ceil((double) (Math.random() * 10))).intValue();
    int warningsCount = new Double(Math.ceil((double) (Math.random() * 30))).intValue();
    int numberOfPlots = new Double(Math.ceil((double) (Math.random() * 20))).intValue();
    int numberOfTrees = new Double(Math.ceil((double) (Math.random() * 30))).intValue();
    ;
    CollectRecord record = new CollectRecord(recordManager, survey, "2.0");
    record.setCreationDate(new GregorianCalendar(2011, 0, sequenceNumber, 8, 30).getTime());
    // record.setCreatedBy("ModelDaoIntegrationTest");
    record.setStep(Step.ENTRY);
    record.setModifiedDate(new GregorianCalendar(2011, 1, sequenceNumber, 8, 30).getTime());
    record.setSkipped(skippedCount);
    record.setMissing(missingCount);
    record.setErrors(errorsCount);
    record.setWarnings(warningsCount);
    Entity cluster = record.createRootEntity("cluster");
    String keyId = Integer.toString(sequenceNumber);
    EntityBuilder.addValue(cluster, "id", new Code(keyId));
    EntityBuilder.addValue(cluster, "gps_realtime", Boolean.TRUE);
    EntityBuilder.addValue(cluster, "region", new Code("001"));
    EntityBuilder.addValue(cluster, "district", new Code("002"));
    EntityBuilder.addValue(cluster, "vehicle_location", new Coordinate(432423423l, 4324324l, "srs"));
    EntityBuilder.addValue(cluster, "gps_model", "TomTom 1.232");
    {
        Entity ts = EntityBuilder.addEntity(cluster, "time_study");
        ts.addValue("date", new Date(2011, 2, 14));
        ts.addValue("start_time", new Time(8, 15));
        ts.addValue("end_time", new Time(15, 29));
    }
    {
        Entity ts = EntityBuilder.addEntity(cluster, "time_study");
        ts.addValue("date", new Date(2011, 2, 15));
        ts.addValue("start_time", new Time(8, 32));
        ts.addValue("end_time", new Time(11, 20));
    }
    for (int i = 0; i < numberOfPlots; i++) {
        Entity plot = EntityBuilder.addEntity(cluster, "plot");
        EntityBuilder.addValue(plot, "no", new Code(Integer.toString(i + 1)));
        for (int j = 0; j < numberOfTrees; j++) {
            Entity tree = EntityBuilder.addEntity(plot, "tree");
            tree.addValue("dbh", 54.2);
            tree.addValue("total_height", 2.0);
            RealAttribute boleHeight = tree.addValue("bole_height", (Double) null);
            boleHeight.getField().setSymbol('*');
            boleHeight.getField().setRemarks("No value specified");
        // .setMetadata(new CollectAttributeMetadata('*',null,"No value specified"));
        }
    }
    // set counts
    record.getEntityCounts().add(numberOfPlots);
    // set keys
    record.getRootEntityKeys().add(keyId);
    return record;
}
Also used : CollectRecord(org.openforis.collect.model.CollectRecord) Entity(org.openforis.idm.model.Entity) Coordinate(org.openforis.idm.model.Coordinate) RealAttribute(org.openforis.idm.model.RealAttribute) GregorianCalendar(java.util.GregorianCalendar) Time(org.openforis.idm.model.Time) Code(org.openforis.idm.model.Code) Date(org.openforis.idm.model.Date)

Example 2 with Code

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

the class IDMFunctionsTest method testNotBlankWithNullCode.

@Test
public void testNotBlankWithNullCode() throws InvalidExpressionException {
    EntityBuilder.addValue(cluster, "id", new Code(""));
    Assert.assertFalse(evaluateBooleanExpression(cluster, null, "idm:not-blank(id)"));
}
Also used : Code(org.openforis.idm.model.Code) Test(org.junit.Test)

Example 3 with Code

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

the class IDMFunctionsTest method testDistinctValuesFunctionWithEmptyList.

@Test
public void testDistinctValuesFunctionWithEmptyList() 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"));
    Entity plot3 = EntityBuilder.addEntity(cluster, "plot");
    // duplicate value
    EntityBuilder.addValue(plot3, "no", new Code("1"));
    String expr = ExpressionFactory.IDM_PREFIX + ":" + "distinct-values(plot/accessibility)";
    Object result = evaluateExpression(expr);
    Assert.assertNull(result);
}
Also used : Entity(org.openforis.idm.model.Entity) Code(org.openforis.idm.model.Code) Test(org.junit.Test)

Example 4 with Code

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

the class ModelPathExpressionTest method testIteratePath2.

@Test
public void testIteratePath2() throws InvalidExpressionException {
    String entityName = "plot";
    Entity plot1 = EntityBuilder.addEntity(cluster, entityName);
    EntityBuilder.addValue(plot1, "no", new Code("1"));
    Entity plot2 = EntityBuilder.addEntity(cluster, entityName);
    EntityBuilder.addValue(plot2, "no", new Code("1"));
    Entity plot3 = EntityBuilder.addEntity(cluster, entityName);
    EntityBuilder.addValue(plot3, "no", new Code("1"));
    String expr = "plot/no";
    List<Node<?>> list = iterateExpression(expr, cluster);
    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)

Example 5 with Code

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

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