annotate flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixChartGenerator.java @ 3406:3732e1bab0aa

Add kilometer to chart titles flys-artifacts/trunk@5058 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Christian Lins <christian.lins@intevation.de>
date Thu, 19 Jul 2012 11:40:59 +0000
parents 06ae0258269b
children cbe2febe30cc
rev   line source
3088
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.exports.fixings;
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2
3406
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3221
diff changeset
3 import de.intevation.artifacts.ArtifactNamespaceContext;
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3221
diff changeset
4 import de.intevation.artifacts.CallContext;
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3221
diff changeset
5 import de.intevation.artifacts.common.utils.XMLUtils;
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3221
diff changeset
6 import de.intevation.flys.exports.XYChartGenerator;
3088
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
7
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
8 import java.io.OutputStream;
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
9
3406
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3221
diff changeset
10 import org.apache.log4j.Logger;
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3221
diff changeset
11 import org.w3c.dom.Document;
3088
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13 public abstract class FixChartGenerator
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
14 extends XYChartGenerator
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
15 {
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
16 private static Logger logger = Logger.getLogger(FixChartGenerator.class);
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
17
3406
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3221
diff changeset
18 public static final double INVALID_KM = Double.valueOf(-1d);
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3221
diff changeset
19 public static final String CURRENT_KM = "currentKm";
3088
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
20 public static final String XPATH_CHART_CURRENTKM =
3221
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
21 "/art:action/art:attributes/art:currentKm/@art:km";
3088
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
22
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
23 @Override
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
24 public void init(Document request, OutputStream out, CallContext context) {
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
25 super.init(request, out, context);
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
26
3406
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3221
diff changeset
27 double currentKm = getCurrentKmFromRequest(request);
3221
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
28
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
29 if (logger.isDebugEnabled()) {
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
30 logger.debug("currentKm = " + currentKm);
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
31 }
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
32
3406
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3221
diff changeset
33 context.putContextValue(CURRENT_KM, currentKm);
3088
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
34 }
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
35
3406
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3221
diff changeset
36 public static double getCurrentKmFromRequest(Document request) {
3221
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
37
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
38 String km = XMLUtils.xpathString(
3088
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39 request,
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 XPATH_CHART_CURRENTKM,
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41 ArtifactNamespaceContext.INSTANCE);
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
42
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
43 if (km == null) {
3221
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
44 return INVALID_KM;
3088
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
45 }
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
46
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
47 try {
3221
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
48 return Double.valueOf(km);
3088
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
49 }
3221
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
50 catch (NumberFormatException nfe) {
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
51 return INVALID_KM;
3088
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
52 }
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
53 }
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
54 }
3221
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
55 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org