@Test public void testFullTextSearchLayerGroupName() { addLayer(); // geos-6882 catalog.add(lg); Filter filter = Predicates.fullTextSearch("Group"); assertEquals(newHashSet(lg), asSet(catalog.list(LayerGroupInfo.class, filter))); }
@Test public void testFullTextSearchLayerGroupTitle() { addLayer(); // geos-6882 lg.setTitle("LayerGroup title"); catalog.add(lg); // test layer group title and abstract search Filter filter = Predicates.fullTextSearch("title"); assertEquals(newHashSet(lg), asSet(catalog.list(LayerGroupInfo.class, filter))); }
@Test public void testFullTextSearchLayerGroupAbstract() { addLayer(); lg.setAbstract("GeoServer OpenSource GIS"); catalog.add(lg); Filter filter = Predicates.fullTextSearch("geoserver"); assertEquals(newHashSet(lg), asSet(catalog.list(LayerGroupInfo.class, filter))); }
catalog.add(l2); Filter filter = Predicates.fullTextSearch("Description"); assertEquals(newHashSet(ft, cv), asSet(catalog.list(ResourceInfo.class, filter))); assertEquals(newHashSet(ft), asSet(catalog.list(FeatureTypeInfo.class, filter))); filter = Predicates.fullTextSearch("opensource"); assertEquals(newHashSet(l), asSet(catalog.list(LayerInfo.class, filter))); filter = Predicates.fullTextSearch("geotools"); assertEquals(newHashSet(l2), asSet(catalog.list(LayerInfo.class, filter))); filter = Predicates.fullTextSearch("Global"); assertEquals(newHashSet(l, l2), asSet(catalog.list(LayerInfo.class, filter))); filter = Predicates.fullTextSearch("Temperature"); assertEquals(newHashSet(l), asSet(catalog.list(LayerInfo.class, filter))); filter = Predicates.fullTextSearch("Depression"); assertEquals(newHashSet(l2), asSet(catalog.list(LayerInfo.class, filter)));
@Test public void testFullTextSearchAddedKeyword() { ft.getKeywords().add(new Keyword("air_temp")); ft.getKeywords().add(new Keyword("temperatureAir")); l.setResource(ft); addLayer(); LayerInfo lproxy = catalog.getLayer(l.getId()); FeatureTypeInfo ftproxy = (FeatureTypeInfo) lproxy.getResource(); ftproxy.getKeywords().add(new Keyword("newKeyword")); catalog.save(ftproxy); Filter filter = Predicates.fullTextSearch("newKeyword"); assertEquals(newHashSet(ftproxy), asSet(catalog.list(FeatureTypeInfo.class, filter))); assertEquals(newHashSet(lproxy), asSet(catalog.list(LayerInfo.class, filter))); }
catalog.add(l2); Filter filter = Predicates.fullTextSearch("temperature"); assertEquals(newHashSet(l, l2), asSet(catalog.list(LayerInfo.class, filter))); assertEquals(newHashSet(ft, cv), asSet(catalog.list(ResourceInfo.class, filter))); assertEquals(newHashSet(cv), asSet(catalog.list(CoverageInfo.class, filter))); filter = Predicates.fullTextSearch("air"); assertEquals(newHashSet(l), asSet(catalog.list(LayerInfo.class, filter))); assertEquals(newHashSet(ft), asSet(catalog.list(ResourceInfo.class, filter))); assertEquals(newHashSet(), asSet(catalog.list(CoverageInfo.class, filter))); filter = Predicates.fullTextSearch("dewpoint"); assertEquals(newHashSet(l2), asSet(catalog.list(LayerInfo.class, filter))); assertEquals(newHashSet(cv), asSet(catalog.list(ResourceInfo.class, filter))); assertEquals(newHashSet(cv), asSet(catalog.list(CoverageInfo.class, filter))); filter = Predicates.fullTextSearch("pressure"); assertEquals(newHashSet(), asSet(catalog.list(LayerInfo.class, filter))); assertEquals(newHashSet(), asSet(catalog.list(ResourceInfo.class, filter)));
/** * This method returns a filter based on the defined keywords. * * @return a {@link Filter} which uses the defined Keywords. If no keyword is present * Filter.INCLUDE is returned */ protected Filter getFilter() { final String[] keywords = getKeywords(); Filter filter = acceptAll(); if (null != keywords) { for (String keyword : keywords) { Filter propContains = Predicates.fullTextSearch(keyword); // chain the filters together if (Filter.INCLUDE == filter) { filter = propContains; } else { filter = or(filter, propContains); } } } return filter; }