Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java @ 696:708b270dfd30 facets-slt
OutGenerators use now facets to fetch necessary data.
flys-artifacts/branches/facets-slt@2140 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 17 Jun 2011 09:19:43 +0000 |
parents | 22e4bffbe240 |
children | b972eba2ed8a |
line wrap: on
line source
package de.intevation.flys.artifacts.states; import java.util.List; import org.apache.log4j.Logger; import de.intevation.artifacts.CallContext; 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.WaterlevelFacet; import de.intevation.flys.artifacts.model.WQKms; import de.intevation.flys.artifacts.model.WQCKms; public class DischargeLongitudinalSection extends DefaultState implements FacetTypes { private static Logger logger = Logger.getLogger(DischargeLongitudinalSection.class); @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; 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 :