view flys-client/src/main/java/de/intevation/flys/client/server/ArtifactServiceImpl.java @ 4241:49cb65d5932d

Improved the historical discharge calculation. The calculation now creates new HistoricalWQKms (new subclass of WQKms). Those WQKms are used to create new facets from (new) type 'HistoricalDischargeCurveFacet'. The chart generator is improved to support those facets.
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 24 Oct 2012 14:34:35 +0200
parents 436eec3be6ff
children b660090b417d
line wrap: on
line source
package de.intevation.flys.client.server;

import org.apache.log4j.Logger;

import com.google.gwt.user.server.rpc.RemoteServiceServlet;

import de.intevation.flys.client.shared.exceptions.ServerException;
import de.intevation.flys.client.shared.model.Artifact;
import de.intevation.flys.client.client.services.ArtifactService;

import de.intevation.flys.client.shared.model.Collection;
import de.intevation.flys.client.shared.model.Recommendation;

/**
 * This interface provides artifact specific services as CREATE, DESCRIBE, FEED,
 * ADVANCE and OUT.
 *
 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
 */
public class ArtifactServiceImpl
extends      RemoteServiceServlet
implements   ArtifactService
{
    /** Private logger. */
    private static final Logger logger =
        Logger.getLogger(ArtifactServiceImpl.class);


    /**
     * Creates new Artifacts based on a given Recommendation and factory.
     * <b>Note, that all the work is done in ArtifactHelper!</b>
     *
     * @param locale The locale used for HTTP request.
     * @param factory The factory that is used to create the new Artifact.
     * @param recom Recommendation with details of the artifact to create.
     *
     * @return a new Artifact.
     */
    public Artifact create(
        String         locale,
        String         factory,
        Recommendation recom
    )
    throws ServerException
    {
        logger.info("ArtifactServiceImpl.create");

        String url  = getServletContext().getInitParameter("server-url");

        return ArtifactHelper.createArtifact(url, locale, factory, recom);
    }

    /**
     * Create a new GaugeDischageCurveArtifact
     *
     * @param river    the river
     * @param gaugeref reference id of the gauge
     */
    public Artifact createGaugeDischargeCurveArtifact(
            Collection collection,
            String locale,
            String river,
            Long   gaugeref)
    throws ServerException
    {
        logger.info("ArtifactServiceImpl.createGaugeDischargeCurverArtifact");
        String url  = getServletContext().getInitParameter("server-url");

        Artifact artifact = ArtifactHelper.createGaugeDischargeCurveArtifact(url,
                locale, river, gaugeref);
        if (artifact == null) {
            return null;
        }
        logger.info("GaugeDischargeCurveArtifact created successfully");

        CollectionHelper.addArtifact(collection, artifact, url, locale);

        return artifact;
    }

}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org