Mercurial > dive4elements > gnv-client
comparison gnv-artifacts/src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java @ 99:bb45c5097cb6
ehcache Integration for storing the chartresultvalues
gnv-artifacts/trunk@146 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Mon, 28 Sep 2009 14:17:15 +0000 |
parents | bd284d8306db |
children | ef157bd2fa92 |
comparison
equal
deleted
inserted
replaced
98:156db25ad4b4 | 99:bb45c5097cb6 |
---|---|
1 /** | 1 /** |
2 * | 2 * |
3 */ | 3 */ |
4 package de.intevation.gnv.transition; | 4 package de.intevation.gnv.transition; |
5 | 5 |
6 import java.io.OutputStream; | |
6 import java.util.ArrayList; | 7 import java.util.ArrayList; |
7 import java.util.Collection; | 8 import java.util.Collection; |
9 | |
10 import net.sf.ehcache.Element; | |
8 | 11 |
9 import org.apache.log4j.Logger; | 12 import org.apache.log4j.Logger; |
10 import org.w3c.dom.Node; | 13 import org.w3c.dom.Node; |
11 import org.w3c.dom.NodeList; | 14 import org.w3c.dom.NodeList; |
12 | 15 |
13 import de.intevation.artifactdatabase.Config; | 16 import de.intevation.artifactdatabase.Config; |
17 import de.intevation.gnv.artifacts.cache.CacheFactory; | |
14 import de.intevation.gnv.geobackend.base.Result; | 18 import de.intevation.gnv.geobackend.base.Result; |
15 import de.intevation.gnv.transition.exception.TransitionException; | 19 import de.intevation.gnv.transition.exception.TransitionException; |
16 | 20 |
17 /** | 21 /** |
18 * @author Tim Englich <tim.englich@intevation.de> | 22 * @author Tim Englich <tim.englich@intevation.de> |
29 | 33 |
30 /** | 34 /** |
31 * the logger, used to log exceptions and additonaly information | 35 * the logger, used to log exceptions and additonaly information |
32 */ | 36 */ |
33 private static Logger log = Logger.getLogger(OutputTransitionBase.class); | 37 private static Logger log = Logger.getLogger(OutputTransitionBase.class); |
34 /** | 38 |
35 * The Results which should be used for Rendering the Charts or | |
36 * do other output | |
37 */ | |
38 protected Collection<Result> chartResult = null; | |
39 | 39 |
40 /** | 40 /** |
41 * The different Outputmodes which are provided by an OutputTransition | 41 * The different Outputmodes which are provided by an OutputTransition |
42 */ | 42 */ |
43 protected Collection<OutputMode> outputModes = null; | 43 protected Collection<OutputMode> outputModes = null; |
106 | 106 |
107 /** | 107 /** |
108 * @see de.intevation.gnv.transition.TransitionBase#advance() | 108 * @see de.intevation.gnv.transition.TransitionBase#advance() |
109 */ | 109 */ |
110 @Override | 110 @Override |
111 public void advance() throws TransitionException { | 111 public void advance(String uuid) throws TransitionException { |
112 log.debug("OutputTransitionBase.advance"); | 112 log.debug("OutputTransitionBase.advance"); |
113 if (this.chartResult == null){ | 113 if (this.getChartResult(uuid) == null){ |
114 super.advance(); | 114 super.advance(uuid); |
115 } | 115 } |
116 } | 116 } |
117 | 117 |
118 /** | 118 /** |
119 * @see de.intevation.gnv.transition.TransitionBase#getInputData() | 119 * @see de.intevation.gnv.transition.OutputTransition#out(java.lang.String, java.util.Collection, java.io.OutputStream) |
120 */ | |
121 public void out(String outputMode, Collection<InputData> inputData, | |
122 OutputStream outputStream) throws TransitionException { | |
123 } | |
124 | |
125 /** | |
126 * @return | |
127 */ | |
128 protected Collection<Result> getChartResult(String uuid) { | |
129 log.debug("OutputTransitionBase.getChartResult"); | |
130 if (CacheFactory.getInstance().isInitialized()){ | |
131 String key = uuid+super.getID(); | |
132 log.debug("Hash for Queryelements: "+key); | |
133 Element value = CacheFactory.getInstance().getCache().get(key); | |
134 if (value != null){ | |
135 return (Collection<Result>)(value.getObjectValue()); | |
136 } | |
137 } | |
138 return null; | |
139 } | |
140 | |
141 /** | |
142 * @see de.intevation.gnv.transition.TransitionBase#purifyResult(java.util.Collection, java.lang.String) | |
120 */ | 143 */ |
121 @Override | 144 @Override |
122 public Collection<InputData> getInputData() throws TransitionException { | 145 protected void purifyResult(Collection<Result> result, String uuid) { |
123 log.debug("OutputTransitionBase.getInputData"); | 146 log.debug("OutputTransitionBase.purifyResult"); |
124 this.chartResult = null; | 147 if (CacheFactory.getInstance().isInitialized()){ |
125 return super.getInputData(); | 148 String key = uuid+super.getID(); |
149 log.debug("Hash for Queryelements: "+key); | |
150 CacheFactory.getInstance().getCache().put(new Element(key, result)); | |
151 } | |
126 } | 152 } |
127 | 153 |
128 } | 154 } |