ingo@399: package de.intevation.flys.artifacts.states; ingo@399: ingo@687: import java.util.List; ingo@687: ingo@399: import org.apache.log4j.Logger; ingo@399: ingo@692: import de.intevation.artifacts.CallContext; ingo@692: ingo@687: import de.intevation.artifactdatabase.state.Facet; ingo@687: ingo@687: import de.intevation.flys.artifacts.FLYSArtifact; ingo@687: import de.intevation.flys.artifacts.WINFOArtifact; ingo@687: import de.intevation.flys.artifacts.model.ComputeCallback; ingo@689: import de.intevation.flys.artifacts.model.ComputeCallbackAdapter; ingo@692: import de.intevation.flys.artifacts.model.FacetTypes; ingo@696: import de.intevation.flys.artifacts.model.WaterlevelFacet; ingo@692: import de.intevation.flys.artifacts.model.WQKms; ingo@692: import de.intevation.flys.artifacts.model.WQCKms; ingo@687: ingo@692: public class DischargeLongitudinalSection ingo@692: extends DefaultState ingo@692: implements FacetTypes ingo@692: { ingo@399: private static Logger logger = ingo@399: Logger.getLogger(DischargeLongitudinalSection.class); ingo@687: ingo@687: ingo@687: @Override ingo@687: public ComputeCallback createComputeCallback( ingo@687: String hash, FLYSArtifact flys) ingo@687: { ingo@687: final WINFOArtifact winfo = (WINFOArtifact) flys; ingo@687: ingo@689: return new ComputeCallbackAdapter() { ingo@689: ingo@689: @Override ingo@692: public Object computeAdvance( ingo@692: CallContext context, ingo@692: List facets) ingo@692: { ingo@692: WQKms res[] = winfo.getDischargeLongitudinalSectionData(); ingo@692: ingo@692: if (res == null) { ingo@692: logger.debug("No results given."); ingo@692: return null; ingo@692: } ingo@692: ingo@692: for (int i = 0; i < res.length; i++) { ingo@692: String nameW = null; ingo@692: String nameQ = null; ingo@692: ingo@692: if (winfo.isQ()) { ingo@692: nameQ = res[i].getName(); ingo@692: nameW = "W(" + nameQ + ")"; ingo@692: } ingo@692: else { ingo@692: nameW = res[i].getName(); ingo@692: nameQ = "Q(" + nameQ + ")"; ingo@692: } ingo@692: ingo@696: Facet w = new WaterlevelFacet( ingo@692: i, DISCHARGE_LONGITUDINAL_W, nameW); ingo@692: ingo@696: Facet q = new WaterlevelFacet( ingo@692: i, DISCHARGE_LONGITUDINAL_Q, nameQ); ingo@692: ingo@692: facets.add(w); ingo@692: facets.add(q); ingo@692: ingo@692: if (res[i] instanceof WQCKms) { ingo@692: // TODO DO i18n ingo@692: ingo@692: String nameC = nameW.replace( ingo@692: "Benutzerdefiniert", ingo@692: "Benutzerdefiniert [korrigiert]"); ingo@692: ingo@696: Facet c = new WaterlevelFacet( ingo@692: i, DISCHARGE_LONGITUDINAL_C, nameC); ingo@692: ingo@692: facets.add(c); ingo@692: } ingo@692: } ingo@692: ingo@692: return res; ingo@687: } ingo@687: }; ingo@687: ingo@687: } ingo@399: } ingo@399: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :