From: <jac...@pr...> - 2004-01-27 13:59:24
|
Update of /cvsroot/jmri/jmri/jmrit/roster In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22348 Modified Files: RecreateRosterAction.java Log Message: fix problem with creating two copies of roster entries, Bug 871882 Index: RecreateRosterAction.java =================================================================== RCS file: /cvsroot/jmri/jmri/jmrit/roster/RecreateRosterAction.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** RecreateRosterAction.java 2 Dec 2003 15:25:15 -0000 1.5 --- RecreateRosterAction.java 24 Jan 2004 19:38:37 -0000 1.6 *************** *** 13,16 **** --- 13,18 ---- /** * Recreate the roster index file if it's been damaged or lost. + * <P> + * Scans the roster directory for xml files, including any that are found. * * @author Bob Jacobsen Copyright (C) 2001 *************** *** 73,76 **** --- 75,79 ---- String[] sp = null; XmlFile.ensurePrefsPresent(LocoFile.getFileLocation()); + if (log.isDebugEnabled()) log.debug("search directory "+LocoFile.getFileLocation()); File fp = new File(LocoFile.getFileLocation()); if (fp.exists()) { *************** *** 83,100 **** log.warn(XmlFile.prefsDir()+"roster directory was missing, though tried to create it"); } - // create an array of file names from xml/roster, count entries - String[] sx = (new File(LocoFile.getFileLocation())).list(); - if (sx == null) sx = new String[0]; ! int nx = 0; ! for (i=0; i<sx.length; i++) { ! if (sx[i].endsWith(".xml") || sx[i].endsWith(".XML")) { ! nx++; ! } ! } ! // copy the entries to the final array ! // note: this results in duplicate entries if the same name is also local. ! // But for now I can live with that. ! String sbox[] = new String[np+nx]; int n=0; if (sp != null && np> 0) --- 86,92 ---- log.warn(XmlFile.prefsDir()+"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) *************** *** 103,114 **** sbox[n++] = sp[i]; } ! for (i=0; i<sx.length; i++) { ! if (sx[i].endsWith(".xml") || sx[i].endsWith(".XML")) ! sbox[n++] = sx[i]; ! } ! //the resulting array is now sorted on file-name to make it easier // for humans to read jmri.util.StringUtil.sort(sbox); return sbox; } --- 95,107 ---- 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; } |