annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/WMSLayerFacet.java @ 9801:1d7a72a50183 3.2.x tip

Assume Compose V2, consistently
author Tom Gottfried <tom@intevation.de>
date Thu, 23 Nov 2023 10:14:13 +0100
parents 0a5239a1e46e
children
rev   line source
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
6 * documentation coming with Dive4Elements River for details.
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3923
diff changeset
9 package org.dive4elements.river.artifacts.model.map;
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
3306
1b41dc00b1f7 Create shapefile directory instead of shapefile 'file'
Christian Lins <christian.lins@intevation.de>
parents: 3300
diff changeset
11 import com.vividsolutions.jts.geom.Envelope;
1b41dc00b1f7 Create shapefile directory instead of shapefile 'file'
Christian Lins <christian.lins@intevation.de>
parents: 3300
diff changeset
12
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3923
diff changeset
13 import org.dive4elements.artifactdatabase.state.DefaultFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3923
diff changeset
14 import org.dive4elements.artifactdatabase.state.Facet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3923
diff changeset
15 import org.dive4elements.artifacts.Artifact;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3923
diff changeset
16 import org.dive4elements.artifacts.ArtifactNamespaceContext;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3923
diff changeset
17 import org.dive4elements.artifacts.CallContext;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3923
diff changeset
18 import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3923
diff changeset
19 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3923
diff changeset
20 import org.dive4elements.river.utils.GeometryUtils;
3306
1b41dc00b1f7 Create shapefile directory instead of shapefile 'file'
Christian Lins <christian.lins@intevation.de>
parents: 3300
diff changeset
21
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 import java.util.ArrayList;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 import java.util.List;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24
9726
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
25 import org.apache.logging.log4j.Logger;
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
26 import org.apache.logging.log4j.LogManager;
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 import org.w3c.dom.Document;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 import org.w3c.dom.Element;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 import org.w3c.dom.Node;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 public class WMSLayerFacet
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 extends DefaultFacet
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 protected ComputeType type;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 protected List<String> layers;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 protected String stateId;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 protected String hash;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 protected String url;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 protected Envelope extent;
3918
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3306
diff changeset
41 protected Envelope originalExtent;
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 protected String srid;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44
9726
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
45 private static final Logger log = LogManager.getLogger(WMSLayerFacet.class);
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 public WMSLayerFacet() {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 public WMSLayerFacet(int index, String name, String description) {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 this(index, name, description, ComputeType.FEED, null, null);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 public WMSLayerFacet(
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57 int index,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 String name,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 String description,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 ComputeType type,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 String stateId,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 String hash
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64 ) {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 super(index, name, description);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66 this.layers = new ArrayList<String>();
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67 this.type = type;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 this.stateId = stateId;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 this.hash = hash;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 public WMSLayerFacet(
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 int index,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 String name,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 String description,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 ComputeType type,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 String stateId,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79 String hash,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80 String url
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 ) {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 this(index, name, description, type, stateId, hash);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 this.url = url;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 public void addLayer(String name) {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 if (name != null && name.length() > 0) {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89 layers.add(name);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 public List<String> getLayers() {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 return layers;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99 public void removeLayer(String layer) {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 if (layers != null) {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101 layers.remove(layer);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106 public void setExtent(Envelope extent) {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107 if (extent != null) {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108 this.extent = extent;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 }
3306
1b41dc00b1f7 Create shapefile directory instead of shapefile 'file'
Christian Lins <christian.lins@intevation.de>
parents: 3300
diff changeset
110 else {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7744
diff changeset
111 log.debug("setExtent(): extent is null");
3306
1b41dc00b1f7 Create shapefile directory instead of shapefile 'file'
Christian Lins <christian.lins@intevation.de>
parents: 3300
diff changeset
112 }
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
115
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
116 public Envelope getExtent() {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117 return extent;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
118 }
3923
9fac337192c9 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3918
diff changeset
119
9fac337192c9 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3918
diff changeset
120
3918
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3306
diff changeset
121 public void setOriginalExtent(Envelope originalExtent) {
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3306
diff changeset
122 this.originalExtent = originalExtent;
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3306
diff changeset
123 }
3923
9fac337192c9 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3918
diff changeset
124
9fac337192c9 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3918
diff changeset
125
3918
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3306
diff changeset
126 public Envelope getOriginalExtent() {
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3306
diff changeset
127 return originalExtent;
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3306
diff changeset
128 }
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
129
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131 public void setSrid(String srid) {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132 if (srid != null) {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 this.srid = srid;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
134 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
136
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138 public String getSrid() {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139 return srid;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142
3306
1b41dc00b1f7 Create shapefile directory instead of shapefile 'file'
Christian Lins <christian.lins@intevation.de>
parents: 3300
diff changeset
143 @Override
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
144 public Object getData(Artifact artifact, CallContext context) {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
145 return null;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
148
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149 @Override
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150 public Node toXML(Document doc) {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151 ElementCreator ec = new ElementCreator(
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 doc,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153 ArtifactNamespaceContext.NAMESPACE_URI,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
154 ArtifactNamespaceContext.NAMESPACE_PREFIX);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
155
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
156 Element facet = ec.create("facet");
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
157 ec.addAttr(facet, "description", description, true);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
158 ec.addAttr(facet, "index", String.valueOf(index), true);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
159 ec.addAttr(facet, "name", name, true);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
160 ec.addAttr(facet, "url", url, true);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
161 ec.addAttr(facet, "layers", layers.get(0), true);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
162 ec.addAttr(facet, "srid", srid != null ? srid : "", true);
3918
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3306
diff changeset
163 ec.addAttr(facet, "extent", originalExtent != null
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3306
diff changeset
164 ? GeometryUtils.jtsBoundsToOLBounds(originalExtent)
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
165 : "", true);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
166 ec.addAttr(facet, "queryable", String.valueOf(isQueryable()), true);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
167
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
168 return facet;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
169 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
170
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
171
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
172 public boolean isQueryable() {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
173 return false;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
174 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
175
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
176
7740
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
177 /** Clone facet-bound data. */
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
178 protected void cloneData(WMSLayerFacet copy) {
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
179 copy.type = type;
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
180 copy.stateId = stateId;
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
181 copy.hash = hash;
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
182
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
183 if (layers != null) {
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
184 copy.layers = new ArrayList<String>(layers);
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
185 }
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
186 else {
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
187 copy.layers = new ArrayList<String>();
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
188 }
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
189
7744
8abc86160959 issue765: When creating a WMSLayerFacet copy, also copy original
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7740
diff changeset
190 copy.originalExtent = originalExtent;
7740
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
191 copy.url = url;
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
192 copy.extent = extent;
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
193 copy.srid = srid;
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
194 }
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
195
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
196 @Override
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
197 public Facet deepCopy() {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
198 WMSLayerFacet copy = new WMSLayerFacet();
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
199 copy.set(this);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
200
7740
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
201 cloneData(copy);
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
202
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
203 return copy;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
204 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
205 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
206 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org