Revision 486

View differences:

org.gvsig.gpe/library/trunk/org.gvsig.gpe/org.gvsig.gpe.app/org.gvsig.gpe.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/gpe/handlers/FmapContentHandler.java
574 574
     * (non-Javadoc)
575 575
     * @see org.gvsig.gpe.IGPEContentHandler#startMultiPoint(java.lang.String, java.lang.String)
576 576
     */
577
    public Object startMultiPoint(String id, String srs) {
577
    public Object startMultiPoint(String id, String srs, int dimension) {
578 578
        try {
579
            return geomManager.create(TYPES.MULTIPOINT, SUBTYPES.GEOM2D);
579
            return geomManager.create(TYPES.MULTIPOINT, getGeometrySubtype(dimension));
580 580
        } catch (CreateGeometryException e) {
581 581
            getErrorHandler().addError(e);
582 582
        }
......
595 595
     * (non-Javadoc)
596 596
     * @see org.gvsig.gpe.IGPEContentHandler#startMultiLineString(java.lang.String, java.lang.String)
597 597
     */
598
    public Object startMultiLineString(String id, String srs) {
598
    public Object startMultiLineString(String id, String srs, int dimension) {
599 599
        super.startMultiLineString(id, srs);
600 600
        try {
601
            return geomManager.create(TYPES.MULTICURVE, SUBTYPES.GEOM2D);
601
            return geomManager.create(TYPES.MULTICURVE, getGeometrySubtype(dimension));
602 602
        } catch (CreateGeometryException e) {
603 603
            getErrorHandler().addError(e);
604 604
        }
......
617 617
     * (non-Javadoc)
618 618
     * @see org.gvsig.gpe.IGPEContentHandler#startMultiPolygon(java.lang.String, java.lang.String)
619 619
     */
620
    public Object startMultiPolygon(String id, String srs) {
620
    public Object startMultiPolygon(String id, String srs, int dimension) {
621 621
        super.startMultiPolygon(id, srs);
622 622
        try {
623
            return geomManager.create(TYPES.MULTISURFACE, SUBTYPES.GEOM2D);
623
            return geomManager.create(TYPES.MULTISURFACE, getGeometrySubtype(dimension));
624 624
        } catch (CreateGeometryException e) {
625 625
            getErrorHandler().addError(e);
626 626
        }
......
681 681
    /* (non-Javadoc)
682 682
     * @see org.gvsig.gpe.GPEContentHandler#startMultiCurve(java.lang.String, java.lang.String)
683 683
     */
684
    public Object startMultiCurve(String id, String srs) {
684
    public Object startMultiCurve(String id, String srs, int dimension) {
685 685
        try {
686
            return geomManager.create(TYPES.MULTICURVE, SUBTYPES.GEOM2D);
686
            return geomManager.create(TYPES.MULTICURVE, getGeometrySubtype(dimension));
687 687
        } catch (CreateGeometryException e) {
688 688
            getErrorHandler().addError(e);
689 689
        }
......
730 730
    public void setFeatureType(EditableFeatureType featureType) {
731 731
        this.featureType = featureType;
732 732
    }
733
    
734
    private int getGeometrySubtype(int dimension) {
735
        switch(dimension) {
736
            case 3:
737
                 return Geometry.SUBTYPES.GEOM3D;
738
            default:
739
            case 2:
740
                 return Geometry.SUBTYPES.GEOM2D;                
741
        }
742
    }
733 743
}

Also available in: Unified diff