Package org.geoserver.wps.ppio

Source Code of org.geoserver.wps.ppio.WFSPPIO

/* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved.
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.wps.ppio;

import java.io.InputStream;

import net.opengis.wfs.FeatureCollectionType;
import net.opengis.wfs.WfsFactory;

import org.geotools.feature.FeatureCollection;
import org.geotools.wfs.WFS;
import org.geotools.wfs.v1_0.WFSConfiguration;
import org.geotools.xml.Encoder;
import org.opengis.feature.simple.SimpleFeatureType;
import org.xml.sax.ContentHandler;

/**
* Allows reading and writing a WFS feature collection
*/
public class WFSPPIO extends XMLPPIO {

    protected WFSPPIO() {
        super( FeatureCollectionType.class, FeatureCollection.class, "text/xml; subtype=wfs-collection/1.0", WFS.FeatureCollection );
    }

    @Override
    public Object decode(InputStream input) throws Exception {
        //TODO: parse the input stream as a wfs:FeatureCollection
        return null;
    }
   
    @Override
    public Object decode(Object input) throws Exception {
        FeatureCollectionType fc = (FeatureCollectionType) input;
        return fc.getFeature().get( 0 );
    }
   
    @Override
    public void encode(Object object, ContentHandler handler) throws Exception {
        FeatureCollection features = (FeatureCollection) object;
        SimpleFeatureType featureType = (SimpleFeatureType) features.getSchema();
       
        FeatureCollectionType fc = WfsFactory.eINSTANCE.createFeatureCollectionType();
        fc.getFeature().add( features );
       
        Encoder e = new Encoder( new WFSConfiguration() );
        e.getNamespaces().declarePrefix( "feature", featureType.getName().getNamespaceURI() );
        e.encode( fc, WFS.FeatureCollection, handler );
    }
}
TOP

Related Classes of org.geoserver.wps.ppio.WFSPPIO

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.