public SolrSearchResultSet getSearchResultSet( SlingHttpServletRequest request, Query query, boolean asAnon) throws SolrSearchException { try { SolrSearchResultSet rs = null; if (query.getType() == Type.SOLR) { rs = processSolrQuery(request, query, asAnon); } else if (query.getType() == Type.SPARSE) { rs = processSparseQuery(request, query, asAnon); } return rs; } catch (SolrServerException e) { LOGGER.warn(e.getMessage(), e); throw new SolrSearchException(500, e.getMessage()); } catch (ParseException e) { LOGGER.warn(e.getMessage(), e); throw new SolrSearchException(500, e.getMessage()); } catch (StorageClientException e) { LOGGER.warn(e.getMessage(), e); throw new SolrSearchException(500, e.getMessage()); } catch (AccessDeniedException e) { LOGGER.warn(e.getMessage(), e); throw new SolrSearchException(403, e.getMessage()); } }