Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.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/ComputedDischargeCurveState.java Fri Jun 17 09:19:43 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.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.FacetTypes; import de.intevation.flys.artifacts.model.WaterlevelFacet; import de.intevation.flys.artifacts.model.WQKms; @@ -36,43 +34,45 @@ @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) - { - WQKms res = winfo.getComputedDischargeCurveData(); + public Object computeAdvance( + FLYSArtifact artifact, + String hash, + CallContext context, + List<Facet> facets, + Object old + ) { + WINFOArtifact winfo = (WINFOArtifact)artifact; - if (res == null) { - logger.debug("No results given."); - return null; - } - - Object[] args = new Object[] { - winfo.getRiver().getName(), - res.getName() - }; + WQKms res; - String name = Resources.getMsg( - context.getMeta(), - "chart.computed.discharge.curve.curve.label", - "", - args); + if (old instanceof WQKms []) { + res = ((WQKms [])old)[0]; + } + else { + res = winfo.getComputedDischargeCurveData(); - Facet q = new WaterlevelFacet(0, COMPUTED_DISCHARGE_Q, name); + if (res == null) { + logger.debug("No results given."); + return null; + } + } - facets.add(q); + Object[] args = new Object[] { + winfo.getRiver().getName(), + res.getName() + }; - return new WQKms[] { res }; - } - }; + String name = Resources.getMsg( + context.getMeta(), + "chart.computed.discharge.curve.curve.label", + "", + args); + + Facet q = new WaterlevelFacet(0, COMPUTED_DISCHARGE_Q, name); + + facets.add(q); + + return new WQKms[] { res }; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :