Search in sources :

Example 16 with Unit

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

the class NumberValueUnitValidator method evaluate.

@Override
public ValidationResultFlag evaluate(NumberAttribute<?, ?> attribute) {
    Unit unit = attribute.getUnit();
    NumberAttributeDefinition defn = attribute.getDefinition();
    List<Unit> units = defn.getUnits();
    if (units.size() > 1 && unit == null) {
        Number number = attribute.getNumber();
        if (number != null && number.doubleValue() != 0) {
            return ValidationResultFlag.ERROR;
        } else {
            return ValidationResultFlag.OK;
        }
    } else {
        return ValidationResultFlag.OK;
    }
}
Also used : NumberAttributeDefinition(org.openforis.idm.metamodel.NumberAttributeDefinition) Unit(org.openforis.idm.metamodel.Unit)

Example 17 with Unit

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

the class NumericRangeUnitValidator method evaluate.

@Override
public ValidationResultFlag evaluate(NumericRangeAttribute<?, ?> attribute) {
    Unit unit = attribute.getUnit();
    RangeAttributeDefinition defn = attribute.getDefinition();
    List<Unit> units = defn.getUnits();
    if (units.size() > 1 && unit == null) {
        Number from = attribute.getFrom();
        Number to = attribute.getTo();
        if (from != null && from.doubleValue() != 0 || to != null && to.doubleValue() != 0) {
            return ValidationResultFlag.ERROR;
        } else {
            return ValidationResultFlag.OK;
        }
    } else {
        return ValidationResultFlag.OK;
    }
}
Also used : Unit(org.openforis.idm.metamodel.Unit) RangeAttributeDefinition(org.openforis.idm.metamodel.RangeAttributeDefinition)

Example 18 with Unit

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

the class NumberAttribute method getUnit.

public Unit getUnit() {
    Integer unitId = getUnitId();
    Unit unit = null;
    if (unitId != null) {
        unit = getSurvey().getUnit(unitId);
    } else {
        String unitName = getUnitName();
        if (unitName != null) {
            unit = getSurvey().getUnit(unitName);
        }
    }
    return unit;
}
Also used : Unit(org.openforis.idm.metamodel.Unit)

Example 19 with Unit

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

the class NumericRangeAttribute method setValueInFields.

@Override
protected void setValueInFields(T value) {
    N from = value.getFrom();
    N to = value.getTo();
    Unit unit = value.getUnit();
    Integer unitId = unit == null ? null : unit.getId();
    getFromField().setValue(from);
    getToField().setValue(to);
    getUnitField().setValue(unitId);
}
Also used : Unit(org.openforis.idm.metamodel.Unit)

Example 20 with Unit

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

the class NumericRangeAttribute method getValue.

@Override
public T getValue() {
    N from = getFromField().getValue();
    N to = getToField().getValue();
    Unit unit = getUnit();
    return createRange(from, to, unit);
}
Also used : Unit(org.openforis.idm.metamodel.Unit)

Aggregations

Unit (org.openforis.idm.metamodel.Unit)23 CollectSurvey (org.openforis.collect.model.CollectSurvey)3 RangeAttributeDefinition (org.openforis.idm.metamodel.RangeAttributeDefinition)3 Test (org.junit.Test)2 NumberAttributeDefinition (org.openforis.idm.metamodel.NumberAttributeDefinition)2 IntegerRange (org.openforis.idm.model.IntegerRange)2 NumberAttribute (org.openforis.idm.model.NumberAttribute)2 RealAttribute (org.openforis.idm.model.RealAttribute)2 RealRange (org.openforis.idm.model.RealRange)2 ParsingError (org.openforis.collect.io.metadata.parsing.ParsingError)1 NodeChangeSet (org.openforis.collect.model.NodeChangeSet)1 AttributeDefinition (org.openforis.idm.metamodel.AttributeDefinition)1 CodeAttributeDefinition (org.openforis.idm.metamodel.CodeAttributeDefinition)1 EntityDefinition (org.openforis.idm.metamodel.EntityDefinition)1 NumericAttributeDefinition (org.openforis.idm.metamodel.NumericAttributeDefinition)1 Survey (org.openforis.idm.metamodel.Survey)1 IntegerRangeAttribute (org.openforis.idm.model.IntegerRangeAttribute)1 IntegerValue (org.openforis.idm.model.IntegerValue)1 NumericRange (org.openforis.idm.model.NumericRange)1 RealValue (org.openforis.idm.model.RealValue)1