Revision 42283 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/aggregate/MultiLine2DM.java

View differences:

MultiLine2DM.java
34 34
import org.gvsig.fmap.geom.aggregate.MultiPolygon;
35 35
import org.gvsig.fmap.geom.handler.Handler;
36 36
import org.gvsig.fmap.geom.jts.primitive.curve.line.Line2DM;
37
import org.gvsig.fmap.geom.jts.primitive.surface.polygon.Polygon2D;
37 38
import org.gvsig.fmap.geom.operation.GeometryOperationException;
38 39
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException;
39 40
import org.gvsig.fmap.geom.primitive.GeneralPathX;
......
143 144
     * @see org.gvsig.fmap.geom.jts.aggregate.AbstractMultiLine#fixLine(org.gvsig.fmap.geom.primitive.Line)
144 145
     */
145 146
    @Override
146
    protected Primitive fixPrimitive(Primitive curve) {
147
        if(!(curve instanceof Line2DM)){
148
            String message = "Only Line2DM primitives can be added to a MultiLine2DM";
149
            notifyDeprecated(message);
150
            throw new UnsupportedOperationException(message);
147
    protected Geometry fixPrimitive(Primitive primitive) {
148
        if(primitive instanceof Line2DM){
149
            return primitive;
151 150
        }
152
        return curve;
151

  
152
        if(primitive.getGeometryType().getSubType() == Geometry.SUBTYPES.GEOM2DM){
153
            try {
154
                return primitive.toLines();
155
            } catch (GeometryException e) {
156
                String message = "Can't convert primitive to lines";
157
                logger.warn(message);
158
                throw new RuntimeException(message);
159
            }
160
        }
161

  
162
        String message = "Only 2D primitives can be fixed to MultiLine2DM";
163
        notifyDeprecated(message);
164
        throw new UnsupportedOperationException(message);
153 165
    }
154 166
}

Also available in: Unified diff