Search in sources :

Example 6 with Survey

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

the class CSVDataImportProcess method createParentEntitySearchError.

private ParsingError createParentEntitySearchError(CollectRecord record, DataLine line, EntityIdentifier<?> identifier, String messageKey) {
    EntityIdentifierDefinition identifierDefn = identifier.getDefinition();
    Survey survey = record.getSurvey();
    Schema schema = survey.getSchema();
    EntityDefinition parentEntityDefn = (EntityDefinition) schema.getDefinitionById(identifierDefn.getEntityDefinitionId());
    String[] colNames = DataCSVReader.getKeyAttributeColumnNames(parentEntityDefn, parentEntityDefn.getKeyAttributeDefinitions());
    ParsingError error = new ParsingError(ErrorType.INVALID_VALUE, line.getLineNumber(), colNames, messageKey);
    List<String> recordKeys = record.getRootEntityKeyValues();
    CollectionUtils.filter(recordKeys, new Predicate() {

        @Override
        public boolean evaluate(Object object) {
            return StringUtils.isNotBlank((String) object);
        }
    });
    String jointRecordKeys = StringUtils.join(recordKeys, ", ");
    String jointParentEntityKeys = identifier instanceof EntityPositionIdentifier ? "[" + ((EntityPositionIdentifier) identifier).getPosition() + "]" : StringUtils.join(((EntityKeysIdentifier) identifier).getKeyValues(), ", ");
    error.setMessageArgs(new String[] { parentEntityDefn.getName(), jointParentEntityKeys, jointRecordKeys });
    return error;
}
Also used : EntityPositionIdentifier(org.openforis.collect.io.data.DataLine.EntityPositionIdentifier) EntityKeysIdentifier(org.openforis.collect.io.data.DataLine.EntityKeysIdentifier) Schema(org.openforis.idm.metamodel.Schema) Predicate(org.apache.commons.collections.Predicate) EntityDefinition(org.openforis.idm.metamodel.EntityDefinition) CollectSurvey(org.openforis.collect.model.CollectSurvey) Survey(org.openforis.idm.metamodel.Survey) ParsingError(org.openforis.collect.io.metadata.parsing.ParsingError) EntityIdentifierDefinition(org.openforis.collect.io.data.DataLine.EntityIdentifierDefinition)

Example 7 with Survey

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

the class CodeListPR method addCodeListToSurvey.

protected void addCodeListToSurvey() {
    Survey survey = list.getSurvey();
    survey.addCodeList(list);
}
Also used : Survey(org.openforis.idm.metamodel.Survey)

Example 8 with Survey

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

the class CodeListPR method onStartTag.

@Override
protected void onStartTag() throws XmlParseException {
    int id = getIntegerAttribute(ID, true);
    String name = getAttribute(NAME, false);
    String lookupTable = getAttribute(LOOKUP, false);
    String since = getAttribute(SINCE, false);
    String deprecated = getAttribute(DEPRECATED, false);
    Survey survey = getSurvey();
    list = survey.createCodeList(id);
    list.setName(name);
    list.setLookupTable(lookupTable);
    list.setSinceVersionByName(since);
    list.setDeprecatedVersionByName(deprecated);
}
Also used : Survey(org.openforis.idm.metamodel.Survey)

Example 9 with Survey

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

the class CalculatedAttributeDependencyGraph method determineDependents.

@Override
protected Set<NodePathPointer> determineDependents(Node<?> source) throws InvalidExpressionException {
    Survey survey = source.getSurvey();
    Set<NodePathPointer> dependentPointers = survey.getCalculatedValueDependencies(source.getDefinition());
    return dependentPointers;
}
Also used : Survey(org.openforis.idm.metamodel.Survey)

Example 10 with Survey

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

the class MinCountDependencyGraph method determineDependents.

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

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