Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java @ 692:22e4bffbe240 facets-slt
Generated facets for each output aspect.
flys-artifacts/branches/facets-slt@2132 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 16 Jun 2011 10:05:44 +0000 |
parents | f8ac04b2dbd0 |
children | af393c5eb2c8 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java Thu Jun 16 09:04:59 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java Thu Jun 16 10:05:44 2011 +0000 @@ -11,16 +11,21 @@ import de.intevation.artifacts.common.utils.XMLUtils; +import de.intevation.artifactdatabase.state.DefaultFacet; import de.intevation.artifactdatabase.state.Facet; 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.WQKms; -public class WaterlevelState extends DefaultState { - +public class WaterlevelState +extends DefaultState +implements FacetTypes +{ /** The logger that is used in this state.*/ private static Logger logger = Logger.getLogger(WaterlevelState.class); @@ -45,8 +50,38 @@ return new ComputeCallbackAdapter() { @Override - public Object computeAdvance(List<Facet> facets) { - return winfo.getWaterlevelData(); + public Object computeAdvance( + CallContext context, + List<Facet> facets) + { + WQKms[] res = winfo.getWaterlevelData(); + + if (res == null) { + logger.debug("No results given."); + return null; + } + + for (int i = 0; i < res.length; i++) { + String nameW = null; + String nameQ = null; + + if (winfo.isQ()) { + nameQ = res[i].getName(); + nameW = "W(" + nameQ + ")"; + } + else { + nameW = res[i].getName(); + nameQ = "Q(" + nameQ + ")"; + } + + Facet w = new DefaultFacet(i, LONGITUDINAL_W, nameW); + Facet q = new DefaultFacet(i, LONGITUDINAL_Q, nameQ); + + facets.add(w); + facets.add(q); + } + + return res; } }; }