view gnv/src/main/java/de/intevation/gnv/action/WMSAction.java @ 570:cbd397712ecf

Render an OpenLayers map with the layer even published after triggering shapefile and mapfile creation. gnv/trunk@698 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 22 Feb 2010 18:04:55 +0000
parents
children 2e690cb2247c
line wrap: on
line source
package de.intevation.gnv.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import de.intevation.gnv.action.sessionmodel.SessionModel;
import de.intevation.gnv.action.sessionmodel.SessionModelFactory;
import de.intevation.gnv.artifactdatabase.client.ArtifactDatabaseClient;
import de.intevation.gnv.artifactdatabase.client.ArtifactDatabaseClientFactory;
import de.intevation.gnv.artifactdatabase.objects.ArtifactObject;

/**
 * @author Ingo Weinzierl (ingo.weinzierl@intevation.de)
 */
public class WMSAction extends DescribeUIAction {
    /**
     * the logger, used to log exceptions and additonaly information
     */
    private static Logger logger = Logger.getLogger(WMSAction.class);

    /**
     * Constructor
     */
    public WMSAction() {
        super();
    }

    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response) throws Exception {
        logger.debug("WMSAction.execute");
        try {
            SessionModel sm = SessionModelFactory.getInstance().getSessionModel(
                request);
            ArtifactObject artifact = sm.getCurrentArtifact();

            ArtifactDatabaseClientFactory factory =
                ArtifactDatabaseClientFactory.getInstance();
            ArtifactDatabaseClient adc = factory.getArtifactDatabaseClient(
                getLocale(request));
            ArtifactObject artifactfactory = sm.getSelectedArtifactFactory();

            // do wms publishing
            String url = adc.publishWMS(artifactfactory, artifact);
            request.setAttribute("layer", artifact.getId());

            return super.execute(mapping, form, request, response);
        }
        catch (Exception e) {
            logger.error(e, e);
            request.setAttribute(
                CommunicationKeys.REQUEST_EXCEPTION_MESSAGE_ID,
                e.getMessage());

            return super.getExceptionForward(mapping);
        }
    }

}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org