Revision 29248 branches/v2_0_0_prep/extensions/extWFS2/src/com/iver/cit/gvsig/gui/panels/WFSAreaPanel.java

View differences:

WFSAreaPanel.java
32 32
import javax.swing.SwingConstants;
33 33

  
34 34
import org.gvsig.fmap.dal.serverexplorer.wfs.WFSServerExplorer;
35
import org.gvsig.fmap.geom.Geometry;
36
import org.gvsig.fmap.geom.GeometryLocator;
37
import org.gvsig.fmap.geom.GeometryManager;
38
import org.gvsig.fmap.geom.Geometry.SUBTYPES;
39
import org.gvsig.fmap.geom.exception.CreateGeometryException;
35 40
import org.gvsig.fmap.geom.primitive.Envelope;
41
import org.gvsig.fmap.geom.primitive.GeneralPathX;
42
import org.gvsig.fmap.geom.primitive.Surface;
36 43
import org.gvsig.fmap.mapcontext.ExtentHistory;
37 44
import org.gvsig.fmap.mapcontext.MapContext;
38 45
import org.gvsig.fmap.mapcontext.ViewPort;
......
236 243
	private final Rectangle DEFAULT_ZOOMINANDOUTVIEWCENTERED_JCOMBOBOX_RECTANGLE = new Rectangle(380, 85, 47, 25);
237 244
	private final Rectangle DEFAULT_OTHER_TOOLS_JCOMBOBOX_RECTANGLE = new Rectangle(429, 85, 47, 25);
238 245

  
246
	private static GeometryManager geometryManager = GeometryLocator.getGeometryManager();
239 247
	private final int DISABLED_OPERATION = 0;
240 248
	private final int SELECTION_BY_COORDINATES_OPERATION = 1;
241 249
	private final int SELECTION_BY_AREA_OPERATION = 2;
......
844 852
	 *
845 853
	 * @return java.awt.geom.Rectangle2D or null if the data is invalid
846 854
	 */
847
	public Rectangle2D getExtent() {
855
	public Geometry getArea() {
848 856
		if (!getEnablingJCheckBox().isSelected())
849 857
			return null;
850 858

  
......
856 864
		}
857 865
		else {
858 866
			if (getCoordinatesPanel().validVertexes()) {
859
//				System.out.println("Extent que devuelve: " + getCoordinatesPanel().getExtent());
860

  
861
				return getCoordinatesPanel().getExtent();
867
				Rectangle2D r2d = getCoordinatesPanel().getExtent();
868
				GeneralPathX generalPath = new GeneralPathX();
869
				generalPath.moveTo(r2d.getMinX(), r2d.getMinY());
870
				generalPath.lineTo(r2d.getMaxX(), r2d.getMinY());
871
				generalPath.lineTo(r2d.getMaxX(), r2d.getMaxY());
872
				generalPath.lineTo(r2d.getMinX(), r2d.getMaxY());
873
				generalPath.lineTo(r2d.getMinX(), r2d.getMinY());
874
				try {
875
					return geometryManager.createSurface(generalPath, SUBTYPES.GEOM2D);
876
				} catch (CreateGeometryException e) {
877
					logger.error("Creating the area", e);
878
					return null;
879
				}
862 880
			}
863 881
			else {
864 882
				return null; // Returns null if coordinates aren't valid

Also available in: Unified diff