# HG changeset patch # User Ingo Weinzierl # Date 1326878952 0 # Node ID bf67eb014443b20e1d92597c287592ebcc852d46 # Parent 0c7847b8e85e9eea4a828611f0ca4eeefb2effa8 Added convinience functions to FLYSArtifact and FLYSUtils. flys-artifacts/trunk@3703 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 0c7847b8e85e -r bf67eb014443 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Tue Jan 17 18:26:45 2012 +0000 +++ b/flys-artifacts/ChangeLog Wed Jan 18 09:29:12 2012 +0000 @@ -1,3 +1,13 @@ +2012-01-18 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a + method getDataAsLong that returns a Long representation of a data item or + null if no such data item is existing or it cannot be parsed as Long. + + * src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a function + that returns the selected reference gauge (specified by 'reference_gauge' + parameter) of a FLYSArtifact. + 2012-01-17 Sascha L. Teichmann * src/main/java/de/intevation/flys/artifacts/model/LocationProvider.java: diff -r 0c7847b8e85e -r bf67eb014443 flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java Tue Jan 17 18:26:45 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java Wed Jan 18 09:29:12 2012 +0000 @@ -589,6 +589,31 @@ /** * This method returns the value of a StateData object stored in the data + * pool of this Artifact as Long. + * + * @param name The name of the StateData object. + * + * @return a Long representing the value of the data object or null if + * no object was found for name. + * + * @throws NumberFormatException if the value of the data object could not + * be transformed into a Long. + */ + public Long getDataAsLong(String name) + throws NumberFormatException + { + String value = getDataAsString(name); + + if (value != null && value.length() > 0) { + return Long.parseLong(value); + } + + return null; + } + + + /** + * This method returns the value of a StateData object stored in the data * pool of this Artifact is Boolean using Boolean.valueOf(). * * @param name The name of the StateData object. diff -r 0c7847b8e85e -r bf67eb014443 flys-artifacts/src/main/java/de/intevation/flys/utils/FLYSUtils.java --- a/flys-artifacts/src/main/java/de/intevation/flys/utils/FLYSUtils.java Tue Jan 17 18:26:45 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/utils/FLYSUtils.java Wed Jan 18 09:29:12 2012 +0000 @@ -415,6 +415,15 @@ } + public static Gauge getReferenceGauge(FLYSArtifact flys) { + Long officialNumber = flys.getDataAsLong("reference_gauge"); + + return officialNumber != null + ? Gauge.getGaugeByOfficialNumber(officialNumber) + : null; + } + + public static Double getValueFromWQ(WQ wq) { if (wq == null) { return null;