@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())); }
ListStoredQueriesResponseType response = factory.createListStoredQueriesResponseType(); for (StoredQuery sq : storedQueryProvider.listStoredQueries()) { StoredQueryListItemType item = factory.createStoredQueryListItemType(); item.setId(sq.getName());
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; }
@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())); }
@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())); }
@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); } }