Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.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/DischargeLongitudinalSection.java Fri Jun 17 09:19:43 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.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; @@ -26,65 +24,66 @@ @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.getDischargeLongitudinalSectionData(); - - if (res == null) { - logger.debug("No results given."); - return null; - } - - for (int i = 0; i < res.length; i++) { - String nameW = null; - String nameQ = null; + public Object computeAdvance( + FLYSArtifact artifact, + String hash, + CallContext context, + List<Facet> facets, + Object old + ) { + WQKms [] res; - if (winfo.isQ()) { - nameQ = res[i].getName(); - nameW = "W(" + nameQ + ")"; - } - else { - nameW = res[i].getName(); - nameQ = "Q(" + nameQ + ")"; - } - - Facet w = new WaterlevelFacet( - i, DISCHARGE_LONGITUDINAL_W, nameW); - - Facet q = new WaterlevelFacet( - i, DISCHARGE_LONGITUDINAL_Q, nameQ); - - facets.add(w); - facets.add(q); + WINFOArtifact winfo = (WINFOArtifact)artifact; - if (res[i] instanceof WQCKms) { - // TODO DO i18n - - String nameC = nameW.replace( - "Benutzerdefiniert", - "Benutzerdefiniert [korrigiert]"); + if (old instanceof WQCKms []) { + res = (WQCKms [])old; + } + else { + res = winfo.getDischargeLongitudinalSectionData(); - Facet c = new WaterlevelFacet( - i, DISCHARGE_LONGITUDINAL_C, nameC); + if (res == null) { + logger.debug("No results given."); + return null; + } + } - facets.add(c); - } - } + for (int i = 0; i < res.length; i++) { + String nameW = null; + String nameQ = null; - return res; + if (winfo.isQ()) { + nameQ = res[i].getName(); + nameW = "W(" + nameQ + ")"; } - }; + else { + nameW = res[i].getName(); + nameQ = "Q(" + nameQ + ")"; + } + Facet w = new WaterlevelFacet( + i, DISCHARGE_LONGITUDINAL_W, nameW); + + Facet q = new WaterlevelFacet( + i, DISCHARGE_LONGITUDINAL_Q, nameQ); + + facets.add(w); + facets.add(q); + + if (res[i] instanceof WQCKms) { + // TODO DO i18n + + String nameC = nameW.replace( + "Benutzerdefiniert", + "Benutzerdefiniert [korrigiert]"); + + Facet c = new WaterlevelFacet( + i, DISCHARGE_LONGITUDINAL_C, nameC); + + facets.add(c); + } + } + + return res; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :