Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/state/MinMaxState.java @ 376:d8f3ef441bf2
merged gnv-artifacts/0.3
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:13:47 +0200 |
parents | e964a3d8f7bc |
children | b7bb66440cc8 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/MinMaxState.java Fri Sep 28 12:13:47 2012 +0200 @@ -0,0 +1,62 @@ +/** + * + */ +package de.intevation.gnv.state; + +import java.util.ArrayList; +import java.util.Collection; + +import org.apache.log4j.Logger; + +import de.intevation.gnv.geobackend.base.Result; +import de.intevation.gnv.state.describedata.DefaultMinMaxDescribeData; +import de.intevation.gnv.state.describedata.DescribeData; + +/** + * @author Tim Englich <tim.englich@intevation.de> + * + */ +public class MinMaxState extends StateBase { + + /** + * The UID of this Class + */ + private static final long serialVersionUID = -3525903792105187408L; + /** + * the logger, used to log exceptions and additonaly information + */ + private static Logger log = Logger.getLogger(MinMaxState.class); + + /** + * Constructor + */ + public MinMaxState() { + super(); + } + + /** + * @see de.intevation.gnv.state.StateBase#purifyResult(java.util.Collection, + * java.lang.String) + */ + @Override + protected void purifyResult(Collection<Result> result, String uuid) { + log.debug("MinMaxState.purifyResult"); + Collection<Object> describeData = this.getDescibeData(uuid); + if (describeData == null) { + describeData = new ArrayList<Object>(); + } + if (result != null && result.size() == 1) { + + Result value = result.iterator().next(); + DescribeData values = new DefaultMinMaxDescribeData(this.dataName, + value.getObject("MIN"), + value.getObject("MAX")); + log.debug(values.toString()); + describeData.add(values); + } else { + log.warn("Result cannot be handled as MinMax Resultset"); + } + this.setDescibeData(uuid, describeData); + } + +}