public void setNames(String[] names) { if (names.length == 0) { return; } jmri.util.StringUtil.sort(names); for (String name : names) { if (!list.contains(name)) { list.add(name); } } }
/** Get an array of all the RosterEntry-containing files in the target directory */ static String[] getAllFileNames() { // ensure preferences will be found for read FileUtil.createDirectory(LocoFile.getFileLocation()); // create an array of file names from roster dir in preferences, count entries int i; int np = 0; String[] sp = null; if (log.isDebugEnabled()) { log.debug("search directory " + LocoFile.getFileLocation()); } File fp = new File(LocoFile.getFileLocation()); if (fp.exists()) { sp = fp.list(); if (sp != null) { for (i = 0; i < sp.length; i++) { if (sp[i].endsWith(".xml") || sp[i].endsWith(".XML")) { np++; } } } else { log.warn("expected directory, but {} was a file", LocoFile.getFileLocation()); } } else { log.warn( FileUtil.getUserFilesPath() + "roster directory was missing, though tried to create it"); } // Copy the entries to the final array String sbox[] = new String[np]; int n = 0; if (sp != null && np > 0) { for (i = 0; i < sp.length; i++) { if (sp[i].endsWith(".xml") || sp[i].endsWith(".XML")) { sbox[n++] = sp[i]; } } } // The resulting array is now sorted on file-name to make it easier // for humans to read jmri.util.StringUtil.sort(sbox); if (log.isDebugEnabled()) { log.debug("filename list:"); for (i = 0; i < sbox.length; i++) { log.debug(" " + sbox[i]); } } return sbox; }
/** * Sort by rolling stock id * * @return list of RollingStock ordered by id */ public List<RollingStock> getByIdList() { Enumeration<String> en = _hashTable.keys(); String[] arr = new String[_hashTable.size()]; List<RollingStock> out = new ArrayList<RollingStock>(); int i = 0; while (en.hasMoreElements()) { arr[i] = en.nextElement(); i++; } jmri.util.StringUtil.sort(arr); for (i = 0; i < arr.length; i++) { out.add(getById(arr[i])); } return out; }
public void testArraySort() { String[] str = new String[] {"8567", "8456"}; jmri.util.StringUtil.sort(str); Assert.assertEquals("first ", "8456", str[0]); }