tim@335: /**
tim@335:  *
tim@335:  */
tim@335: package de.intevation.gnv.state;
tim@335: 
tim@335: import java.util.ArrayList;
tim@335: import java.util.Collection;
ingo@470: import java.util.List;
tim@335: 
tim@335: import org.apache.log4j.Logger;
tim@335: 
tim@335: import de.intevation.gnv.geobackend.base.Result;
tim@335: import de.intevation.gnv.state.describedata.DefaultMinMaxDescribeData;
tim@335: import de.intevation.gnv.state.describedata.DescribeData;
tim@335: 
tim@335: /**
tim@335:  * @author Tim Englich <tim.englich@intevation.de>
tim@335:  * 
tim@335:  */
tim@335: public class MinMaxState extends StateBase {
tim@335: 
tim@335:     /**
tim@335:      * The UID of this Class
tim@335:      */
tim@335:     private static final long serialVersionUID = -3525903792105187408L;
tim@335:     /**
tim@335:      * the logger, used to log exceptions and additonaly information
tim@335:      */
tim@335:     private static Logger log = Logger.getLogger(MinMaxState.class);
tim@335: 
tim@335:     /**
tim@335:      * Constructor
tim@335:      */
tim@335:     public MinMaxState() {
tim@335:         super();
tim@335:     }
tim@335: 
tim@335:     /**
tim@335:      * @see de.intevation.gnv.state.StateBase#purifyResult(java.util.Collection,
tim@335:      *      java.lang.String)
tim@335:      */
tim@335:     @Override
tim@335:     protected void purifyResult(Collection<Result> result, String uuid) {
tim@335:         log.debug("MinMaxState.purifyResult");
ingo@470:         List<Object> describeData = this.getDescibeData(uuid);
tim@335:         if (describeData == null) {
tim@335:             describeData = new ArrayList<Object>();
tim@335:         }
tim@335:         if (result != null && result.size() == 1) {
tim@335:             
tim@335:             Result value = result.iterator().next();
ingo@473:             DescribeData values = new DefaultMinMaxDescribeData(
ingo@473:                 dataName, 
ingo@473:                 value.getObject("MIN"), 
ingo@473:                 value.getObject("MAX"),
ingo@473:                 getID());
tim@335:             log.debug(values.toString());
tim@335:             describeData.add(values);
tim@335:         } else {
tim@335:             log.warn("Result cannot be handled as MinMax Resultset");
tim@335:         }
tim@335:         this.setDescibeData(uuid, describeData);
tim@335:     }
tim@335: 
tim@335: }