From 7049ab3a78657d8cc027d0879f5ec43b3f91e03f Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Fri, 7 Nov 2014 00:17:21 +0100 Subject: [PATCH] Fix broken preferences path --- src/main/java/io/bitsquare/app/gui/MainModule.java | 2 +- src/main/java/io/bitsquare/btc/WalletFacade.java | 2 +- src/main/java/io/bitsquare/msg/tomp2p/TomP2PNode.java | 5 ++++- src/main/java/io/bitsquare/persistence/Persistence.java | 8 +++++--- src/main/java/io/bitsquare/util/ConfigLoader.java | 5 +++-- src/main/java/io/bitsquare/util/FileUtil.java | 8 ++++---- src/main/java/lighthouse/files/AppDirectory.java | 8 ++------ 7 files changed, 20 insertions(+), 18 deletions(-) diff --git a/src/main/java/io/bitsquare/app/gui/MainModule.java b/src/main/java/io/bitsquare/app/gui/MainModule.java index db57b7779d..87aa93006f 100644 --- a/src/main/java/io/bitsquare/app/gui/MainModule.java +++ b/src/main/java/io/bitsquare/app/gui/MainModule.java @@ -30,7 +30,7 @@ class MainModule extends BitsquareModule { private final Stage primaryStage; public MainModule(String appName, Stage primaryStage) { - super(ConfigLoader.loadConfig()); + super(ConfigLoader.loadConfig(appName)); this.appName = appName; this.primaryStage = primaryStage; } diff --git a/src/main/java/io/bitsquare/btc/WalletFacade.java b/src/main/java/io/bitsquare/btc/WalletFacade.java index 2caff81328..967340d7ce 100644 --- a/src/main/java/io/bitsquare/btc/WalletFacade.java +++ b/src/main/java/io/bitsquare/btc/WalletFacade.java @@ -140,7 +140,7 @@ public class WalletFacade { Threading.USER_THREAD = Platform::runLater; // If seed is non-null it means we are restoring from backup. - walletAppKit = new WalletAppKit(params, AppDirectory.dir().toFile(), appName) { + walletAppKit = new WalletAppKit(params, AppDirectory.dir(appName).toFile(), appName) { @Override protected void onSetupCompleted() { // Don't make the user wait for confirmations for now, as the intention is they're sending it diff --git a/src/main/java/io/bitsquare/msg/tomp2p/TomP2PNode.java b/src/main/java/io/bitsquare/msg/tomp2p/TomP2PNode.java index c186428e7c..5f3768ccef 100644 --- a/src/main/java/io/bitsquare/msg/tomp2p/TomP2PNode.java +++ b/src/main/java/io/bitsquare/msg/tomp2p/TomP2PNode.java @@ -79,6 +79,7 @@ public class TomP2PNode { private static final Logger log = LoggerFactory.getLogger(TomP2PNode.class); private KeyPair keyPair; + private String appName; private final Boolean useDiskStorage; private MessageBroker messageBroker; @@ -94,8 +95,10 @@ public class TomP2PNode { @Inject public TomP2PNode(BootstrappedPeerFactory bootstrappedPeerFactory, + @Named("appName") String appName, @Named("useDiskStorage") Boolean useDiskStorage) { this.bootstrappedPeerFactory = bootstrappedPeerFactory; + this.appName = appName; this.useDiskStorage = useDiskStorage; } @@ -391,7 +394,7 @@ public class TomP2PNode { private void useDiscStorage(boolean useDiscStorage) { if (useDiscStorage) { - File path = new File(AppDirectory.dir().toFile() + "/tomP2P"); + File path = new File(AppDirectory.dir(appName).toFile() + "/tomP2P"); if (!path.exists()) { boolean created = path.mkdir(); if (!created) diff --git a/src/main/java/io/bitsquare/persistence/Persistence.java b/src/main/java/io/bitsquare/persistence/Persistence.java index c51e75b393..126b6e747f 100644 --- a/src/main/java/io/bitsquare/persistence/Persistence.java +++ b/src/main/java/io/bitsquare/persistence/Persistence.java @@ -57,6 +57,7 @@ public class Persistence { private final String prefix; private final File storageFile; + private String appName; /////////////////////////////////////////////////////////////////////////////////////////// // Constructor @@ -64,8 +65,9 @@ public class Persistence { @Inject public Persistence(@Named("appName") String appName) { - this.prefix = appName + "_pref"; - this.storageFile = FileUtil.getFile(prefix, "ser"); + this.appName = appName; + this.prefix = appName + "_pref"; + this.storageFile = FileUtil.getFile(appName, prefix, "ser"); } /////////////////////////////////////////////////////////////////////////////////////////// @@ -218,7 +220,7 @@ public class Persistence { FileOutputStream fileOutputStream = null; ObjectOutputStream objectOutputStream = null; try { - tempFile = FileUtil.getTempFile(prefix); + tempFile = FileUtil.getTempFile(appName, prefix); // Don't use auto closeable resources in try() as we would need too many try/catch clauses (for tempFile) // and we need to close it diff --git a/src/main/java/io/bitsquare/util/ConfigLoader.java b/src/main/java/io/bitsquare/util/ConfigLoader.java index 0cde807aa3..484cd7823c 100644 --- a/src/main/java/io/bitsquare/util/ConfigLoader.java +++ b/src/main/java/io/bitsquare/util/ConfigLoader.java @@ -31,9 +31,10 @@ import lighthouse.files.AppDirectory; public class ConfigLoader { private static final Logger log = LoggerFactory.getLogger(ConfigLoader.class); - private static final String configFilePath = AppDirectory.dir() + "/bitsquare.conf"; + private static String configFilePath; - public static Properties loadConfig() { + public static Properties loadConfig(String appName) { + configFilePath = AppDirectory.dir(appName) + "/bitsquare.conf"; InputStream inputStream = null; // load default properties from class path diff --git a/src/main/java/io/bitsquare/util/FileUtil.java b/src/main/java/io/bitsquare/util/FileUtil.java index 99e8b7936e..89580f33ae 100644 --- a/src/main/java/io/bitsquare/util/FileUtil.java +++ b/src/main/java/io/bitsquare/util/FileUtil.java @@ -30,12 +30,12 @@ import lighthouse.files.AppDirectory; public class FileUtil { private static final Logger log = LoggerFactory.getLogger(FileUtil.class); - public static File getFile(String name, String suffix) { - return new File(AppDirectory.dir().toFile(), name + "." + suffix); + public static File getFile(String appName, String name, String suffix) { + return new File(AppDirectory.dir(appName).toFile(), name + "." + suffix); } - public static File getTempFile(String prefix) throws IOException { - return File.createTempFile("temp_" + prefix, null, AppDirectory.dir().toFile()); + public static File getTempFile(String appName, String prefix) throws IOException { + return File.createTempFile("temp_" + prefix, null, AppDirectory.dir(appName).toFile()); } public static void writeTempFileToFile(File tempFile, File file) throws IOException { diff --git a/src/main/java/lighthouse/files/AppDirectory.java b/src/main/java/lighthouse/files/AppDirectory.java index e1c3e81dad..443490a24d 100644 --- a/src/main/java/lighthouse/files/AppDirectory.java +++ b/src/main/java/lighthouse/files/AppDirectory.java @@ -50,9 +50,7 @@ public class AppDirectory { } public static Path initAppDir(String appName) throws IOException { - AppDirectory.appName = appName; - - Path dir = dir(); + Path dir = dir(appName); if (!Files.exists(dir)) Files.createDirectory(dir); else if (!Files.isWritable(dir)) @@ -60,11 +58,9 @@ public class AppDirectory { return dir; } - private static String appName = ""; - private static Path dir; - public static Path dir() { + public static Path dir(String appName) { if (dir == null) return getUserDataDir(appName); else