annotate gwt-client/src/main/java/org/dive4elements/river/client/shared/model/WMSLayer.java @ 6199:734ba3732bb6

CapabilitiesParse parses the "queryable" attribute of a WMSLayer now (#1253).
author Christian Lins <christian.lins@intevation.de>
date Wed, 05 Jun 2013 13:13:20 +0200
parents ea9eef426962
children
rev   line source
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
6 * documentation coming with Dive4Elements River for details.
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
9 package org.dive4elements.river.client.shared.model;
1411
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import java.io.Serializable;
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import java.util.ArrayList;
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import java.util.List;
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 public class WMSLayer implements Serializable {
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17
1414
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1411
diff changeset
18 protected String server;
1411
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 protected String name;
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 protected String title;
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
1417
42d6cf6e10b7 Moved code to parse WMS Capabilities to an own class 'CapabilitiesParser' and added code to parse SRS definitions.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1414
diff changeset
22 protected List<String> srs;
1411
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 protected List<WMSLayer> layers;
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24
6199
734ba3732bb6 CapabilitiesParse parses the "queryable" attribute of a WMSLayer now (#1253).
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
25 protected boolean queryable = true;
734ba3732bb6 CapabilitiesParse parses the "queryable" attribute of a WMSLayer now (#1253).
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
26
1411
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 public WMSLayer() {
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 layers = new ArrayList<WMSLayer>();
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 }
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32
1414
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1411
diff changeset
33 /**
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1411
diff changeset
34 * @param server
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1411
diff changeset
35 * @param title
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1411
diff changeset
36 * @param name
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1411
diff changeset
37 * @param layers
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1411
diff changeset
38 */
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1411
diff changeset
39 public WMSLayer(
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1411
diff changeset
40 String server,
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1411
diff changeset
41 String title,
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1411
diff changeset
42 String name,
1417
42d6cf6e10b7 Moved code to parse WMS Capabilities to an own class 'CapabilitiesParser' and added code to parse SRS definitions.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1414
diff changeset
43 List<String> srs,
6199
734ba3732bb6 CapabilitiesParse parses the "queryable" attribute of a WMSLayer now (#1253).
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
44 List<WMSLayer> layers,
734ba3732bb6 CapabilitiesParse parses the "queryable" attribute of a WMSLayer now (#1253).
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
45 boolean queryable
1414
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1411
diff changeset
46 ) {
6199
734ba3732bb6 CapabilitiesParse parses the "queryable" attribute of a WMSLayer now (#1253).
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
47 this.server = server;
734ba3732bb6 CapabilitiesParse parses the "queryable" attribute of a WMSLayer now (#1253).
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
48 this.title = title;
734ba3732bb6 CapabilitiesParse parses the "queryable" attribute of a WMSLayer now (#1253).
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
49 this.name = name;
734ba3732bb6 CapabilitiesParse parses the "queryable" attribute of a WMSLayer now (#1253).
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
50 this.srs = srs;
734ba3732bb6 CapabilitiesParse parses the "queryable" attribute of a WMSLayer now (#1253).
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
51 this.layers = layers;
734ba3732bb6 CapabilitiesParse parses the "queryable" attribute of a WMSLayer now (#1253).
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
52 this.queryable = queryable;
1411
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 }
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55
1414
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1411
diff changeset
56 public String getServer() {
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1411
diff changeset
57 return server;
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1411
diff changeset
58 }
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1411
diff changeset
59
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1411
diff changeset
60
1411
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 public String getName() {
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 return name;
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 }
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66 public String getTitle() {
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67 return title;
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 }
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70
1417
42d6cf6e10b7 Moved code to parse WMS Capabilities to an own class 'CapabilitiesParser' and added code to parse SRS definitions.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1414
diff changeset
71 public List<String> getSrs() {
42d6cf6e10b7 Moved code to parse WMS Capabilities to an own class 'CapabilitiesParser' and added code to parse SRS definitions.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1414
diff changeset
72 return srs;
42d6cf6e10b7 Moved code to parse WMS Capabilities to an own class 'CapabilitiesParser' and added code to parse SRS definitions.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1414
diff changeset
73 }
42d6cf6e10b7 Moved code to parse WMS Capabilities to an own class 'CapabilitiesParser' and added code to parse SRS definitions.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1414
diff changeset
74
42d6cf6e10b7 Moved code to parse WMS Capabilities to an own class 'CapabilitiesParser' and added code to parse SRS definitions.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1414
diff changeset
75
1411
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 public List<WMSLayer> getLayers() {
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 return layers;
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 }
1418
750a53950e9f The WMSLayerTree displays WMS layers that support a given SRS only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1417
diff changeset
79
750a53950e9f The WMSLayerTree displays WMS layers that support a given SRS only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1417
diff changeset
80
6199
734ba3732bb6 CapabilitiesParse parses the "queryable" attribute of a WMSLayer now (#1253).
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
81 public boolean isQueryable() {
734ba3732bb6 CapabilitiesParse parses the "queryable" attribute of a WMSLayer now (#1253).
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
82 return queryable;
734ba3732bb6 CapabilitiesParse parses the "queryable" attribute of a WMSLayer now (#1253).
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
83 }
734ba3732bb6 CapabilitiesParse parses the "queryable" attribute of a WMSLayer now (#1253).
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
84
734ba3732bb6 CapabilitiesParse parses the "queryable" attribute of a WMSLayer now (#1253).
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
85
1418
750a53950e9f The WMSLayerTree displays WMS layers that support a given SRS only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1417
diff changeset
86 public boolean supportsSrs(String srs) {
750a53950e9f The WMSLayerTree displays WMS layers that support a given SRS only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1417
diff changeset
87 if (this.srs == null || this.srs.size() == 0) {
750a53950e9f The WMSLayerTree displays WMS layers that support a given SRS only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1417
diff changeset
88 return true;
750a53950e9f The WMSLayerTree displays WMS layers that support a given SRS only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1417
diff changeset
89 }
750a53950e9f The WMSLayerTree displays WMS layers that support a given SRS only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1417
diff changeset
90
750a53950e9f The WMSLayerTree displays WMS layers that support a given SRS only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1417
diff changeset
91 if (!srs.startsWith("EPSG:")) {
750a53950e9f The WMSLayerTree displays WMS layers that support a given SRS only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1417
diff changeset
92 srs = "EPSG:" + srs;
750a53950e9f The WMSLayerTree displays WMS layers that support a given SRS only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1417
diff changeset
93 }
750a53950e9f The WMSLayerTree displays WMS layers that support a given SRS only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1417
diff changeset
94
750a53950e9f The WMSLayerTree displays WMS layers that support a given SRS only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1417
diff changeset
95 return this.srs.contains(srs);
750a53950e9f The WMSLayerTree displays WMS layers that support a given SRS only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1417
diff changeset
96 }
1487
ea2aae01e7c4 Improved CapabilitiesParser to test WMS using its main() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1418
diff changeset
97
ea2aae01e7c4 Improved CapabilitiesParser to test WMS using its main() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1418
diff changeset
98
ea2aae01e7c4 Improved CapabilitiesParser to test WMS using its main() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1418
diff changeset
99 @Override
ea2aae01e7c4 Improved CapabilitiesParser to test WMS using its main() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1418
diff changeset
100 public String toString() {
ea2aae01e7c4 Improved CapabilitiesParser to test WMS using its main() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1418
diff changeset
101 return "WMS Layer: " + title + " (" + name + ") " + server;
ea2aae01e7c4 Improved CapabilitiesParser to test WMS using its main() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1418
diff changeset
102 }
1411
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103 }
63be3137abac Parse and display WMS layers supported by a user specified WMS service.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org