Search in sources :

Example 16 with Record

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

the class RecordFileManager method generateNewRepositoryFilename.

private String generateNewRepositoryFilename(FileAttribute fileAttribute, String tempFileName) {
    Record record = fileAttribute.getRecord();
    String extension = FilenameUtils.getExtension(tempFileName);
    return String.format("%d_%d.%s", record.getId(), System.currentTimeMillis(), extension);
}
Also used : Record(org.openforis.idm.model.Record) CollectRecord(org.openforis.collect.model.CollectRecord)

Example 17 with Record

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

the class CodeListManager method loadPersistedItem.

protected PersistedCodeListItem loadPersistedItem(CodeAttribute attribute) {
    Code code = attribute.getValue();
    if (code == null || StringUtils.isBlank(code.getCode())) {
        return null;
    } else {
        String codeVal = code.getCode();
        CodeAttributeDefinition defn = attribute.getDefinition();
        CodeList list = defn.getList();
        Record record = attribute.getRecord();
        ModelVersion version = record.getVersion();
        if (StringUtils.isBlank(defn.getParentExpression())) {
            CodeListItem item = codeListItemDao.loadRootItem(list, codeVal, version);
            return (PersistedCodeListItem) item;
        } else {
            PersistedCodeListItem parentItem = (PersistedCodeListItem) loadParentItem(attribute);
            if (parentItem == null) {
                return null;
            } else {
                CodeListItem item = codeListItemDao.loadItem(list, parentItem.getSystemId(), codeVal, version);
                return (PersistedCodeListItem) item;
            }
        }
    }
}
Also used : CodeList(org.openforis.idm.metamodel.CodeList) CodeAttributeDefinition(org.openforis.idm.metamodel.CodeAttributeDefinition) Record(org.openforis.idm.model.Record) ModelVersion(org.openforis.idm.metamodel.ModelVersion) ExternalCodeListItem(org.openforis.idm.metamodel.ExternalCodeListItem) PersistedCodeListItem(org.openforis.idm.metamodel.PersistedCodeListItem) CodeListItem(org.openforis.idm.metamodel.CodeListItem) Code(org.openforis.idm.model.Code) PersistedCodeListItem(org.openforis.idm.metamodel.PersistedCodeListItem)

Example 18 with Record

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

the class CodeListManager method loadValidItems.

public <T extends CodeListItem> List<T> loadValidItems(Entity parent, CodeAttributeDefinition def) {
    List<T> items = null;
    CodeList list = def.getList();
    if (StringUtils.isEmpty(def.getParentExpression())) {
        items = loadRootItems(list);
    } else {
        CodeAttribute parentCodeAttribute = getCodeParent(parent, def);
        if (parentCodeAttribute != null) {
            CodeListItem parentCodeListItem = loadItemByAttribute(parentCodeAttribute);
            if (parentCodeListItem != null) {
                items = loadChildItems(parentCodeListItem);
            }
        }
    }
    Record record = parent.getRecord();
    ModelVersion version = record.getVersion();
    return filterApplicableItems(items, version);
}
Also used : CodeList(org.openforis.idm.metamodel.CodeList) CodeAttribute(org.openforis.idm.model.CodeAttribute) Record(org.openforis.idm.model.Record) ModelVersion(org.openforis.idm.metamodel.ModelVersion) ExternalCodeListItem(org.openforis.idm.metamodel.ExternalCodeListItem) PersistedCodeListItem(org.openforis.idm.metamodel.PersistedCodeListItem) CodeListItem(org.openforis.idm.metamodel.CodeListItem)

Example 19 with Record

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

the class CodeListManager method findValidItems.

public List<CodeListItem> findValidItems(Entity parent, CodeAttributeDefinition defn, String... codes) {
    List<CodeListItem> result = new ArrayList<CodeListItem>();
    List<CodeListItem> assignableItems = loadValidItems(parent, defn);
    if (!assignableItems.isEmpty()) {
        Record record = parent.getRecord();
        ModelVersion version = record.getVersion();
        for (String code : codes) {
            CodeListItem item = findCodeListItem(assignableItems, code, version);
            if (item != null) {
                result.add(item);
            }
        }
    }
    return result;
}
Also used : ArrayList(java.util.ArrayList) Record(org.openforis.idm.model.Record) ModelVersion(org.openforis.idm.metamodel.ModelVersion) ExternalCodeListItem(org.openforis.idm.metamodel.ExternalCodeListItem) PersistedCodeListItem(org.openforis.idm.metamodel.PersistedCodeListItem) CodeListItem(org.openforis.idm.metamodel.CodeListItem)

Example 20 with Record

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

the class RecordUpdater method addEmptyEnumeratedEntities.

private void addEmptyEnumeratedEntities(Entity parentEntity) {
    Record record = parentEntity.getRecord();
    ModelVersion version = record.getVersion();
    EntityDefinition parentEntityDefn = parentEntity.getDefinition();
    List<NodeDefinition> childDefinitions = parentEntityDefn.getChildDefinitionsInVersion(version);
    for (NodeDefinition childDefn : childDefinitions) {
        if (childDefn instanceof EntityDefinition) {
            EntityDefinition childEntityDefn = (EntityDefinition) childDefn;
            if (childEntityDefn.isMultiple() && childEntityDefn.isEnumerable() && childEntityDefn.isEnumerate()) {
                addEmptyEnumeratedEntities(parentEntity, childEntityDefn);
            }
        }
    }
}
Also used : EntityDefinition(org.openforis.idm.metamodel.EntityDefinition) NodeDefinition(org.openforis.idm.metamodel.NodeDefinition) Record(org.openforis.idm.model.Record) ModelVersion(org.openforis.idm.metamodel.ModelVersion)

Aggregations

Record (org.openforis.idm.model.Record)22 ModelVersion (org.openforis.idm.metamodel.ModelVersion)9 CodeAttribute (org.openforis.idm.model.CodeAttribute)7 ArrayList (java.util.ArrayList)5 CodeList (org.openforis.idm.metamodel.CodeList)5 CodeListItem (org.openforis.idm.metamodel.CodeListItem)5 EntityDefinition (org.openforis.idm.metamodel.EntityDefinition)5 Entity (org.openforis.idm.model.Entity)5 CodeAttributeDefinition (org.openforis.idm.metamodel.CodeAttributeDefinition)4 ExternalCodeListItem (org.openforis.idm.metamodel.ExternalCodeListItem)4 PersistedCodeListItem (org.openforis.idm.metamodel.PersistedCodeListItem)4 SurveyContext (org.openforis.idm.metamodel.SurveyContext)4 Attribute (org.openforis.idm.model.Attribute)4 BooleanAttribute (org.openforis.idm.model.BooleanAttribute)4 Node (org.openforis.idm.model.Node)4 HashSet (java.util.HashSet)3 LinkedHashSet (java.util.LinkedHashSet)3 CollectRecord (org.openforis.collect.model.CollectRecord)3 AttributeDefinition (org.openforis.idm.metamodel.AttributeDefinition)3 NodeDefinition (org.openforis.idm.metamodel.NodeDefinition)3