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 :

http://dive4elements.wald.intevation.org