Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.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 | 708b270dfd30 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java Thu Jun 16 09:04:59 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java Thu Jun 16 10:05:44 2011 +0000 @@ -4,15 +4,23 @@ import org.apache.log4j.Logger; +import de.intevation.artifacts.CallContext; + +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; +import de.intevation.flys.artifacts.model.WQCKms; -public class DischargeLongitudinalSection extends DefaultState { - +public class DischargeLongitudinalSection +extends DefaultState +implements FacetTypes +{ private static Logger logger = Logger.getLogger(DischargeLongitudinalSection.class); @@ -26,8 +34,54 @@ return new ComputeCallbackAdapter() { @Override - public Object computeAdvance(List<Facet> facets) { - return winfo.getDischargeLongitudinalSectionData(); + 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; + + if (winfo.isQ()) { + nameQ = res[i].getName(); + nameW = "W(" + nameQ + ")"; + } + else { + nameW = res[i].getName(); + nameQ = "Q(" + nameQ + ")"; + } + + Facet w = new DefaultFacet( + i, DISCHARGE_LONGITUDINAL_W, nameW); + + Facet q = new DefaultFacet( + 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 DefaultFacet( + i, DISCHARGE_LONGITUDINAL_C, nameC); + + facets.add(c); + } + } + + return res; } };