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@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: sascha@703: import de.intevation.flys.artifacts.model.DataFacet; sascha@703: 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 sascha@697: public Object computeAdvance( sascha@697: FLYSArtifact artifact, sascha@697: String hash, sascha@697: CallContext context, sascha@697: List facets, sascha@697: Object old sascha@697: ) { sascha@697: WQKms [] res; ingo@692: sascha@697: WINFOArtifact winfo = (WINFOArtifact)artifact; ingo@692: sascha@697: if (old instanceof WQCKms []) { sascha@697: res = (WQCKms [])old; sascha@697: } sascha@697: else { sascha@697: res = winfo.getDischargeLongitudinalSectionData(); ingo@692: sascha@697: if (res == null) { sascha@697: logger.debug("No results given."); sascha@697: return null; sascha@697: } sascha@697: } ingo@692: sascha@697: for (int i = 0; i < res.length; i++) { sascha@697: String nameW = null; sascha@697: String nameQ = null; ingo@692: sascha@697: if (winfo.isQ()) { sascha@697: nameQ = res[i].getName(); sascha@697: nameW = "W(" + nameQ + ")"; ingo@687: } sascha@697: else { sascha@697: nameW = res[i].getName(); sascha@697: nameQ = "Q(" + nameQ + ")"; sascha@697: } ingo@687: sascha@697: Facet w = new WaterlevelFacet( sascha@697: i, DISCHARGE_LONGITUDINAL_W, nameW); sascha@697: sascha@697: Facet q = new WaterlevelFacet( sascha@697: i, DISCHARGE_LONGITUDINAL_Q, nameQ); sascha@697: sascha@697: facets.add(w); sascha@697: facets.add(q); sascha@697: sascha@697: if (res[i] instanceof WQCKms) { sascha@697: // TODO DO i18n sascha@697: sascha@697: String nameC = nameW.replace( sascha@697: "Benutzerdefiniert", sascha@697: "Benutzerdefiniert [korrigiert]"); sascha@697: sascha@697: Facet c = new WaterlevelFacet( sascha@697: i, DISCHARGE_LONGITUDINAL_C, nameC); sascha@697: sascha@697: facets.add(c); sascha@697: } sascha@697: } sascha@697: sascha@703: if (res.length > 0) { sascha@703: facets.add(new DataFacet(CSV, "CSV data")); sascha@703: facets.add(new DataFacet(WST, "WST data")); sascha@703: } sascha@703: sascha@697: return res; ingo@687: } ingo@399: } ingo@399: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :