+
+ protected Adapter[] toAdapters(EditorAdapter[] editorAdapters, Object r) {
+ Adapter[] adapters = new Adapter[editorAdapters.length];
+ for (int i = 0; i < editorAdapters.length; i++)
+ adapters[i] = new Adapter(editorAdapters[i], r, true);
+ Arrays.sort(adapters, new Comparator<Adapter>() {
+ @Override
+ public int compare(Adapter o1, Adapter o2) {
+ int delta = o2.getPriority() - o1.getPriority();
+ if (delta != 0)
+ return delta;
+ return AlphanumComparator.CASE_INSENSITIVE_COMPARATOR.compare(o1.getText(), o2.getText());
+ }
+ });
+ return adapters;
+ }
+
+ protected EditorAdapter[] filter(EditorAdapter[] adapters, String id) {
+ if (id == null)
+ return adapters;
+ List<EditorAdapter> editorAdapters = new ArrayList<EditorAdapter>();
+ for (EditorAdapter a : adapters) {
+ if (id.equals(a.getEditorId()))
+ continue;
+ editorAdapters.add(a);
+ }
+ return editorAdapters.toArray(new EditorAdapter[editorAdapters.size()]);
+ }