Revision 189 trunk/libraries/libWMSv0/src/com/iver/wmsclient/AbstractWMSClient.java
AbstractWMSClient.java | ||
---|---|---|
21 | 21 |
*/ |
22 | 22 |
public class AbstractWMSClient implements WMSClient { |
23 | 23 |
private static Logger logger = Logger.getLogger(AbstractWMSClient.class.getName()); |
24 |
public WMSVersionClient client; |
|
24 |
private WMSVersionClient client; |
|
25 |
private Capabilities cachedCapabilities; |
|
25 | 26 |
|
26 | 27 |
/** |
27 | 28 |
* Crea un nuevo AbstractWMSClient. |
28 | 29 |
* |
29 | 30 |
* @param c Cliente dependiente de la versi?n |
31 |
* @param capabilities Capabilities obtenidas con el cliente que se pasa |
|
32 |
* como par?metro, con la finalidad de no volver a calcularlas |
|
30 | 33 |
*/ |
31 |
public AbstractWMSClient(WMSVersionClient c) { |
|
34 |
public AbstractWMSClient(WMSVersionClient c, Object capabilities) {
|
|
32 | 35 |
client = c; |
36 |
|
|
37 |
cachedCapabilities = new Capabilities(); |
|
38 |
cachedCapabilities.setRoot(capabilities); |
|
39 |
cachedCapabilities.setVersion(c.getVersion()); |
|
33 | 40 |
} |
34 | 41 |
|
35 | 42 |
/** |
... | ... | |
37 | 44 |
*/ |
38 | 45 |
public Capabilities getCapabilities(URL host) |
39 | 46 |
throws UnsupportedVersionException, IllegalStateException, IOException { |
40 |
return client.getCapabilities(host); |
|
47 |
if (cachedCapabilities != null) { |
|
48 |
return cachedCapabilities; |
|
49 |
} else { |
|
50 |
return client.getCapabilities(host); |
|
51 |
} |
|
41 | 52 |
} |
42 | 53 |
|
43 | 54 |
/** |
... | ... | |
56 | 67 |
|
57 | 68 |
for (int url = 0; url < mapURLs.length; url++) { |
58 | 69 |
try { |
59 |
queryInfo.setVersion(client.getVersion()); |
|
60 |
|
|
61 | 70 |
URL query = new URL(mapURLs[url] + queryInfo.getQuery()); |
62 | 71 |
logger.debug("Haciendo la petici?n: " + query); |
63 | 72 |
in = query.openStream(); |
... | ... | |
170 | 179 |
public String[] getInfoFormats() { |
171 | 180 |
return client.getInfoFormats(); |
172 | 181 |
} |
182 |
|
|
183 |
public MapQuery createQuery() { |
|
184 |
return new MapQuery(client.getQueryHeader()); |
|
185 |
} |
|
173 | 186 |
} |
187 |
|
Also available in: Unified diff