Search in sources :

Example 1 with Geometries

use of eu.esdihumboldt.hale.io.gml.geometry.Geometries in project hale by halestudio.

the class XmlTypeUtil method setSpecialBinding.

/**
 * Determine if there is a special binding available for a type (apart from
 * explicit definition in the schema)
 *
 * @param type the type definition
 * @return the special binding or <code>null</code>
 */
public static boolean setSpecialBinding(XmlTypeDefinition type) {
    // determine special bindings
    // geometry bindings
    Geometries geoms = Geometries.getInstance();
    try {
        Iterable<TypeConstraint> constraints = geoms.getTypeConstraints(type);
        if (constraints != null) {
            // GeometryType)
            for (TypeConstraint constraint : constraints) {
                type.setConstraint(constraint);
            }
        }
        // enable augmented value, as the derived geometry will be stored as
        // the value
        // XXX should this be done in handler?!
        type.setConstraint(AugmentedValueFlag.ENABLED);
        type.setConstraint(SkipGeometryValidation.getInstance());
    } catch (GeometryNotSupportedException e) {
    // ignore - is no geometry or is not recognized
    }
    // otherwise the super type binding will be used
    return false;
}
Also used : TypeConstraint(eu.esdihumboldt.hale.common.schema.model.TypeConstraint) GeometryNotSupportedException(eu.esdihumboldt.hale.io.gml.geometry.GeometryNotSupportedException) Geometries(eu.esdihumboldt.hale.io.gml.geometry.Geometries)

Aggregations

TypeConstraint (eu.esdihumboldt.hale.common.schema.model.TypeConstraint)1 Geometries (eu.esdihumboldt.hale.io.gml.geometry.Geometries)1 GeometryNotSupportedException (eu.esdihumboldt.hale.io.gml.geometry.GeometryNotSupportedException)1