# HG changeset patch # User Sascha L. Teichmann # Date 1347820940 0 # Node ID 048a02e29808789da1f2437a7049ebd26db077fd # Parent 1ddbf66a2b0a01787aae3335e39a4a04360cd936 Added base class RiverAccess to dense code to access the river name. flys-artifacts/trunk@5484 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 1ddbf66a2b0a -r 048a02e29808 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Sun Sep 16 17:55:10 2012 +0000 +++ b/flys-artifacts/ChangeLog Sun Sep 16 18:42:20 2012 +0000 @@ -1,3 +1,39 @@ +2012-09-16 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/FlowVelocityCalculation.java: + Please _DO NOT_ use FLYSUtils in new code based on Access*! + Now the river name is fetch via access.getRiver(). + + * src/main/java/de/intevation/flys/artifacts/access/RiverAccess.java: + New. Almost all calculations need accessing the river name. + + * src/main/java/de/intevation/flys/artifacts/access/SQRelationAccess.java, + src/main/java/de/intevation/flys/artifacts/access/BedQualityAccess.java, + src/main/java/de/intevation/flys/artifacts/access/FixAccess.java, + src/main/java/de/intevation/flys/artifacts/access/FlowVelocityAccess.java, + src/main/java/de/intevation/flys/artifacts/access/ExtremeAccess.java: + Now extend RiverAccess. + +2012-09-16 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/access/ExtremeAccess.java: + Implemented the access methods needed for + "Auslagerung extremer Wasserspiegellagen". + + * src/main/java/de/intevation/flys/artifacts/model/Segment.java: + Move segment parsing to DoubleUtil to be usable with more data types. + The wire protocol should be the same for: + - "WINFO: W fuer ungleichwertige Abfluesse", + - "WINFO: Auslagerung extremer Wasserspiegellagen" + - "Fixierungsanalyse: Auslagerung von Wasserspiegellagen" + + * src/main/java/de/intevation/flys/utils/DoubleUtil.java: + Now contains the the code to parse segments. Found segments + are propagated back with a callback. + + * src/main/java/de/intevation/flys/artifacts/model/RangeWithValues.java: + Added toString() method. + 2012-09-16 Sascha L. Teichmann More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen". diff -r 1ddbf66a2b0a -r 048a02e29808 flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/BedQualityAccess.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/BedQualityAccess.java Sun Sep 16 17:55:10 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/BedQualityAccess.java Sun Sep 16 18:42:20 2012 +0000 @@ -10,14 +10,13 @@ import de.intevation.flys.artifacts.model.DateRange; -public class BedQualityAccess extends Access { +public class BedQualityAccess extends RiverAccess { private static final Logger logger = Logger .getLogger(BedQualityAccess.class); private Double from; private Double to; - private String river; private List bedDiameter; private List bedloadDiameter; private List ranges; @@ -40,13 +39,6 @@ return to.doubleValue(); } - public String getRiver() { - if (river == null) { - river = getString("river"); - } - return river; - } - public List getDateRanges() { if (ranges == null) { ranges = extractRanges(getString("periods")); @@ -100,4 +92,4 @@ return result; } } -// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : \ No newline at end of file +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : diff -r 1ddbf66a2b0a -r 048a02e29808 flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/ExtremeAccess.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/ExtremeAccess.java Sun Sep 16 17:55:10 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/ExtremeAccess.java Sun Sep 16 18:42:20 2012 +0000 @@ -12,12 +12,10 @@ import org.apache.log4j.Logger; public class ExtremeAccess -extends Access +extends RiverAccess { private static Logger log = Logger.getLogger(ExtremeAccess.class); - protected String river; - protected Double from; protected Double to; protected Double step; @@ -38,16 +36,6 @@ super(artifact); } - public String getRiver() { - if (river == null) { - river = getString("river"); - } - if (log.isDebugEnabled()) { - log.debug("river: '" + river + "'"); - } - return river; - } - public Double getFrom() { if (from == null) { diff -r 1ddbf66a2b0a -r 048a02e29808 flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/FixAccess.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/FixAccess.java Sun Sep 16 17:55:10 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/FixAccess.java Sun Sep 16 18:42:20 2012 +0000 @@ -7,12 +7,10 @@ import org.apache.log4j.Logger; public class FixAccess -extends Access +extends RiverAccess { private static Logger log = Logger.getLogger(FixAccess.class); - protected String river; - protected Double from; protected Double to; protected Double step; @@ -36,16 +34,6 @@ super(artifact); } - public String getRiver() { - if (river == null) { - river = getString("river"); - } - if (log.isDebugEnabled()) { - log.debug("river: '" + river + "'"); - } - return river; - } - public Double getFrom() { if (from == null) { diff -r 1ddbf66a2b0a -r 048a02e29808 flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/FlowVelocityAccess.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/FlowVelocityAccess.java Sun Sep 16 17:55:10 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/FlowVelocityAccess.java Sun Sep 16 18:42:20 2012 +0000 @@ -3,7 +3,7 @@ import de.intevation.flys.artifacts.FLYSArtifact; -public class FlowVelocityAccess extends Access { +public class FlowVelocityAccess extends RiverAccess { private int[] mainChannels; private int[] totalChannels; diff -r 1ddbf66a2b0a -r 048a02e29808 flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/RiverAccess.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/RiverAccess.java Sun Sep 16 18:42:20 2012 +0000 @@ -0,0 +1,31 @@ +package de.intevation.flys.artifacts.access; + +import de.intevation.flys.artifacts.FLYSArtifact; + +import org.apache.log4j.Logger; + +public class RiverAccess +extends Access +{ + private static Logger log = Logger.getLogger(RiverAccess.class); + + protected String river; + + public RiverAccess() { + } + + public RiverAccess(FLYSArtifact artifact) { + super(artifact); + } + + public String getRiver() { + if (river == null) { + river = getString("river"); + } + if (log.isDebugEnabled()) { + log.debug("river: '" + river + "'"); + } + return river; + } +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : diff -r 1ddbf66a2b0a -r 048a02e29808 flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/SQRelationAccess.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/SQRelationAccess.java Sun Sep 16 17:55:10 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/SQRelationAccess.java Sun Sep 16 18:42:20 2012 +0000 @@ -8,12 +8,10 @@ import de.intevation.flys.artifacts.model.DateRange; public class SQRelationAccess -extends Access +extends RiverAccess { private static Logger log = Logger.getLogger(SQRelationAccess.class); - protected String river; - protected Double location; protected DateRange period; @@ -27,16 +25,6 @@ super(artifact); } - public String getRiver() { - if (river == null) { - river = getString("river"); - } - if (log.isDebugEnabled()) { - log.debug("river: '" + river + "'"); - } - return river; - } - public Double getLocation() { if (location == null) { // XXX: The parameter name suggests plural!? diff -r 1ddbf66a2b0a -r 048a02e29808 flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FlowVelocityCalculation.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FlowVelocityCalculation.java Sun Sep 16 17:55:10 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FlowVelocityCalculation.java Sun Sep 16 18:42:20 2012 +0000 @@ -1,18 +1,21 @@ package de.intevation.flys.artifacts.model; import java.util.ArrayList; +import java.util.Collections; import java.util.List; -import org.apache.log4j.Logger; +import de.intevation.artifacts.Artifact; -import de.intevation.artifacts.Artifact; +import de.intevation.flys.artifacts.access.FlowVelocityAccess; + +import de.intevation.flys.artifacts.model.RiverFactory; + import de.intevation.flys.model.DischargeZone; import de.intevation.flys.model.FlowVelocityModel; import de.intevation.flys.model.FlowVelocityModelValue; import de.intevation.flys.model.River; -import de.intevation.flys.artifacts.access.FlowVelocityAccess; -import de.intevation.flys.utils.FLYSUtils; +import org.apache.log4j.Logger; public class FlowVelocityCalculation extends Calculation { @@ -80,7 +83,17 @@ FlowVelocityAccess access, List zones ) { - River river = FLYSUtils.getRiver(access.getArtifact()); + String riverName = access.getRiver(); + if (riverName == null) { + logger.warn("No river name found"); + return Collections.emptyList(); + } + + River river = RiverFactory.getRiver(riverName); + if (river == null) { + logger.warn("No such river: " + riverName); + return Collections.emptyList(); + } List models = new ArrayList();