Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java @ 4269:0c766c475805
Add Panel and Tree UI classes for dispayling the measurement station info
The new ui classes are using the new extracted base class InfoPanel and InfoTree
which are in common with the gauge info.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Fri, 26 Oct 2012 12:22:06 +0200 |
parents | 2fdbe78a8fc2 |
children | a2735a4bf75e |
rev | line source |
---|---|
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
|
1 package de.intevation.flys.artifacts; |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
3 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
|
4 |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
5 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
|
6 |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
7 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
|
8 |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
9 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
|
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 de.intevation.artifacts.ArtifactFactory; |
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 import de.intevation.artifacts.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
|
13 |
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 import de.intevation.artifactdatabase.state.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
|
15 import de.intevation.artifactdatabase.state.Facet; |
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 import de.intevation.artifactdatabase.state.State; |
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 |
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 import de.intevation.flys.model.River; |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 import de.intevation.flys.model.CrossSectionTrack; |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 |
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 import de.intevation.flys.artifacts.model.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
|
22 import de.intevation.flys.artifacts.model.RiverFactory; |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 import de.intevation.flys.utils.FLYSUtils; |
3301
c8f670ae96e8
Create extent of a map layer in the correct coordinate reference system.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2699
diff
changeset
|
24 import de.intevation.flys.utils.GeometryUtils; |
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 |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 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
|
28 |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 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
|
30 |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 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
|
33 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
|
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 |
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 @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
|
37 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
|
38 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
|
39 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
|
40 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
|
41 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
|
42 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
|
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 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
|
45 |
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 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
|
47 } |
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 |
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 |
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 @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
|
51 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
|
52 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
|
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 |
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 @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
|
57 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
|
58 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
|
59 |
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 List<Facet> fs = facets.get(getCurrentStateId()); |
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 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
|
63 "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
|
64 "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
|
65 "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
|
66 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
|
67 "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
|
68 |
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 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
|
70 |
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 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
|
72 } |
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 |
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 |
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 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
|
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 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
|
78 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
|
79 |
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 protected int riverId; |
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 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
|
83 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
|
84 riverId = 0; |
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 } |
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 |
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 public int getRiverId() { |
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 if (riverId == 0) { |
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 String ids = artifact.getDataAsString("ids"); |
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 try { |
3405
b0ba96bbf01d
Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3301
diff
changeset
|
92 riverId = Integer.parseInt(ids); |
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
|
93 } |
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 catch (NumberFormatException nfe) { |
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 logger.error("Cannot parse river id from '" + ids + "'"); |
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 } |
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 |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
99 return riverId; |
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 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
|
104 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
|
105 } |
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 @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
|
108 protected String getUrl() { |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
109 return FLYSUtils.getUserWMSUrl(artifact.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
|
110 } |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 |
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 @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
|
113 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
|
114 River river = RiverFactory.getRiver(getRiverId()); |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
115 return FLYSUtils.getRiverSrid(river.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
|
116 } |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
117 |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
118 @Override |
3918
2fdbe78a8fc2
Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3405
diff
changeset
|
119 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
|
120 River river = RiverFactory.getRiver(getRiverId()); |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
121 |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
122 List<CrossSectionTrack> 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
|
123 CrossSectionTrack.getCrossSectionTrack(river.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
|
124 |
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 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
|
126 |
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 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
|
128 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
|
129 |
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 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
|
131 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
|
132 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
|
133 } |
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 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
|
136 } |
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 |
3918
2fdbe78a8fc2
Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3405
diff
changeset
|
138 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
|
139 ? 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
|
140 : 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
|
141 } |
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 @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
|
144 protected String getFilter() { |
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 return "river_id=" + String.valueOf(getRiverId()); |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
146 } |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
147 |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
148 @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
|
149 protected String getDataString() { |
1845
06c157848c8f
Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1836
diff
changeset
|
150 String srid = getSrid(); |
06c157848c8f
Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1836
diff
changeset
|
151 |
06c157848c8f
Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1836
diff
changeset
|
152 if (FLYSUtils.isUsingOracle()) { |
06c157848c8f
Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1836
diff
changeset
|
153 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
|
154 } |
06c157848c8f
Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1836
diff
changeset
|
155 else { |
06c157848c8f
Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1836
diff
changeset
|
156 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
|
157 "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
|
158 } |
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
|
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 |
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 @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
|
162 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
|
163 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
|
164 } |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
165 } // 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
|
166 } |
729ba79e94a0
Added datacage configuration, loader (Artifact and State) and a theme for cross section tracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
167 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |