Mercurial > dive4elements > river
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 : |