Ignore:
Timestamp:
2014-12-19T22:34:37+01:00 (9 years ago)
Author:
bastiK
Message:

rework command line switches to set JOSM directories:
-Djosm.pref=... - set the preferences directory
-Djosm.userdata=... - set the user data directory
-Djosm.cache=... - set the cache directory
-Djosm.home=homedir relocate all 3 directories to homedir.
Cache directory will be in homedir/cache (unless -Djosm.cache is set)
-Djosm.home has lower precedence, i.e. the specific setting overrides
the general one.

File:
1 edited

Legend:

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

    r7834 r7841  
    9494     */
    9595    private File cacheDir = null;
     96   
     97    /**
     98     * Internal storage for the user data directory.
     99     */
     100    private File userdataDir = null;
    96101
    97102    /**
     
    552557            return preferencesDir;
    553558        String path;
    554         path = System.getProperty("josm.home");
     559        path = System.getProperty("josm.pref");
    555560        if (path != null) {
    556561            preferencesDir = new File(path).getAbsoluteFile();
    557562        } else {
    558             preferencesDir = Main.platform.getDefaultPrefDirectory();
     563            path = System.getProperty("josm.home");
     564            if (path != null) {
     565                preferencesDir = new File(path).getAbsoluteFile();
     566            } else {
     567                preferencesDir = Main.platform.getDefaultPrefDirectory();
     568            }
    559569        }
    560570        return preferencesDir;
     
    568578     */
    569579    public File getUserDataDirectory() {
    570         return Main.platform.getDefaultUserDataDirectory();
     580        if (userdataDir != null)
     581            return userdataDir;
     582        String path;
     583        path = System.getProperty("josm.userdata");
     584        if (path != null) {
     585            userdataDir = new File(path).getAbsoluteFile();
     586        } else {
     587            path = System.getProperty("josm.home");
     588            if (path != null) {
     589                userdataDir = new File(path).getAbsoluteFile();
     590            } else {
     591                userdataDir = Main.platform.getDefaultUserDataDirectory();
     592            }
     593        }
     594        return userdataDir;
    571595    }
    572596
     
    602626            cacheDir = new File(path).getAbsoluteFile();
    603627        } else {
    604             path = get("cache.folder", null);
     628            path = System.getProperty("josm.home");
    605629            if (path != null) {
    606                 cacheDir = new File(path);
     630                cacheDir = new File(path, "cache");
    607631            } else {
    608                 cacheDir = Main.platform.getDefaultCacheDirectory();
     632                path = get("cache.folder", null);
     633                if (path != null) {
     634                    cacheDir = new File(path).getAbsoluteFile();
     635                } else {
     636                    cacheDir = Main.platform.getDefaultCacheDirectory();
     637                }
    609638            }
    610639        }
Note: See TracChangeset for help on using the changeset viewer.