use of org.openforis.idm.metamodel.EntityDefinition in project collect by openforis.
the class IdmDataTableBuilder method getBaseName.
@Override
protected String getBaseName() {
EntityDefinition defn = (EntityDefinition) xform.getNodeDefinition();
String name = defn.getAnnotation(TABLE_NAME_QNAME);
if (name == null) {
name = defn.getName();
}
return name;
}
use of org.openforis.idm.metamodel.EntityDefinition in project collect by openforis.
the class DataQueryExectutorTask method createRecordsFilter.
private RecordFilter createRecordsFilter(boolean limitResults) {
CollectSurvey survey = input.query.getSurvey();
EntityDefinition entityDef = (EntityDefinition) survey.getSchema().getDefinitionById(input.query.getEntityDefinitionId());
EntityDefinition rootEntityDef = entityDef.getRootEntity();
Integer rootEntityId = rootEntityDef.getId();
RecordFilter filter = new RecordFilter(survey);
filter.setStep(input.step);
filter.setRootEntityId(rootEntityId);
if (limitResults) {
filter.setOffset(0);
filter.setMaxNumberOfRecords(input.maxRecords);
}
return filter;
}
use of org.openforis.idm.metamodel.EntityDefinition in project collect by openforis.
the class DataExportService method export.
@Transactional
public Proxy export(String rootEntityName, int stepNumber, Integer entityId, boolean includeAllAncestorAttributes, boolean includeEnumeratedEntities, boolean includeCompositeAttributeMergedColumn, boolean codeAttributeExpanded, boolean onlyOwnedRecords, String[] rootEntityKeyValues, boolean includeKMLColumnForCoordinates, boolean includeCodeItemLabelColumn, String headingSource, String languageCode, boolean includeGroupingLabels) throws IOException {
if (dataExportProcess == null || !dataExportProcess.getStatus().isRunning()) {
resetJobs();
SessionState sessionState = sessionManager.getSessionState();
CollectSurvey survey = sessionState.getActiveSurvey();
File outputFile = File.createTempFile("collect_data_export_" + survey.getName(), ".zip");
Step step = Step.valueOf(stepNumber);
// prepare record filter
Schema schema = survey.getSchema();
EntityDefinition rootEntityDefn = schema.getRootEntityDefinition(rootEntityName);
RecordFilter recordFilter = createRecordFilter(survey, rootEntityDefn.getId(), onlyOwnedRecords, rootEntityKeyValues);
// filter by record step
recordFilter.setStepGreaterOrEqual(step);
// instantiate process
CSVDataExportProcess process = appContext.getBean(CSVDataExportProcess.class);
process.setOutputFile(outputFile);
process.setRecordFilter(recordFilter);
process.setEntityId(entityId);
process.setAlwaysGenerateZipFile(true);
CSVDataExportParameters config = new CSVDataExportParameters();
config.setIncludeAllAncestorAttributes(includeAllAncestorAttributes);
config.setIncludeEnumeratedEntities(includeEnumeratedEntities);
config.setIncludeCompositeAttributeMergedColumn(includeCompositeAttributeMergedColumn);
config.setIncludeKMLColumnForCoordinates(includeKMLColumnForCoordinates);
config.setCodeAttributeExpanded(codeAttributeExpanded);
config.setIncludeCodeItemLabelColumn(includeCodeItemLabelColumn);
config.setHeadingSource(HeadingSource.valueOf(headingSource));
config.setLanguageCode(languageCode);
config.setIncludeGroupingLabels(includeGroupingLabels);
process.setConfiguration(config);
process.init();
// start process
dataExportProcess = process;
ExecutorServiceUtil.executeInCachedPool(process);
}
return getCurrentJob();
}
use of org.openforis.idm.metamodel.EntityDefinition in project collect by openforis.
the class DataService method loadRecordSummaries.
/**
* @param rootEntityName
* @param offset
* @param toIndex
* @param orderByFieldName
* @param filter
*
* @return map with "count" and "records" items
*/
@Secured(USER)
public Map<String, Object> loadRecordSummaries(String rootEntityName, int offset, int maxNumberOfRows, List<RecordSummarySortField> sortFields, String[] keyValues) {
Map<String, Object> result = new HashMap<String, Object>();
SessionState sessionState = sessionManager.getSessionState();
CollectSurvey activeSurvey = sessionState.getActiveSurvey();
Schema schema = activeSurvey.getSchema();
EntityDefinition rootEntityDefinition = schema.getRootEntityDefinition(rootEntityName);
RecordFilter filter = new RecordFilter(activeSurvey, rootEntityDefinition.getId());
filter.setKeyValues(keyValues);
filter.setOffset(offset);
filter.setMaxNumberOfRecords(maxNumberOfRows);
// load summaries
List<CollectRecordSummary> summaries = recordManager.loadSummaries(filter, sortFields);
List<RecordSummaryProxy> proxies = RecordSummaryProxy.fromList(summaries, getProxyContext());
result.put("records", proxies);
// count total records
int count = recordManager.countRecords(filter);
result.put("count", count);
return result;
}
use of org.openforis.idm.metamodel.EntityDefinition in project collect by openforis.
the class SpeciesService method deleteReferencingAttributes.
protected void deleteReferencingAttributes(CollectTaxonomy taxonomy) {
List<TaxonAttributeDefinition> defns = getTaxonAttributeDefinitionsForDesignerSurvey(taxonomy.getName());
if (!defns.isEmpty()) {
for (TaxonAttributeDefinition defn : defns) {
EntityDefinition parent = (EntityDefinition) defn.getParentDefinition();
parent.removeChildDefinition(defn);
}
sessionManager.saveActiveDesignerSurvey();
}
}
Aggregations