Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java @ 624:929137ee8154
ISSUE-62 (part I/II) States are no longer filled with data - if a state needs user input, it needs to query the owner artifact.
flys-artifacts/trunk@1982 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 23 May 2011 15:11:55 +0000 |
parents | e54053bc0e70 |
children | 58276db49b16 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java Mon May 23 14:32:17 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java Mon May 23 15:11:55 2011 +0000 @@ -2,7 +2,6 @@ import java.util.ArrayList; import java.util.List; -import java.util.Map; import org.apache.log4j.Logger; @@ -160,9 +159,10 @@ { logger.debug("WQAdapted.validate"); - Map<String, StateData> data = getData(); + FLYSArtifact flys = (FLYSArtifact) artifact; + StateData data = getData(flys, FIELD_WQ_MODE); - String mode = (String) data.get(FIELD_WQ_MODE).getValue(); + String mode = data != null ? (String) data.getValue() : null; if (mode != null && mode.equals("W")) { return validateW(artifact, context); @@ -180,8 +180,14 @@ throws IllegalArgumentException { logger.debug("WQAdapted.validateW"); + FLYSArtifact flys = (FLYSArtifact) artifact; - RangeWithValues[] rwvs = extractInput(getData("wq_values")); + RangeWithValues[] rwvs = extractInput(getData(flys, "wq_values")); + + if (rwvs == null) { + throw new IllegalArgumentException("error_missing_wq_data"); + } + List<Gauge> gauges = ((FLYSArtifact) artifact).getGauges(); for (Gauge gauge: gauges) { @@ -204,8 +210,14 @@ throws IllegalArgumentException { logger.debug("WQAdapted.validateQ"); + FLYSArtifact flys = (FLYSArtifact) artifact; - RangeWithValues[] rwvs = extractInput(getData("wq_values")); + RangeWithValues[] rwvs = extractInput(getData(flys, "wq_values")); + + if (rwvs == null) { + throw new IllegalArgumentException("error_missing_wq_data"); + } + List<Gauge> gauges = ((FLYSArtifact) artifact).getGauges(); River river = ((FLYSArtifact) artifact).getRiver(); Wst wst = WstFactory.getWst(river); @@ -287,6 +299,10 @@ protected RangeWithValues[] extractInput(StateData data) { + if (data == null) { + return null; + } + String dataString = (String) data.getValue(); String[] ranges = dataString.split(":");