Revision 2082

View differences:

branches/FMap_SLD/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/FLayers.java
178 178
	 * @param lyr FLayer.
179 179
	 */
180 180
	private void doRemoveLayer(FLayer lyr) {
181
		layers.remove(lyr);
181
			layers.remove(lyr);
182 182
	}
183 183

  
184 184
	/**
......
542 542
						throw new XMLException(e);
543 543
					}
544 544
	
545
					//} else if (true) {
546
					//TODO falta por implementar
547
					//} else if (true) {
548
					//TODO falta por implementar
549
					//}
550
					//TODO Falta por implementar
545
				}else if (className.equals((FLayers.class.getName()))) {
546
					layer = new FLayers(getFMap(),this);
547
					layer.setXMLEntity(xml.getChild(i));
551 548
				} else {
552 549
					// Capas Nuevas (externas)
553 550
					try {
......
566 563
					}
567 564
				}
568 565
	
569
				fmap.getLayers().addLayer(layer);
566
				this.addLayer(layer);
570 567
			}
571 568
		} catch (DriverException e) {
572 569
			throw new XMLException(e);
......
649 646
		for (int i = 0; i < layers.size(); i++) {
650 647
			if (((FLayer) layers.get(i)).isActive()) {
651 648
				ret.add(layers.get(i));
649
			}else{
650
				if (layers.get(i) instanceof FLayers){
651
					FLayer[] lyrs=((FLayers) layers.get(i)).getActives();
652
					for (int j=0;j<lyrs.length;j++){
653
						ret.add(lyrs[j]);
654
					}
655
				}
652 656
			}
653 657
		}
654 658

  
branches/FMap_SLD/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/FLyrWFS.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
*
3
* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
4
*
5
* This program is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU General Public License
7
* as published by the Free Software Foundation; either version 2
8
* of the License, or (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
*
19
* For more information, contact:
20
*
21
*  Generalitat Valenciana
22
*   Conselleria d'Infraestructures i Transport
23
*   Av. Blasco Ib??ez, 50
24
*   46010 VALENCIA
25
*   SPAIN
26
*
27
*      +34 963862235
28
*   gvsig@gva.es
29
*      www.gvsig.gva.es
30
*
31
*    or
32
*
33
*   IVER T.I. S.A
34
*   Salamanca 50
35
*   46005 Valencia
36
*   Spain
37
*
38
*   +34 963163400
39
*   dac@iver.es
40
*/
41
package com.iver.cit.gvsig.fmap.layers;
42
import com.iver.cit.gvsig.fmap.DriverException;
43
import com.iver.cit.gvsig.fmap.ViewPort;
44
import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
45
import com.iver.cit.gvsig.fmap.drivers.WMSException;
46
import com.iver.cit.gvsig.fmap.layers.layerOperations.InfoByPoint;
47
import com.iver.cit.gvsig.fmap.operations.Cancellable;
48

  
49
import com.iver.utiles.StringUtilities;
50
import com.iver.utiles.XMLEntity;
51

  
52
import com.iver.wmsclient.FeatureInfoQuery;
53
import com.iver.wmsclient.MapQuery;
54
import com.iver.wmsclient.UnsupportedVersionException;
55
import com.iver.wmsclient.WMSClient;
56
import com.iver.wmsclient.WMSClientFactory;
57

  
58
import org.exolab.castor.xml.ValidationException;
59

  
60
import java.awt.Graphics2D;
61
import java.awt.Point;
62
import java.awt.geom.AffineTransform;
63
import java.awt.geom.NoninvertibleTransformException;
64
import java.awt.geom.Point2D;
65
import java.awt.geom.Rectangle2D;
66
import java.awt.image.BufferedImage;
67

  
68
import java.io.ByteArrayInputStream;
69
import java.io.IOException;
70

  
71
import java.net.MalformedURLException;
72
import java.net.URL;
73

  
74
import javax.imageio.ImageIO;
75

  
76

  
77
/**
78
 * Capa WFS.
79
 *
80
 * @author Vicente Caballero Navarro
81
 */
