ingo@383: package de.intevation.flys.artifacts.states; ingo@383: ingo@687: import java.util.List; ingo@687: ingo@383: import org.apache.log4j.Logger; ingo@383: ingo@692: import de.intevation.artifacts.CallContext; ingo@692: ingo@692: import de.intevation.artifactdatabase.state.DefaultFacet; 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@692: import de.intevation.flys.artifacts.model.WQDay; ingo@692: import de.intevation.flys.artifacts.resources.Resources; ingo@687: ingo@383: /** ingo@383: * The final state that will be reached after the duration curve calculation ingo@383: * mode has been chosen. ingo@383: * ingo@383: * @author Ingo Weinzierl ingo@383: */ ingo@692: public class DurationCurveState ingo@692: extends DefaultState ingo@692: implements FacetTypes ingo@692: { ingo@383: /** The logger that is used in this state.*/ ingo@383: private static Logger logger = Logger.getLogger(DurationCurveState.class); ingo@383: sascha@660: public DurationCurveState() { ingo@383: } 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: WQDay res = winfo.getDurationCurveData(); ingo@692: ingo@692: if (res == null) { ingo@692: logger.debug("No results given."); ingo@692: return null; ingo@692: } ingo@692: ingo@692: Object[] args = new Object[] { ingo@692: winfo.getRiver().getName() ingo@692: }; ingo@692: ingo@692: String nameW = Resources.getMsg( ingo@692: context.getMeta(), ingo@692: "chart.duration.curve.curve.w", ingo@692: "", ingo@692: args); ingo@692: ingo@692: String nameQ = Resources.getMsg( ingo@692: context.getMeta(), ingo@692: "chart.duration.curve.curve.q", ingo@692: "", ingo@692: args); ingo@692: ingo@692: Facet w = new DefaultFacet(0, DURATION_W, nameW); ingo@692: Facet q = new DefaultFacet(0, DURATION_Q, nameQ); ingo@692: ingo@692: facets.add(w); ingo@692: facets.add(q); ingo@692: ingo@692: return res; ingo@687: } ingo@687: }; ingo@687: } ingo@383: } ingo@383: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :