comparison artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixChartGenerator.java @ 5838:5aa05a7a34b7

Rename modules to more fitting names.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 15:23:37 +0200
parents flys-artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixChartGenerator.java@bd047b71ab37
children 4897a58c8746
comparison
equal deleted inserted replaced
5837:d9901a08d0a6 5838:5aa05a7a34b7
1 package org.dive4elements.river.exports.fixings;
2
3 import org.dive4elements.artifacts.ArtifactNamespaceContext;
4 import org.dive4elements.artifacts.CallContext;
5 import org.dive4elements.artifacts.common.utils.XMLUtils;
6 import org.dive4elements.river.exports.XYChartGenerator;
7
8 import java.io.OutputStream;
9
10 import org.apache.log4j.Logger;
11 import org.w3c.dom.Document;
12
13 /**
14 * Base class for FixChartGenerator.
15 */
16 public abstract class FixChartGenerator
17 extends XYChartGenerator
18 {
19 /** Private logger. */
20 private static Logger logger = Logger.getLogger(FixChartGenerator.class);
21
22 public static final Double INVALID_KM = Double.valueOf(-1d);
23 public static final String CURRENT_KM = "currentKm";
24 public static final String XPATH_CHART_CURRENTKM =
25 "/art:action/art:attributes/art:currentKm/@art:km";
26
27 @Override
28 public void init(Document request, OutputStream out, CallContext context) {
29 super.init(request, out, context);
30
31 Double currentKm = getCurrentKmFromRequest(request);
32
33 if (logger.isDebugEnabled()) {
34 logger.debug("currentKm = " + currentKm);
35 }
36
37 if (currentKm != INVALID_KM) {
38 context.putContextValue(CURRENT_KM, currentKm);
39 }
40 }
41
42 public static final Double getCurrentKmFromRequest(Document request) {
43
44 String km = XMLUtils.xpathString(
45 request,
46 XPATH_CHART_CURRENTKM,
47 ArtifactNamespaceContext.INSTANCE);
48
49 if (km == null) {
50 return INVALID_KM;
51 }
52
53 try {
54 return Double.valueOf(km);
55 }
56 catch (NumberFormatException nfe) {
57 return INVALID_KM;
58 }
59 }
60 }
61 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org