Index: BufferSelectionProcess.java
===================================================================
--- BufferSelectionProcess.java	(revision 43509)
+++ BufferSelectionProcess.java	(revision 43510)
@@ -23,28 +23,6 @@
  */
 package org.gvsig.selectiontools.app.extension.tools.buffer.process;
 
-/* gvSIG. Geographic Information System of the Valencian Government
- *
- * Copyright (C) 2007-2008 Infrastructures and Transports Department
- * of the Valencian Government (CIT)
- * 
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * 
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *  
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
- * MA  02110-1301, USA.
- * 
- */
-
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
 import java.util.ArrayList;
@@ -58,14 +36,13 @@
 import org.gvsig.andami.messages.NotificationManager;
 import org.gvsig.andami.ui.mdiManager.IWindow;
 import org.gvsig.app.project.documents.view.gui.IView;
-import org.gvsig.fmap.dal.DataSet;
 import org.gvsig.fmap.dal.feature.Feature;
 import org.gvsig.fmap.dal.feature.FeatureSelection;
 import org.gvsig.fmap.dal.feature.FeatureSet;
 import org.gvsig.fmap.dal.feature.FeatureStore;
 import org.gvsig.fmap.geom.Geometry;
-import org.gvsig.fmap.geom.GeometryException;
-import org.gvsig.fmap.geom.operation.GeometryOperationException;
+import org.gvsig.fmap.geom.GeometryLocator;
+import org.gvsig.fmap.geom.GeometryManager;
 import org.gvsig.fmap.mapcontext.MapContext;
 import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
 import org.gvsig.fmap.mapcontrol.MapControl;
@@ -75,11 +52,6 @@
 import org.gvsig.selectiontools.app.extension.tools.buffer.gui.BufferConfigurationPanel;
 import org.gvsig.tools.dispose.DisposableIterator;
 
-/**
- * 
- * 
- * @author Pablo Piqueras Bartolomé (pablo.piqueras@iver.es)
- */
 public class BufferSelectionProcess extends IncrementableProcess {
 
     // private boolean layerWasBeingEdited = false;
@@ -313,23 +285,25 @@
                         + " \""
                         + layer.getName() + "\"");
 
-                    switch (layer.getShapeType()) {
-                    case Geometry.TYPES.POINT:
+                    GeometryManager geomManager = GeometryLocator.getGeometryManager();
+                    if( geomManager.isSubtype(Geometry.TYPES.POINT, layer.getShapeType()) ) {
                         side = point_side;
-                        break;
-                    case Geometry.TYPES.CURVE:
-                    case Geometry.TYPES.MULTICURVE:
+                        
+                    } else if( geomManager.isSubtype(Geometry.TYPES.CURVE, layer.getShapeType()) ) {
                         side = line_side;
-                        break;
-                    case Geometry.TYPES.SURFACE:
-                    case Geometry.TYPES.MULTISURFACE:
+                        
+                    } else if( geomManager.isSubtype(Geometry.TYPES.SURFACE, layer.getShapeType()) ) {
                         side = pol_side;
-                        break;
-                    case Geometry.TYPES.MULTIPOINT:
+
+                    } else if( geomManager.isSubtype(Geometry.TYPES.MULTIPOINT, layer.getShapeType()) ) {
                         side = multi_point_side;
-                        break;
-                    default: // UNDEFINED
-                        // UNSUPPORTED
+                        
+                    } else if( geomManager.isSubtype(Geometry.TYPES.MULTICURVE, layer.getShapeType()) ) {
+                        side = line_side;
+                        
+                    } else if( geomManager.isSubtype(Geometry.TYPES.MULTISURFACE, layer.getShapeType()) ) {
+                        side = pol_side;
+                    } else {
                         log.addLine(PluginServices.getText(null,
                             "Layer_with_unsupported_geometries_type"));
                         percentage += inc;
