annotate flys-artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixChartGenerator.java @ 5831:bd047b71ab37

Repaired internal references
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 12:06:39 +0200
parents flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixChartGenerator.java@dd8a63002fb8
children
rev   line source
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4437
diff changeset
1 package org.dive4elements.river.exports.fixings;
3088
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4437
diff changeset
3 import org.dive4elements.artifacts.ArtifactNamespaceContext;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4437
diff changeset
4 import org.dive4elements.artifacts.CallContext;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4437
diff changeset
5 import org.dive4elements.artifacts.common.utils.XMLUtils;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4437
diff changeset
6 import org.dive4elements.river.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
3650
cbe2febe30cc Merged revisions 5391-5392 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3406
diff changeset
13 /**
cbe2febe30cc Merged revisions 5391-5392 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3406
diff changeset
14 * Base class for FixChartGenerator.
cbe2febe30cc Merged revisions 5391-5392 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@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 {
3650
cbe2febe30cc Merged revisions 5391-5392 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@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: 3650
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: 3650
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
4437
dd8a63002fb8 Only put current Km to the context if it is a valid km
Björn Ricks <bjoern.ricks@intevation.de>
parents: 3727
diff changeset
37 if (currentKm != INVALID_KM) {
dd8a63002fb8 Only put current Km to the context if it is a valid km
Björn Ricks <bjoern.ricks@intevation.de>
parents: 3727
diff changeset
38 context.putContextValue(CURRENT_KM, currentKm);
dd8a63002fb8 Only put current Km to the context if it is a valid km
Björn Ricks <bjoern.ricks@intevation.de>
parents: 3727
diff changeset
39 }
3088
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 }
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41
3727
b81f328da582 Removed code duplication.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3650
diff changeset
42 public static final Double getCurrentKmFromRequest(Document request) {
3221
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
43
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
44 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
45 request,
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
46 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
47 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
48
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
49 if (km == null) {
3221
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
50 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
51 }
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 try {
3221
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
54 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
55 }
3221
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
56 catch (NumberFormatException nfe) {
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
57 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
58 }
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
59 }
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
60 }
3221
06ae0258269b More braindead code removal.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3088
diff changeset
61 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org