blob: 210143a81ddebd7b2e5d79b71edf2c0e549a2dac [file] [log] [blame]
package org.eclipse.demo.cheatsheets.search.internal.search;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import org.eclipse.demo.cheatsheets.search.internal.text.Messages;
import org.eclipse.platform.discovery.runtime.api.GroupingHierarchy;
import org.eclipse.platform.discovery.runtime.api.ISearchDestination;
import org.eclipse.platform.discovery.runtime.api.ISearchParameters;
import org.eclipse.platform.discovery.runtime.api.ISearchQuery;
import org.eclipse.platform.discovery.runtime.api.ISearchSubdestination;
import org.eclipse.platform.discovery.runtime.api.impl.SearchProvider;
/**
* The cheat sheets search provider
* @author danail
*/
public class LocalCheatSheetSearchProvider extends SearchProvider
{
static final GroupingHierarchy FLAT_LIST;
static final GroupingHierarchy BY_CATEGORIES;
private static final Set<GroupingHierarchy> HIERARCHIES;
static
{
FLAT_LIST = new GroupingHierarchy(Messages.CheatSheetSearchProvider_FlatListGrouping, "flat-list"); //$NON-NLS-2$
BY_CATEGORIES = new GroupingHierarchy(Messages.CheatSheetSearchProvider_ByCategoryGrouping, "by-categories"); //$NON-NLS-2$
HIERARCHIES = new HashSet<GroupingHierarchy>(Arrays.asList(new GroupingHierarchy[]{FLAT_LIST, BY_CATEGORIES}));
}
@Override
public ISearchQuery createQuery(final ISearchParameters searchParameters)
{
return new CheatSheetSearchQuery(searchParameters);
}
@Override
public Set<GroupingHierarchy> getGroupingHierarchies(ISearchDestination soco, Set<ISearchSubdestination> subdestinations)
{
return HIERARCHIES;
}
}