getFeature.setResultType( RESULTS == resultType ? ResultTypeType.RESULTS_LITERAL
/** * Addresses the following issues with the CubeWerx WFS server: * <p> * <ul> * <li>The request fails if the {@code resultType} parameter is set, either if the value is hits * or results, so it sets {@link GetFeatureType#setResultType(net.opengis.wfs.ResultTypeType)} * to {@code null} * * <li>CubeWerx does not support filtering logical filters containing mixed geometry filters * (eg, AND(BBOX, Intersects)), no matter what the capabilities doc says * </ul> * </p> */ @SuppressWarnings("nls") @Override public RequestComponents createGetFeatureRequest(WFSProtocol wfs, GetFeature query) throws IOException { RequestComponents parts = super.createGetFeatureRequest(wfs, query); GetFeatureType serverRequest = parts.getServerRequest(); serverRequest.setResultType(null); parts.setServerRequest(serverRequest); GetFeatureType nonResultTypeRequest = new CubeWerxGetFeatureType(); EMFUtils.copy(serverRequest, nonResultTypeRequest); // CubeWerx fails if the _mandatory_ resultType attribute is sent nonResultTypeRequest.setResultType(null); parts.setServerRequest(nonResultTypeRequest); parts.getKvpParameters().remove("RESULTTYPE"); return parts; }
Object rt = node.getAttributeValue("resultType"); if ("results".equals(rt)) { getFeature.setResultType(ResultTypeType.RESULTS_LITERAL); } else if ("hits".equals(rt)) { getFeature.setResultType(ResultTypeType.HITS_LITERAL); } else { getFeature.setResultType((ResultTypeType) rt);
/** * Turns a GetLogType objects into an almost equivalent GetFeatureType object s * that the superclass can do its work * @param featureCollection * @param request * @return */ private GetFeatureType toGetFeatureType(FeatureCollectionType featureCollection, GetLogType request) { FeatureCollection features = (FeatureCollection) featureCollection.getFeature().get(0); FeatureType featureType = features.getSchema(); GetFeatureType ftRequest = WfsFactory.eINSTANCE.createGetFeatureType(); QueryType query = WfsFactory.eINSTANCE.createQueryType(); query.setTypeName(Collections.singletonList(featureType.getTypeName())); ftRequest.getQuery().add(query); ftRequest.setBaseUrl(request.getBaseUrl()); ftRequest.setHandle(request.getHandle()); ftRequest.setMaxFeatures(request.getMaxFeatures()); ftRequest.setOutputFormat(request.getOutputFormat()); ftRequest.setResultType(ResultTypeType.RESULTS_LITERAL); return ftRequest; }
getFeature.setResultType(RESULTS == resultType ? RESULTS_LITERAL : HITS_LITERAL);
getFeature.setResultType( RESULTS == resultType ? ResultTypeType.RESULTS_LITERAL
getFeature.setResultType((ResultTypeType) node.getAttributeValue("resultType"));