annotate artifacts/src/main/java/org/dive4elements/river/artifacts/WMSQPSArtifact.java @ 7167:2fd238b681a9

Add debug output triggered by debugging the last commit
author Andre Heinecke <aheinecke@intevation.de>
date Thu, 26 Sep 2013 12:22:01 +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: 5469
diff changeset
9 package org.dive4elements.river.artifacts;
1836
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import java.util.List;
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import org.w3c.dom.Document;
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 import org.apache.log4j.Logger;
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 import com.vividsolutions.jts.geom.Envelope;
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5469
diff changeset
19 import org.dive4elements.artifacts.ArtifactFactory;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5469
diff changeset
20 import org.dive4elements.artifacts.CallMeta;
1836
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5469
diff changeset
22 import org.dive4elements.artifactdatabase.state.DefaultOutput;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5469
diff changeset
23 import org.dive4elements.artifactdatabase.state.Facet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5469
diff changeset
24 import org.dive4elements.artifactdatabase.state.State;
1836
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5469
diff changeset
26 import org.dive4elements.river.model.River;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5469
diff changeset
27 import org.dive4elements.river.model.CrossSectionTrack;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5469
diff changeset
28
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5469
diff changeset
29 import org.dive4elements.river.artifacts.model.FacetTypes;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5469
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: 5469
diff changeset
32 import org.dive4elements.river.utils.GeometryUtils;
1836
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 public class WMSQPSArtifact extends WMSDBArtifact {
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 public static final String NAME = "qps";
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 private static final Logger logger =
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 Logger.getLogger(WMSQPSArtifact.class);
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 @Override
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 public void setup(
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 String identifier,
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 ArtifactFactory factory,
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 Object context,
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 CallMeta callMeta,
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 Document data)
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 {
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 logger.debug("WMSQPSArtifact.setup");
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 super.setup(identifier, factory, context, callMeta, data);
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 }
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 @Override
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 public String getName() {
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 return NAME;
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 }
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64 @Override
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 public State getCurrentState(Object cc) {
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66 State s = new WMSQPSState(this);
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67
4497
a2735a4bf75e Change facets member variable to private
Björn Ricks <bjoern.ricks@intevation.de>
parents: 3918
diff changeset
68 List<Facet> fs = getFacets(getCurrentStateId());
1836
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70 DefaultOutput o = new DefaultOutput(
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 "floodmap",
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 "floodmap",
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 "image/png",
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 fs,
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 "map");
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 s.getOutputs().add(o);
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79 return s;
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80 }
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 public static class WMSQPSState extends WMSDBState implements FacetTypes {
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 private static final Logger logger =
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 Logger.getLogger(WMSQPSState.class);
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 public WMSQPSState(WMSDBArtifact artifact) {
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89 super(artifact);
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 }
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 @Override
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93 protected String getFacetType() {
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 return FLOODMAP_QPS;
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 }
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97 @Override
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 protected String getUrl() {
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
99 return RiverUtils.getUserWMSUrl(artifact.identifier());
1836
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 }
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102 @Override
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103 protected String getSrid() {
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104 River river = RiverFactory.getRiver(getRiverId());
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
105 return RiverUtils.getRiverSrid(river.getName());
1836
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106 }
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108 @Override
3918
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3405
diff changeset
109 protected Envelope getExtent(boolean reproject) {
1836
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110 River river = RiverFactory.getRiver(getRiverId());
5469
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
111 List<CrossSectionTrack> qps;
1836
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112
5469
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
113 String kind = getIdPart(2);
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
114
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
115 if (kind != null && kind.equals("1")) {
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
116 qps = CrossSectionTrack.getCrossSectionTrack(river.getName(),
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
117 Integer.parseInt(kind));
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
118 } else if (kind != null) {
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
119 qps = CrossSectionTrack.getCrossSectionTrack(river.getName(),
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
120 getName(), Integer.parseInt(kind));
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
121 } else {
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
122 qps = CrossSectionTrack.getCrossSectionTrack(river.getName(),
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
123 getName());
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
124 }
1836
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
125
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
126 Envelope max = null;
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
127
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
128 for (CrossSectionTrack qp: qps) {
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
129 Envelope env = qp.getGeom().getEnvelopeInternal();
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131 if (max == null) {
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132 max = env;
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 continue;
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
134 }
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
136 max.expandToInclude(env);
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137 }
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138
3918
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3405
diff changeset
139 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
140 ? 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
141 : max;
1836
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142 }
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
143
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
144 @Override
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
145 protected String getFilter() {
5469
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
146 String kind = getIdPart(2);
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
147 if (kind != null && kind.equals("1")) {
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
148 // There can be several layers named qps that differ in kind
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
149 return "river_id=" + String.valueOf(getRiverId()) +
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
150 " AND kind_id=" + kind;
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
151 } else if (kind != null) {
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
152 return "river_id=" + String.valueOf(getRiverId()) +
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
153 " AND kind_id=" + kind +
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
154 " AND name='" + getName() + "'";
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
155 }
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
156 return "river_id=" + String.valueOf(getRiverId()) +
948a106bc4cd Handle kind filtering in QPS WMS artifact
Andre Heinecke <aheinecke@intevation.de>
parents: 5468
diff changeset
157 " AND name='" + getName() + "'";
1836
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
158 }
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
159
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
160 @Override
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
161 protected String getDataString() {
1845
06c157848c8f Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1836
diff changeset
162 String srid = getSrid();
06c157848c8f Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1836
diff changeset
163
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
164 if (RiverUtils.isUsingOracle()) {
1845
06c157848c8f Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1836
diff changeset
165 return "geom FROM cross_section_tracks USING SRID " + srid;
06c157848c8f Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1836
diff changeset
166 }
06c157848c8f Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1836
diff changeset
167 else {
06c157848c8f Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1836
diff changeset
168 return "geom FROM cross_section_tracks " +
06c157848c8f Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1836
diff changeset
169 "USING UNIQUE id USING SRID " + srid;
06c157848c8f Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1836
diff changeset
170 }
1836
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
171 }
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
172
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
173 @Override
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
174 protected String getGeometryType() {
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
175 return "LINE";
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
176 }
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
177 } // end of WMSQPSState
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
178 }
729ba79e94a0 Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
179 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org