Mercurial > dive4elements > river
changeset 6619:075c00b767d7
issue1399: WINFOArtifact: Compute difference also if part of difference building oneselve.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Fri, 19 Jul 2013 13:39:40 +0200 |
parents | e8e76d50d119 |
children | 0bc7d3546470 |
files | artifacts/src/main/java/org/dive4elements/river/artifacts/WINFOArtifact.java |
diffstat | 1 files changed, 18 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/WINFOArtifact.java Fri Jul 19 13:36:45 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/WINFOArtifact.java Fri Jul 19 13:39:40 2013 +0200 @@ -197,15 +197,26 @@ String calculationMode = getDataAsString("calculation_mode"); - if (calculationMode.equals("calc.discharge.longitudinal.section") - ) { - return getDischargeLongitudinalSectionData(); - } - else if (calculationMode.equals("calc.extreme.curve")) { - return (CalculationResult) - this.compute(context, ComputeType.ADVANCE, false); + // If this WINFO-Artifact has a calculation trait. + if (calculationMode != null) { + if (calculationMode.equals("calc.discharge.longitudinal.section") + ) { + return getDischargeLongitudinalSectionData(); + } + else if (calculationMode.equals("calc.extreme.curve")) { + return (CalculationResult) + this.compute(context, ComputeType.ADVANCE, false); + } + else if (calculationMode.equals("calc.w.differences")) { + return (CalculationResult) + this.compute(context, ComputeType.ADVANCE, true); + } + else { + logger.warn("Unhandled calculation_mode " + calculation_mode); + } } + // Otherwise get it from parameterization. River river = RiverUtils.getRiver(this); if (river == null) { return error(new WQKms[0], "no.river.selected");