+ nondas.add(srcs[i]);\r
+ }\r
+ }\r
+ String[] tosort = nondas.toArray(new String[0]), sorted = nondas\r
+ .toArray(new String[0]);\r
+ for (int j = 0, jSize = sorted.length; j < jSize; j++)\r
+ {\r
+ tosort[j] = tosort[j].toLowerCase();\r
+ }\r
+ jalview.util.QuickSort.sort(tosort, sorted);\r
+ // construct array with all sources listed\r
+\r
+ srcs = new String[sorted.length + dassrc.size()];\r
+ int i = 0;\r
+ for (int j = sorted.length - 1; j >= 0; j--, i++)\r
+ {\r
+ srcs[i] = sorted[j];\r
+ sorted[j] = null;\r
+ }\r
+\r
+ sorted = dassrc.toArray(new String[0]);\r
+ tosort = dassrc.toArray(new String[0]);\r
+ for (int j = 0, jSize = sorted.length; j < jSize; j++)\r
+ {\r
+ tosort[j] = tosort[j].toLowerCase();\r
+ }\r
+ jalview.util.QuickSort.sort(tosort, sorted);\r
+ for (int j = sorted.length - 1; j >= 0; j--, i++)\r
+ {\r
+ srcs[i] = sorted[j];\r
+ }\r
+ return srcs;\r
+ }\r
+\r
+ /**\r
+ * return plaintext databse list suitable for using in a GUI element\r
+ */\r
+ public String[] _getOrderedSupportedSources()\r
+ {\r
+ String[] srcs = this.getSupportedDb();\r
+ ArrayList dassrc = new ArrayList(), nondas = new ArrayList();\r
+ for (int i = 0; i < srcs.length; i++)\r
+ {\r
+ for (DbSourceProxy dbs : getSourceProxy(srcs[i]))\r
+ {\r
+ String nm = dbs.getDbName();\r
+ if (getSourceProxy(srcs[i]) instanceof jalview.ws.dbsources.das.datamodel.DasSequenceSource)\r
+ {\r
+ if (nm.startsWith("das:"))\r
+ {\r
+ nm = nm.substring(4);\r
+ }\r
+ dassrc.add(new String[]\r
+ { srcs[i], nm.toUpperCase() });\r
+ }\r
+ else\r
+ {\r
+ nondas.add(new String[]\r
+ { srcs[i], nm.toUpperCase() });\r
+ }\r