Mercurial > dive4elements > gnv-client
diff gnv/src/main/java/de/intevation/gnv/action/DoOutputAction.java @ 36:ad381cc47217
Format Code to max 80 Chars per Row
gnv/trunk@172 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Fri, 02 Oct 2009 08:54:13 +0000 |
parents | 4405f31bbc30 |
children | fccf90761825 |
line wrap: on
line diff
--- a/gnv/src/main/java/de/intevation/gnv/action/DoOutputAction.java Fri Oct 02 08:49:18 2009 +0000 +++ b/gnv/src/main/java/de/intevation/gnv/action/DoOutputAction.java Fri Oct 02 08:54:13 2009 +0000 @@ -27,7 +27,7 @@ /** * @author Tim Englich <tim.englich@intevation.de> - * + * */ public class DoOutputAction extends ArtifactDatabaseActionBase { @@ -35,6 +35,7 @@ * the logger, used to log exceptions and additonaly information */ private static Logger log = Logger.getLogger(DoOutputAction.class); + /** * Constructor */ @@ -42,9 +43,11 @@ super(); } - /** - * @see de.intevation.gnv.action.ArtifactDatabaseActionBase#execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) + * @see de.intevation.gnv.action.ArtifactDatabaseActionBase#execute(org.apache.struts.action.ActionMapping, + * org.apache.struts.action.ActionForm, + * javax.servlet.http.HttpServletRequest, + * javax.servlet.http.HttpServletResponse) */ @Override public ActionForward execute(ActionMapping mapping, ActionForm form, @@ -54,56 +57,65 @@ try { String target = request.getParameter("target"); String mimeType = request.getParameter("mimetype"); - - log.debug("Target: "+target); - log.debug("MimeType: "+mimeType); - + + log.debug("Target: " + target); + log.debug("MimeType: " + mimeType); + // TODO Check if is propper; - - SessionModel sm = SessionModelFactory.getInstance().getSessionModel(request); - OutputMode outputMode = sm.getOutputMode(target); - if (outputMode != null && outputMode.getMimeType().equals(mimeType)){ - Collection<OutputParameter> inputParameter =outputMode.getOutputParameters(); + + SessionModel sm = SessionModelFactory.getInstance() + .getSessionModel(request); + OutputMode outputMode = sm.getOutputMode(target); + if (outputMode != null && outputMode.getMimeType().equals(mimeType)) { + Collection<OutputParameter> inputParameter = outputMode + .getOutputParameters(); Collection<InputParameter> ips = null; - if (inputParameter != null){ + if (inputParameter != null) { ips = new ArrayList<InputParameter>(inputParameter.size()); Iterator<OutputParameter> it = inputParameter.iterator(); - while (it.hasNext()){ + while (it.hasNext()) { String name = it.next().getName(); String[] values = request.getParameterValues(name); - InputParameter ip = new DefaultInputParameter(name, values); + InputParameter ip = new DefaultInputParameter(name, + values); ips.add(ip); } } - - ArtifactDatabaseClient adc = ArtifactDatabaseClientFactory.getInstance().getArtifactDatabaseClient(); - + + ArtifactDatabaseClient adc = ArtifactDatabaseClientFactory + .getInstance().getArtifactDatabaseClient(); + this.setHeaders(target, mimeType, response, request); - + OutputStream outputStream = response.getOutputStream(); - adc.doOutput(sm.getSelectedArtifactFactory(), sm.getCurrentArtifact(), outputStream, target, mimeType, ips); - + adc.doOutput(sm.getSelectedArtifactFactory(), sm + .getCurrentArtifact(), outputStream, target, mimeType, + ips); + outputStream.flush(); outputStream.close(); - }else{ - if (outputMode == null){ + } else { + if (outputMode == null) { log.error("Outputmode wird nicht unterstützt."); - }else if (!outputMode.getMimeType().equals(mimeType)){ - log.error("MimeType "+mimeType+" wird nicht unterstützt."); + } else if (!outputMode.getMimeType().equals(mimeType)) { + log.error("MimeType " + mimeType + + " wird nicht unterstützt."); } // TODO FIXME: Fehlerbehandlung } return super.execute(mapping, form, request, response); } catch (Exception e) { - log.error(e,e); - request.setAttribute(CommunicationKeys.REQUEST_EXCEPTION_MESSAGE_ID, e.getMessage()); + log.error(e, e); + request.setAttribute( + CommunicationKeys.REQUEST_EXCEPTION_MESSAGE_ID, e + .getMessage()); return super.getExceptionForward(mapping); } } - - protected void setHeaders(String target, String mimeType, HttpServletResponse response, HttpServletRequest request){ + + protected void setHeaders(String target, String mimeType, + HttpServletResponse response, HttpServletRequest request) { response.setHeader("Content-Type", mimeType); } - }