Search in sources :

Example 1 with AbstractProposalSorter

use of org.eclipse.jdt.ui.text.java.AbstractProposalSorter in project che by eclipse.

the class ProposalSorterHandle method sortProposals.

/**
	 * Safely computes completion proposals through the described extension. If the extension throws
	 * an exception or otherwise does not adhere to the contract described in
	 * {@link AbstractProposalSorter}, the list is returned as is.
	 *
	 * @param context the invocation context passed on to the extension
	 * @param proposals the list of computed completion proposals to be sorted (element type:
	 *        {@link ICompletionProposal}), must be writable
	 */
public void sortProposals(ContentAssistInvocationContext context, List<ICompletionProposal> proposals) {
    IStatus status;
    try {
        AbstractProposalSorter sorter = getSorter();
        PerformanceStats stats = startMeter(SORT, sorter);
        sorter.beginSorting(context);
        Collections.sort(proposals, sorter);
        sorter.endSorting();
        status = stopMeter(stats, SORT);
        // valid result
        if (status == null)
            return;
        status = createAPIViolationStatus(SORT);
    } catch (InvalidRegistryObjectException x) {
        status = createExceptionStatus(x);
    } catch (CoreException x) {
        status = createExceptionStatus(x);
    } catch (RuntimeException x) {
        status = createExceptionStatus(x);
    }
    JavaPlugin.log(status);
    return;
}
Also used : IStatus(org.eclipse.core.runtime.IStatus) AbstractProposalSorter(org.eclipse.jdt.ui.text.java.AbstractProposalSorter) PerformanceStats(org.eclipse.core.runtime.PerformanceStats) CoreException(org.eclipse.core.runtime.CoreException) InvalidRegistryObjectException(org.eclipse.core.runtime.InvalidRegistryObjectException)

Aggregations

CoreException (org.eclipse.core.runtime.CoreException)1 IStatus (org.eclipse.core.runtime.IStatus)1 InvalidRegistryObjectException (org.eclipse.core.runtime.InvalidRegistryObjectException)1 PerformanceStats (org.eclipse.core.runtime.PerformanceStats)1 AbstractProposalSorter (org.eclipse.jdt.ui.text.java.AbstractProposalSorter)1