Search in sources :

Example 1 with RestrictionType

use of eu.esdihumboldt.hale.io.oml.internal.model.generated.oml.RestrictionType in project hale by halestudio.

the class OmlRdfReader method getRestrictions.

/**
 * converts from a list of the ClassConditionType to the list of the
 * Restriction type
 *
 * @param List of ClassConditionType
 * @return
 */
private List<Restriction> getRestrictions(List<ClassConditionType> classConditions) {
    List<Restriction> restrictions = new ArrayList<Restriction>(classConditions.size());
    Iterator<ClassConditionType> iterator = classConditions.iterator();
    Restriction restriction = null;
    ClassConditionType classCondition;
    while (iterator.hasNext()) {
        classCondition = iterator.next();
        RestrictionType rType = classCondition.getRestriction();
        if (rType != null) {
            // set value expression if exist
            if (rType.getValue() != null) {
                List<ValueExprType> valueExpr = rType.getValue();
                restriction = new Restriction(getValueExpression(valueExpr));
            } else {
                throw new IllegalStateException("Can't create restriction");
            }
            // set value class to add about and resource document
            ValueClass vClass = new ValueClass();
            ValueClassType vcType = rType.getValueClass();
            if (vcType != null) {
                vClass.setAbout(vcType.getAbout());
                vClass.setResource(vcType.getResource());
                vClass.getValue().addAll(getValueExpression(vcType.getValue()));
                restriction.setValueClass(vClass);
            }
            if (rType.getComparator() != null) {
                restriction.setComparator(getComparator(rType.getComparator()));
            }
            if (rType.getCqlStr() != null) {
                restriction.setCqlStr(rType.getCqlStr());
            }
        }
        // TODO clear with MdV
        // restriction = new Restriction(null,
        // getValueExpression(valueExpr));
        restrictions.add(restriction);
    }
    return restrictions;
}
Also used : ClassConditionType(eu.esdihumboldt.hale.io.oml.internal.model.generated.oml.ClassConditionType) Restriction(eu.esdihumboldt.hale.io.oml.internal.goml.omwg.Restriction) ValueClassType(eu.esdihumboldt.hale.io.oml.internal.model.generated.oml.ValueClassType) ArrayList(java.util.ArrayList) ValueExprType(eu.esdihumboldt.hale.io.oml.internal.model.generated.oml.ValueExprType) IValueClass(eu.esdihumboldt.hale.io.oml.internal.model.align.ext.IValueClass) ValueClass(eu.esdihumboldt.hale.io.oml.internal.goml.oml.ext.ValueClass) DomainRestrictionType(eu.esdihumboldt.hale.io.oml.internal.model.generated.oml.DomainRestrictionType) RestrictionType(eu.esdihumboldt.hale.io.oml.internal.model.generated.oml.RestrictionType) RangeRestrictionType(eu.esdihumboldt.hale.io.oml.internal.model.generated.oml.RangeRestrictionType)

Aggregations

ValueClass (eu.esdihumboldt.hale.io.oml.internal.goml.oml.ext.ValueClass)1 Restriction (eu.esdihumboldt.hale.io.oml.internal.goml.omwg.Restriction)1 IValueClass (eu.esdihumboldt.hale.io.oml.internal.model.align.ext.IValueClass)1 ClassConditionType (eu.esdihumboldt.hale.io.oml.internal.model.generated.oml.ClassConditionType)1 DomainRestrictionType (eu.esdihumboldt.hale.io.oml.internal.model.generated.oml.DomainRestrictionType)1 RangeRestrictionType (eu.esdihumboldt.hale.io.oml.internal.model.generated.oml.RangeRestrictionType)1 RestrictionType (eu.esdihumboldt.hale.io.oml.internal.model.generated.oml.RestrictionType)1 ValueClassType (eu.esdihumboldt.hale.io.oml.internal.model.generated.oml.ValueClassType)1 ValueExprType (eu.esdihumboldt.hale.io.oml.internal.model.generated.oml.ValueExprType)1 ArrayList (java.util.ArrayList)1