annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSHwsArtifact.java @ 4221:480de0dbca8e

Extended location input helper. The locationpicker has now an attribute whether the input is distance or location to display one or two clickable columns. Replaced the record click handler with cell click handler.
author Raimund Renkert <rrenkert@intevation.de>
date Tue, 23 Oct 2012 13:17:20 +0200
parents 2fdbe78a8fc2
children a2735a4bf75e
rev   line source
1855
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.artifacts;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 import java.util.List;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 import org.w3c.dom.Document;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 import org.apache.log4j.Logger;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9 import com.vividsolutions.jts.geom.Envelope;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import de.intevation.artifacts.ArtifactFactory;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import de.intevation.artifacts.CallMeta;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 import de.intevation.artifactdatabase.state.DefaultOutput;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 import de.intevation.artifactdatabase.state.Facet;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 import de.intevation.artifactdatabase.state.State;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 import de.intevation.flys.model.River;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 import de.intevation.flys.model.Hws;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 import de.intevation.flys.artifacts.model.FacetTypes;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 import de.intevation.flys.artifacts.model.RiverFactory;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 import de.intevation.flys.utils.FLYSUtils;
3301
c8f670ae96e8 Create extent of a map layer in the correct coordinate reference system.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2699
diff changeset
24 import de.intevation.flys.utils.GeometryUtils;
1855
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 public class WMSHwsArtifact extends WMSDBArtifact {
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 public static final String NAME = "hws";
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 private static final Logger logger =
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 Logger.getLogger(WMSHwsArtifact.class);
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 @Override
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 public void setup(
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 String identifier,
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 ArtifactFactory factory,
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 Object context,
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 CallMeta callMeta,
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 Document data)
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 {
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 logger.debug("WMSHwsArtifact.setup");
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 super.setup(identifier, factory, context, callMeta, data);
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 @Override
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 public String getName() {
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 return NAME;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 @Override
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57 public State getCurrentState(Object cc) {
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 State s = new HwsState(this);
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 List<Facet> fs = facets.get(getCurrentStateId());
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 DefaultOutput o = new DefaultOutput(
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 "floodmap",
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64 "floodmap",
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 "image/png",
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66 fs,
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67 "map");
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 s.getOutputs().add(o);
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 return s;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 public static class HwsState extends WMSDBState implements FacetTypes
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 {
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 private static final Logger logger =
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 Logger.getLogger(HwsState.class);
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80 protected int riverId;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 public HwsState(WMSDBArtifact artifact) {
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 super(artifact);
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84 riverId = 0;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 public int getRiverId() {
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 if (riverId == 0) {
2672
5afccab9aac1 Modified floodmap specific datacage configuration and improved WMS hws layer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1855
diff changeset
89 String ids = artifact.getDataAsString("ids");
5afccab9aac1 Modified floodmap specific datacage configuration and improved WMS hws layer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1855
diff changeset
90 String[] parts = ids.split(";");
1855
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 try {
3405
b0ba96bbf01d Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3301
diff changeset
93 riverId = Integer.parseInt(parts[0]);
1855
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 catch (NumberFormatException nfe) {
2672
5afccab9aac1 Modified floodmap specific datacage configuration and improved WMS hws layer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1855
diff changeset
96 logger.error("Cannot parse river id from '" + parts[0] + "'");
1855
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 return riverId;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103 @Override
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104 protected String getFacetType() {
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105 return FLOODMAP_HWS;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108 @Override
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 protected String getUrl() {
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110 return FLYSUtils.getUserWMSUrl(artifact.identifier());
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113 @Override
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114 protected String getSrid() {
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
115 River river = RiverFactory.getRiver(getRiverId());
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
116 return FLYSUtils.getRiverSrid(river.getName());
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
118
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
119 @Override
3918
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3405
diff changeset
120 protected Envelope getExtent(boolean reproject) {
2672
5afccab9aac1 Modified floodmap specific datacage configuration and improved WMS hws layer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1855
diff changeset
121 List<Hws> hws = Hws.getHws(getRiverId(), getName());
1855
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
122
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
123 Envelope max = null;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
125 for (Hws h: hws) {
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
126 Envelope env = h.getGeom().getEnvelopeInternal();
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
127
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
128 if (max == null) {
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
129 max = env;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130 continue;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 max.expandToInclude(env);
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
134 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135
3918
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3405
diff changeset
136 return max != null && reproject
3301
c8f670ae96e8 Create extent of a map layer in the correct coordinate reference system.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2699
diff changeset
137 ? GeometryUtils.transform(max, getSrid())
c8f670ae96e8 Create extent of a map layer in the correct coordinate reference system.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2699
diff changeset
138 : max;
1855
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141 @Override
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142 protected String getFilter() {
2672
5afccab9aac1 Modified floodmap specific datacage configuration and improved WMS hws layer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1855
diff changeset
143 return "river_id=" + String.valueOf(getRiverId())
5afccab9aac1 Modified floodmap specific datacage configuration and improved WMS hws layer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1855
diff changeset
144 + " AND name='" + getName() + "'";
1855
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
145 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147 @Override
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
148 protected String getDataString() {
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149 String srid = getSrid();
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151 if (FLYSUtils.isUsingOracle()) {
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 return "geom FROM hws USING SRID " + srid;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
154 else {
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
155 return "geom FROM hws USING UNIQUE id USING SRID " + srid;
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
156 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
157 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
158
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
159 @Override
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
160 protected String getGeometryType() {
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
161 return "LINE";
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
162 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
163 } // end of WMSKmState
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
164 }
b4798f15edc7 Added new WMSHwsArtifact for displaying flood protection works.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
165 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org