annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/WMSLayerFacet.java @ 7744:8abc86160959

issue765: When creating a WMSLayerFacet copy, also copy original extent. Through this, the initial scaling of the layer will be correct and cloned projects will show the floodmap.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Fri, 07 Feb 2014 15:48:43 +0100
parents 72d0cec59c78
children e4606eae8ea5
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
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 import org.apache.log4j.Logger;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 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
27 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
28 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
29
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 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
32 extends DefaultFacet
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 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
35 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
36 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
37 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
38 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
39 protected Envelope extent;
3918
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3306
diff changeset
40 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
41 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
42
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 private static final Logger logger = Logger.getLogger(WMSLayerFacet.class);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 public WMSLayerFacet() {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 }
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 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
51 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
52 }
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 public WMSLayerFacet(
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 int index,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57 String name,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 String description,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 ComputeType type,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 String stateId,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 String hash
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62
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 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
65 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
66 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
67 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
68 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
69 }
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 public WMSLayerFacet(
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 int index,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 String name,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 String description,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 ComputeType type,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 String stateId,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 String hash,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79 String url
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80 ) {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 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
82 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
83 }
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 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
87 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
88 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
89 }
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 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
94 return layers;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 }
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 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
99 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
100 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
101 }
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 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
106 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
107 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
108 }
3306
1b41dc00b1f7 Create shapefile directory instead of shapefile 'file'
Christian Lins <christian.lins@intevation.de>
parents: 3300
diff changeset
109 else {
1b41dc00b1f7 Create shapefile directory instead of shapefile 'file'
Christian Lins <christian.lins@intevation.de>
parents: 3300
diff changeset
110 logger.debug("setExtent(): extent is null");
1b41dc00b1f7 Create shapefile directory instead of shapefile 'file'
Christian Lins <christian.lins@intevation.de>
parents: 3300
diff changeset
111 }
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112 }
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 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
116 return extent;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117 }
3923
9fac337192c9 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3918
diff changeset
118
9fac337192c9 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3918
diff changeset
119
3918
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3306
diff changeset
120 public void setOriginalExtent(Envelope originalExtent) {
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3306
diff changeset
121 this.originalExtent = originalExtent;
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3306
diff changeset
122 }
3923
9fac337192c9 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3918
diff changeset
123
9fac337192c9 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3918
diff changeset
124
3918
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3306
diff changeset
125 public Envelope getOriginalExtent() {
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3306
diff changeset
126 return originalExtent;
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3306
diff changeset
127 }
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
128
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 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
131 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
132 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
133 }
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 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
138 return srid;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139 }
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
3306
1b41dc00b1f7 Create shapefile directory instead of shapefile 'file'
Christian Lins <christian.lins@intevation.de>
parents: 3300
diff changeset
142 @Override
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
143 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
144 return null;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
145 }
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 @Override
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149 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
150 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
151 doc,
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 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
153 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
154
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
155 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
156 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
157 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
158 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
159 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
160 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
161 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
162 ec.addAttr(facet, "extent", originalExtent != null
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3306
diff changeset
163 ? 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
164 : "", true);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
165 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
166
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
167 return facet;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
168 }
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 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
172 return false;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
173 }
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
7740
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
176 /** Clone facet-bound data. */
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
177 protected void cloneData(WMSLayerFacet copy) {
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
178 copy.type = type;
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
179 copy.stateId = stateId;
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
180 copy.hash = hash;
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
181
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
182 if (layers != null) {
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
183 copy.layers = new ArrayList<String>(layers);
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
184 }
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
185 else {
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
186 copy.layers = new ArrayList<String>();
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
187 }
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
188
7744
8abc86160959 issue765: When creating a WMSLayerFacet copy, also copy original
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7740
diff changeset
189 copy.originalExtent = originalExtent;
7740
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
190 copy.url = url;
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
191 copy.extent = extent;
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
192 copy.srid = srid;
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
193 }
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
194
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
195 @Override
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
196 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
197 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
198 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
199
7740
72d0cec59c78 Implement deepCopy on WMSLayerFacet WMSDBLayerFacet and WSPLGENLayerFacet
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
200 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
201
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
202 return copy;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
203 }
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 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org