# HG changeset patch # User Ingo Weinzierl # Date 1267541729 0 # Node ID 2f3d885fed0913a761d436868861f15abb68b602 # Parent b8ea9383d28593a16cf46815c00b963be3d69c7f Adjusted http requests and appended a new parameter export mode to 'out'-xml document to choose between svg, pdf or image exports. gnv/trunk@725 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r b8ea9383d285 -r 2f3d885fed09 gnv/ChangeLog --- a/gnv/ChangeLog Tue Mar 02 10:53:30 2010 +0000 +++ b/gnv/ChangeLog Tue Mar 02 14:55:29 2010 +0000 @@ -1,3 +1,22 @@ +2010-03-02 Ingo Weinzierl + + * src/main/java/de/intevation/gnv/artifactdatabase/client/ArtifactDatabaseClient.java, + src/main/java/de/intevation/gnv/artifactdatabase/client/DefaultArtifactDatabaseClient.java: + Added export mode to 'out'-xml document. + + * src/main/java/de/intevation/gnv/action/DoOutputAction.java, + src/main/java/de/intevation/gnv/action/DoExportAction.java: Call + 'doOutput' for triggering an output like chart, histogram, csv or odv with + a new parameter export mode which contains the export format (img, pdf, + svg). + + * src/main/webapp/WEB-INF/jsp/includes/display_histogram_options_inc.jsp, + src/main/webapp/WEB-INF/jsp/includes/display_diagramm_options_inc.jsp, + src/main/webapp/WEB-INF/jsp/includes/display_histogram_inc.jsp, + src/main/webapp/WEB-INF/jsp/includes/display_diagramm_inc.jsp, + src/main/webapp/WEB-INF/jsp/includes/display_export_inc.jsp: Added export + mode to HTTP-Get requests. + 2010-03-02 Ingo Weinzierl * src/main/webapp/WEB-INF/config/templates/describe-ui-static.xsl: diff -r b8ea9383d285 -r 2f3d885fed09 gnv/src/main/java/de/intevation/gnv/action/DoExportAction.java --- a/gnv/src/main/java/de/intevation/gnv/action/DoExportAction.java Tue Mar 02 10:53:30 2010 +0000 +++ b/gnv/src/main/java/de/intevation/gnv/action/DoExportAction.java Tue Mar 02 14:55:29 2010 +0000 @@ -107,9 +107,14 @@ this.setHeaders(mode, mimeType, response, request); OutputStream outputStream = response.getOutputStream(); - adc.doOutput(sm.getSelectedArtifactFactory(), sm - .getCurrentArtifact(), outputStream, mode, mimeType, - ips); + adc.doOutput( + sm.getSelectedArtifactFactory(), + sm.getCurrentArtifact(), + outputStream, + target, + mode, + mimeType, + ips); outputStream.flush(); outputStream.close(); @@ -137,9 +142,14 @@ 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, + mode, + mimeType, + ips); outputStream.flush(); outputStream.close(); diff -r b8ea9383d285 -r 2f3d885fed09 gnv/src/main/java/de/intevation/gnv/action/DoOutputAction.java --- a/gnv/src/main/java/de/intevation/gnv/action/DoOutputAction.java Tue Mar 02 10:53:30 2010 +0000 +++ b/gnv/src/main/java/de/intevation/gnv/action/DoOutputAction.java Tue Mar 02 14:55:29 2010 +0000 @@ -59,11 +59,13 @@ HttpServletResponse response) throws Exception { log.debug("DoOutputAction.execute"); try { - String target = request.getParameter("target"); + String target = request.getParameter("target"); String mimeType = request.getParameter("mimetype"); + String mode = request.getParameter("mode"); log.debug("Target: " + target); log.debug("MimeType: " + mimeType); + log.debug("ExportMode: " + mode); // TODO Check if is propper; @@ -99,9 +101,14 @@ 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, + mode, + mimeType, + ips); outputStream.flush(); outputStream.close(); diff -r b8ea9383d285 -r 2f3d885fed09 gnv/src/main/java/de/intevation/gnv/artifactdatabase/client/ArtifactDatabaseClient.java --- a/gnv/src/main/java/de/intevation/gnv/artifactdatabase/client/ArtifactDatabaseClient.java Tue Mar 02 10:53:30 2010 +0000 +++ b/gnv/src/main/java/de/intevation/gnv/artifactdatabase/client/ArtifactDatabaseClient.java Tue Mar 02 14:55:29 2010 +0000 @@ -98,11 +98,15 @@ * @param mimeType * @throws ArtifactDatabaseClientException */ - public void doOutput(ArtifactObject artifactFactory, - ArtifactObject currentArtifact, OutputStream stream, - String targetName, String mimeType, - Collection inputParameter) - throws ArtifactDatabaseClientException; + public void doOutput( + ArtifactObject artifactFactory, + ArtifactObject currentArtifact, + OutputStream stream, + String targetName, + String exportMode, + String mimeType, + Collection inputParameter) + throws ArtifactDatabaseClientException; /** * @param factory diff -r b8ea9383d285 -r 2f3d885fed09 gnv/src/main/java/de/intevation/gnv/artifactdatabase/client/DefaultArtifactDatabaseClient.java --- a/gnv/src/main/java/de/intevation/gnv/artifactdatabase/client/DefaultArtifactDatabaseClient.java Tue Mar 02 10:53:30 2010 +0000 +++ b/gnv/src/main/java/de/intevation/gnv/artifactdatabase/client/DefaultArtifactDatabaseClient.java Tue Mar 02 14:55:29 2010 +0000 @@ -678,14 +678,23 @@ * java.io.OutputStream, java.lang.String, java.lang.String, * java.util.Collection) */ - public void doOutput(ArtifactObject artifactFactory, - ArtifactObject currentArtifact, OutputStream stream, - String targetName, String mimeType, - Collection inputParameter) - throws ArtifactDatabaseClientException { + public void doOutput( + ArtifactObject artifactFactory, + ArtifactObject currentArtifact, + OutputStream stream, + String targetName, + String exportMode, + String mimeType, + Collection inputParameter) + throws ArtifactDatabaseClientException + { try { - Document requestBody = this.createOutRequestBody(currentArtifact, - targetName, mimeType, inputParameter); + Document requestBody = this.createOutRequestBody( + currentArtifact, + targetName, + exportMode, + mimeType, + inputParameter); String requestUrl = this.getArtifactUrl(artifactFactory, currentArtifact) @@ -704,10 +713,12 @@ } private Document createOutRequestBody( - ArtifactObject currentArtifact, - String target, - String mimeType, - Collection inputParameter) { + ArtifactObject currentArtifact, + String target, + String exportMode, + String mimeType, + Collection inputParameter) + { Document document = new XMLUtils().newDocument(); Node rootNode = this.createRootNode(document); @@ -727,6 +738,10 @@ outNode.setAttribute("name", target); rootNode.appendChild(outNode); + Element exportNode = this.createArtifactElement(document, "export"); + exportNode.setAttribute("name", exportMode); + outNode.appendChild(exportNode); + Element mimeTypeNode = this.createArtifactElement(document, "mime-type"); mimeTypeNode.setAttribute("value", mimeType); outNode.appendChild(mimeTypeNode); @@ -779,7 +794,7 @@ String target = "wms"; String requestURL = getArtifactUrl(factory, artifact) + "/" + target; Document request = createOutRequestBody( - artifact, target, "text/xml", null); + artifact, target, "", "text/xml", null); try { InputStream input = doPostRequest(requestURL, request); Document result = XMLUtils.readDocument(input); @@ -806,7 +821,7 @@ String requestUrl = this.getArtifactUrl(artifactFactory, currentArtifact) + "/" + targetName; Document requestBody = this.createOutRequestBody(currentArtifact, - targetName, "text/xml", null); + targetName, "", "text/xml", null); XMLUtils xmlUtils = new XMLUtils(); InputStream is = this.doPostRequest(requestUrl, requestBody); Document resultDocument = xmlUtils.readDocument(is); diff -r b8ea9383d285 -r 2f3d885fed09 gnv/src/main/webapp/WEB-INF/jsp/includes/display_diagramm_inc.jsp --- a/gnv/src/main/webapp/WEB-INF/jsp/includes/display_diagramm_inc.jsp Tue Mar 02 10:53:30 2010 +0000 +++ b/gnv/src/main/webapp/WEB-INF/jsp/includes/display_diagramm_inc.jsp Tue Mar 02 14:55:29 2010 +0000 @@ -34,6 +34,6 @@ <%-- diagramm is not null if the user clicked the 'draw' button --%>
- <bean:message key="gnviewer.output.options.diagramm.alt"/> + <bean:message key="gnviewer.output.options.diagramm.alt"/>
diff -r b8ea9383d285 -r 2f3d885fed09 gnv/src/main/webapp/WEB-INF/jsp/includes/display_diagramm_options_inc.jsp --- a/gnv/src/main/webapp/WEB-INF/jsp/includes/display_diagramm_options_inc.jsp Tue Mar 02 10:53:30 2010 +0000 +++ b/gnv/src/main/webapp/WEB-INF/jsp/includes/display_diagramm_options_inc.jsp Tue Mar 02 14:55:29 2010 +0000 @@ -30,7 +30,7 @@ if (op != null){ Iterator it = op.iterator(); while (it.hasNext()){ - OutputParameter parameter = it.next(); + OutputParameter parameter = it.next(); parameterString = parameterString +"&"+parameter.getName()+"="+(diagrammOptions != null ? diagrammOptions.getValue(parameter.getName()): parameter.getValue()); } } @@ -83,7 +83,7 @@ "/> <%}%> <%if (supportIMG != null) { %> - "> + "> <%}%> diff -r b8ea9383d285 -r 2f3d885fed09 gnv/src/main/webapp/WEB-INF/jsp/includes/display_export_inc.jsp --- a/gnv/src/main/webapp/WEB-INF/jsp/includes/display_export_inc.jsp Tue Mar 02 10:53:30 2010 +0000 +++ b/gnv/src/main/webapp/WEB-INF/jsp/includes/display_export_inc.jsp Tue Mar 02 14:55:29 2010 +0000 @@ -72,7 +72,7 @@
<%if (supportChart) { %> - "> + " title=""> <%}%> diff -r b8ea9383d285 -r 2f3d885fed09 gnv/src/main/webapp/WEB-INF/jsp/includes/display_histogram_inc.jsp --- a/gnv/src/main/webapp/WEB-INF/jsp/includes/display_histogram_inc.jsp Tue Mar 02 10:53:30 2010 +0000 +++ b/gnv/src/main/webapp/WEB-INF/jsp/includes/display_histogram_inc.jsp Tue Mar 02 14:55:29 2010 +0000 @@ -29,5 +29,5 @@
- <bean:message key="gnviewer.output.options.histogram.alt"/> + <bean:message key="gnviewer.output.options.histogram.alt"/>
diff -r b8ea9383d285 -r 2f3d885fed09 gnv/src/main/webapp/WEB-INF/jsp/includes/display_histogram_options_inc.jsp --- a/gnv/src/main/webapp/WEB-INF/jsp/includes/display_histogram_options_inc.jsp Tue Mar 02 10:53:30 2010 +0000 +++ b/gnv/src/main/webapp/WEB-INF/jsp/includes/display_histogram_options_inc.jsp Tue Mar 02 14:55:29 2010 +0000 @@ -107,7 +107,7 @@ "/> <%}%> <%if (supportIMG != null) { %> - "> + "> <%}%>