Changeset 442 in josm for trunk/src


Ignore:
Timestamp:
2007-10-30T13:53:42+01:00 (17 years ago)
Author:
gebner
Message:

Don't reset prefs to default when encountering parsing errors.

Location:
trunk/src/org/openstreetmap/josm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/Preferences.java

    r441 r442  
    170170         * in log.
    171171         */
    172         protected void save() {
     172        public void save() {
    173173                try {
    174174                        final PrintWriter out = new PrintWriter(new FileWriter(getPreferencesDir() + "preferences"), false);
     
    189189                final BufferedReader in = new BufferedReader(new FileReader(getPreferencesDir()+"preferences"));
    190190                int lineNumber = 0;
     191                ArrayList<Integer> errLines = new ArrayList<Integer>();
    191192                for (String line = in.readLine(); line != null; line = in.readLine(), lineNumber++) {
    192193                        final int i = line.indexOf('=');
    193                         if (i == -1 || i == 0)
    194                                 throw new IOException("Malformed config file at line "+lineNumber);
     194                        if (i == -1 || i == 0) {
     195                                errLines.add(lineNumber);
     196                                continue;
     197                        }
    195198                        properties.put(line.substring(0,i), line.substring(i+1));
     199                }
     200                if (!errLines.isEmpty()) {
     201                        throw new IOException("Malformed config file at lines " + errLines);
    196202                }
    197203        }
  • trunk/src/org/openstreetmap/josm/gui/MainApplication.java

    r350 r442  
    101101                if (!prefDir.exists())
    102102                        prefDir.mkdirs();
     103
     104                if (!new File(Main.pref.getPreferencesDir()+"preferences").exists()) {
     105                        Main.pref.resetToDefault();
     106                }
     107
    103108                try {
    104109                        if (args.containsKey("reset-preferences")) {
     
    109114                } catch (final IOException e1) {
    110115                        e1.printStackTrace();
    111                         JOptionPane.showMessageDialog(null, "Preferences could not be loaded. Writing default preference file to "+pref.getPreferencesDir()+"preferences");
    112                         Main.pref.resetToDefault();
     116                        String backup = Main.pref.getPreferencesDir() + "preferences.bak";
     117                        JOptionPane.showMessageDialog(null, "Preferences file had errors.  Making backup of old one to " + backup);
     118                        new File(Main.pref.getPreferencesDir() + "preferences").renameTo(new File(backup));
     119                        Main.pref.save();
    113120                }
    114121
Note: See TracChangeset for help on using the changeset viewer.