Package org.geoserver.wcs2_0.eo.response

Source Code of org.geoserver.wcs2_0.eo.response.GranuleCoverageInfo

/* (c) 2014 Open Source Geospatial Foundation - all rights reserved
* (c) 2001 - 2013 OpenPlans
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.wcs2_0.eo.response;

import java.io.IOException;
import java.util.List;

import org.geoserver.catalog.CoverageInfo;
import org.geoserver.security.decorators.DecoratingCoverageInfo;
import org.geotools.coverage.grid.io.DimensionDescriptor;
import org.geotools.coverage.grid.io.StructuredGridCoverage2DReader;
import org.geotools.factory.Hints;
import org.opengis.coverage.grid.GridCoverageReader;
import org.opengis.feature.simple.SimpleFeature;
import org.opengis.util.ProgressListener;

/**
* Builds a view of the coverage that contains only the specified coverage
*
* @author Andrea Aime - GeoSolutions
*/
class GranuleCoverageInfo extends DecoratingCoverageInfo {
    private static final long serialVersionUID = 7877565589262804385L;
    private SimpleFeature feature;
    private List<DimensionDescriptor> dimensionDescriptors;

    public GranuleCoverageInfo(CoverageInfo delegate, SimpleFeature feature, List<DimensionDescriptor> dimensionDescriptors) {
        super(delegate);
        this.feature = feature;
        this.dimensionDescriptors = dimensionDescriptors;
    }

    @Override
    public GridCoverageReader getGridCoverageReader(ProgressListener listener, Hints hints)
            throws IOException {
        StructuredGridCoverage2DReader reader = (StructuredGridCoverage2DReader) super.getGridCoverageReader(listener, hints);
        return new SingleGranuleGridCoverageReader(reader, feature, dimensionDescriptors);
    }
}
TOP

Related Classes of org.geoserver.wcs2_0.eo.response.GranuleCoverageInfo

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.