Search in sources :

Example 11 with Survey

use of org.openforis.idm.metamodel.Survey in project collect by openforis.

the class MaxCountDependencyGraph method determineDependents.

@Override
protected Set<NodePathPointer> determineDependents(NodePointer source) throws InvalidExpressionException {
    NodeDefinition def = source.getChildDefinition();
    Survey survey = def.getSurvey();
    Set<NodePathPointer> dependentPointers = survey.getMaxCountDependencies(def);
    return filterByVersion(dependentPointers, source.getModelVersion());
}
Also used : Survey(org.openforis.idm.metamodel.Survey) NodeDefinition(org.openforis.idm.metamodel.NodeDefinition)

Example 12 with Survey

use of org.openforis.idm.metamodel.Survey in project collect by openforis.

the class SurveyBuilder method survey.

public static Survey survey(NodeDefinitionBuilder... builders) {
    String rootEntityName = "root";
    Survey survey = new TestSurveyContext().createSurvey();
    EntityDefinitionBuilder entityBuilder = new EntityDefinitionBuilder(rootEntityName, builders);
    EntityDefinition rootEntityDef = (EntityDefinition) entityBuilder.buildInternal(survey);
    Schema schema = survey.getSchema();
    if (schema.getRootEntityDefinition(rootEntityName) != null) {
        schema.removeRootEntityDefinition(rootEntityName);
    }
    schema.addRootEntityDefinition(rootEntityDef);
    survey.refreshSurveyDependencies();
    return survey;
}
Also used : EntityDefinition(org.openforis.idm.metamodel.EntityDefinition) Survey(org.openforis.idm.metamodel.Survey) EntityDefinitionBuilder(org.openforis.idm.testfixture.NodeDefinitionBuilder.EntityDefinitionBuilder) TestSurveyContext(org.openforis.idm.model.TestSurveyContext) Schema(org.openforis.idm.metamodel.Schema)

Example 13 with Survey

use of org.openforis.idm.metamodel.Survey in project collect by openforis.

the class TestFixture method survey.

public static TestFixture survey(NodeDefinitionBuilder.EntityDefinitionBuilder entityDefinitionBuilder, RecordBuilder... recordBuilders) {
    SurveyContext surveyContext = new TestSurveyContext();
    Survey survey = surveyContext.createSurvey();
    EntityDefinition rootEntityDef = (EntityDefinition) entityDefinitionBuilder.buildInternal(survey);
    survey.getSchema().addRootEntityDefinition(rootEntityDef);
    survey.refreshSurveyDependencies();
    List<Record> records = new ArrayList<Record>();
    for (RecordBuilder recordBuilder : recordBuilders) {
        Record record = recordBuilder.build(survey);
        records.add(record);
    }
    return new TestFixture(survey, Collections.unmodifiableList(records));
}
Also used : EntityDefinition(org.openforis.idm.metamodel.EntityDefinition) Survey(org.openforis.idm.metamodel.Survey) TestSurveyContext(org.openforis.idm.model.TestSurveyContext) ArrayList(java.util.ArrayList) Record(org.openforis.idm.model.Record) SurveyContext(org.openforis.idm.metamodel.SurveyContext) TestSurveyContext(org.openforis.idm.model.TestSurveyContext)

Example 14 with Survey

use of org.openforis.idm.metamodel.Survey in project collect by openforis.

the class ProtostuffSerializationTest method testRoundTrip.

@Test
public void testRoundTrip() throws Exception {
    // Set up
    Survey survey = getTestSurvey();
    // assignFakeNodeDefinitionIds(survey.getSchema());
    Record record1 = createTestRecord(survey);
    Entity cluster1 = record1.getRootEntity();
    // Write
    ModelSerializer ser = new ModelSerializer(10000);
    byte[] data = ser.toByteArray(cluster1);
    // Read
    Record record2 = new Record(survey, "2.0", "cluster");
    ser.mergeFrom(data, record2.getRootEntity());
    // Compare
    Assert.assertTrue(record1.getRootEntity().deepEquals(record2.getRootEntity()));
}
Also used : Survey(org.openforis.idm.metamodel.Survey) Test(org.junit.Test)

Example 15 with Survey

use of org.openforis.idm.metamodel.Survey in project collect by openforis.

the class ProtostuffSerializationTest method testSkipRemovedAttribute.

@Test
public void testSkipRemovedAttribute() throws Exception {
    // Set up
    Survey survey = getTestSurvey();
    // assignFakeNodeDefinitionIds(survey.getSchema());
    Record record1 = createTestRecord(survey);
    Entity cluster1 = record1.getRootEntity();
    // Write
    ModelSerializer ser = new ModelSerializer(10000);
    byte[] data = ser.toByteArray(cluster1);
    // remove attribute from record before comparing it with the new one
    cluster1.remove("crew_no", 0);
    // remove node definition from schema
    Schema schema = survey.getSchema();
    EntityDefinition clusterDefn = schema.getRootEntityDefinition("cluster");
    NodeDefinition crewNumDefn = clusterDefn.getChildDefinition("crew_no");
    clusterDefn.removeChildDefinition(crewNumDefn);
    Record record2 = new Record(survey, "2.0", "cluster");
    ser.mergeFrom(data, record2.getRootEntity());
    // Compare
    Assert.assertTrue(record1.getRootEntity().deepEquals(record2.getRootEntity()));
}
Also used : EntityDefinition(org.openforis.idm.metamodel.EntityDefinition) Survey(org.openforis.idm.metamodel.Survey) Schema(org.openforis.idm.metamodel.Schema) NodeDefinition(org.openforis.idm.metamodel.NodeDefinition) Test(org.junit.Test)

Aggregations

Survey (org.openforis.idm.metamodel.Survey)67 Test (org.junit.Test)19 CollectSurvey (org.openforis.collect.model.CollectSurvey)13 NodeDefinition (org.openforis.idm.metamodel.NodeDefinition)11 EntityDefinition (org.openforis.idm.metamodel.EntityDefinition)10 Schema (org.openforis.idm.metamodel.Schema)10 SurveyContext (org.openforis.idm.metamodel.SurveyContext)8 Entity (org.openforis.idm.model.Entity)4 CollectIntegrationTest (org.openforis.collect.CollectIntegrationTest)3 ParsingError (org.openforis.collect.io.metadata.parsing.ParsingError)3 CodeAttributeDefinition (org.openforis.idm.metamodel.CodeAttributeDefinition)3 LookupProvider (org.openforis.idm.metamodel.validation.LookupProvider)3 TestSurveyContext (org.openforis.idm.model.TestSurveyContext)3 IOException (java.io.IOException)2 UIOptions (org.openforis.collect.metamodel.ui.UIOptions)2 NodeChangeSet (org.openforis.collect.model.NodeChangeSet)2 AttributeDefault (org.openforis.idm.metamodel.AttributeDefault)2 CodeList (org.openforis.idm.metamodel.CodeList)2 CodeListService (org.openforis.idm.metamodel.CodeListService)2 ModelVersion (org.openforis.idm.metamodel.ModelVersion)2