Search in sources :

Example 46 with Schema

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

the class NumericAttributeVM method getOldNodeDefinition.

protected NodeDefinition getOldNodeDefinition() {
    SessionStatus sessionStatus = getSessionStatus();
    Integer publishedSurveyId = sessionStatus.getPublishedSurveyId();
    if (publishedSurveyId != null) {
        CollectSurvey publishedSurvey = surveyManager.getById(publishedSurveyId);
        Schema schema = publishedSurvey.getSchema();
        int nodeId = editedItem.getId();
        NodeDefinition oldDefn = schema.getDefinitionById(nodeId);
        return oldDefn;
    } else {
        return null;
    }
}
Also used : SessionStatus(org.openforis.collect.designer.session.SessionStatus) Schema(org.openforis.idm.metamodel.Schema) NodeDefinition(org.openforis.idm.metamodel.NodeDefinition) CollectSurvey(org.openforis.collect.model.CollectSurvey)

Example 47 with Schema

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

the class PreviewPreferencesVM method getRootEntities.

public List<EntityDefinition> getRootEntities() {
    CollectSurvey survey = getSurvey();
    if (survey == null) {
        // TODO session expired...?
        return null;
    } else {
        Schema schema = survey.getSchema();
        List<EntityDefinition> result = schema.getRootEntityDefinitions();
        return result;
    }
}
Also used : EntityDefinition(org.openforis.idm.metamodel.EntityDefinition) Schema(org.openforis.idm.metamodel.Schema) CollectSurvey(org.openforis.collect.model.CollectSurvey)

Example 48 with Schema

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

the class NodeDefinitionFormValidator method isNameUnique.

protected boolean isNameUnique(ValidationContext ctx, NodeDefinition defn, String name) {
    EntityDefinition parentDefn = getParentEntity(ctx);
    NodeDefinition nodeInPath = null;
    try {
        if (parentDefn != null) {
            nodeInPath = parentDefn.getChildDefinition(name);
        } else {
            Schema schema = defn.getSchema();
            nodeInPath = schema.getRootEntityDefinition(name);
        }
    } catch (IllegalArgumentException e) {
    // sibling not found
    }
    return nodeInPath == null || nodeInPath.getId() == defn.getId();
}
Also used : EntityDefinition(org.openforis.idm.metamodel.EntityDefinition) Schema(org.openforis.idm.metamodel.Schema) NodeDefinition(org.openforis.idm.metamodel.NodeDefinition)

Example 49 with Schema

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

the class SurveyController method createEmptySurvey.

private CollectSurvey createEmptySurvey(String name, String langCode) {
    // create empty survey
    CollectSurvey survey = surveyManager.createTemporarySurvey(name, langCode);
    // add default root entity
    Schema schema = survey.getSchema();
    EntityDefinition rootEntity = schema.createEntityDefinition();
    rootEntity.setMultiple(true);
    rootEntity.setName(DEFAULT_ROOT_ENTITY_NAME);
    schema.addRootEntityDefinition(rootEntity);
    // create root tab set
    UIOptions uiOptions = survey.getUIOptions();
    UITabSet rootTabSet = uiOptions.createRootTabSet((EntityDefinition) rootEntity);
    UITab mainTab = uiOptions.getMainTab(rootTabSet);
    mainTab.setLabel(langCode, DEFAULT_MAIN_TAB_LABEL);
    SurveyObjectsGenerator surveyObjectsGenerator = new SurveyObjectsGenerator();
    surveyObjectsGenerator.addPredefinedObjects(survey);
    return survey;
}
Also used : EntityDefinition(org.openforis.idm.metamodel.EntityDefinition) UITab(org.openforis.collect.metamodel.ui.UITab) Schema(org.openforis.idm.metamodel.Schema) UIOptions(org.openforis.collect.metamodel.ui.UIOptions) UITabSet(org.openforis.collect.metamodel.ui.UITabSet) SurveyObjectsGenerator(org.openforis.collect.manager.SurveyObjectsGenerator) CollectSurvey(org.openforis.collect.model.CollectSurvey)

Example 50 with Schema

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

the class RecordIndexManager method hasIndexableNodes.

public boolean hasIndexableNodes(Survey survey) {
    Schema schema = survey.getSchema();
    List<EntityDefinition> rootEntityDefinitions = schema.getRootEntityDefinitions();
    for (EntityDefinition entityDefn : rootEntityDefinitions) {
        boolean hasIndexableNodes = hasIndexableNodes(entityDefn);
        if (hasIndexableNodes) {
            return true;
        }
    }
    return false;
}
Also used : EntityDefinition(org.openforis.idm.metamodel.EntityDefinition) Schema(org.openforis.idm.metamodel.Schema)

Aggregations

Schema (org.openforis.idm.metamodel.Schema)65 EntityDefinition (org.openforis.idm.metamodel.EntityDefinition)46 NodeDefinition (org.openforis.idm.metamodel.NodeDefinition)23 CollectSurvey (org.openforis.collect.model.CollectSurvey)19 ArrayList (java.util.ArrayList)10 AttributeDefinition (org.openforis.idm.metamodel.AttributeDefinition)10 Survey (org.openforis.idm.metamodel.Survey)10 CodeAttributeDefinition (org.openforis.idm.metamodel.CodeAttributeDefinition)6 UIOptions (org.openforis.collect.metamodel.ui.UIOptions)5 NumericAttributeDefinition (org.openforis.idm.metamodel.NumericAttributeDefinition)5 Test (org.junit.Test)4 UITab (org.openforis.collect.metamodel.ui.UITab)4 UITabSet (org.openforis.collect.metamodel.ui.UITabSet)4 Step (org.openforis.collect.model.CollectRecord.Step)4 CollectRecordSummary (org.openforis.collect.model.CollectRecordSummary)4 RecordFilter (org.openforis.collect.model.RecordFilter)4 NodeDefinitionVisitor (org.openforis.idm.metamodel.NodeDefinitionVisitor)4 NumberAttributeDefinition (org.openforis.idm.metamodel.NumberAttributeDefinition)4 Entity (org.openforis.idm.model.Entity)4 List (java.util.List)3