Mercurial > dive4elements > gnv-client
comparison gnv/src/main/java/de/intevation/gnv/action/DoOutputAction.java @ 13:2535158e2687
Chartoutput Added to the View
gnv/trunk@95 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Wed, 16 Sep 2009 12:41:27 +0000 |
parents | |
children | bba8fd97e549 |
comparison
equal
deleted
inserted
replaced
12:4ebe57b170d3 | 13:2535158e2687 |
---|---|
1 /** | |
2 * | |
3 */ | |
4 package de.intevation.gnv.action; | |
5 | |
6 import java.io.OutputStream; | |
7 import java.util.ArrayList; | |
8 import java.util.Collection; | |
9 import java.util.Iterator; | |
10 | |
11 import javax.servlet.http.HttpServletRequest; | |
12 import javax.servlet.http.HttpServletResponse; | |
13 | |
14 import org.apache.struts.action.ActionForm; | |
15 import org.apache.struts.action.ActionForward; | |
16 import org.apache.struts.action.ActionMapping; | |
17 | |
18 import de.intevation.gnv.action.sessionmodel.SessionModel; | |
19 import de.intevation.gnv.action.sessionmodel.SessionModelFactory; | |
20 import de.intevation.gnv.artifactdatabase.client.ArtifactDatabaseClient; | |
21 import de.intevation.gnv.artifactdatabase.client.ArtifactDatabaseClientFactory; | |
22 import de.intevation.gnv.artifactdatabase.objects.ArtifactDescription; | |
23 import de.intevation.gnv.artifactdatabase.objects.DefaultInputParameter; | |
24 import de.intevation.gnv.artifactdatabase.objects.InputParameter; | |
25 | |
26 /** | |
27 * @author Tim Englich <tim.englich@intevation.de> | |
28 * | |
29 */ | |
30 public class DoOutputAction extends ArtifactDatabaseActionBase { | |
31 | |
32 /** | |
33 * Constructor | |
34 */ | |
35 public DoOutputAction() { | |
36 super(); | |
37 } | |
38 | |
39 | |
40 /** | |
41 * @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) | |
42 */ | |
43 @Override | |
44 public ActionForward execute(ActionMapping mapping, ActionForm form, | |
45 HttpServletRequest request, HttpServletResponse response) | |
46 throws Exception { | |
47 String target = request.getParameter("target"); | |
48 String mimeType = request.getParameter("mimetype"); | |
49 | |
50 // TODO Check if ist is propper; | |
51 | |
52 SessionModel sm = SessionModelFactory.getInstance().getSessionModel(request); | |
53 ArtifactDescription ad = (ArtifactDescription)sm.getCurrentArtifact(); | |
54 Collection<String> inputParameter = ad.getInputParameter(); | |
55 Collection<InputParameter> ips = null; | |
56 if (inputParameter != null){ | |
57 ips = new ArrayList<InputParameter>(inputParameter.size()); | |
58 Iterator<String> it = inputParameter.iterator(); | |
59 while (it.hasNext()){ | |
60 String name = it.next(); | |
61 String[] values = request.getParameterValues(name); | |
62 InputParameter ip = new DefaultInputParameter(name, values); | |
63 ips.add(ip); | |
64 } | |
65 } | |
66 | |
67 ArtifactDatabaseClient adc = ArtifactDatabaseClientFactory.getInstance().getArtifactDatabaseClient(); | |
68 | |
69 response.setContentType(mimeType); | |
70 OutputStream outputStream = response.getOutputStream(); | |
71 adc.doOutput(sm.getSelectedArtifactFactory(), sm.getCurrentArtifact(), outputStream, target, mimeType, ips); | |
72 | |
73 outputStream.flush(); | |
74 outputStream.close(); | |
75 | |
76 return super.execute(mapping, form, request, response); | |
77 } | |
78 | |
79 | |
80 } |