Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/utils/FLYSUtils.java @ 4837:9e25c7523485
Fixed calculation of effective width in MINFO SQ relation.
* Get all (including empty datasets) from db.
* Filter empty datasets when processing data of the same date.
* Added debug outputs.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 23 Jan 2013 11:14:41 +0100 |
parents | 65bfb6faa538 |
children | a1ce76091ade |
rev | line source |
---|---|
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.utils; |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
4648
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
3 import de.intevation.artifactdatabase.state.State; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
4 import de.intevation.artifacts.Artifact; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
5 import de.intevation.artifacts.CallContext; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
6 import de.intevation.artifacts.common.utils.Config; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
7 import de.intevation.artifacts.common.utils.XMLUtils; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
8 import de.intevation.flys.artifacts.FLYSArtifact; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
9 import de.intevation.flys.artifacts.StaticWKmsArtifact; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
10 import de.intevation.flys.artifacts.WINFOArtifact; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
11 import de.intevation.flys.artifacts.context.FLYSContext; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
12 import de.intevation.flys.artifacts.model.LocationProvider; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
13 import de.intevation.flys.artifacts.model.RiverFactory; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
14 import de.intevation.flys.artifacts.model.WKms; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
15 import de.intevation.flys.artifacts.model.WQ; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
16 import de.intevation.flys.artifacts.model.WQKms; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
17 import de.intevation.flys.artifacts.states.WDifferencesState; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
18 import de.intevation.flys.artifacts.states.WaterlevelSelectState; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
19 import de.intevation.flys.backend.SessionFactoryProvider; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
20 import de.intevation.flys.model.Gauge; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
21 import de.intevation.flys.model.MainValue; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
22 import de.intevation.flys.model.River; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
23 |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
24 import gnu.trove.TDoubleArrayList; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
25 import gnu.trove.TIntArrayList; |
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
26 import gnu.trove.TLongArrayList; |
1740
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
27 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
28 import java.text.NumberFormat; |
1105
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
29 import java.util.HashMap; |
1740
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
30 import java.util.List; |
1105
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
31 import java.util.Map; |
2068
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
32 import java.util.regex.Matcher; |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
33 import java.util.regex.Pattern; |
1105
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
34 |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
35 import javax.xml.xpath.XPathConstants; |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
36 |
4648
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
37 import org.apache.log4j.Logger; |
1845
06c157848c8f
Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1805
diff
changeset
|
38 import org.hibernate.SessionFactory; |
06c157848c8f
Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1805
diff
changeset
|
39 import org.hibernate.impl.SessionFactoryImpl; |
4648
c04db3178d09
Work on river axis mapfile generator.
Christian Lins <christian.lins@intevation.de>
parents:
4635
diff
changeset
|
40 import org.w3c.dom.Document; |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 |
3047
d20215a0afd8
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2765
diff
changeset
|
42 |
4635
53fa4d5c9fb2
Deprecate FLYSUtils
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4616
diff
changeset
|
43 /** |
53fa4d5c9fb2
Deprecate FLYSUtils
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4616
diff
changeset
|
44 * Static helper methods to e.g. access FLYSArtifacts data. |
53fa4d5c9fb2
Deprecate FLYSUtils
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4616
diff
changeset
|
45 * |
53fa4d5c9fb2
Deprecate FLYSUtils
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4616
diff
changeset
|
46 * @deprecated Don't use FLYSUtils to get data from an {@link Artifact} anymore. |
53fa4d5c9fb2
Deprecate FLYSUtils
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4616
diff
changeset
|
47 * Instead use and/or create a {@link Access} class hierarchy. |
53fa4d5c9fb2
Deprecate FLYSUtils
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4616
diff
changeset
|
48 **/ |
53fa4d5c9fb2
Deprecate FLYSUtils
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4616
diff
changeset
|
49 @Deprecated |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 public class FLYSUtils { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 |
1150
5f53b443d67c
Implement getArtifact(uuid,context) in FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1129
diff
changeset
|
52 /** The logger that is used in this utility. */ |
5f53b443d67c
Implement getArtifact(uuid,context) in FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1129
diff
changeset
|
53 private static Logger logger = Logger.getLogger(FLYSUtils.class); |
5f53b443d67c
Implement getArtifact(uuid,context) in FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1129
diff
changeset
|
54 |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 public static enum KM_MODE { RANGE, LOCATIONS, NONE }; |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 |
2038
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
57 /** |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
58 * An enum that represents the 5 possible WQ modes in FLYS. The 5 values are |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
59 * <i>QFREE</i> <i>QGAUGE</i> <i>WGAUGE</i> <i>WFREE</i> and <i>NONE</i>. |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
60 */ |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
61 public static enum WQ_MODE { QFREE, QGAUGE, WFREE, WGAUGE, NONE }; |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
62 |
2422
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
63 /** |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
64 * An enum that represents the 4 possible WQ input modes in FLYS. The 4 |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
65 * values are |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
66 * <i>ADAPTED</i> <i>SINGLE</i> <i>RANGE</i> and <i>NONE</i>. |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
67 */ |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
68 public static enum WQ_INPUT { ADAPTED, SINGLE, RANGE, NONE }; |
2068
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
69 |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
70 public static final Pattern NUMBERS_PATTERN = |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
71 Pattern.compile("\\D*(\\d++.\\d*)\\D*"); |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
72 |
4656
442fbb290fa8
Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents:
4648
diff
changeset
|
73 public static final String XPATH_FLOODMAP_RIVER_PROJECTION = |
1105
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
74 "/artifact-database/floodmap/river[@name=$name]/srid/@value"; |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
75 |
4656
442fbb290fa8
Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents:
4648
diff
changeset
|
76 public static final String XPATH_FLOODMAP_SHAPEFILE_DIR = |
1129
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
77 "/artifact-database/floodmap/shapefile-path/@value"; |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
78 |
4656
442fbb290fa8
Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents:
4648
diff
changeset
|
79 public static final String XPATH_FLOODMAP_VELOCITY_LOGFILE = |
1129
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
80 "/artifact-database/floodmap/velocity/logfile/@path"; |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
81 |
4656
442fbb290fa8
Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents:
4648
diff
changeset
|
82 public static final String XPATH_FLOODMAP_MAPSERVER_URL = |
1129
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
83 "/artifact-database/floodmap/mapserver/server/@path"; |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
84 |
4656
442fbb290fa8
Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents:
4648
diff
changeset
|
85 public static final String XPATH_FLOODMAP_MAPFILE_PATH = |
1129
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
86 "/artifact-database/floodmap/mapserver/mapfile/@path"; |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
87 |
4656
442fbb290fa8
Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents:
4648
diff
changeset
|
88 public static final String XPATH_FLOODMAP_MAPFILE_TEMPLATE = |
1129
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
89 "/artifact-database/floodmap/mapserver/map-template/@path"; |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
90 |
4656
442fbb290fa8
Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents:
4648
diff
changeset
|
91 public static final String XPATH_FLOODMAP_MAPSERVER_TEMPLATE_PATH = |
1129
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
92 "/artifact-database/floodmap/mapserver/templates/@path"; |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
93 |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
94 |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
95 private FLYSUtils() { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
96 } |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
97 |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
98 |
2017
e384d78ff78b
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1845
diff
changeset
|
99 /** |
e384d78ff78b
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1845
diff
changeset
|
100 * Pulls Artifact with given UUID fromm database. |
e384d78ff78b
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1845
diff
changeset
|
101 * @return FLYSArtifact with given UUID or null (in case of errors). |
e384d78ff78b
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1845
diff
changeset
|
102 */ |
1118
7398280b11a0
Write WSP file for WSPLGEN and add its filepath to the WSPLGEN job.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1105
diff
changeset
|
103 public static FLYSArtifact getArtifact(String uuid, CallContext context) { |
1150
5f53b443d67c
Implement getArtifact(uuid,context) in FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1129
diff
changeset
|
104 try { |
1174
f58be0d661b9
Improved FLYSUtils: fetch Artifacts from ArtifactDatabase properly.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1150
diff
changeset
|
105 Artifact artifact = context.getDatabase().getRawArtifact(uuid); |
f58be0d661b9
Improved FLYSUtils: fetch Artifacts from ArtifactDatabase properly.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1150
diff
changeset
|
106 |
f58be0d661b9
Improved FLYSUtils: fetch Artifacts from ArtifactDatabase properly.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1150
diff
changeset
|
107 if (artifact == null) { |
f58be0d661b9
Improved FLYSUtils: fetch Artifacts from ArtifactDatabase properly.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1150
diff
changeset
|
108 logger.error("Artifact '" + uuid + "' does not exist."); |
f58be0d661b9
Improved FLYSUtils: fetch Artifacts from ArtifactDatabase properly.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1150
diff
changeset
|
109 return null; |
f58be0d661b9
Improved FLYSUtils: fetch Artifacts from ArtifactDatabase properly.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1150
diff
changeset
|
110 } |
f58be0d661b9
Improved FLYSUtils: fetch Artifacts from ArtifactDatabase properly.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1150
diff
changeset
|
111 |
f58be0d661b9
Improved FLYSUtils: fetch Artifacts from ArtifactDatabase properly.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1150
diff
changeset
|
112 if (!(artifact instanceof FLYSArtifact)) { |
f58be0d661b9
Improved FLYSUtils: fetch Artifacts from ArtifactDatabase properly.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1150
diff
changeset
|
113 logger.error("Artifact '" +uuid+ "' is no valid FLYSArtifact."); |
f58be0d661b9
Improved FLYSUtils: fetch Artifacts from ArtifactDatabase properly.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1150
diff
changeset
|
114 return null; |
f58be0d661b9
Improved FLYSUtils: fetch Artifacts from ArtifactDatabase properly.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1150
diff
changeset
|
115 } |
f58be0d661b9
Improved FLYSUtils: fetch Artifacts from ArtifactDatabase properly.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1150
diff
changeset
|
116 |
f58be0d661b9
Improved FLYSUtils: fetch Artifacts from ArtifactDatabase properly.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1150
diff
changeset
|
117 return (FLYSArtifact) artifact; |
1150
5f53b443d67c
Implement getArtifact(uuid,context) in FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1129
diff
changeset
|
118 } |
5f53b443d67c
Implement getArtifact(uuid,context) in FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1129
diff
changeset
|
119 // TODO: catch more selective |
5f53b443d67c
Implement getArtifact(uuid,context) in FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1129
diff
changeset
|
120 catch (Exception e) { |
2017
e384d78ff78b
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1845
diff
changeset
|
121 logger.error("Cannot get FLYSArtifact " + uuid |
e384d78ff78b
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1845
diff
changeset
|
122 + " from database (" + e.getMessage() + ")."); |
1150
5f53b443d67c
Implement getArtifact(uuid,context) in FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1129
diff
changeset
|
123 return null; |
5f53b443d67c
Implement getArtifact(uuid,context) in FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1129
diff
changeset
|
124 } |
1118
7398280b11a0
Write WSP file for WSPLGEN and add its filepath to the WSPLGEN job.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1105
diff
changeset
|
125 } |
7398280b11a0
Write WSP file for WSPLGEN and add its filepath to the WSPLGEN job.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1105
diff
changeset
|
126 |
7398280b11a0
Write WSP file for WSPLGEN and add its filepath to the WSPLGEN job.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1105
diff
changeset
|
127 |
1129
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
128 /** |
1777
a8aa343799a2
Extracet getFlysContext from FLYSArtifact to FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1740
diff
changeset
|
129 * Returns the FLYSContext from context object. |
a8aa343799a2
Extracet getFlysContext from FLYSArtifact to FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1740
diff
changeset
|
130 * |
a8aa343799a2
Extracet getFlysContext from FLYSArtifact to FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1740
diff
changeset
|
131 * @param context The CallContext or the FLYSContext. |
a8aa343799a2
Extracet getFlysContext from FLYSArtifact to FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1740
diff
changeset
|
132 * |
a8aa343799a2
Extracet getFlysContext from FLYSArtifact to FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1740
diff
changeset
|
133 * @return the FLYSContext. |
a8aa343799a2
Extracet getFlysContext from FLYSArtifact to FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1740
diff
changeset
|
134 */ |
a8aa343799a2
Extracet getFlysContext from FLYSArtifact to FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1740
diff
changeset
|
135 public static FLYSContext getFlysContext(Object context) { |
a8aa343799a2
Extracet getFlysContext from FLYSArtifact to FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1740
diff
changeset
|
136 return context instanceof FLYSContext |
a8aa343799a2
Extracet getFlysContext from FLYSArtifact to FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1740
diff
changeset
|
137 ? (FLYSContext) context |
a8aa343799a2
Extracet getFlysContext from FLYSArtifact to FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1740
diff
changeset
|
138 : (FLYSContext) ((CallContext) context).globalContext(); |
a8aa343799a2
Extracet getFlysContext from FLYSArtifact to FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1740
diff
changeset
|
139 } |
a8aa343799a2
Extracet getFlysContext from FLYSArtifact to FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1740
diff
changeset
|
140 |
a8aa343799a2
Extracet getFlysContext from FLYSArtifact to FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1740
diff
changeset
|
141 |
a8aa343799a2
Extracet getFlysContext from FLYSArtifact to FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1740
diff
changeset
|
142 /** |
1129
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
143 * Convinience function to retrieve an XPath as string with replaced config |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
144 * directory. |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
145 * |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
146 * @param xpath The XPath expression. |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
147 * |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
148 * @return a string with replaced config directory. |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
149 */ |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
150 public static String getXPathString(String xpath) { |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
151 String tmp = Config.getStringXPath(xpath); |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
152 tmp = Config.replaceConfigDir(tmp); |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
153 |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
154 return tmp; |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
155 } |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
156 |
da3c3e286c88
Introduced a MapfileGenerator that creates Mapserver specific mapfiles based on WSPLGEN results read from filesystem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1118
diff
changeset
|
157 |
1845
06c157848c8f
Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1805
diff
changeset
|
158 public static boolean isUsingOracle() { |
06c157848c8f
Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1805
diff
changeset
|
159 SessionFactory sf = SessionFactoryProvider.getSessionFactory(); |
06c157848c8f
Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1805
diff
changeset
|
160 |
06c157848c8f
Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1805
diff
changeset
|
161 String d = SessionFactoryProvider.getDriver((SessionFactoryImpl) sf); |
06c157848c8f
Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1805
diff
changeset
|
162 |
06c157848c8f
Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1805
diff
changeset
|
163 return d != null ? d.indexOf("Oracle") >= 0 : false; |
06c157848c8f
Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1805
diff
changeset
|
164 } |
06c157848c8f
Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1805
diff
changeset
|
165 |
06c157848c8f
Made the floodmap compatible with an Oracle database.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1805
diff
changeset
|
166 |
2038
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
167 /** |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
168 * This method returns an WQ_MODE enum which is based on the parameters |
2423
ac528b883b47
Picked rev 4070,4074,4076,4080 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2422
diff
changeset
|
169 * stored in <i>flys</i> Artifact. If there is no <i>wq_isq</i> parameter |
2038
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
170 * existing, WQ_MODE.NONE is returned. |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
171 * |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
172 * @param flys The FLYSArtifact that stores wq mode relevant parameters. |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
173 * |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
174 * @return an enum WQ_MODE. |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
175 */ |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
176 public static WQ_MODE getWQMode(FLYSArtifact flys) { |
2081
aa9cc91c8193
#444 Take care on NullPointerExceptions in getWQMode. Take 'false' as default value if no 'wq_free' item is existing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2068
diff
changeset
|
177 if (flys == null) { |
aa9cc91c8193
#444 Take care on NullPointerExceptions in getWQMode. Take 'false' as default value if no 'wq_free' item is existing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2068
diff
changeset
|
178 return WQ_MODE.NONE; |
aa9cc91c8193
#444 Take care on NullPointerExceptions in getWQMode. Take 'false' as default value if no 'wq_free' item is existing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2068
diff
changeset
|
179 } |
aa9cc91c8193
#444 Take care on NullPointerExceptions in getWQMode. Take 'false' as default value if no 'wq_free' item is existing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2068
diff
changeset
|
180 |
2422
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
181 String values = flys.getDataAsString("wq_values"); |
3444
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
182 Boolean isQ = flys.getDataAsBoolean("wq_isq"); |
2038
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
183 |
2422
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
184 if (values != null) { |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
185 return isQ ? WQ_MODE.QGAUGE : WQ_MODE.WGAUGE; |
2038
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
186 } |
2422
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
187 |
2423
ac528b883b47
Picked rev 4070,4074,4076,4080 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2422
diff
changeset
|
188 Boolean isFree = flys.getDataAsBoolean("wq_isfree"); |
2422
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
189 |
4413
c62598c372ab
FLYSUtils: Null-guard some conditionals (autoboxes).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4363
diff
changeset
|
190 if (isQ != null && isQ) { |
2422
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
191 return isFree ? WQ_MODE.QFREE : WQ_MODE.QGAUGE; |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
192 } |
4413
c62598c372ab
FLYSUtils: Null-guard some conditionals (autoboxes).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4363
diff
changeset
|
193 else if (isQ != null && !isQ) { |
2422
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
194 return isFree ? WQ_MODE.WFREE : WQ_MODE.WGAUGE; |
2038
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
195 } |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
196 else { |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
197 return WQ_MODE.NONE; |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
198 } |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
199 } |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
200 |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
201 |
2422
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
202 public static WQ_INPUT getWQInputMode(FLYSArtifact flys) { |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
203 if (flys == null) { |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
204 return WQ_INPUT.NONE; |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
205 } |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
206 |
2423
ac528b883b47
Picked rev 4070,4074,4076,4080 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2422
diff
changeset
|
207 Boolean selection = flys.getDataAsBoolean("wq_isrange"); |
2422
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
208 String adapted = flys.getDataAsString("wq_values"); |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
209 |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
210 if(adapted != null && adapted.length() > 0) { |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
211 return WQ_INPUT.ADAPTED; |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
212 } |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
213 |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
214 if (selection != null && selection) { |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
215 return WQ_INPUT.RANGE; |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
216 } |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
217 else { |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
218 return WQ_INPUT.SINGLE; |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
219 } |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
220 } |
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
221 |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
222 public static KM_MODE getKmRangeMode(FLYSArtifact flys) { |
1099
af73f196eccc
Refactored to use new FLYSUtils, moved getRiver-functionality inside.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1095
diff
changeset
|
223 String mode = flys.getDataAsString("ld_mode"); |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
224 |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
225 if (mode == null || mode.length() == 0) { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
226 return KM_MODE.NONE; |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
227 } |
4812
65bfb6faa538
Bring Access pattern to "W fuer ungleichwertige Abflusslaengsschnitte".
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4703
diff
changeset
|
228 if (mode.equals("distance")) { |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
229 return KM_MODE.RANGE; |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
230 } |
4812
65bfb6faa538
Bring Access pattern to "W fuer ungleichwertige Abflusslaengsschnitte".
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4703
diff
changeset
|
231 if (mode.equals("locations")) { |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
232 return KM_MODE.LOCATIONS; |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
233 } |
4812
65bfb6faa538
Bring Access pattern to "W fuer ungleichwertige Abflusslaengsschnitte".
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4703
diff
changeset
|
234 return KM_MODE.NONE; |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
235 } |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
236 |
2041
e5f01f2325c9
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2038
diff
changeset
|
237 /** |
e5f01f2325c9
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2038
diff
changeset
|
238 * Get min and max kilometer, independent of parametization |
e5f01f2325c9
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2038
diff
changeset
|
239 * (ld_from/to vs ld_locations). |
e5f01f2325c9
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2038
diff
changeset
|
240 */ |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
241 public static double[] getKmRange(FLYSArtifact flys) { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
242 switch (getKmRangeMode(flys)) { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
243 case RANGE: { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
244 return getKmFromTo(flys); |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
245 } |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
246 |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
247 case LOCATIONS: { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
248 double[] locs = getLocations(flys); |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
249 return new double[] { locs[0], locs[locs.length-1] }; |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
250 } |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
251 |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
252 case NONE: { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
253 double[] locs = getLocations(flys); |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
254 if (locs != null) { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
255 return new double[] { locs[0], locs[locs.length-1] }; |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
256 } |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
257 else { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
258 return getKmFromTo(flys); |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
259 } |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
260 } |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
261 } |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
262 |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
263 return new double[] { Double.NaN, Double.NaN }; |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
264 } |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
265 |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
266 |
2235
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
267 /** |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
268 * Get bounds for river of artifact. |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
269 * @param flysArtifact artifact which has a "river" data. |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
270 * @return double array. min is at[0], max at[1]. null if given artifact is null |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
271 */ |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
272 public static double[] getRiverMinMax(FLYSArtifact flysArtifact) { |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
273 if (flysArtifact == null) { |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
274 return null; |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
275 } |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
276 |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
277 String riverName = flysArtifact.getDataAsString("river"); |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
278 |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
279 if (riverName == null) { |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
280 riverName = ""; |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
281 } |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
282 |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
283 logger.debug("Search for the min/max distances of '" + riverName + "'"); |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
284 |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
285 River river = RiverFactory.getRiver(riverName); |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
286 |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
287 return river != null |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
288 ? river.determineMinMaxDistance() |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
289 : null; |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
290 } |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
291 |
ee5310134463
Cosmetics/care/refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2216
diff
changeset
|
292 |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
293 public static double[] getKmFromTo(FLYSArtifact flys) { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
294 String strFrom = flys.getDataAsString("ld_from"); |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
295 String strTo = flys.getDataAsString("ld_to"); |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
296 |
3444
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
297 if (strFrom == null) { |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
298 strFrom = flys.getDataAsString("from"); |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
299 } |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
300 |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
301 if (strTo == null) { |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
302 strTo = flys.getDataAsString("to"); |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
303 } |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
304 |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
305 if (strFrom == null || strTo == null) { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
306 return null; |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
307 } |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
308 |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
309 try { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
310 return new double[] { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
311 Double.parseDouble(strFrom), |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
312 Double.parseDouble(strTo) }; |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
313 } |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
314 catch (NumberFormatException nfe) { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
315 return null; |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
316 } |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
317 } |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
318 |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
319 |
2041
e5f01f2325c9
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2038
diff
changeset
|
320 /** |
e5f01f2325c9
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2038
diff
changeset
|
321 * Return sorted array of locations at which stuff was calculated |
e5f01f2325c9
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2038
diff
changeset
|
322 * (from ld_locations data), null if not parameterized this way. |
e5f01f2325c9
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2038
diff
changeset
|
323 */ |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
324 public static double[] getLocations(FLYSArtifact flys) { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
325 String locationStr = flys.getDataAsString("ld_locations"); |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
326 |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
327 if (locationStr == null || locationStr.length() == 0) { |
2765
79f6d0802b06
Prepare improved Discharge curve compatibility.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2600
diff
changeset
|
328 if (flys instanceof WINFOArtifact) { |
79f6d0802b06
Prepare improved Discharge curve compatibility.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2600
diff
changeset
|
329 WINFOArtifact winfo = (WINFOArtifact) flys; |
4616
e285630569dc
Fix reference curve creation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4413
diff
changeset
|
330 if (winfo.getReferenceStartKm() != null && winfo.getReferenceEndKms() != null) { |
2765
79f6d0802b06
Prepare improved Discharge curve compatibility.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2600
diff
changeset
|
331 return new double[] |
79f6d0802b06
Prepare improved Discharge curve compatibility.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2600
diff
changeset
|
332 { |
79f6d0802b06
Prepare improved Discharge curve compatibility.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2600
diff
changeset
|
333 winfo.getReferenceStartKm().doubleValue(), |
79f6d0802b06
Prepare improved Discharge curve compatibility.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2600
diff
changeset
|
334 winfo.getReferenceEndKms()[0] |
79f6d0802b06
Prepare improved Discharge curve compatibility.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2600
diff
changeset
|
335 }; |
79f6d0802b06
Prepare improved Discharge curve compatibility.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2600
diff
changeset
|
336 } |
79f6d0802b06
Prepare improved Discharge curve compatibility.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2600
diff
changeset
|
337 } |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
338 return null; |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
339 } |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
340 |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
341 String[] tmp = locationStr.split(" "); |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
342 TDoubleArrayList locations = new TDoubleArrayList(); |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
343 |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
344 for (String l: tmp) { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
345 try { |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
346 locations.add(Double.parseDouble(l)); |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
347 } |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
348 catch (NumberFormatException nfe) { |
4656
442fbb290fa8
Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents:
4648
diff
changeset
|
349 logger.debug(nfe.getLocalizedMessage(), nfe); |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
350 } |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
351 } |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
352 |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
353 locations.sort(); |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
354 |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
355 return locations.toNativeArray(); |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
356 } |
1099
af73f196eccc
Refactored to use new FLYSUtils, moved getRiver-functionality inside.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1095
diff
changeset
|
357 |
af73f196eccc
Refactored to use new FLYSUtils, moved getRiver-functionality inside.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1095
diff
changeset
|
358 |
af73f196eccc
Refactored to use new FLYSUtils, moved getRiver-functionality inside.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1095
diff
changeset
|
359 /** |
2045
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
360 * Returns the Qs for a given FLYSArtifact. This method currently accepts |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
361 * only instances of WINFOArtifact. |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
362 * |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
363 * @param flys A FLYSArtifact. |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
364 * |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
365 * @return the Qs. |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
366 */ |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
367 public static double[] getQs(FLYSArtifact flys) { |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
368 // XXX this is not nice! |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
369 if (flys instanceof WINFOArtifact) { |
2423
ac528b883b47
Picked rev 4070,4074,4076,4080 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2422
diff
changeset
|
370 return ((WINFOArtifact) flys).getQs(); |
2045
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
371 } |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
372 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
373 logger.warn("This method currently supports WINFOArtifact only!"); |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
374 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
375 return null; |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
376 } |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
377 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
378 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
379 /** |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
380 * Returns the Ws for a given FLYSArtifact. This method currently accepts |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
381 * only instances of WINFOArtifact. |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
382 * |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
383 * @param flys A FLYSArtifact. |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
384 * |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
385 * @return the Ws. |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
386 */ |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
387 public static double[] getWs(FLYSArtifact flys) { |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
388 // XXX this is not nice! |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
389 if (flys instanceof WINFOArtifact) { |
2422
44dc117aa2b7
Picked rev 4058,4063,4065,4068,4069 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2296
diff
changeset
|
390 return ((WINFOArtifact) flys).getWs(); |
2045
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
391 } |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
392 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
393 logger.warn("This method currently supports WINFOArtifact only!"); |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
394 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
395 return null; |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
396 } |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
397 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
398 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
399 /** |
1099
af73f196eccc
Refactored to use new FLYSUtils, moved getRiver-functionality inside.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1095
diff
changeset
|
400 * Returns the selected River object based on the 'river' data that might |
af73f196eccc
Refactored to use new FLYSUtils, moved getRiver-functionality inside.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1095
diff
changeset
|
401 * have been inserted by the user. |
af73f196eccc
Refactored to use new FLYSUtils, moved getRiver-functionality inside.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1095
diff
changeset
|
402 * |
af73f196eccc
Refactored to use new FLYSUtils, moved getRiver-functionality inside.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1095
diff
changeset
|
403 * @return the selected River or null if no river has been chosen yet. |
af73f196eccc
Refactored to use new FLYSUtils, moved getRiver-functionality inside.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1095
diff
changeset
|
404 */ |
af73f196eccc
Refactored to use new FLYSUtils, moved getRiver-functionality inside.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1095
diff
changeset
|
405 public static River getRiver(FLYSArtifact flys) { |
2045
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
406 String sRiver = getRivername(flys); |
1099
af73f196eccc
Refactored to use new FLYSUtils, moved getRiver-functionality inside.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1095
diff
changeset
|
407 |
af73f196eccc
Refactored to use new FLYSUtils, moved getRiver-functionality inside.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1095
diff
changeset
|
408 return (sRiver != null) |
af73f196eccc
Refactored to use new FLYSUtils, moved getRiver-functionality inside.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1095
diff
changeset
|
409 ? RiverFactory.getRiver(sRiver) |
af73f196eccc
Refactored to use new FLYSUtils, moved getRiver-functionality inside.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1095
diff
changeset
|
410 : null; |
af73f196eccc
Refactored to use new FLYSUtils, moved getRiver-functionality inside.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1095
diff
changeset
|
411 } |
1105
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
412 |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
413 |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
414 /** |
2045
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
415 * Returns the name of the river specified in the given <i>flys</i> |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
416 * Artifact. |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
417 * |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
418 * @param flys The FLYSArtifact that stores a river relevant information. |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
419 * |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
420 * @return the name of the specified river or null. |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
421 */ |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
422 public static String getRivername(FLYSArtifact flys) { |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
423 return flys != null ? flys.getDataAsString("river") : null; |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
424 } |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
425 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
426 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
427 /** |
1105
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
428 * Extracts the SRID defined in the global configuration for the river |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
429 * specified in <i>artifact</i>. |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
430 * |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
431 * @param artifact The FLYSArtifact that stores the name of the river. |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
432 * |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
433 * @return the SRID as string (e.g. "31466"). |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
434 */ |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
435 public static String getRiverSrid(FLYSArtifact artifact) { |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
436 String river = artifact.getDataAsString("river"); |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
437 |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
438 if (river == null || river.length() == 0) { |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
439 return null; |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
440 } |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
441 |
1805
5e9696c32f04
Added datacage config and loaders for KM WMS layer in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1792
diff
changeset
|
442 return getRiverSrid(river); |
5e9696c32f04
Added datacage config and loaders for KM WMS layer in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1792
diff
changeset
|
443 } |
5e9696c32f04
Added datacage config and loaders for KM WMS layer in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1792
diff
changeset
|
444 |
5e9696c32f04
Added datacage config and loaders for KM WMS layer in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1792
diff
changeset
|
445 |
5e9696c32f04
Added datacage config and loaders for KM WMS layer in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1792
diff
changeset
|
446 public static String getRiverSrid(String rivername) { |
1105
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
447 Map<String, String> variables = new HashMap<String, String>(1); |
1805
5e9696c32f04
Added datacage config and loaders for KM WMS layer in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1792
diff
changeset
|
448 variables.put("name", rivername); |
1105
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
449 |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
450 Document cfg = Config.getConfig(); |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
451 |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
452 return (String) XMLUtils.xpath( |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
453 cfg, |
4656
442fbb290fa8
Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents:
4648
diff
changeset
|
454 XPATH_FLOODMAP_RIVER_PROJECTION, |
1105
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
455 XPathConstants.STRING, |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
456 null, |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
457 variables); |
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
458 } |
1740
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
459 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
460 |
3284
d9af29a4bb85
Various cosmetic doc fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
461 /** |
d9af29a4bb85
Various cosmetic doc fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
462 * Return the (first) Gauge corresponding to the given location(s) of |
d9af29a4bb85
Various cosmetic doc fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
463 * the artifact. |
d9af29a4bb85
Various cosmetic doc fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
464 * @param flys the artifact in question. |
d9af29a4bb85
Various cosmetic doc fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
465 * @return (First) gauge of locations of river of artifact. |
d9af29a4bb85
Various cosmetic doc fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
466 */ |
2045
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
467 public static Gauge getGauge(FLYSArtifact flys) { |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
468 River river = getRiver(flys); |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
469 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
470 if (river == null) { |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
471 logger.debug("no river found"); |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
472 return null; |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
473 } |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
474 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
475 double[] dist = getKmRange(flys); |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
476 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
477 if (dist == null) { |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
478 logger.debug("no range found"); |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
479 return null; |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
480 } |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
481 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
482 if (logger.isDebugEnabled()) { |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
483 logger.debug("Determine gauge for:"); |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
484 logger.debug("... river: " + river.getName()); |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
485 logger.debug("... distance: " + dist[0] + " - " + dist[1]); |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
486 } |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
487 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
488 Gauge gauge = river.determineGauge(dist[0], dist[1]); |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
489 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
490 String name = gauge != null ? gauge.getName() : "'n/a"; |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
491 logger.debug("Found gauge: " + name); |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
492 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
493 return gauge; |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
494 } |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
495 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
496 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
497 public static String getGaugename(FLYSArtifact flys) { |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
498 Gauge gauge = getGauge(flys); |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
499 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
500 return gauge != null ? gauge.getName() : null; |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
501 } |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
502 |
d13be39cfd1d
#242 Added header with meta information into CSV exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2041
diff
changeset
|
503 |
2128
bf67eb014443
Added convinience functions to FLYSArtifact and FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2081
diff
changeset
|
504 public static Gauge getReferenceGauge(FLYSArtifact flys) { |
bf67eb014443
Added convinience functions to FLYSArtifact and FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2081
diff
changeset
|
505 Long officialNumber = flys.getDataAsLong("reference_gauge"); |
bf67eb014443
Added convinience functions to FLYSArtifact and FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2081
diff
changeset
|
506 |
bf67eb014443
Added convinience functions to FLYSArtifact and FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2081
diff
changeset
|
507 return officialNumber != null |
bf67eb014443
Added convinience functions to FLYSArtifact and FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2081
diff
changeset
|
508 ? Gauge.getGaugeByOfficialNumber(officialNumber) |
bf67eb014443
Added convinience functions to FLYSArtifact and FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2081
diff
changeset
|
509 : null; |
bf67eb014443
Added convinience functions to FLYSArtifact and FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2081
diff
changeset
|
510 } |
bf67eb014443
Added convinience functions to FLYSArtifact and FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2081
diff
changeset
|
511 |
bf67eb014443
Added convinience functions to FLYSArtifact and FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2081
diff
changeset
|
512 |
2249
997df76c6f58
Create title, subtitle and axes labels for charts from type historical discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2235
diff
changeset
|
513 public static String getReferenceGaugeName(FLYSArtifact flys) { |
997df76c6f58
Create title, subtitle and axes labels for charts from type historical discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2235
diff
changeset
|
514 Gauge refGauge = getReferenceGauge(flys); |
997df76c6f58
Create title, subtitle and axes labels for charts from type historical discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2235
diff
changeset
|
515 |
997df76c6f58
Create title, subtitle and axes labels for charts from type historical discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2235
diff
changeset
|
516 return refGauge != null |
997df76c6f58
Create title, subtitle and axes labels for charts from type historical discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2235
diff
changeset
|
517 ? refGauge.getName() |
997df76c6f58
Create title, subtitle and axes labels for charts from type historical discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2235
diff
changeset
|
518 : "-- not found --"; |
997df76c6f58
Create title, subtitle and axes labels for charts from type historical discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2235
diff
changeset
|
519 } |
997df76c6f58
Create title, subtitle and axes labels for charts from type historical discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2235
diff
changeset
|
520 |
997df76c6f58
Create title, subtitle and axes labels for charts from type historical discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2235
diff
changeset
|
521 |
2068
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
522 public static Double getValueFromWQ(WQ wq) { |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
523 if (wq == null) { |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
524 return null; |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
525 } |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
526 |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
527 Matcher m = NUMBERS_PATTERN.matcher(wq.getName()); |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
528 |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
529 if (m.matches()) { |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
530 logger.debug("Found a number."); |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
531 |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
532 String raw = m.group(1); |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
533 |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
534 try { |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
535 return Double.valueOf(raw); |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
536 } |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
537 catch (NumberFormatException nfe) { |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
538 } |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
539 } |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
540 |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
541 return null; |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
542 } |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
543 |
0cf60d64895c
#370 Added a 'W at gauge' column to CSV exports if 'W at gauge' mode has been selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2063
diff
changeset
|
544 |
4363
9dfec327acc6
FLYSUtils: Minor doc add.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4278
diff
changeset
|
545 /** Creates human-readable name for a wsp (waterlevel/longitudinal section). |
9dfec327acc6
FLYSUtils: Minor doc add.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4278
diff
changeset
|
546 * @param name will be split at '='s. |
9dfec327acc6
FLYSUtils: Minor doc add.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4278
diff
changeset
|
547 */ |
1740
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
548 public static String createWspWTitle( |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
549 WINFOArtifact winfo, |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
550 CallContext cc, |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
551 String name |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
552 ) { |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
553 String[] parts = name.split("="); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
554 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
555 NumberFormat nf = Formatter.getWaterlevelW(cc); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
556 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
557 String namedMainValue = null; |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
558 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
559 boolean isQ = winfo.isQ(); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
560 boolean isFree = winfo.isFreeQ(); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
561 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
562 double v; |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
563 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
564 try { |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
565 v = Double.valueOf(parts[1]); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
566 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
567 namedMainValue = getNamedMainValue(winfo.getGauge(), v); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
568 } |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
569 catch (NumberFormatException nfe) { |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
570 logger.warn("Cannot parse Double of: '" + parts[1] + "'"); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
571 return name; |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
572 } |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
573 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
574 String prefix = null; |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
575 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
576 if (isQ && !isFree && namedMainValue != null) { |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
577 return "W (" + namedMainValue + ")"; |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
578 } |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
579 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
580 if (isQ) { |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
581 prefix = "Q="; |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
582 } |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
583 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
584 return prefix == null |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
585 ? "W(" + nf.format(v) + ")" |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
586 : "W(" + prefix + nf.format(v) + ")"; |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
587 } |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
588 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
589 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
590 public static String createWspQTitle( |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
591 WINFOArtifact winfo, |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
592 CallContext cc, |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
593 String name |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
594 ) { |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
595 String[] parts = name.split("="); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
596 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
597 NumberFormat nf = Formatter.getWaterlevelQ(cc); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
598 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
599 String namedMainValue = null; |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
600 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
601 boolean isQ = winfo.isQ(); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
602 boolean isFree = winfo.isFreeQ(); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
603 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
604 double v; |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
605 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
606 try { |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
607 v = Double.valueOf(parts[1]); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
608 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
609 namedMainValue = getNamedMainValue(winfo.getGauge(), v); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
610 } |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
611 catch (NumberFormatException nfe) { |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
612 logger.warn("Cannot parse Double of: '" + parts[1] + "'"); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
613 return name; |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
614 } |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
615 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
616 String prefix = null; |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
617 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
618 if (isQ && !isFree && namedMainValue != null) { |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
619 return namedMainValue; |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
620 } |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
621 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
622 if (!isQ) { |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
623 prefix = "W="; |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
624 } |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
625 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
626 return prefix == null |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
627 ? "Q(" + nf.format(v) + ")" |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
628 : "Q(" + prefix + nf.format(v) + ")"; |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
629 } |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
630 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
631 |
2038
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
632 /** |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
633 * Returns the named main value if a Q was selected and if this Q fits to a |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
634 * named main value. Otherwise, this function returns null. |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
635 * |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
636 * @param winfo The WINFO Artifact. |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
637 * @param value The Q (or W) value. |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
638 * |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
639 * @return a named main value or null. |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
640 */ |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
641 public static String getNamedMainValue(WINFOArtifact winfo, double value) { |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
642 WQ_MODE wqmode = getWQMode(winfo); |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
643 |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
644 if (wqmode != WQ_MODE.QGAUGE) { |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
645 return null; |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
646 } |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
647 else { |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
648 return getNamedMainValue(winfo.getGauge(), value); |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
649 } |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
650 } |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
651 |
f73036b991e2
Bugfix: repaired broken named values in exports - the last solution had bad side effects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2035
diff
changeset
|
652 |
1740
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
653 public static String getNamedMainValue(Gauge gauge, double value) { |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
654 List<MainValue> mainValues = gauge.getMainValues(); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
655 logger.debug("Search named main value for: " + value); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
656 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
657 for (MainValue mv: mainValues) { |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
658 if (mv.getValue().doubleValue() == value) { |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
659 logger.debug("Found named main value: " + mv.getMainValue().getName()); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
660 return mv.getMainValue().getName(); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
661 } |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
662 } |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
663 |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
664 logger.debug("Did not find a named main value for: " + value); |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
665 return null; |
8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1174
diff
changeset
|
666 } |
1792
49ad801076e4
Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1777
diff
changeset
|
667 |
49ad801076e4
Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1777
diff
changeset
|
668 |
49ad801076e4
Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1777
diff
changeset
|
669 /** |
2035
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
670 * |
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
671 * @param nmv A string that represents a named main value. |
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
672 * |
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
673 * @throws NullPointerException if nmv is null. |
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
674 */ |
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
675 public static String stripNamedMainValue(String nmv) { |
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
676 int startIndex = nmv.indexOf("("); |
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
677 int endIndex = nmv.indexOf(")"); |
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
678 |
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
679 if (startIndex > 0 && endIndex > 0 && startIndex < endIndex) { |
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
680 return nmv.substring(0, startIndex); |
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
681 } |
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
682 |
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
683 return nmv; |
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
684 } |
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
685 |
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
686 |
3ebbe497d7f7
#252 Set titles in waterlevel exports to named main values if those are existing for given Q values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2017
diff
changeset
|
687 /** |
1792
49ad801076e4
Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1777
diff
changeset
|
688 * Returns the URL of user mapfile for the owner of Artifact |
49ad801076e4
Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1777
diff
changeset
|
689 * <i>artifactId</i>. |
49ad801076e4
Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1777
diff
changeset
|
690 * |
49ad801076e4
Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1777
diff
changeset
|
691 * @param artifactId The UUID of an artifact. |
49ad801076e4
Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1777
diff
changeset
|
692 * |
49ad801076e4
Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1777
diff
changeset
|
693 * @return the URL of the user wms. |
49ad801076e4
Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1777
diff
changeset
|
694 */ |
49ad801076e4
Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1777
diff
changeset
|
695 public static String getUserWMSUrl(String artifactId) { |
4656
442fbb290fa8
Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents:
4648
diff
changeset
|
696 String url = getXPathString(XPATH_FLOODMAP_MAPSERVER_URL); |
2296
d69d8dea78dc
Be more merciful for building the URL for the user-wms.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2249
diff
changeset
|
697 url = url.endsWith("/") ? url + "user-wms" : url + "/" + "user-wms"; |
1792
49ad801076e4
Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1777
diff
changeset
|
698 |
49ad801076e4
Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1777
diff
changeset
|
699 return url; |
49ad801076e4
Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1777
diff
changeset
|
700 } |
2063
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
701 |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
702 |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
703 /** |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
704 * This method returns the description for a given <i>km</i> for a specific |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
705 * river. The river is provided by the FLYSArtifact <i>flys</i>. |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
706 * |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
707 * @param flys The FLYSArtifact that provides a river. |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
708 * @param km The kilometer. |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
709 * |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
710 * @return the description for <i>km</i> or an empty string if no |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
711 * description was found. |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
712 */ |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
713 public static String getLocationDescription(FLYSArtifact flys, double km) { |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
714 String river = getRivername(flys); |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
715 |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
716 if (river == null) { |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
717 return ""; |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
718 } |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
719 |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
720 return LocationProvider.getLocation(river, km); |
97a25b54eea3
Part 1 of #125: added a description for a location to the WaterlevelExport.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2045
diff
changeset
|
721 } |
2179
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
722 |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
723 |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
724 /** |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
725 * This method returns the differences for a w-differences calculation. |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
726 * |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
727 * @param winfo The WINFOArtifact. |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
728 * @param context The context. |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
729 * |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
730 * @return The differences as string separated by semicolon and linebreak. |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
731 */ |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
732 public static String getWDifferences( |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
733 WINFOArtifact winfo, |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
734 CallContext context) |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
735 { |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
736 State state = winfo.getCurrentState(context); |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
737 if(state instanceof WDifferencesState) { |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
738 String diffids = winfo.getDataAsString("diffids"); |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
739 String datas[] = diffids.split("#"); |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
740 |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
741 // Validate the Data-Strings. |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
742 for (String s: datas) { |
4054
102050c4fc00
fix issue909: strange validation code. be fearles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3969
diff
changeset
|
743 if (!WaterlevelSelectState.isValueValid(s)) { |
2179
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
744 return ""; |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
745 } |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
746 } |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
747 |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
748 if (datas.length < 2) { |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
749 return ""; |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
750 } |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
751 |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
752 String diffs = ""; |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
753 for(int i = 0; i < datas.length; i+=2) { |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
754 // e.g.: |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
755 // 42537f1e-3522-42ef-8968-635b03d8e9c6;longitudinal_section.w;1 |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
756 WKms minuendWKms = getWKms(StringUtil.unbracket(datas[i+0]), |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
757 context); |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
758 WKms subtrahendWKms = getWKms(StringUtil.unbracket(datas[i+1]), |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
759 context); |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
760 if (minuendWKms != null && subtrahendWKms != null) { |
3076
5642a83420f2
FLYS artifacts: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3047
diff
changeset
|
761 diffs += StringUtil.wWrap(minuendWKms.getName()) |
2179
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
762 + " - " + StringUtil.wWrap(subtrahendWKms.getName()); |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
763 } |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
764 diffs += ";\n"; |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
765 } |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
766 return diffs; |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
767 } |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
768 else { |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
769 logger.warn("Not a valid state for differences."); |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
770 return ""; |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
771 } |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
772 } |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
773 |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
774 |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
775 protected static WKms getWKms(String mingle, CallContext context) { |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
776 String[] def = mingle.split(";"); |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
777 String uuid = def[0]; |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
778 String name = def[1]; |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
779 int idx = Integer.parseInt(def[2]); |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
780 |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
781 if (name.startsWith("staticwkms")) { |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
782 StaticWKmsArtifact staticWKms = |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
783 (StaticWKmsArtifact) FLYSUtils.getArtifact( |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
784 uuid, |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
785 context); |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
786 WKms wkms = staticWKms.getWKms(idx); |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
787 if (wkms == null) |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
788 logger.error("No WKms from artifact."); |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
789 return wkms; |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
790 } |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
791 |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
792 WINFOArtifact flys = (WINFOArtifact) FLYSUtils.getArtifact( |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
793 uuid, |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
794 context); |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
795 |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
796 if (flys == null) { |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
797 logger.warn("One of the artifacts (1) for diff calculation could not be loaded"); |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
798 return null; |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
799 } |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
800 else{ |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
801 WQKms[] wqkms = (WQKms[]) flys.getWaterlevelData(). |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
802 getData(); |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
803 if (wqkms == null) |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
804 logger.warn("not waterlevels in artifact"); |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
805 else if (wqkms.length < idx) |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
806 logger.warn("not enough waterlevels in artifact"); |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
807 return wqkms[idx]; |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
808 } |
c3e523a76340
Added method that return the differences for a w-differences calculation as
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2128
diff
changeset
|
809 } |
2216
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
810 |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
811 |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
812 /** |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
813 * This method transform a string into an int array. Therefore, the string |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
814 * <i>raw</i> must consist of int values separated by a <i>';'</i>. |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
815 * |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
816 * @param raw The raw integer array as string separated by a ';'. |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
817 * |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
818 * @return an array of int values. |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
819 */ |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
820 public static int[] intArrayFromString(String raw) { |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
821 String[] splitted = raw != null ? raw.split(";") : null; |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
822 |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
823 if (splitted == null || splitted.length == 0) { |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
824 logger.warn("No integer values found in '" + raw + "'"); |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
825 return new int[0]; |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
826 } |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
827 |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
828 TIntArrayList integers = new TIntArrayList(splitted.length); |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
829 |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
830 for (String value: splitted) { |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
831 try { |
3405
b0ba96bbf01d
Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3284
diff
changeset
|
832 integers.add(Integer.parseInt(value)); |
2216
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
833 } |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
834 catch (NumberFormatException nfe) { |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
835 logger.warn("Parsing integer failed: " + nfe); |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
836 } |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
837 } |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
838 |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
839 return integers.toNativeArray(); |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
840 } |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
841 |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
842 |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
843 /** |
2600
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
844 * This method transform a string into a long array. Therefore, the string |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
845 * <i>raw</i> must consist of int values separated by a <i>';'</i>. |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
846 * |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
847 * @param raw The raw long array as string separated by a ';'. |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
848 * |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
849 * @return an array of int values. |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
850 */ |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
851 public static long[] longArrayFromString(String raw) { |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
852 String[] splitted = raw != null ? raw.split(";") : null; |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
853 |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
854 if (splitted == null || splitted.length == 0) { |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
855 logger.warn("No long values found in '" + raw + "'"); |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
856 return new long[0]; |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
857 } |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
858 |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
859 TLongArrayList longs = new TLongArrayList(splitted.length); |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
860 |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
861 for (String value: splitted) { |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
862 try { |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
863 longs.add(Long.valueOf(value)); |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
864 } |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
865 catch (NumberFormatException nfe) { |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
866 logger.warn("Parsing long failed: " + nfe); |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
867 } |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
868 } |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
869 |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
870 return longs.toNativeArray(); |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
871 } |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
872 |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
873 |
3f1cc396d253
Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2556
diff
changeset
|
874 /** |
2216
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
875 * This method transform a string into an double array. Therefore, the |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
876 * string <i>raw</i> must consist of double values separated by a |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
877 * <i>';'</i>. |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
878 * |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
879 * @param raw The raw double array as string separated by a ';'. |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
880 * |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
881 * @return an array of double values. |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
882 */ |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
883 public static double[] doubleArrayFromString(String raw) { |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
884 String[] splitted = raw != null ? raw.split(";") : null; |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
885 |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
886 if (splitted == null || splitted.length == 0) { |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
887 logger.warn("No double values found in '" + raw + "'"); |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
888 return new double[0]; |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
889 } |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
890 |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
891 TDoubleArrayList doubles = new TDoubleArrayList(splitted.length); |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
892 |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
893 for (String value: splitted) { |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
894 try { |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
895 doubles.add(Double.valueOf(value)); |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
896 } |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
897 catch (NumberFormatException nfe) { |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
898 logger.warn("Parsing double failed: " + nfe); |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
899 } |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
900 } |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
901 |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
902 return doubles.toNativeArray(); |
31fa7cae0f35
Added new helper methods to FLYSUtils that extract int[] and double[] from string.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2179
diff
changeset
|
903 } |
3444
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
904 |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
905 |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
906 /** |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
907 * Returns the gauges that match the selected kilometer range. |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
908 * |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
909 * @param flys the flys artifact. |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
910 * |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
911 * @return the gauges based on the selected kilometer range (null if |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
912 * none/no range set). |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
913 */ |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
914 public static List<Gauge> getGauges(FLYSArtifact flys) { |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
915 |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
916 River river = getRiver(flys); |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
917 if (river == null) { |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
918 logger.debug("getGauges: no river!"); |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
919 return null; |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
920 } |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
921 |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
922 double [] dist = getKmRange(flys); |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
923 if (dist == null) { |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
924 logger.debug("getGauges: no dist!"); |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
925 return null; |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
926 } |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
927 logger.debug("getGauges: " + dist[0] + " - " + dist[1]); |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
928 |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
929 return river.determineGauges(dist[0], dist[1]); |
f903f1e5aed6
Preparing W/Q per gauge input for FixationArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3405
diff
changeset
|
930 } |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
931 } |
1105
adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1099
diff
changeset
|
932 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |