view artifacts/src/main/java/org/dive4elements/river/artifacts/states/GaugeDischargeCurveState.java @ 8435:6ebad936d82b

Unify descriptions of model discharge curve at gauge.
author "Tom Gottfried <tom@intevation.de>"
date Mon, 20 Oct 2014 13:48:51 +0200
parents 8578babdb2c8
children 5e38e2924c07
line wrap: on
line source
package org.dive4elements.river.artifacts.states;

import java.util.List;
import java.util.Date;

import org.dive4elements.artifactdatabase.state.Facet;
import org.dive4elements.artifacts.CallContext;
import org.dive4elements.river.artifacts.D4EArtifact;
import org.dive4elements.river.artifacts.access.RiverAccess;
import org.dive4elements.river.artifacts.model.GaugeDischargeCurveFacet;
import org.dive4elements.river.artifacts.resources.Resources;

import org.dive4elements.river.model.TimeInterval;

public class GaugeDischargeCurveState
extends DefaultState
{

    @Override
    public Object computeAdvance(
        D4EArtifact artifact,
        String hash,
        CallContext context,
        List<Facet> facets,
        Object old
    ) {
        String gaugeName = artifact.getDataAsString("gauge_name");
        TimeInterval validity = new RiverAccess(artifact).getRiver()
            .determineGaugeByName(gaugeName).fetchMasterDischargeTable()
            .getTimeInterval();
        Date stopTime = validity.getStopTime();
        String description = Resources.getMsg(
            context.getMeta(),
            "chart.discharge.curve.model" + (stopTime != null ? "" : ".nostop"),
            new Object[] {gaugeName,
                          validity.getStartTime(),
                          stopTime
                }
        );

        facets.add(new GaugeDischargeCurveFacet("gauge_discharge_curve", description));
        facets.add(new GaugeDischargeCurveFacet("at", "gauge_discharge_curve"));
        facets.add(new GaugeDischargeCurveFacet("csv", "gauge_discharge_curve"));
        facets.add(new GaugeDischargeCurveFacet("pdf", "gauge_discharge_curve"));
        return null;
    }
}

http://dive4elements.wald.intevation.org