annotate artifacts/src/main/java/org/dive4elements/river/artifacts/WMSFixpointsArtifact.java @ 7471:fff862f4ef76

Experimental caching of datacage recommendations. The respective hook is called a lot and running the datacage over and over again when loading data can be expensive. So the generated recommendations are cached for some time. Hopefully this improves the overall speed of loading data from the datacage.
author Sascha L. Teichmann <teichmann@intevation.de>
date Wed, 30 Oct 2013 15:26:21 +0100
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: 4497
diff changeset
9 package org.dive4elements.river.artifacts;
1873
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import java.util.List;
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import org.w3c.dom.Document;
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 import org.apache.log4j.Logger;
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 import com.vividsolutions.jts.geom.Envelope;
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4497
diff changeset
19 import org.dive4elements.artifacts.ArtifactFactory;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4497
diff changeset
20 import org.dive4elements.artifacts.CallMeta;
1873
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4497
diff changeset
22 import org.dive4elements.artifactdatabase.state.DefaultOutput;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4497
diff changeset
23 import org.dive4elements.artifactdatabase.state.Facet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4497
diff changeset
24 import org.dive4elements.artifactdatabase.state.State;
1873
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4497
diff changeset
26 import org.dive4elements.river.model.River;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4497
diff changeset
27 import org.dive4elements.river.model.Fixpoint;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4497
diff changeset
28
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4497
diff changeset
29 import org.dive4elements.river.artifacts.model.FacetTypes;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4497
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: 4497
diff changeset
32 import org.dive4elements.river.utils.GeometryUtils;
1873
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 public class WMSFixpointsArtifact extends WMSDBArtifact {
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 public static final String NAME = "fixpoints";
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 private static final Logger logger =
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 Logger.getLogger(WMSFixpointsArtifact.class);
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 @Override
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 public void setup(
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 String identifier,
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 ArtifactFactory factory,
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 Object context,
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 CallMeta callMeta,
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 Document data)
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 {
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 logger.debug("WMSFixpointsArtifact.setup");
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 super.setup(identifier, factory, context, callMeta, data);
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 }
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 @Override
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 public String getName() {
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 return NAME;
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 }
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64 @Override
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 public State getCurrentState(Object cc) {
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66 State s = new FixpointsState(this);
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
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());
1873
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70 DefaultOutput o = new DefaultOutput(
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 "floodmap",
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 "floodmap",
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 "image/png",
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 fs,
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 "map");
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 s.getOutputs().add(o);
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79 return s;
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80 }
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 public static class FixpointsState extends WMSDBState implements FacetTypes
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84 {
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 private static final Logger logger =
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 Logger.getLogger(FixpointsState.class);
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 protected int riverId;
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 public FixpointsState(WMSDBArtifact artifact) {
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91 super(artifact);
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 riverId = 0;
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93 }
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 @Override
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96 protected String getFacetType() {
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97 return FLOODMAP_FIXPOINTS;
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 }
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 @Override
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101 protected String getUrl() {
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
102 return RiverUtils.getUserWMSUrl(artifact.identifier());
1873
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103 }
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105 @Override
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106 protected String getSrid() {
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107 River river = RiverFactory.getRiver(getRiverId());
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
108 return RiverUtils.getRiverSrid(river.getName());
1873
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 }
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111 @Override
3918
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3305
diff changeset
112 protected Envelope getExtent(boolean reproject) {
1873
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113 List<Fixpoint> fixpoints = Fixpoint.getFixpoints(getRiverId());
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
115 Envelope max = null;
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
116
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117 for (Fixpoint f: fixpoints) {
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
118 Envelope env = f.getGeom().getEnvelopeInternal();
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
119
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
120 if (max == null) {
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
121 max = env;
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
122 continue;
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
123 }
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
125 max.expandToInclude(env);
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
126 }
3305
b24920235944 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3301
diff changeset
127
3918
2fdbe78a8fc2 Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3305
diff changeset
128 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
129 ? 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
130 : max;
1873
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131 }
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 @Override
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
134 protected String getFilter() {
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135 return "river_id=" + String.valueOf(getRiverId());
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
136 }
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138 @Override
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139 protected String getDataString() {
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140 String srid = getSrid();
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
142 if (RiverUtils.isUsingOracle()) {
1873
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
143 return "geom FROM fixpoints USING SRID " + srid;
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
144 }
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
145 else {
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146 return "geom FROM fixpoints USING UNIQUE id USING SRID " + srid;
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147 }
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
148 }
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150 @Override
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151 protected String getGeometryType() {
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 return "POINT";
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153 }
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
154 } // end of WMSKmState
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
155 }
841af55d5e53 Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
156 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org