/* (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.response.v2_0; import java.io.IOException; import java.io.OutputStream; import javax.xml.namespace.QName; import net.opengis.wfs20.GetPropertyValueType; import net.opengis.wfs20.QueryType; import net.opengis.wfs20.ValueCollectionType; import org.geoserver.catalog.NamespaceInfo; import org.geoserver.config.GeoServer; import org.geoserver.platform.Operation; import org.geoserver.platform.ServiceException; import org.geotools.wfs.v2_0.WFS; import org.geotools.xml.Encoder; public class GetPropertyValueResponse extends WFSResponse { public GetPropertyValueResponse(GeoServer gs) { super(gs, ValueCollectionType.class); } @Override protected void encode(Encoder encoder, Object value, OutputStream output, Operation op) throws IOException, ServiceException { GetPropertyValueType request = (GetPropertyValueType) op.getParameters()[0]; QueryType query = (QueryType) request.getAbstractQueryExpression(); QName typeName = (QName) query.getTypeNames().get(0); NamespaceInfo ns = gs.getCatalog().getNamespaceByURI(typeName.getNamespaceURI()); encoder.getNamespaces().declarePrefix(ns.getPrefix(), ns.getURI()); encoder.encode(value, WFS.ValueCollection, output); } }