Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/WMSFloodmarksArtifact.java @ 6693:88bb0c794833
issue1391: Enable GaugeDischarge artifact to directly load a table by its ID
This allows us to use the GaugeDischargeArtifact for any discharge
tables that we have in our database. The name of the created facet
is taken from the ids string as is also usual in the WMS artifacts.
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Mon, 29 Jul 2013 12:19:57 +0200 |
parents | af13ceeba52a |
children | 8d5ca5175038 |
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:
5865
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:
5865
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:
5552
diff
changeset
|
9 package org.dive4elements.river.artifacts; |
5552
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
10 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
11 import java.util.List; |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
12 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
13 import org.w3c.dom.Document; |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
14 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
15 import org.apache.log4j.Logger; |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
16 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
17 import com.vividsolutions.jts.geom.Envelope; |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
18 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5552
diff
changeset
|
19 import org.dive4elements.artifacts.ArtifactFactory; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5552
diff
changeset
|
20 import org.dive4elements.artifacts.CallMeta; |
5552
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
21 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5552
diff
changeset
|
22 import org.dive4elements.artifactdatabase.state.DefaultOutput; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5552
diff
changeset
|
23 import org.dive4elements.artifactdatabase.state.Facet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5552
diff
changeset
|
24 import org.dive4elements.artifactdatabase.state.State; |
5552
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
25 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5552
diff
changeset
|
26 import org.dive4elements.river.model.River; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5552
diff
changeset
|
27 import org.dive4elements.river.model.Floodmark; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5552
diff
changeset
|
28 |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5552
diff
changeset
|
29 import org.dive4elements.river.artifacts.model.FacetTypes; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5552
diff
changeset
|
30 import org.dive4elements.river.artifacts.model.RiverFactory; |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
31 import org.dive4elements.river.utils.RiverUtils; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5552
diff
changeset
|
32 import org.dive4elements.river.utils.GeometryUtils; |
5552
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
33 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
34 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
35 public class WMSFloodmarksArtifact extends WMSDBArtifact { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
36 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
37 public static final String NAME = "floodmarks"; |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
38 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
39 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
40 private static final Logger logger = |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
41 Logger.getLogger(WMSFloodmarksArtifact.class); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
42 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
43 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
44 @Override |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
45 public void setup( |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
46 String identifier, |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
47 ArtifactFactory factory, |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
48 Object context, |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
49 CallMeta callMeta, |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
50 Document data) |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
51 { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
52 logger.debug("WMSFloodmarksArtifact.setup"); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
53 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
54 super.setup(identifier, factory, context, callMeta, data); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
55 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
56 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
57 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
58 @Override |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
59 public String getName() { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
60 return NAME; |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
61 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
62 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
63 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
64 @Override |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
65 public State getCurrentState(Object cc) { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
66 State s = new FloodmarksState(this); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
67 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
68 List<Facet> fs = getFacets(getCurrentStateId()); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
69 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
70 DefaultOutput o = new DefaultOutput( |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
71 "floodmap", |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
72 "floodmap", |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
73 "image/png", |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
74 fs, |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
75 "map"); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
76 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
77 s.getOutputs().add(o); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
78 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
79 return s; |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
80 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
81 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
82 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
83 public static class FloodmarksState extends WMSDBState implements FacetTypes |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
84 { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
85 private static final Logger logger = |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
86 Logger.getLogger(FloodmarksState.class); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
87 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
88 protected int riverId; |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
89 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
90 public FloodmarksState(WMSDBArtifact artifact) { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
91 super(artifact); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
92 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
93 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
94 @Override |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
95 protected String getFacetType() { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
96 return FLOODMAP_FLOODMARKS; |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
97 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
98 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
99 @Override |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
100 protected String getUrl() { |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
101 return RiverUtils.getUserWMSUrl(artifact.identifier()); |
5552
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
102 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
103 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
104 @Override |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
105 protected String getSrid() { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
106 River river = RiverFactory.getRiver(getRiverId()); |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
107 return RiverUtils.getRiverSrid(river.getName()); |
5552
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
108 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
109 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
110 @Override |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
111 protected Envelope getExtent(boolean reproject) { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
112 String year = getIdPart(2); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
113 List<Floodmark> floodmarks; |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
114 if (year != null) { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
115 floodmarks = Floodmark.getFloodmarks(getRiverId(), |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
116 Integer.parseInt(year)); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
117 } else { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
118 floodmarks = Floodmark.getFloodmarks(getRiverId()); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
119 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
120 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
121 Envelope max = null; |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
122 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
123 for (Floodmark f: floodmarks) { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
124 Envelope env = f.getGeom().getEnvelopeInternal(); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
125 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
126 if (max == null) { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
127 max = env; |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
128 continue; |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
129 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
130 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
131 max.expandToInclude(env); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
132 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
133 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
134 return max != null && reproject |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
135 ? GeometryUtils.transform(max, getSrid()) |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
136 : max; |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
137 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
138 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
139 @Override |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
140 protected String getFilter() { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
141 String year = getIdPart(2); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
142 if (year != null) { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
143 return "river_id=" + String.valueOf(getRiverId()) + |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
144 " AND year=" + getIdPart(2); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
145 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
146 return "river_id=" + String.valueOf(getRiverId()); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
147 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
148 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
149 @Override |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
150 protected String getDataString() { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
151 String srid = getSrid(); |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
152 |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
153 if (RiverUtils.isUsingOracle()) { |
5552
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
154 return "geom FROM flood_marks USING SRID " + srid; |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
155 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
156 else { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
157 return "geom FROM flood_marks USING UNIQUE id USING SRID " + srid; |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
158 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
159 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
160 |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
161 @Override |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
162 protected String getGeometryType() { |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
163 return "POINT"; |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
164 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
165 } // end of WMSKmState |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
166 } |
559a009b3d72
Add missing classes for Floodmark, WMSFloodmarksArtifact and WMSJettiesArtifact
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
167 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |