All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jpaoletti.jpm.struts.actions.ExportAction Maven / Gradle / Ivy

The newest version!
package jpaoletti.jpm.struts.actions;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import jpaoletti.jpm.core.PMException;
import jpaoletti.jpm.core.operations.Export;
import jpaoletti.jpm.struts.PMForwardException;
import jpaoletti.jpm.struts.PMStrutsContext;

/**
 * Struts action for Export operation
 *
 * @author jpaoletti
 * @since 25/11/2011
 * @version 1.0.1
 *
 */
public class ExportAction extends ActionSupport {

    @Override
    protected void doExecute(PMStrutsContext ctx) throws PMException {
        try {
            final boolean finish = ctx.getParameter("finish") == null;
            final ByteArrayOutputStream out = new ByteArrayOutputStream();
            ctx.put("out", out);
            final Export op = new Export();
            op.execute(ctx);
            if (finish) {
                throw new PMForwardException(CONTINUE);
            }
            ctx.getResponse().setContentType("text/csv");
            ctx.getResponse().addHeader("Content-Disposition", "attachment;filename=export.csv");
            ctx.getResponse().getOutputStream().write(out.toByteArray());
            ctx.getResponse().getOutputStream().close();
            out.close();
            noAction();
        } catch (IOException ex) {
            throw new PMException(ex);
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy