rrenkert@8302: package org.dive4elements.river.artifacts.states; rrenkert@8302: rrenkert@8302: import java.util.List; tom@8435: import java.util.Date; rrenkert@8302: rrenkert@8302: import org.dive4elements.artifactdatabase.state.Facet; rrenkert@8302: import org.dive4elements.artifacts.CallContext; rrenkert@8302: import org.dive4elements.river.artifacts.D4EArtifact; rrenkert@8302: import org.dive4elements.river.artifacts.access.RiverAccess; rrenkert@8302: import org.dive4elements.river.artifacts.model.GaugeDischargeCurveFacet; rrenkert@8302: import org.dive4elements.river.artifacts.resources.Resources; rrenkert@8302: tom@8435: import org.dive4elements.river.model.TimeInterval; rrenkert@8302: rrenkert@8302: public class GaugeDischargeCurveState rrenkert@8302: extends DefaultState rrenkert@8302: { rrenkert@8302: rrenkert@8302: @Override rrenkert@8302: public Object computeAdvance( rrenkert@8302: D4EArtifact artifact, rrenkert@8302: String hash, rrenkert@8302: CallContext context, rrenkert@8302: List facets, rrenkert@8302: Object old rrenkert@8302: ) { tom@8435: String gaugeName = artifact.getDataAsString("gauge_name"); tom@8435: TimeInterval validity = new RiverAccess(artifact).getRiver() tom@8435: .determineGaugeByName(gaugeName).fetchMasterDischargeTable() tom@8435: .getTimeInterval(); tom@8435: Date stopTime = validity.getStopTime(); tom@8435: String description = Resources.getMsg( tom@8435: context.getMeta(), tom@8435: "chart.discharge.curve.model" + (stopTime != null ? "" : ".nostop"), tom@8435: new Object[] {gaugeName, tom@8435: validity.getStartTime(), tom@8435: stopTime tom@8435: } tom@8435: ); tom@8435: rrenkert@8302: facets.add(new GaugeDischargeCurveFacet("gauge_discharge_curve", description)); rrenkert@8302: facets.add(new GaugeDischargeCurveFacet("at", "gauge_discharge_curve")); rrenkert@8302: facets.add(new GaugeDischargeCurveFacet("csv", "gauge_discharge_curve")); rrenkert@8302: facets.add(new GaugeDischargeCurveFacet("pdf", "gauge_discharge_curve")); rrenkert@8302: return null; rrenkert@8302: } rrenkert@8302: }