/** * Constructor. */ public JavaElementSorter() { super(null); // delay initialization of collator fComparator= new JavaElementComparator(); }
@Override public int category(Object element) { return fComparator.category(element); }
public int compare(Viewer viewer, Object e1, Object e2) { if (e1 instanceof CPListElementAttribute) return -1; if (e2 instanceof CPListElementAttribute) return 1; return super.compare(viewer, e1, e2); } }
@Override public int compare(Viewer viewer, Object e1, Object e2) { int cat1= category(e1); int cat2= category(e2); if (needsClasspathComparision(e1, cat1, e2, cat2)) { IPackageFragmentRoot root1= getPackageFragmentRoot(e1); IPackageFragmentRoot root2= getPackageFragmentRoot(e2); if (root1 == null) { if (root2 == null) { int p1= getClassPathIndex(root1); int p2= getClassPathIndex(root2); if (p1 != p2) { return p1 - p2; String name1= getNonJavaElementLabel(viewer, e1); String name2= getNonJavaElementLabel(viewer, e2); if (name1 != null && name2 != null) { return getComparator().compare(name1, name2); String name1= getElementName(e1); String name2= getElementName(e2); if (name2.length() == 0) { try { return getComparator().compare(((IType) e1).getSuperclassName(), ((IType) e2).getSuperclassName()); } catch (JavaModelException e) { return 0;
@Override public int compare(Viewer viewer, Object e1, Object e2) { int cat1= category(e1); int cat2= category(e2); if (needsClasspathComparison(e1, cat1, e2, cat2)) { IPackageFragmentRoot root1= getPackageFragmentRoot(e1); IPackageFragmentRoot root2= getPackageFragmentRoot(e2); if (root1 == null) { if (root2 == null) { int p1= getClassPathIndex(root1); int p2= getClassPathIndex(root2); if (p1 != p2) { return p1 - p2; String name1= getNonJavaElementLabel(viewer, e1); String name2= getNonJavaElementLabel(viewer, e2); if (name1 != null && name2 != null) { return getComparator().compare(name1, name2); String name1= getElementName(e1); String name2= getElementName(e2); if (name2.length() == 0) { try { return getComparator().compare(((IType) e1).getSuperclassName(), ((IType) e2).getSuperclassName()); } catch (JavaModelException e) { return 0;
new JavaElementComparator().sort(null, selectArr);
private boolean needsClasspathComparision(Object e1, int cat1, Object e2, int cat2) { if ((cat1 == PACKAGEFRAGMENTROOTS && cat2 == PACKAGEFRAGMENTROOTS) || (cat1 == PACKAGEFRAGMENT && ((IPackageFragment)e1).getParent().getResource() instanceof IProject && cat2 == PACKAGEFRAGMENTROOTS) || (cat1 == PACKAGEFRAGMENTROOTS && cat2 == PACKAGEFRAGMENT && ((IPackageFragment)e2).getParent().getResource() instanceof IProject)) { IJavaProject p1= getJavaProject(e1); return p1 != null && p1.equals(getJavaProject(e2)); } return false; }
return getMemberCategory(MembersOrderPreferenceCacheCommon.CONSTRUCTORS_INDEX); return getMemberCategory(MembersOrderPreferenceCacheCommon.STATIC_METHODS_INDEX); else return getMemberCategory(MembersOrderPreferenceCacheCommon.METHOD_INDEX); return getMemberCategory(MembersOrderPreferenceCacheCommon.ENUM_CONSTANTS_INDEX); return getMemberCategory(MembersOrderPreferenceCacheCommon.STATIC_FIELDS_INDEX); else return getMemberCategory(MembersOrderPreferenceCacheCommon.FIELDS_INDEX); return getMemberCategory(MembersOrderPreferenceCacheCommon.STATIC_INIT_INDEX); else return getMemberCategory(MembersOrderPreferenceCacheCommon.INIT_INDEX); return getMemberCategory(MembersOrderPreferenceCacheCommon.TYPE_INDEX); case IJavaElement.PACKAGE_DECLARATION : return PACKAGE_DECL;
public int compare(Viewer viewer, Object e1, Object e2) { int cat1= category(e1); int cat2= category(e2); if (needsClasspathComparision(e1, cat1, e2, cat2)) { IPackageFragmentRoot root1= getPackageFragmentRoot(e1); IPackageFragmentRoot root2= getPackageFragmentRoot(e2); if (root1 == null) { if (root2 == null) { int p1= getClassPathIndex(root1); int p2= getClassPathIndex(root2); if (p1 != p2) { return p1 - p2; String name1= getNonJavaElementLabel(viewer, e1); String name2= getNonJavaElementLabel(viewer, e2); if (name1 != null && name2 != null) { return getComparator().compare(name1, name2); String name1= getElementName(e1); String name2= getElementName(e2); if (name2.length() == 0) { try { return getComparator().compare(((IType) e1).getSuperclassName(), ((IType) e2).getSuperclassName()); } catch (JavaModelException e) { return 0; int cmp= getComparator().compare(name1, name2);
private CPListElement[] addProjectDialog() { try { Object[] selectArr= getNotYetRequiredProjects(); new JavaElementComparator().sort(null, selectArr); ListSelectionDialog dialog= new ListSelectionDialog(getShell(), Arrays.asList(selectArr), new ArrayContentProvider(), new JavaUILabelProvider(), NewWizardMessages.ProjectsWorkbookPage_chooseProjects_message); dialog.setTitle(NewWizardMessages.ProjectsWorkbookPage_chooseProjects_title); dialog.setHelpAvailable(false); if (dialog.open() == Window.OK) { Object[] result= dialog.getResult(); CPListElement[] cpElements= new CPListElement[result.length]; for (int i= 0; i < result.length; i++) { IJavaProject curr= (IJavaProject) result[i]; cpElements[i]= new CPListElement(fCurrJProject, IClasspathEntry.CPE_PROJECT, curr.getPath(), curr.getResource()); } return cpElements; } } catch (JavaModelException e) { return null; } return null; }
private boolean needsClasspathComparision(Object e1, int cat1, Object e2, int cat2) { if ((cat1 == PACKAGEFRAGMENTROOTS && cat2 == PACKAGEFRAGMENTROOTS) || (cat1 == PACKAGEFRAGMENT && ((IPackageFragment)e1).getParent().getResource() instanceof IProject && cat2 == PACKAGEFRAGMENTROOTS) || (cat1 == PACKAGEFRAGMENTROOTS && cat2 == PACKAGEFRAGMENT && ((IPackageFragment)e2).getParent().getResource() instanceof IProject)) { IJavaProject p1= getJavaProject(e1); return p1 != null && p1.equals(getJavaProject(e2)); } return false; }
return getMemberCategory(MembersOrderPreferenceCache.CONSTRUCTORS_INDEX); return getMemberCategory(MembersOrderPreferenceCache.STATIC_METHODS_INDEX); else return getMemberCategory(MembersOrderPreferenceCache.METHOD_INDEX); return getMemberCategory(MembersOrderPreferenceCache.ENUM_CONSTANTS_INDEX); return getMemberCategory(MembersOrderPreferenceCache.STATIC_FIELDS_INDEX); else return getMemberCategory(MembersOrderPreferenceCache.FIELDS_INDEX); return getMemberCategory(MembersOrderPreferenceCache.STATIC_INIT_INDEX); else return getMemberCategory(MembersOrderPreferenceCache.INIT_INDEX); return getMemberCategory(MembersOrderPreferenceCache.TYPE_INDEX); case IJavaElement.PACKAGE_DECLARATION : return PACKAGE_DECL;
/** * Constructor. */ public JavaElementSorter() { super(null); // delay initialization of collator fComparator= new JavaElementComparator(); }
private CPListElement[] addProjectDialog() { try { Object[] selectArr= getNotYetRequiredProjects(); new JavaElementComparator().sort(null, selectArr); ListSelectionDialog dialog= new ListSelectionDialog(getShell(), Arrays.asList(selectArr), new ArrayContentProvider(), new JavaUILabelProvider(), NewWizardMessages.ProjectsWorkbookPage_chooseProjects_message); dialog.setTitle(NewWizardMessages.ProjectsWorkbookPage_chooseProjects_title); dialog.setHelpAvailable(false); if (dialog.open() == Window.OK) { Object[] result= dialog.getResult(); CPListElement[] cpElements= new CPListElement[result.length]; for (int i= 0; i < result.length; i++) { IJavaProject curr= (IJavaProject) result[i]; CPListElement cpListElement= new CPListElement(fCurrJProject, IClasspathEntry.CPE_PROJECT, curr.getPath(), curr.getResource()); cpListElement.setModuleAttributeIf9OrHigher(fCurrJProject); cpElements[i]= cpListElement; } return cpElements; } } catch (JavaModelException e) { return null; } return null; }
@Override public int compare(Viewer viewer, Object e1, Object e2) { if (e1 instanceof IWorkingSet || e2 instanceof IWorkingSet) return 0; return super.compare(viewer, e1, e2); } }
public int category(Object element) { return fComparator.category(element); }
private boolean needsClasspathComparison(Object e1, int cat1, Object e2, int cat2) { if ((cat1 == PACKAGEFRAGMENTROOTS && cat2 == PACKAGEFRAGMENTROOTS) || (cat1 == PACKAGEFRAGMENT && ((IPackageFragment)e1).getParent().getResource() instanceof IProject && cat2 == PACKAGEFRAGMENTROOTS) || (cat1 == PACKAGEFRAGMENTROOTS && cat2 == PACKAGEFRAGMENT && ((IPackageFragment)e2).getParent().getResource() instanceof IProject)) { // when PFRs should be sorted by name, they do not need classpath comparison if (fSortPFRByName && cat1 == PACKAGEFRAGMENTROOTS && cat2 == PACKAGEFRAGMENTROOTS) { boolean areBinPFRs = false; try { // categories might be PACKAGEFRAGMENTROOTS, but not necessarily compared objects are PFR instances if ((e1 instanceof IPackageFragmentRoot) && (e2 instanceof IPackageFragmentRoot)) { // continue sorting source roots by classpath order areBinPFRs = ((IPackageFragmentRoot)e1).getKind() == IPackageFragmentRoot.K_BINARY && ((IPackageFragmentRoot)e2).getKind() == IPackageFragmentRoot.K_BINARY; } } catch (JavaModelException e) { // areJarPFRs remains false } return !areBinPFRs; } IJavaProject p1= getJavaProject(e1); return p1 != null && p1.equals(getJavaProject(e2)); } return false; }
return getMemberCategory(MembersOrderPreferenceCache.CONSTRUCTORS_INDEX); return getMemberCategory(MembersOrderPreferenceCache.STATIC_METHODS_INDEX); else return getMemberCategory(MembersOrderPreferenceCache.METHOD_INDEX); return getMemberCategory(MembersOrderPreferenceCache.ENUM_CONSTANTS_INDEX); return getMemberCategory(MembersOrderPreferenceCache.STATIC_FIELDS_INDEX); else return getMemberCategory(MembersOrderPreferenceCache.FIELDS_INDEX); return getMemberCategory(MembersOrderPreferenceCache.STATIC_INIT_INDEX); else return getMemberCategory(MembersOrderPreferenceCache.INIT_INDEX); return getMemberCategory(MembersOrderPreferenceCache.TYPE_INDEX); case IJavaElement.PACKAGE_DECLARATION : return PACKAGE_DECL;
/** * Constructor. */ public JavaElementSorter() { super(null); // delay initialization of collator fComparator= new JavaElementComparator(); }
@Override public int compare(Viewer viewer, Object e1, Object e2) { return fComparator.compare(viewer, e1, e2); }