Index: applications/editors/josm/plugins/opendata/build.xml
===================================================================
--- applications/editors/josm/plugins/opendata/build.xml	(revision 33789)
+++ applications/editors/josm/plugins/opendata/build.xml	(revision 33790)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <project name="opendata" default="dist" basedir=".">
-    <property name="plugin.main.version" value="12870"/>
+    <property name="plugin.main.version" value="13007"/>
     <property name="plugin.author" value="Don-vip"/>
     <property name="plugin.class" value="org.openstreetmap.josm.plugins.opendata.OdPlugin"/>
Index: applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/OdPlugin.java
===================================================================
--- applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/OdPlugin.java	(revision 33789)
+++ applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/OdPlugin.java	(revision 33790)
@@ -197,5 +197,5 @@
 
     private File getSubDirectory(String name) {
-        File dir = new File(getPluginDir()+File.separator+name);
+        File dir = new File(getPluginDirs().getUserDataDirectory(false), name);
         if (!dir.exists()) {
             dir.mkdirs();
Index: applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/ModulePreference.java
===================================================================
--- applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/ModulePreference.java	(revision 33789)
+++ applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/ModulePreference.java	(revision 33790)
@@ -225,5 +225,5 @@
             LinkedList<String> l = new LinkedList<>(model.getSelectedModuleNames());
             Collections.sort(l);
-            Main.pref.putCollection(OdConstants.PREF_MODULES, l);
+            Main.pref.putList(OdConstants.PREF_MODULES, l);
             return true;
         }
Index: applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/ModulePreferencesModel.java
===================================================================
--- applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/ModulePreferencesModel.java	(revision 33789)
+++ applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/ModulePreferencesModel.java	(revision 33790)
@@ -28,11 +28,10 @@
     private final Set<String> currentActiveModules;
 
-    protected Collection<String> getModules(Collection<String> def) {
-        return Main.pref.getCollection(OdConstants.PREF_MODULES, def);
+    protected List<String> getModules(List<String> def) {
+        return Main.pref.getList(OdConstants.PREF_MODULES, def);
     }
 
     public ModulePreferencesModel() {
-        currentActiveModules = new HashSet<>();
-        currentActiveModules.addAll(getModules(currentActiveModules));
+        currentActiveModules = new HashSet<>(getModules(Collections.emptyList()));
     }
 
@@ -61,6 +60,5 @@
         sort();
         filterDisplayedModules(filterExpression);
-        Set<String> activeModules = new HashSet<>();
-        activeModules.addAll(getModules(activeModules));
+        Set<String> activeModules = new HashSet<>(getModules(Collections.emptyList()));
         for (ModuleInformation pi: availableModules) {
             if (selectedModulesMap.get(pi) == null) {
@@ -95,6 +93,5 @@
         sort();
         filterDisplayedModules(filterExpression);
-        Set<String> activeModules = new HashSet<>();
-        activeModules.addAll(getModules(activeModules));
+        Set<String> activeModules = new HashSet<>(getModules(Collections.emptyList()));
         for (ModuleInformation pi: availableModules) {
             if (selectedModulesMap.get(pi) == null) {
Index: applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/OdPreferenceSetting.java
===================================================================
--- applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/OdPreferenceSetting.java	(revision 33789)
+++ applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/OdPreferenceSetting.java	(revision 33790)
@@ -59,5 +59,5 @@
      */
     public static final Collection<String> getModuleSites() {
-        return Main.pref.getCollection(OdConstants.PREF_MODULES_SITES, Arrays.asList(OdConstants.DEFAULT_MODULE_SITES));
+        return Main.pref.getList(OdConstants.PREF_MODULES_SITES, Arrays.asList(OdConstants.DEFAULT_MODULE_SITES));
     }
 
@@ -68,5 +68,5 @@
      */
     public static void setModuleSites(List<String> sites) {
-        Main.pref.putCollection(OdConstants.PREF_MODULES_SITES, sites);
+        Main.pref.putList(OdConstants.PREF_MODULES_SITES, sites);
     }
 
@@ -137,5 +137,5 @@
         Main.pref.put(OdConstants.PREF_OAPI, oapi.getText());
         Main.pref.put(OdConstants.PREF_XAPI, xapi.getText());
-        Main.pref.put(OdConstants.PREF_RAWDATA, rawData.isSelected());
+        Main.pref.putBoolean(OdConstants.PREF_RAWDATA, rawData.isSelected());
 
         // create a task for downloading modules if the user has activated, yet not downloaded,
Index: applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/modules/ModuleHandler.java
===================================================================
--- applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/modules/ModuleHandler.java	(revision 33789)
+++ applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/modules/ModuleHandler.java	(revision 33790)
@@ -35,4 +35,5 @@
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.PreferencesUtils;
 import org.openstreetmap.josm.data.preferences.sources.SourceProvider;
 import org.openstreetmap.josm.gui.HelpAwareOptionPane;
@@ -101,5 +102,5 @@
         long tim = System.currentTimeMillis();
         long last = Main.pref.getLong("opendata.modulemanager.lastupdate", 0);
-        Integer maxTime = Main.pref.getInteger("opendata.modulemanager.time-based-update.interval", 60);
+        Integer maxTime = Main.pref.getInt("opendata.modulemanager.time-based-update.interval", 60);
         long d = (tim - last) / (24 * 60 * 60 * 1000L);
         if ((last <= 0) || (maxTime <= 0)) {
@@ -256,5 +257,5 @@
         }
         if (msg != null && confirmDisableModule(parent, msg, module.name)) {
-            Main.pref.removeFromCollection(OdConstants.PREF_MODULES, module.name);
+            PreferencesUtils.removeFromList(Main.pref, OdConstants.PREF_MODULES, module.name);
         }
     }
@@ -362,5 +363,5 @@
     public static List<ModuleInformation> buildListOfModulesToLoad(Component parent) {
         Set<String> modules = new HashSet<>();
-        modules.addAll(Main.pref.getCollection(OdConstants.PREF_MODULES, new LinkedList<String>()));
+        modules.addAll(Main.pref.getList(OdConstants.PREF_MODULES, new LinkedList<String>()));
         if (System.getProperty("josm."+OdConstants.PREF_MODULES) != null) {
             modules.addAll(Arrays.asList(System.getProperty("josm."+OdConstants.PREF_MODULES).split(",")));
