Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java @ 697:b972eba2ed8a facets-slt
Removed ComputeCallback because this was thought too complicated. Fixed issue with facets not be re-generated if same state is entered again.
flys-artifacts/branches/facets-slt@2143 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 17 Jun 2011 10:40:54 +0000 |
parents | 708b270dfd30 |
children | af3b5d9e91a4 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java Fri Jun 17 09:19:43 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java Fri Jun 17 10:40:54 2011 +0000 @@ -10,8 +10,6 @@ import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.WINFOArtifact; -import de.intevation.flys.artifacts.model.ComputeCallback; -import de.intevation.flys.artifacts.model.ComputeCallbackAdapter; import de.intevation.flys.artifacts.model.DurationCurveFacet; import de.intevation.flys.artifacts.model.FacetTypes; import de.intevation.flys.artifacts.model.WQDay; @@ -35,50 +33,51 @@ @Override - public ComputeCallback createComputeCallback( - String hash, FLYSArtifact flys) - { - final WINFOArtifact winfo = (WINFOArtifact) flys; - - return new ComputeCallbackAdapter() { - - @Override - public Object computeAdvance( - CallContext context, - List<Facet> facets) - { - WQDay res = winfo.getDurationCurveData(); - - if (res == null) { - logger.debug("No results given."); - return null; - } + public Object computeAdvance( + FLYSArtifact artifact, + String hash, + CallContext context, + List<Facet> facets, + Object old + ) { + WINFOArtifact winfo = (WINFOArtifact)artifact; - Object[] args = new Object[] { - winfo.getRiver().getName() - }; - - String nameW = Resources.getMsg( - context.getMeta(), - "chart.duration.curve.curve.w", - "", - args); + WQDay res; - String nameQ = Resources.getMsg( - context.getMeta(), - "chart.duration.curve.curve.q", - "", - args); + if (old instanceof WQDay []) { + res = ((WQDay [])old)[0]; + } + else { + res = winfo.getDurationCurveData(); + if (res == null) { + logger.debug("No results given."); + return null; + } + } - Facet w = new DurationCurveFacet(0, DURATION_W, nameW); - Facet q = new DurationCurveFacet(0, DURATION_Q, nameQ); + Object[] args = new Object[] { + winfo.getRiver().getName() + }; - facets.add(w); - facets.add(q); + String nameW = Resources.getMsg( + context.getMeta(), + "chart.duration.curve.curve.w", + "", + args); - return new WQDay[] { res }; - } - }; + String nameQ = Resources.getMsg( + context.getMeta(), + "chart.duration.curve.curve.q", + "", + args); + + Facet w = new DurationCurveFacet(0, DURATION_W, nameW); + Facet q = new DurationCurveFacet(0, DURATION_Q, nameQ); + + facets.add(w); + facets.add(q); + + return new WQDay[] { res }; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :