diff --git a/src/com/sheepit/client/Configuration.java b/src/com/sheepit/client/Configuration.java index 2045db5..70a5635 100644 --- a/src/com/sheepit/client/Configuration.java +++ b/src/com/sheepit/client/Configuration.java @@ -213,8 +213,10 @@ public class Configuration { } else { this.userHasSpecifiedACacheDir = true; - this.workingDirectory = cache_dir_; - this.storageDirectory = cache_dir_; + this.workingDirectory = new File(cache_dir_.getAbsolutePath() + File.separator + "sheepit"); + this.storageDirectory = new File(cache_dir_.getAbsolutePath() + File.separator + "sheepit_binary_cache"); + this.workingDirectory.mkdir(); + this.storageDirectory.mkdir(); } } @@ -241,6 +243,16 @@ public class Configuration { return this.userHasSpecifiedACacheDir; } + public File getCacheDirForSettings() { + if (this.getUserHasSpecifiedACacheDir() == false) { + return null; + } + else { + // when the user have a cache directory a "sheepit" and "sheepit_binary_cache" is be automaticaly added + return this.workingDirectory.getParentFile(); + } + } + public void setExtras(String str) { this.extras = str; } diff --git a/src/com/sheepit/client/standalone/swing/activity/Settings.java b/src/com/sheepit/client/standalone/swing/activity/Settings.java index 500b60c..2a38d07 100644 --- a/src/com/sheepit/client/standalone/swing/activity/Settings.java +++ b/src/com/sheepit/client/standalone/swing/activity/Settings.java @@ -147,7 +147,7 @@ public class Settings implements Activity { directory_panel.add(cacheLabel); String destination = DUMMY_CACHE_DIR; if (config.getUserHasSpecifiedACacheDir()) { - destination = config.getStorageDir().getName(); + destination = config.getCacheDirForSettings().getName(); } JPanel cacheDirWrapper = new JPanel(); @@ -607,8 +607,8 @@ public class Settings implements Activity { parent.setCredentials(login.getText(), new String(password.getPassword())); String cachePath = null; - if (config.getUserHasSpecifiedACacheDir() && config.getStorageDir() != null) { - cachePath = config.getStorageDir().getAbsolutePath(); + if (config.getUserHasSpecifiedACacheDir() && config.getCacheDirForSettings() != null) { + cachePath = config.getCacheDirForSettings().getAbsolutePath(); } String hostnameText = hostname.getText();