Search in sources :

Example 1 with FormulaError

use of org.activityinfo.model.formula.FormulaError in project activityinfo by bedatadriven.

the class Linter method applyMarks.

private void applyMarks(ParsedFormula formula) {
    if (!formula.isValid()) {
        for (FormulaError error : formula.getErrors()) {
            if (error.hasSourceRange()) {
                SourceRange range = error.getSourceRange();
                MarkOptions options = MarkOptions.create();
                options.setClassName("CodeMirror-lint-mark-error");
                options.setTitle(error.getMessage());
                TextMarker marker = editor.getDoc().markText(pos(range.getStart()), pos(range.getEnd()), options);
                markers.add(marker);
            }
        }
    } else {
        for (FieldReference fieldReference : formula.getReferences()) {
            SourceRange range = fieldReference.getSourceRange();
            MarkOptions options = MarkOptions.create();
            options.setClassName(FormulaResources.INSTANCE.styles().fieldAnnotation());
            options.setTitle(fieldReference.getDescription());
            TextMarker marker = editor.getDoc().markText(pos(range.getStart()), pos(range.getEnd()), options);
            markers.add(marker);
        }
    }
}
Also used : FieldReference(org.activityinfo.analysis.FieldReference) FormulaError(org.activityinfo.model.formula.FormulaError) SourceRange(org.activityinfo.model.formula.SourceRange)

Example 2 with FormulaError

use of org.activityinfo.model.formula.FormulaError in project activityinfo by bedatadriven.

the class FormulaValidatorTest method validate.

private FormulaValidator validate(String formula) {
    Survey surveyForm = catalog.getSurvey();
    FormulaValidator validator = new FormulaValidator(catalog.getFormTree(surveyForm.getFormId()));
    validator.validate(FormulaParser.parse(formula));
    for (FormulaError error : validator.getErrors()) {
        System.out.println("Error at " + error.getSourceRange() + ": " + error.getMessage());
    }
    return validator;
}
Also used : Survey(org.activityinfo.store.testing.Survey) FormulaValidator(org.activityinfo.analysis.FormulaValidator) FormulaError(org.activityinfo.model.formula.FormulaError)

Aggregations

FormulaError (org.activityinfo.model.formula.FormulaError)2 FieldReference (org.activityinfo.analysis.FieldReference)1 FormulaValidator (org.activityinfo.analysis.FormulaValidator)1 SourceRange (org.activityinfo.model.formula.SourceRange)1 Survey (org.activityinfo.store.testing.Survey)1