Search in sources :

Example 36 with Step

use of org.openforis.collect.model.CollectRecord.Step in project collect by openforis.

the class RecordOperationGenerator method insertRecordDataUntilStep.

private void insertRecordDataUntilStep(RecordOperations operations, CollectRecord record, Step untilStep) {
    List<Step> previousSteps = untilStep.getPreviousSteps();
    int dataStepSequenceNumber = 1;
    for (Step s : previousSteps) {
        record.setStep(s);
        switch(s) {
            case ENTRY:
                operations.addInsert(record);
                dataStepSequenceNumber++;
                break;
            default:
                operations.addUpdate(record, s, true, dataStepSequenceNumber);
        }
    }
}
Also used : Step(org.openforis.collect.model.CollectRecord.Step)

Example 37 with Step

use of org.openforis.collect.model.CollectRecord.Step in project collect by openforis.

the class SpecifiedValidator method evaluate.

@Override
public ValidationResultFlag evaluate(Attribute<?, ?> attribute) {
    CollectRecord record = (CollectRecord) attribute.getRecord();
    Step step = record.getStep();
    if (Step.ENTRY == step) {
        if (attribute.isRelevant() && attribute.isEmpty() && !(attribute instanceof FileAttribute)) {
            if (isReasonBlankAlwaysSpecified(attribute)) {
                if (attribute.isRequired()) {
                    return WARNING;
                } else {
                    return OK;
                }
            } else {
                return ERROR;
            }
        } else {
            return OK;
        }
    }
    return OK;
}
Also used : CollectRecord(org.openforis.collect.model.CollectRecord) Step(org.openforis.collect.model.CollectRecord.Step) FileAttribute(org.openforis.idm.model.FileAttribute)

Example 38 with Step

use of org.openforis.collect.model.CollectRecord.Step in project collect by openforis.

the class RecordDao method visitSummaries.

public void visitSummaries(RecordFilter filter, List<RecordSummarySortField> sortFields, Visitor<CollectRecordSummary> visitor, boolean includeStepDetails, Predicate<CollectRecordSummary> stopWhenPredicate) {
    SelectQuery<Record> q = createSelectSummariesQuery(filter, sortFields);
    Cursor<Record> cursor = null;
    try {
        cursor = q.fetchLazy();
        while (cursor.hasNext()) {
            Record r = cursor.fetchOne();
            CollectRecordSummary s = fromSummaryQueryRecord(filter.getSurvey(), r);
            if (includeStepDetails) {
                s.clearStepSummaries();
                Map<Step, StepSummary> summaryByStep = loadLatestStepSummaries(filter.getSurvey(), s.getId());
                for (Step step : Step.values()) {
                    StepSummary stepSummary = summaryByStep.get(step);
                    if (stepSummary != null) {
                        s.addStepSummary(stepSummary);
                    }
                }
            }
            visitor.visit(s);
            if (stopWhenPredicate.evaluate(s)) {
                break;
            }
        }
    } finally {
        if (cursor != null) {
            cursor.close();
        }
    }
}
Also used : StepSummary(org.openforis.collect.model.CollectRecordSummary.StepSummary) CollectRecordSummary(org.openforis.collect.model.CollectRecordSummary) OfcRecordRecord(org.openforis.collect.persistence.jooq.tables.records.OfcRecordRecord) CollectRecord(org.openforis.collect.model.CollectRecord) OfcRecordDataRecord(org.openforis.collect.persistence.jooq.tables.records.OfcRecordDataRecord) Record(org.jooq.Record) Step(org.openforis.collect.model.CollectRecord.Step)

Example 39 with Step

use of org.openforis.collect.model.CollectRecord.Step in project collect by openforis.

the class RecordDao method loadLatestStepSummaries.

private Map<Step, StepSummary> loadLatestStepSummaries(CollectSurvey survey, int recordId) {
    Map<Step, StepSummary> summaryByStep = new HashMap<Step, StepSummary>();
    List<StepSummary> allStepsSummaries = loadAllStepsSummaries(survey, recordId);
    ListIterator<StepSummary> listIterator = allStepsSummaries.listIterator(allStepsSummaries.size());
    while (listIterator.hasPrevious() && summaryByStep.size() < Step.values().length) {
        StepSummary stepSummary = listIterator.previous();
        if (!summaryByStep.containsKey(stepSummary.getStep()) && stepSummary.getState() == null) {
            summaryByStep.put(stepSummary.getStep(), stepSummary);
        }
    }
    return summaryByStep;
}
Also used : StepSummary(org.openforis.collect.model.CollectRecordSummary.StepSummary) HashMap(java.util.HashMap) Step(org.openforis.collect.model.CollectRecord.Step)

Example 40 with Step

use of org.openforis.collect.model.CollectRecord.Step in project collect by openforis.

the class DataHandler method fail.

protected void fail(String msg) {
    String path = getPath();
    Step step = record == null ? null : record.getStep();
    NodeUnmarshallingError nodeErrorItem = new NodeUnmarshallingError(step, path, msg);
    failures.add(nodeErrorItem);
    failed = true;
}
Also used : Step(org.openforis.collect.model.CollectRecord.Step)

Aggregations

Step (org.openforis.collect.model.CollectRecord.Step)49 CollectRecord (org.openforis.collect.model.CollectRecord)24 CollectRecordSummary (org.openforis.collect.model.CollectRecordSummary)21 CollectSurvey (org.openforis.collect.model.CollectSurvey)11 ArrayList (java.util.ArrayList)9 RecordStep (org.openforis.collect.event.RecordStep)8 SessionState (org.openforis.collect.web.session.SessionState)8 StepSummary (org.openforis.collect.model.CollectRecordSummary.StepSummary)7 IOException (java.io.IOException)5 RecordFilter (org.openforis.collect.model.RecordFilter)5 NodeUnmarshallingError (org.openforis.collect.persistence.xml.NodeUnmarshallingError)5 MainStep (org.openforis.collect.io.data.DataImportState.MainStep)4 SubStep (org.openforis.collect.io.data.DataImportState.SubStep)4 User (org.openforis.collect.model.User)4 EntityDefinition (org.openforis.idm.metamodel.EntityDefinition)4 Schema (org.openforis.idm.metamodel.Schema)4 Date (java.util.Date)3 HashMap (java.util.HashMap)3 List (java.util.List)3 Secured (org.springframework.security.access.annotation.Secured)3