Mercurial > dive4elements > river
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 : |