view artifacts/src/main/java/org/dive4elements/river/artifacts/states/GaugeDischargeCurveState.java @ 8608:0f6f702742b4

(issue1754) Check if start > end and handle this
author Andre Heinecke <andre.heinecke@intevation.de>
date Tue, 24 Mar 2015 10:52:23 +0100
parents 6ebad936d82b
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