GET_FEATURE_BY_ID.equalsIgnoreCase(storedQueryId) || GET_FEATURE_BY_ID_DEPRECATED.equals(storedQueryId); StoredQuery storedQuery = storedQueryProvider.getStoredQuery(storedQueryId); if (storedQuery == null) { WFSException exception =
@Test public void whenNoStoredQueriesDefinedAGetFeatureByIdQueryIsReturned() { List<StoredQuery> queries = storedQueryProvider.listStoredQueries(); assertThat(queries, hasSize(1)); assertThat( queries.get(0).getName(), is(equalTo("urn:ogc:def:query:OGC-WFS::GetFeatureById"))); assertThat( storedQueryProvider.getStoredQuery("urn:ogc:def:query:OGC-WFS::GetFeatureById"), is(notNullValue())); }
@Test public void whenBogusStoredQueryDefinitionCreatedItIsNotReturnedInTheListOfStoredQueries() throws IOException { createMyStoredQueryDefinitionFile(storedQueryProvider.storedQueryDir().dir()); createMyBogusStoredQueryDefinition(); List<StoredQuery> queries = storedQueryProvider.listStoredQueries(); assertThat(queries, hasSize(2)); assertThat( storedQueryProvider.getStoredQuery("urn:ogc:def:query:OGC-WFS::GetFeatureById"), is(notNullValue())); assertThat(storedQueryProvider.getStoredQuery(MY_STORED_QUERY), is(notNullValue())); }
@Test public void whenStoredQueryDefinitionCreatedByFileItIsReturnedInTheListOfStoredQueries() throws IOException { createMyStoredQueryDefinitionFile(storedQueryProvider.storedQueryDir().dir()); List<StoredQuery> queries = storedQueryProvider.listStoredQueries(); assertThat(queries, hasSize(2)); assertThat( storedQueryProvider.getStoredQuery("urn:ogc:def:query:OGC-WFS::GetFeatureById"), is(notNullValue())); assertThat( storedQueryProvider.getStoredQuery(MY_STORED_QUERY).getName(), is(MY_STORED_QUERY)); }
@Test public void canRemoveStoredQueryDefinition() throws IOException { File myStoredQueryDefinition = createMyStoredQueryDefinitionFile(storedQueryProvider.storedQueryDir().dir()); List<StoredQuery> queries = storedQueryProvider.listStoredQueries(); assertThat(queries, hasSize(2)); StoredQuery myStoredQuery = storedQueryProvider.getStoredQuery(MY_STORED_QUERY); assertThat(myStoredQuery.getName(), is(MY_STORED_QUERY)); storedQueryProvider.removeStoredQuery(myStoredQuery); assertThat(myStoredQueryDefinition.exists(), is(false)); assertThat(storedQueryProvider.getStoredQuery(myStoredQuery.getName()), is(nullValue())); }
public DescribeStoredQueriesResponseType run(DescribeStoredQueriesType request) throws WFSException { Wfs20Factory factory = Wfs20Factory.eINSTANCE; DescribeStoredQueriesResponseType response = factory.createDescribeStoredQueriesResponseType(); List<StoredQueryProvider> providers = GeoServerExtensions.extensions(StoredQueryProvider.class); if (request.getStoredQueryId().isEmpty()) { for (StoredQuery query : storedQueryProvider.listStoredQueries()) { describeStoredQuery(query, response); } } else { for (URI id : request.getStoredQueryId()) { StoredQuery query = storedQueryProvider.getStoredQuery(id.toString()); if (query == null) { WFSException exception = new WFSException( request, "No such stored query: " + id, ServiceException.INVALID_PARAMETER_VALUE); exception.setLocator("STOREDQUERY_ID"); throw exception; } describeStoredQuery(query, response); } } return response; }
StoredQuery sq = sqp.getStoredQuery(storedQueryId.toString()); if (sq == null) { WFSException exception =
@Test public void storedQueryDefinitionIsNotRewrittenByListingTheQueries() throws IOException { // c.f. GEOS-7297 File myStoredQueryDefinition = createMyStoredQueryDefinitionFile(storedQueryProvider.storedQueryDir().dir()); try { myStoredQueryDefinition.setReadOnly(); List<StoredQuery> queries = storedQueryProvider.listStoredQueries(); assertThat(queries, hasSize(2)); assertThat( storedQueryProvider.getStoredQuery("urn:ogc:def:query:OGC-WFS::GetFeatureById"), is(notNullValue())); assertThat( storedQueryProvider.getStoredQuery(MY_STORED_QUERY).getName(), is(MY_STORED_QUERY)); } finally { myStoredQueryDefinition.setWritable(true); } }
@Test public void canRemoveAllStoredQueryDefinitions() throws IOException { File myStoredQueryDefinition = createMyStoredQueryDefinitionFile(storedQueryProvider.storedQueryDir().dir()); List<StoredQuery> queries = storedQueryProvider.listStoredQueries(); assertThat(queries, hasSize(2)); storedQueryProvider.removeAll(); assertThat(myStoredQueryDefinition.exists(), is(false)); assertThat(storedQueryProvider.getStoredQuery(MY_STORED_QUERY), is(nullValue())); }
StoredQuery sq = sqp.getStoredQuery(storedQueryId.toString()); if (sq == null) { WFSException exception =
public ExecutionStatusType run(DropStoredQueryType request) throws WFSException { if (request.getId() == null) { throw new WFSException(request, "No stored query id specified"); } StoredQuery query = storedQueryProvider.getStoredQuery(request.getId()); if (query != null) { storedQueryProvider.removeStoredQuery(query); } else { WFSException exception = new WFSException( request, String.format("Stored query %s does not exist.", request.getId()), ServiceException.INVALID_PARAMETER_VALUE); // CITE tests vagary, the XML uses "id" and KVP uses "STOREDQUERY_ID", the CITE tests // mandate "id" // in all bindings exception.setLocator("id"); throw exception; } Wfs20Factory factory = Wfs20Factory.eINSTANCE; ExecutionStatusType response = factory.createExecutionStatusType(); response.setStatus("OK"); return response; } }
@Test public void whenStoredQueryDefinitionCreatedByDescriptionItIsReturnedInTheListOfStoredQueries() throws Exception { StoredQueryDescriptionType storedQueryDescriptionType = createMyStoredQueryDefinitionInStoredQueryDescriptionType(); StoredQuery result = storedQueryProvider.createStoredQuery(storedQueryDescriptionType); assertThat(result.getName(), is(MY_STORED_QUERY)); assertThat( storedQueryProvider.getStoredQuery(MY_STORED_QUERY).getName(), is(MY_STORED_QUERY)); }
public CreateStoredQueryResponseType run(CreateStoredQueryType request) throws WFSException { for (StoredQueryDescriptionType sqd : request.getStoredQueryDefinition()) { if (storedQueryProvider.getStoredQuery(sqd.getId()) != null) { WFSException e = new WFSException( request, "Stored query already exists", WFSException.DUPLICATE_STORED_QUERY_ID_VALUE); e.setLocator(sqd.getId()); throw e; } validateStoredQuery(request, sqd); try { storedQueryProvider.createStoredQuery(sqd); } catch (Exception e) { throw new WFSException(request, "Error occured creating stored query", e); } } Wfs20Factory factory = Wfs20Factory.eINSTANCE; CreateStoredQueryResponseType response = factory.createCreateStoredQueryResponseType(); response.setStatus("OK"); return response; }