Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSzymon Brandys2011-01-14 11:11:58 +0000
committerSzymon Brandys2011-01-14 11:11:58 +0000
commitf2c060e44a839010926c26038448d9beb0d895cd (patch)
treedefc21d070650a5126373cf49d7b36fe656456f1 /bundles/org.eclipse.jsch.core
parent00004077ddef8cf94a0172cd1d0febf774a8cbd7 (diff)
downloadeclipse.platform.team-f2c060e44a839010926c26038448d9beb0d895cd.tar.gz
eclipse.platform.team-f2c060e44a839010926c26038448d9beb0d895cd.tar.xz
eclipse.platform.team-f2c060e44a839010926c26038448d9beb0d895cd.zip
bug 294925 - Wrong Default SSH Directory (complementary patch)
Diffstat (limited to 'bundles/org.eclipse.jsch.core')
-rw-r--r--bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceInitializer.java48
1 files changed, 28 insertions, 20 deletions
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceInitializer.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceInitializer.java
index d8337b443..a243d8712 100644
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceInitializer.java
+++ b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceInitializer.java
@@ -25,9 +25,14 @@ import org.osgi.service.prefs.BackingStoreException;
public class PreferenceInitializer extends AbstractPreferenceInitializer{
public static String SSH_HOME_DEFAULT=null;
+
+ public static String SSH_OLD_WIN32_HOME_DEFAULT=null;
+
static{
SSH_HOME_DEFAULT=System.getProperty(IConstants.SYSTEM_PROPERTY_USER_HOME);
if(SSH_HOME_DEFAULT!=null){
+ SSH_OLD_WIN32_HOME_DEFAULT=SSH_HOME_DEFAULT+File.separator
+ +IConstants.SSH_OLD_DEFAULT_WIN32_HOME;
SSH_HOME_DEFAULT=SSH_HOME_DEFAULT+File.separator
+IConstants.SSH_DEFAULT_HOME;
}
@@ -39,8 +44,8 @@ public class PreferenceInitializer extends AbstractPreferenceInitializer{
if(SSH_HOME_DEFAULT!=null)
defaultNode.put(IConstants.KEY_SSH2HOME, SSH_HOME_DEFAULT);
defaultNode.put(IConstants.KEY_PRIVATEKEY, IConstants.PRIVATE_KEYS_DEFAULT);
- Utils.migrateSSH2Preferences();
changeDefaultWin32SshHome();
+ Utils.migrateSSH2Preferences();
}
private void changeDefaultWin32SshHome(){
@@ -49,29 +54,32 @@ public class PreferenceInitializer extends AbstractPreferenceInitializer{
IEclipsePreferences preferences=InstanceScope.INSTANCE
.getNode(JSchCorePlugin.ID);
- boolean verified=preferences.getBoolean(
+
+ // flag to check if the win32 default ssh home was alrady changed
+ boolean defaultWin32SshHomeChanged=preferences.getBoolean(
IConstants.PREF_HAS_CHANGED_DEFAULT_WIN32_SSH_HOME, false);
- if(!verified){
+
+ // flag to check if it is an existing workspace
+ boolean oldWorkspace=preferences.getBoolean(
+ IConstants.PREF_HAS_MIGRATED_SSH2_PREFS, false);
+
+ if(!defaultWin32SshHomeChanged){
if(null==preferences.get(IConstants.KEY_SSH2HOME, null)){
- String userHome=System
- .getProperty(IConstants.SYSTEM_PROPERTY_USER_HOME);
- if(userHome!=null){
- String oldSshHome=userHome+File.separator
- +IConstants.SSH_OLD_DEFAULT_WIN32_HOME;
- File file=new File(oldSshHome);
- if(file.exists())
- preferences.put(IConstants.KEY_SSH2HOME, oldSshHome);
- }
- preferences.putBoolean(
- IConstants.PREF_HAS_CHANGED_DEFAULT_WIN32_SSH_HOME, true);
- try{
- preferences.flush();
- }
- catch(BackingStoreException e){
- JSchCorePlugin.log(new Status(IStatus.INFO, JSchCorePlugin.ID,
- "Could not flush preferences.", e)); //$NON-NLS-1$
+ if(SSH_OLD_WIN32_HOME_DEFAULT!=null
+ &&new File(SSH_OLD_WIN32_HOME_DEFAULT).exists()&&oldWorkspace){
+ preferences.put(IConstants.KEY_SSH2HOME, SSH_OLD_WIN32_HOME_DEFAULT);
}
}
+
+ preferences.putBoolean(
+ IConstants.PREF_HAS_CHANGED_DEFAULT_WIN32_SSH_HOME, true);
+ try{
+ preferences.flush();
+ }
+ catch(BackingStoreException e){
+ JSchCorePlugin.log(new Status(IStatus.INFO, JSchCorePlugin.ID,
+ "Could not flush preferences.", e)); //$NON-NLS-1$
+ }
}
}
}

Back to the top