@Override
public List<SearchResult> query(SearchQuery searchQuery, GraphContainer container) {
LOG.info("ApplicationServiceSearchProvider->query: called with search query: '{}'", searchQuery);
List<SearchResult> results = Lists.newArrayList();
String queryString = searchQuery.getQueryString();
CriteriaBuilder bldr = new CriteriaBuilder(OnmsApplication.class);
if (queryString != null && queryString.length() > 0) {
bldr.ilike("name", String.format("%%%s%%", queryString));
}
bldr.orderBy("name", true);
bldr.limit(10);
Criteria dbQueryCriteria = bldr.toCriteria();
for (OnmsApplication application : applicationDao.findMatching(dbQueryCriteria)) {
final ApplicationVertex applicationVertex = new ApplicationVertex(application);
SearchResult searchResult = new SearchResult(applicationVertex);
searchResult.setCollapsed(false);
searchResult.setCollapsible(true);
results.add(searchResult);
}
LOG.info("ApplicationServiceSearchProvider->query: found {} results: {}", results.size(), results);
return results;
}