/* (c) 2014 - 2016 Open Source Geospatial Foundation - all rights reserved * (c) 2001 - 2014 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.wms.dimension.impl; import org.geoserver.catalog.DimensionInfo; import org.geoserver.catalog.FeatureTypeInfo; import org.geoserver.catalog.ResourceInfo; import org.geoserver.wms.dimension.AbstractFeatureAttributeVisitorSelectionStrategy; import org.geotools.feature.visitor.CalcResult; import org.geotools.feature.visitor.MaxVisitor; import org.geotools.util.Converters; /** * Default implementation for selecting the default values for dimensions of * feature (vector) resources using the maximum domain value strategy. * * @author Ilkka Rinne / Spatineo Inc for the Finnish Meteorological Institute * */ public class FeatureMaximumValueSelectionStrategyImpl extends AbstractFeatureAttributeVisitorSelectionStrategy { /** * Default constructor. */ public FeatureMaximumValueSelectionStrategyImpl() { } @Override public Object getDefaultValue(ResourceInfo resource, String dimensionName, DimensionInfo dimension, Class clz) { final MaxVisitor max = new MaxVisitor(dimension.getAttribute()); CalcResult res = getCalculatedResult((FeatureTypeInfo) resource, dimension, max); if (res.equals(CalcResult.NULL_RESULT)) { return null; } else { return Converters.convert(max.getMax(),clz); } } }