Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixChartGenerator.java @ 4147:db0b9cff8496
Cosmetics, documentation.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Tue, 16 Oct 2012 11:33:23 +0200 |
parents | b81f328da582 |
children | dd8a63002fb8 |
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 |
3723
7b14d00bca8a
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3406
diff
changeset
|
13 /** |
7b14d00bca8a
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3406
diff
changeset
|
14 * Base class for FixChartGenerator. |
7b14d00bca8a
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3406
diff
changeset
|
15 */ |
3088
960307cf2adc
Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 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
|
17 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
|
18 { |
3723
7b14d00bca8a
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3406
diff
changeset
|
19 /** Private logger. */ |
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 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
|
21 |
3727
b81f328da582
Removed code duplication.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3723
diff
changeset
|
22 public static final Double INVALID_KM = Double.valueOf(-1d); |
3406
3732e1bab0aa
Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents:
3221
diff
changeset
|
23 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
|
24 public static final String XPATH_CHART_CURRENTKM = |
3221
06ae0258269b
More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3088
diff
changeset
|
25 "/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
|
26 |
960307cf2adc
Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 @Override |
960307cf2adc
Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
28 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
|
29 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
|
30 |
3727
b81f328da582
Removed code duplication.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3723
diff
changeset
|
31 Double currentKm = getCurrentKmFromRequest(request); |
3221
06ae0258269b
More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3088
diff
changeset
|
32 |
06ae0258269b
More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3088
diff
changeset
|
33 if (logger.isDebugEnabled()) { |
06ae0258269b
More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3088
diff
changeset
|
34 logger.debug("currentKm = " + currentKm); |
06ae0258269b
More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3088
diff
changeset
|
35 } |
06ae0258269b
More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3088
diff
changeset
|
36 |
3406
3732e1bab0aa
Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents:
3221
diff
changeset
|
37 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
|
38 } |
960307cf2adc
Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 |
3727
b81f328da582
Removed code duplication.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3723
diff
changeset
|
40 public static final Double getCurrentKmFromRequest(Document request) { |
3221
06ae0258269b
More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3088
diff
changeset
|
41 |
06ae0258269b
More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3088
diff
changeset
|
42 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
|
43 request, |
960307cf2adc
Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 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
|
45 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
|
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 if (km == null) { |
3221
06ae0258269b
More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3088
diff
changeset
|
48 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
|
49 } |
960307cf2adc
Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 |
960307cf2adc
Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 try { |
3221
06ae0258269b
More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3088
diff
changeset
|
52 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
|
53 } |
3221
06ae0258269b
More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3088
diff
changeset
|
54 catch (NumberFormatException nfe) { |
06ae0258269b
More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3088
diff
changeset
|
55 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
|
56 } |
960307cf2adc
Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 } |
960307cf2adc
Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 } |
3221
06ae0258269b
More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3088
diff
changeset
|
59 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |