Search in sources :

Example 1 with TypeConstraint

use of eu.esdihumboldt.hale.common.schema.model.TypeConstraint 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)

Example 2 with TypeConstraint

use of eu.esdihumboldt.hale.common.schema.model.TypeConstraint in project hale by halestudio.

the class ArcByCenterPointHandler method initConstraints.

@Override
protected Collection<? extends TypeConstraint> initConstraints() {
    Collection<TypeConstraint> constraints = new ArrayList<TypeConstraint>(2);
    constraints.add(Binding.get(GeometryProperty.class));
    constraints.add(GeometryType.get(LineString.class));
    constraints.add(new GeometryFactory(this));
    return constraints;
}
Also used : DefaultGeometryProperty(eu.esdihumboldt.hale.common.instance.geometry.DefaultGeometryProperty) GeometryProperty(eu.esdihumboldt.hale.common.schema.geometry.GeometryProperty) GeometryFactory(eu.esdihumboldt.hale.io.gml.geometry.constraint.GeometryFactory) LineString(com.vividsolutions.jts.geom.LineString) TypeConstraint(eu.esdihumboldt.hale.common.schema.model.TypeConstraint) ArrayList(java.util.ArrayList)

Example 3 with TypeConstraint

use of eu.esdihumboldt.hale.common.schema.model.TypeConstraint in project hale by halestudio.

the class CircleHandler method initConstraints.

@Override
protected Collection<? extends TypeConstraint> initConstraints() {
    Collection<TypeConstraint> constraints = new ArrayList<TypeConstraint>(2);
    constraints.add(Binding.get(GeometryProperty.class));
    constraints.add(GeometryType.get(LineString.class));
    constraints.add(new GeometryFactory(this));
    return constraints;
}
Also used : DefaultGeometryProperty(eu.esdihumboldt.hale.common.instance.geometry.DefaultGeometryProperty) GeometryProperty(eu.esdihumboldt.hale.common.schema.geometry.GeometryProperty) GeometryFactory(eu.esdihumboldt.hale.io.gml.geometry.constraint.GeometryFactory) LineString(com.vividsolutions.jts.geom.LineString) TypeConstraint(eu.esdihumboldt.hale.common.schema.model.TypeConstraint) ArrayList(java.util.ArrayList)

Example 4 with TypeConstraint

use of eu.esdihumboldt.hale.common.schema.model.TypeConstraint in project hale by halestudio.

the class CurveHandler method initConstraints.

/**
 * @see FixedConstraintsGeometryHandler#initConstraints()
 */
@Override
protected Collection<? extends TypeConstraint> initConstraints() {
    Collection<TypeConstraint> constraints = new ArrayList<TypeConstraint>(2);
    constraints.add(Binding.get(GeometryProperty.class));
    // FIXME can also be a MultiLineString - is this a problem?
    constraints.add(GeometryType.get(LineString.class));
    constraints.add(new GeometryFactory(this));
    return constraints;
}
Also used : GeometryProperty(eu.esdihumboldt.hale.common.schema.geometry.GeometryProperty) GeometryFactory(eu.esdihumboldt.hale.io.gml.geometry.constraint.GeometryFactory) LineString(com.vividsolutions.jts.geom.LineString) TypeConstraint(eu.esdihumboldt.hale.common.schema.model.TypeConstraint) ArrayList(java.util.ArrayList)

Example 5 with TypeConstraint

use of eu.esdihumboldt.hale.common.schema.model.TypeConstraint in project hale by halestudio.

the class EnvelopeHandler method initConstraints.

/**
 * @see eu.esdihumboldt.hale.io.gml.geometry.FixedConstraintsGeometryHandler#initConstraints()
 */
@Override
protected Collection<? extends TypeConstraint> initConstraints() {
    Collection<TypeConstraint> constraints = new ArrayList<TypeConstraint>(2);
    constraints.add(Binding.get(GeometryProperty.class));
    constraints.add(GeometryType.get(Polygon.class));
    constraints.add(new GeometryFactory(this));
    return constraints;
}
Also used : DefaultGeometryProperty(eu.esdihumboldt.hale.common.instance.geometry.DefaultGeometryProperty) GeometryProperty(eu.esdihumboldt.hale.common.schema.geometry.GeometryProperty) GeometryFactory(eu.esdihumboldt.hale.io.gml.geometry.constraint.GeometryFactory) TypeConstraint(eu.esdihumboldt.hale.common.schema.model.TypeConstraint) ArrayList(java.util.ArrayList) Polygon(com.vividsolutions.jts.geom.Polygon)

Aggregations

TypeConstraint (eu.esdihumboldt.hale.common.schema.model.TypeConstraint)16 GeometryProperty (eu.esdihumboldt.hale.common.schema.geometry.GeometryProperty)14 GeometryFactory (eu.esdihumboldt.hale.io.gml.geometry.constraint.GeometryFactory)14 ArrayList (java.util.ArrayList)14 DefaultGeometryProperty (eu.esdihumboldt.hale.common.instance.geometry.DefaultGeometryProperty)12 LineString (com.vividsolutions.jts.geom.LineString)7 Polygon (com.vividsolutions.jts.geom.Polygon)3 LinearRing (com.vividsolutions.jts.geom.LinearRing)2 Geometry (com.vividsolutions.jts.geom.Geometry)1 GeometryCollection (com.vividsolutions.jts.geom.GeometryCollection)1 Point (com.vividsolutions.jts.geom.Point)1 Schema (eu.esdihumboldt.hale.common.schema.model.Schema)1 TypeDefinition (eu.esdihumboldt.hale.common.schema.model.TypeDefinition)1 Geometries (eu.esdihumboldt.hale.io.gml.geometry.Geometries)1 GeometryNotSupportedException (eu.esdihumboldt.hale.io.gml.geometry.GeometryNotSupportedException)1 Collection (java.util.Collection)1