@Test public void integrationTest() throws Exception { WfsGetFeatureRequest request = new WfsGetFeatureRequest(); request.setBaseUrl("http: request.setTypeName("dov-pub-bodem:Bodemassociatiekaart"); request.setCriterion(new FidCriterionDto(new String[] { "Bodemassociatiekaart.1", "Bodemassociatiekaart.2" })); request.setCrs("EPSG:31370"); WfsGetFeatureResponse response = new WfsGetFeatureResponse(); command.execute(request, response); Assert.assertEquals(2, response.getFeatureCollection().size()); Assert.assertNotNull(servlet.getLastFilter()); Assert.assertEquals(ECQL.toFilter("IN('Bodemassociatiekaart.1', 'Bodemassociatiekaart.2')"), servlet.getLastFilter()); }
@Override public void execute(WfsGetFeatureRequest request, WfsGetFeatureResponse response) throws Exception { FeatureCollection<SimpleFeatureType, SimpleFeature> features = performWfsQuery(request); int maxCoordinates = request.getMaxCoordsPerFeature(); double distance = 10; if (null != features.getSchema() && features.getSchema().getCoordinateReferenceSystem() instanceof GeographicCRS) { distance = 0.0001; } WfsFeatureCollectionDto featureCollectionDto = new WfsFeatureCollectionDto(); featureCollectionDto.setBaseUrl(request.getBaseUrl()); featureCollectionDto.setTypeName(request.getTypeName()); List<Feature> dtoFeatures = convertFeatures(features, maxCoordinates, distance); featureCollectionDto.setFeatures(dtoFeatures); featureCollectionDto.setBoundingBox(getTotalBounds(dtoFeatures)); response.setFeatureCollection(featureCollectionDto); log.info("Found " + response.getFeatureCollection().size() + " features for layer " + request.getTypeName()); }
WfsGetFeatureCommand implements CommandHasRequest<WfsGetFeatureRequest, WfsGetFeatureResponse> { @Override public void execute(WfsGetFeatureRequest request, WfsGetFeatureResponse response) throws Exception { FeatureCollection<SimpleFeatureType, SimpleFeature> features = performWfsQuery(request); int maxCoordinates = request.getMaxCoordsPerFeature(); double distance = 10; if (null != features.getSchema() && features.getSchema().getCoordinateReferenceSystem() instanceof GeographicCRS) { distance = 0.0001; } WfsFeatureCollectionDto featureCollectionDto = new WfsFeatureCollectionDto(); featureCollectionDto.setBaseUrl(request.getBaseUrl()); featureCollectionDto.setTypeName(request.getTypeName()); List<Feature> dtoFeatures = convertFeatures(features, maxCoordinates, distance); featureCollectionDto.setFeatures(dtoFeatures); featureCollectionDto.setBoundingBox(getTotalBounds(dtoFeatures)); response.setFeatureCollection(featureCollectionDto); log.info("Found " + response.getFeatureCollection().size() + " features for layer " + request.getTypeName()); } }
WfsGetFeatureCommand implements CommandHasRequest<WfsGetFeatureRequest, WfsGetFeatureResponse> { @Override public void execute(WfsGetFeatureRequest request, WfsGetFeatureResponse response) throws Exception { FeatureCollection<SimpleFeatureType, SimpleFeature> features = performWfsQuery(request); int maxCoordinates = request.getMaxCoordsPerFeature(); double distance = 10; if (null != features.getSchema() && features.getSchema().getCoordinateReferenceSystem() instanceof GeographicCRS) { distance = 0.0001; } WfsFeatureCollectionDto featureCollectionDto = new WfsFeatureCollectionDto(); featureCollectionDto.setBaseUrl(request.getBaseUrl()); featureCollectionDto.setTypeName(request.getTypeName()); List<Feature> dtoFeatures = convertFeatures(features, maxCoordinates, distance); featureCollectionDto.setFeatures(dtoFeatures); featureCollectionDto.setBoundingBox(getTotalBounds(dtoFeatures)); response.setFeatureCollection(featureCollectionDto); log.info("Found " + response.getFeatureCollection().size() + " features for layer " + request.getTypeName()); } WfsGetFeatureCommand(); }
WfsGetFeatureCommand implements CommandHasRequest<WfsGetFeatureRequest, WfsGetFeatureResponse> { @Override public void execute(WfsGetFeatureRequest request, WfsGetFeatureResponse response) throws Exception { FeatureCollection<SimpleFeatureType, SimpleFeature> features = performWfsQuery(request); int maxCoordinates = request.getMaxCoordsPerFeature(); double distance = 10; if (null != features.getSchema() && features.getSchema().getCoordinateReferenceSystem() instanceof GeographicCRS) { distance = 0.0001; } WfsFeatureCollectionDto featureCollectionDto = new WfsFeatureCollectionDto(); featureCollectionDto.setBaseUrl(request.getBaseUrl()); featureCollectionDto.setTypeName(request.getTypeName()); List<Feature> dtoFeatures = convertFeatures(features, maxCoordinates, distance); featureCollectionDto.setFeatures(dtoFeatures); featureCollectionDto.setBoundingBox(getTotalBounds(dtoFeatures)); response.setFeatureCollection(featureCollectionDto); log.info("Found " + response.getFeatureCollection().size() + " features for layer " + request.getTypeName()); } WfsGetFeatureCommand(); void setDataStoreFactory(WfsDataStoreFactory dataStoreFactory); void setCriterionToFilterFactory(CriterionToFilterConverterFactory criterionToFilterFactory); void setHttpClientFactory(WfsHttpClientFactory httpClientFactory); @Override void execute(WfsGetFeatureRequest request, WfsGetFeatureResponse response); @Override WfsGetFeatureRequest getEmptyCommandRequest(); @Override WfsGetFeatureResponse getEmptyCommandResponse(); }
WfsGetFeatureCommand implements CommandHasRequest<WfsGetFeatureRequest, WfsGetFeatureResponse> { @Override public void execute(WfsGetFeatureRequest request, WfsGetFeatureResponse response) throws Exception { FeatureCollection<SimpleFeatureType, SimpleFeature> features = performWfsQuery(request); int maxCoordinates = request.getMaxCoordsPerFeature(); double distance = 10; if (null != features.getSchema() && features.getSchema().getCoordinateReferenceSystem() instanceof GeographicCRS) { distance = 0.0001; } WfsFeatureCollectionDto featureCollectionDto = new WfsFeatureCollectionDto(); featureCollectionDto.setBaseUrl(request.getBaseUrl()); featureCollectionDto.setTypeName(request.getTypeName()); List<Feature> dtoFeatures = convertFeatures(features, maxCoordinates, distance); featureCollectionDto.setFeatures(dtoFeatures); featureCollectionDto.setBoundingBox(getTotalBounds(dtoFeatures)); response.setFeatureCollection(featureCollectionDto); log.info("Found " + response.getFeatureCollection().size() + " features for layer " + request.getTypeName()); } WfsGetFeatureCommand(); void setDataStoreFactory(WfsDataStoreFactory dataStoreFactory); void setCriterionToFilterFactory(CriterionToFilterConverterFactory criterionToFilterFactory); void setHttpClientFactory(WfsHttpClientFactory httpClientFactory); @Override void execute(WfsGetFeatureRequest request, WfsGetFeatureResponse response); @Override WfsGetFeatureRequest getEmptyCommandRequest(); @Override WfsGetFeatureResponse getEmptyCommandResponse();  }