@Override @Nonnull public Collection<ClauseHandler> getClauseHandler(final String jqlClauseName) { notBlank("jqlClauseName", jqlClauseName); return unmodifiableCollection(getHelper().getSearchHandler(jqlClauseName)); }
@Override @Nonnull public Collection<String> getFieldIds(final String jqlClauseName) { return transform(filter(getHelper().getSearchHandler(jqlClauseName), hasFieldId), getFieldId); }
@Override @Nonnull public Collection<String> getFieldIds(final ApplicationUser searcher, final String jqlClauseName) { return transform(filter(getHelper().getSearchHandler(jqlClauseName), and(hasFieldId, new PermissionToUse(searcher))), getFieldId); }
@Override public Collection<SearcherGroup> getSearcherGroups() { return returnNullAsEmpty(getHelper().getSearcherGroups()); }
@Override public IssueSearcher<?> getSearcher(final String id) { notBlank("id", id); return getHelper().getIssueSearcher(id); }
@Override public Collection<IssueSearcher<?>> getAllSearchers() { return returnNullAsEmpty(getHelper().getAllIssueSearchers()); }
@Override @Nonnull public Collection<ClauseNames> getVisibleJqlClauseNames(final ApplicationUser searcher) { return transformSet(filter(getHelper().getSearchHandlers(), new PermissionToUse(searcher)), getClauseNames); }
@Override @Nonnull public Collection<ClauseNames> getJqlClauseNames(final String fieldId) { notBlank("fieldId", fieldId); return returnNullAsEmpty(getHelper().getJqlClauseNames(fieldId)); }
@Override @Nonnull public Collection<IssueSearcher<?>> getSearchersByClauseName(final ApplicationUser user, final String jqlClauseName) { notBlank("jqlClauseName", jqlClauseName); return toList(filter(transform(getHelper().getIssueSearcherRegistrationsByClauseName(jqlClauseName), new Function<SearcherRegistration, IssueSearcher<?>>() { @Override public IssueSearcher<?> get(final SearcherRegistration searcherRegistration) { return searcherRegistration.getIssueSearcher(); } }), Predicates.<IssueSearcher<?>>notNull())); }
@Override @Nonnull public Collection<ClauseHandler> getVisibleClauseHandlers(final ApplicationUser searcher) { Set<ClauseHandler> visibleClauseHandlers = new HashSet<ClauseHandler>(); final Collection<ClauseHandler> clauseHandlers = getHelper().getSearchHandlers(); Set<FieldLayout> fieldLayouts = fieldManager.getVisibleFieldLayouts(searcher); for (ClauseHandler clauseHandler : clauseHandlers) { if (clauseHandler.getPermissionHandler().hasPermissionToUseClause(searcher, fieldLayouts)) { visibleClauseHandlers.add(clauseHandler); } } return visibleClauseHandlers; }