Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixChartGenerator.java @ 4446:05a54b4d579d
Remove AbstractFixGenerator and use new KMIndexProcessor instead
Don't use same base class for minfo and fixings artifacts. Instead use the new
KMIndexProcessor to generate the same output for the same data types and facets.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Wed, 07 Nov 2012 14:34:13 +0100 |
parents | dd8a63002fb8 |
children |
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 |
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 : |