ingo@2215: package de.intevation.flys.artifacts.model; ingo@2215: ingo@2215: import org.apache.log4j.Logger; ingo@2215: ingo@2215: import de.intevation.artifacts.Artifact; ingo@2215: import de.intevation.artifacts.CallContext; ingo@2215: ingo@2215: import de.intevation.artifactdatabase.state.Facet; ingo@2215: ingo@2215: import de.intevation.flys.artifacts.FLYSArtifact; ingo@2215: import de.intevation.flys.artifacts.states.DefaultState.ComputeType; ingo@2215: ingo@2215: ingo@2215: /** ingo@2215: * @author Ingo Weinzierl ingo@2215: */ ingo@2215: public class HistoricalDischargeFacet extends DataFacet { ingo@2215: ingo@2215: private static final Logger logger = ingo@2215: Logger.getLogger(HistoricalDischargeFacet.class); ingo@2215: ingo@2215: ingo@2215: public HistoricalDischargeFacet() { ingo@2215: } ingo@2215: ingo@2215: ingo@2215: public HistoricalDischargeFacet(int index, String name, String desc) { ingo@2215: super(index, name, desc, ComputeType.ADVANCE, null, null); ingo@2215: } ingo@2215: ingo@2215: ingo@2215: public HistoricalDischargeFacet( ingo@2215: int index, ingo@2215: String name, ingo@2215: String description, ingo@2215: ComputeType type, ingo@2215: String stateID, ingo@2215: String hash ingo@2215: ingo@2215: ) { ingo@2215: super(index, name, description, type, hash, stateID); ingo@2215: } ingo@2215: ingo@2215: ingo@2215: @Override ingo@2215: public Facet deepCopy() { ingo@2215: WaterlevelFacet copy = new WaterlevelFacet(); ingo@2215: copy.set(this); ingo@2215: copy.type = type; ingo@2215: copy.hash = hash; ingo@2215: copy.stateId = stateId; ingo@2215: return copy; ingo@2215: } ingo@2215: ingo@2215: ingo@2215: @Override ingo@2215: public Object getData(Artifact artifact, CallContext context) { ingo@2215: if (logger.isDebugEnabled()) { ingo@2215: logger.debug("Get data for historical discharge curves at index: " + ingo@2215: index + " / stateId: " + stateId); ingo@2215: } ingo@2215: ingo@2215: FLYSArtifact flys = (FLYSArtifact) artifact; ingo@2215: ingo@2215: CalculationResult res = (CalculationResult) ingo@2215: flys.compute(context, hash, stateId, type, false); ingo@2215: ingo@4241: HistoricalDischargeData data = (HistoricalDischargeData) res.getData(); ingo@4241: WQTimerange[] wqts = (WQTimerange[]) data.getWQTimeranges(); ingo@2215: ingo@2239: return wqts[index]; ingo@2215: } ingo@2215: } ingo@2215: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :