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 :

http://dive4elements.wald.intevation.org