view gnv/src/main/java/de/intevation/gnv/action/DoExportAction.java @ 398:9005b39c52ac

Only display chart addons if we really display a chart. gnv/trunk@555 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 17 Jan 2010 17:09:21 +0000
parents 47e3647af88f
children bd67164cf28b
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;

/**
 * @author Tim Englich <tim.englich@intevation.de>
 * 
 */
public class DoExportAction extends DoOutputAction {

    /**
     * the logger, used to log exceptions and additonaly information
     */
    private static Logger log = Logger.getLogger(DoExportAction.class);

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

    @Override
    protected void setHeaders(String target, String mimeType,
                              HttpServletResponse response,
                              HttpServletRequest request) {
        log.debug("DoExportAction.setHeaders");
        try {
            super.setHeaders(target, mimeType, response, request);
            String fileName = "GNVEXPORT_" + System.currentTimeMillis() + ".";

            target = target.toLowerCase();

            if (target.equals("chart")) {
                fileName = fileName
                           + mimeType.substring(mimeType.indexOf("/") + 1);
            } 
            else if (target.equals("pdf")) {
                fileName = fileName + "pdf";
            } else if (target.equals("svg")) {
                fileName = fileName + "svg";
            } else if (target.equals("csv")) {
                fileName = fileName + "csv";
            } else if (target.equals("zip")) {
                fileName = fileName + "zip";
            } else if (target.equals("wms")) {
                fileName = fileName + "xml";
            } else {
                fileName = fileName + "txt";
            }
            log.debug("FileName for Export: " + fileName);
            response.setHeader("Content-Disposition", "attachment;filename="
                                                      + fileName);
        } catch (Exception e) {
            log.error(e, e);
        }
    }
}

http://dive4elements.wald.intevation.org