82
public class FLyrWFS extends FLyrDefault implements InfoByPoint {
83
	private String layerQuery;
84
	private String infoLayerQuery;
85
	private String name;
86
	private URL host;
87
	private Rectangle2D fullExtent;
88

  
89
	/**
90
	 * Devuelve el XMLEntity con la informaci?n necesaria para reproducir la
91
	 * capa.
92
	 *
93
	 * @return XMLEntity.
94
	 * @throws XMLException
95
	 */
96
	public XMLEntity getXMLEntity() throws XMLException {
97
		XMLEntity xml = super.getXMLEntity();
98

  
99
		xml.putProperty("fullExtent", StringUtilities.rect2String(fullExtent));
100
		xml.putProperty("host", host.toExternalForm());
101
		xml.putProperty("infoLayerQuery", infoLayerQuery);
102
		xml.putProperty("layerQuery", layerQuery);
103
	
104
		return xml;
105
	}
106

  
107
	/**
108
	 * A partir del XMLEntity reproduce la capa.
109
	 *
110
	 * @param xml XMLEntity
111
	 *
112
	 * @throws XMLException
113
	 * @throws DriverException
114
	 * @throws DriverIOException
115
	 */
116
	public void setXMLEntity(XMLEntity xml)
117
		throws XMLException {
118
		super.setXMLEntity(xml);
119
		fullExtent = StringUtilities.string2Rect(xml.getStringProperty(
120
					"fullExtent"));
121

  
122
		try {
123
			host = new URL(xml.getStringProperty("host"));
124
		} catch (MalformedURLException e) {
125
			throw new XMLException(e);
126
		}
127

  
128
		infoLayerQuery = xml.getStringProperty("infoLayerQuery");
129
		layerQuery = xml.getStringProperty("layerQuery");
130
	}
131

  
132
	/**
133
	 * @see com.iver.cit.gvsig.fmap.layers.layerOperations.InfoByPoint#queryByPoint(com.iver.cit.gvsig.fmap.operations.QueriedPoint)
134
	 */
135
	public String queryByPoint(Point p) throws DriverException {
136
	return null;
137
	}
138

  
139
	/**
140
	 * @see com.iver.cit.gvsig.fmap.layers.FLayer#getFullExtent()
141
	 */
142
	public Rectangle2D getFullExtent() throws DriverException {
143
		return fullExtent;
144
	}
145

  
146
	/**
147
	 * @see com.iver.cit.gvsig.fmap.layers.FLayer#draw(java.awt.image.BufferedImage,
148
	 * 		java.awt.Graphics2D, com.iver.cit.gvsig.fmap.ViewPort,
149
	 * 		com.iver.cit.gvsig.fmap.operations.Cancellable)
150
	 */
151
	public void draw(BufferedImage image, Graphics2D g, ViewPort viewPort,
152
		Cancellable cancel) throws DriverException {
153
		
154
	}
155

  
156
	/**
157
	 * @see com.iver.cit.gvsig.fmap.layers.FLayer#print(java.awt.Graphics2D,
158
	 * 		com.iver.cit.gvsig.fmap.ViewPort,
159
	 * 		com.iver.cit.gvsig.fmap.operations.Cancellable)
160
	 */
161
	public void print(Graphics2D g, ViewPort viewPort, Cancellable cancel)
162
		throws DriverException {
163
	}
164
	
165
	public void _print(Graphics2D g, ViewPort viewPort, Cancellable cancel)
166
		throws DriverException {
167
		draw(null, g, viewPort, cancel);
168
	}
169

  
170
	/**
171
	 * Devuelve el URL.
172
	 *
173
	 * @return URL.
174
	 */
175
	public URL getHost() {
176
		return host;
177
	}
178

  
179
	/**
180
	 * Inserta el URL.
181
	 *
182
	 * @param host URL.
183
	 */
184
	public void setHost(URL host) {
185
		this.host = host;
186
	}
187

  
188
	/**
189
	 * Devuelve la informaci?n de la consulta.
190
	 *
191
	 * @return String.
192
	 */
193
	public String getInfoLayerQuery() {
194
		return infoLayerQuery;
195
	}
196

  
197
	/**
198
	 * Inserta la informaci?n de la consulta.
199
	 *
200
	 * @param infoLayerQuery String.
201
	 */
202
	public void setInfoLayerQuery(String infoLayerQuery) {
203
		this.infoLayerQuery = infoLayerQuery;
204
	}
205

  
206
	/**
207
	 * Devuelve la consulta.
208
	 *
209
	 * @return String.
210
	 */
211
	public String getLayerQuery() {
212
		return layerQuery;
213
	}
214

  
215
	/**
216
	 * Inserta la consulta.
217
	 *
218
	 * @param layerQuery consulta.
219
	 */
220
	public void setLayerQuery(String layerQuery) {
221
		this.layerQuery = layerQuery;
222
	}
223

  
224
	/**
225
	 * Inserta la extensi?n total de la capa.
226
	 *
227
	 * @param fullExtent Rect?ngulo.
228
	 */
229
	public void setFullExtent(Rectangle2D fullExtent) {
230
		this.fullExtent = fullExtent;
231
	}
232
}
0 233

  

Also available in: Unified diff