Package org.geoserver.wfs.kvp.v2_0

Source Code of org.geoserver.wfs.kvp.v2_0.GetFeatureKvpRequestReader

/* (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.wfs.kvp.v2_0;

import java.util.Map;

import net.opengis.wfs20.Wfs20Factory;

import org.geoserver.catalog.Catalog;
import org.geoserver.config.GeoServer;
import org.geoserver.wfs.WFSException;
import org.geoserver.wfs.WFSInfo;
import org.opengis.filter.FilterFactory;


public class GetFeatureKvpRequestReader extends org.geoserver.wfs.kvp.GetFeatureKvpRequestReader {

    GeoServer geoServer;

    public GetFeatureKvpRequestReader(Class requestBean, GeoServer geoServer, FilterFactory filterFactory) {
        super(requestBean, Wfs20Factory.eINSTANCE, geoServer.getCatalog(), filterFactory);
        this.geoServer = geoServer;
    }

    WFSInfo getWFS() {
        return geoServer.getService(WFSInfo.class);
    }

    @Override
    public Object read(Object request, Map kvp, Map rawKvp) throws Exception {
        //special cite compliance check to ensure the client specified typeNames rather than just
        // typeName
        if (!kvp.containsKey("typenames") && kvp.containsKey("typename")
            && getWFS().isCiteCompliant()) {
            throw new WFSException("WFS 2.0 requires typeNames, not typeName");
        }
        return super.read(request, kvp, rawKvp);
    }
}
TOP

Related Classes of org.geoserver.wfs.kvp.v2_0.GetFeatureKvpRequestReader

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.