annotate gwt-client/src/main/java/org/dive4elements/river/client/server/ChartServiceHelper.java @ 9567:86e522bc7f36

jUnit-Tests completed
author gernotbelger
date Mon, 05 Nov 2018 13:21:57 +0100
parents 4809e23ffd27
children
rev   line source
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
6 * documentation coming with Dive4Elements River for details.
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
9 package org.dive4elements.river.client.server;
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import java.util.Map;
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12
1367
ab8eb2f544f2 Replaced stdout and stderr logging with log4j loggers in server classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1351
diff changeset
13 import org.apache.log4j.Logger;
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
14 import org.dive4elements.artifacts.common.ArtifactNamespaceContext;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
15 import org.dive4elements.artifacts.common.utils.XMLUtils;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
16 import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator;
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
17 import org.w3c.dom.Document;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
18 import org.w3c.dom.Element;
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 /**
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 */
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 public class ChartServiceHelper {
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
25 private static final Logger log = Logger.getLogger(ChartServiceHelper.class);
1367
ab8eb2f544f2 Replaced stdout and stderr logging with log4j loggers in server classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1351
diff changeset
26
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
27 /** The default chart width if no value is specified in the request. */
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
28 public static final int DEFAULT_CHART_WIDTH = 600;
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
30 /** The default chart height if no value is specified in the request. */
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 public static final int DEFAULT_CHART_HEIGHT = 400;
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 private ChartServiceHelper() {
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 }
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 /**
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 * This method returns a document which might contain parameters to adjust
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 * chart settings. The document is created using the information that are
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 * contained in the request object.
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 *
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
41 * @param req
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
42 * The request document.
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 *
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 * @return a document to adjust chart settings.
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 */
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
46 public static Document getChartAttributes(final Map<String, String> req) {
8203
238fc722f87a sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5993
diff changeset
47 log.debug("ChartServiceHelper.getChartAttributes");
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
49 final Document doc = XMLUtils.newDocument();
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
51 final ElementCreator ec = new ElementCreator(doc, ArtifactNamespaceContext.NAMESPACE_URI, ArtifactNamespaceContext.NAMESPACE_PREFIX);
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
53 final Element attributes = ec.create("attributes");
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 appendChartSize(req, attributes, ec);
1351
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
56 appendFormat(req, attributes, ec);
9104
07d51fd4864c Added metadata subtitle to all chart export
gernotbelger
parents: 8203
diff changeset
57 appendExport(req, attributes, ec);
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 appendXRange(req, attributes, ec);
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 appendYRange(req, attributes, ec);
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
60 appendCurrentKm(req, attributes, ec);
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 doc.appendChild(attributes);
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64 return doc;
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 }
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67 /**
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 * This method extracts the size (width/height) of a chart from request
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 * object and append those values - if they exist - to the attribute
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70 * document used to adjust chart settings.
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 *
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
72 * @param req
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
73 * The request object that might contain the chart size.
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
74 * @param attributes
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
75 * The attributes element used to adjust chart settings.
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
76 * @param ec
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
77 * The ElementCreator that might be used to create new Elements.
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 */
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
79 protected static void appendChartSize(final Map<String, String> req, final Element attributes, final ElementCreator ec) {
8203
238fc722f87a sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5993
diff changeset
80 log.debug("ChartServiceHelper.appendChartSize");
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
82 final Element size = ec.create("size");
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
84 String width = req.get("width");
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 String height = req.get("height");
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 if (width == null || height == null) {
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
88 width = String.valueOf(DEFAULT_CHART_WIDTH);
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89 height = String.valueOf(DEFAULT_CHART_HEIGHT);
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 }
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 ec.addAttr(size, "width", width, true);
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93 ec.addAttr(size, "height", height, true);
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 attributes.appendChild(size);
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96 }
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 /**
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99 * This method extracts the x range for the chart from request object and
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 * appends those range - if it exists - to the attribute document used to
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101 * adjust the chart settings.
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102 *
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
103 * @param req
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
104 * The request object that might contain the chart size.
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
105 * @param doc
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
106 * The attribute document used to adjust chart settings.
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
107 * @param ec
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
108 * The ElementCreator that might be used to create new Elements.
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 */
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
110 protected static void appendXRange(final Map<String, String> req, final Element attributes, final ElementCreator ec) {
8203
238fc722f87a sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5993
diff changeset
111 log.debug("ChartServiceHelper.appendXRange");
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
113 final Element range = ec.create("xrange");
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
115 final String from = req.get("minx");
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
116 final String to = req.get("maxx");
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
118 if (from != null && to != null) {
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
119 ec.addAttr(range, "from", from, true);
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
120 ec.addAttr(range, "to", to, true);
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
121
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
122 attributes.appendChild(range);
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
123 }
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124 }
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
125
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
126 /**
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
127 * This method extracts the x range for the chart from request object and
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
128 * appends those range - if it exists - to the attribute document used to
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
129 * adjust the chart settings.
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130 *
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
131 * @param req
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
132 * The request object that might contain the chart size.
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
133 * @param doc
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
134 * The attribute document used to adjust chart settings.
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
135 * @param ec
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
136 * The ElementCreator that might be used to create new Elements.
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137 */
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
138 protected static void appendYRange(final Map<String, String> req, final Element attributes, final ElementCreator ec) {
8203
238fc722f87a sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5993
diff changeset
139 log.debug("ChartServiceHelper.appendYRange");
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
141 final Element range = ec.create("yrange");
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
143 final String from = req.get("miny");
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
144 final String to = req.get("maxy");
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
145
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146 if (from != null && to != null) {
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147 ec.addAttr(range, "from", from, true);
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
148 ec.addAttr(range, "to", to, true);
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150 attributes.appendChild(range);
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151 }
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 }
1351
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
153
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
154 /**
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
155 * This method extracts the format string from request object and appends
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
156 * those format - if existing - to the attribute document used to adjust
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
157 * the chart settings.
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
158 *
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
159 * @param req
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
160 * The request object that might contain the chart format.
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
161 * @param doc
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
162 * The attribute document used to adjust chart settings.
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
163 * @param ec
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
164 * The ElementCreator that might be used to create new Elements.
1351
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
165 */
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
166 private static void appendFormat(final Map<String, String> req, final Element attributes, final ElementCreator ec
1351
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
167
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
168 ) {
8203
238fc722f87a sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5993
diff changeset
169 log.debug("ChartServiceHelper.appendFormat");
1351
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
170
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
171 final String formatStr = req.get("format");
1351
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
172 if (formatStr == null || formatStr.length() == 0) {
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
173 return;
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
174 }
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
175
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
176 final Element format = ec.create("format");
1351
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
177 ec.addAttr(format, "value", formatStr, true);
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
178
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
179 attributes.appendChild(format);
19f621663b7a Add the format (png, pdf, svg) string into the xml document which is used for querying charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 549
diff changeset
180 }
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
181
9104
07d51fd4864c Added metadata subtitle to all chart export
gernotbelger
parents: 8203
diff changeset
182 /**
07d51fd4864c Added metadata subtitle to all chart export
gernotbelger
parents: 8203
diff changeset
183 * This method extracts the export string from request object and appends
07d51fd4864c Added metadata subtitle to all chart export
gernotbelger
parents: 8203
diff changeset
184 * those format - if existing - to the attribute document used to adjust
07d51fd4864c Added metadata subtitle to all chart export
gernotbelger
parents: 8203
diff changeset
185 * the chart settings.
07d51fd4864c Added metadata subtitle to all chart export
gernotbelger
parents: 8203
diff changeset
186 *
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
187 * @param req
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
188 * The request object that might contain the chart export flag.
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
189 * @param doc
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
190 * The attribute document used to adjust chart settings.
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
191 * @param ec
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
192 * The ElementCreator that might be used to create new Elements.
9104
07d51fd4864c Added metadata subtitle to all chart export
gernotbelger
parents: 8203
diff changeset
193 */
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
194 private static void appendExport(final Map<String, String> req, final Element attributes, final ElementCreator ec) {
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
195
9104
07d51fd4864c Added metadata subtitle to all chart export
gernotbelger
parents: 8203
diff changeset
196 final String exportStr = req.get("export");
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
197 if (exportStr == null || exportStr.isEmpty())
9104
07d51fd4864c Added metadata subtitle to all chart export
gernotbelger
parents: 8203
diff changeset
198 return;
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
199
9104
07d51fd4864c Added metadata subtitle to all chart export
gernotbelger
parents: 8203
diff changeset
200 final Element format = ec.create("export");
07d51fd4864c Added metadata subtitle to all chart export
gernotbelger
parents: 8203
diff changeset
201 ec.addAttr(format, "value", exportStr, true);
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
202
9104
07d51fd4864c Added metadata subtitle to all chart export
gernotbelger
parents: 8203
diff changeset
203 attributes.appendChild(format);
07d51fd4864c Added metadata subtitle to all chart export
gernotbelger
parents: 8203
diff changeset
204 }
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
205
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
206 /**
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
207 * This method extracts the current km for the chart from request object and
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
208 * appends this km - if it exists - to the attribute document used to
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
209 * adjust the chart settings.
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
210 *
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
211 * @param req
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
212 * The request object that might contain the chart size.
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
213 * @param doc
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
214 * The attribute document used to adjust chart settings.
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
215 * @param ec
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
216 * The ElementCreator that might be used to create new Elements.
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
217 */
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
218 protected static void appendCurrentKm(final Map<String, String> req, final Element attributes, final ElementCreator ec) {
8203
238fc722f87a sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5993
diff changeset
219 log.debug("ChartServiceHelper.appendCurrentKm");
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
220
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
221 final Element currentKm = ec.create("currentKm");
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
222
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9565
diff changeset
223 final String km = req.get("km");
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
224
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
225 if (km != null) {
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
226 ec.addAttr(currentKm, "km", km, true);
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
227
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
228 attributes.appendChild(currentKm);
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
229 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
230 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1367
diff changeset
231
549
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
232 }
e74bf6bfeeb6 Use the same code to create the attribute document for the chart creation in ChartOutputService and ChartInfoService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
233 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org