Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2007-02-26 21:10:55 +0000
committerMichael Valenta2007-02-26 21:10:55 +0000
commit19c97c675f766f6c1dec750b1273a9c8fb64d199 (patch)
treebecb071902a8d4fefa761d013273db555f508b8a /bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch
parentb4acd6d98dd374a7fee15266220c364d04401836 (diff)
downloadeclipse.platform.team-19c97c675f766f6c1dec750b1273a9c8fb64d199.tar.gz
eclipse.platform.team-19c97c675f766f6c1dec750b1273a9c8fb64d199.tar.xz
eclipse.platform.team-19c97c675f766f6c1dec750b1273a9c8fb64d199.zip
Made JSch an OSGi service
Diffstat (limited to 'bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch')
-rw-r--r--bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/JSchUIPlugin.java15
-rw-r--r--bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/Messages.java2
-rw-r--r--bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/messages.properties2
-rw-r--r--bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PreferencePage.java12
-rw-r--r--bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/UserInfoPrompter.java2
5 files changed, 29 insertions, 4 deletions
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/JSchUIPlugin.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/JSchUIPlugin.java
index 4865d38b1..7ca8a2b82 100644
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/JSchUIPlugin.java
+++ b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/JSchUIPlugin.java
@@ -17,8 +17,10 @@ import java.util.Hashtable;
import org.eclipse.core.runtime.*;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jsch.core.IJSchService;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
+import org.osgi.util.tracker.ServiceTracker;
public class JSchUIPlugin extends AbstractUIPlugin{
public static final String ID="org.eclipse.jsch.ui"; //$NON-NLS-1$
@@ -29,6 +31,7 @@ public class JSchUIPlugin extends AbstractUIPlugin{
* The singleton plug-in instance
*/
private static JSchUIPlugin plugin;
+ private ServiceTracker tracker;
public JSchUIPlugin(){
super();
@@ -155,7 +158,19 @@ public class JSchUIPlugin extends AbstractUIPlugin{
store.setValue(IUIConstants.PREF_FIRST_STARTUP, false);
}
+ tracker = new ServiceTracker(getBundle().getBundleContext(),IJSchService.class.getName(), null);
+ tracker.open();
}
+
+ public void stop(BundleContext context) throws Exception{
+ super.stop(context);
+ tracker.close();
+ }
+
+ public IJSchService getJSchService() {
+ return (IJSchService)tracker.getService();
+ }
+
public URL getImageUrl(String relative){
return FileLocator.find(Platform.getBundle(ID), new Path(IUIConstants.ICON_PATH + relative), null);
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/Messages.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/Messages.java
index 54594ee37..b7fe25182 100644
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/Messages.java
+++ b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/Messages.java
@@ -90,6 +90,8 @@ public class Messages extends NLS{
public static String KeyboardInteractiveDialog_4;
public static String KeyboardInteractiveDialog_5;
public static String KeyboardInteractiveDialog_6;
+ public static String PreferencePage_0;
+ public static String PreferencePage_1;
public static String UserInfoPrompter_0;
public static String UserInfoPrompter_1;
public static String UserValidationDialog_0;
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/messages.properties b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/messages.properties
index a4035b36b..91195b4ab 100644
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/messages.properties
+++ b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/messages.properties
@@ -88,3 +88,5 @@ UserValidationDialog_2=&Save password
UserValidationDialog_3=Saved passwords are stored on your computer in a file that is difficult, but not impossible, for an intruder to read.
UserValidationDialog_4=&Password:
UserValidationDialog_5=&User name:
+PreferencePage_0=SSH2 Service not available
+PreferencePage_1=The SSH2 service is not available.
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PreferencePage.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PreferencePage.java
index f515233db..3933b4a43 100644
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PreferencePage.java
+++ b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PreferencePage.java
@@ -18,8 +18,9 @@ import org.eclipse.core.runtime.*;
import org.eclipse.jface.dialogs.*;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.viewers.*;
-import org.eclipse.jsch.core.JSchProvider;
+import org.eclipse.jsch.core.IJSchService;
import org.eclipse.jsch.internal.core.*;
+import org.eclipse.jsch.internal.ui.JSchUIPlugin;
import org.eclipse.jsch.internal.ui.Messages;
import org.eclipse.jsch.ui.UserInfoPrompter;
import org.eclipse.osgi.util.NLS;
@@ -867,11 +868,16 @@ public class PreferencePage extends org.eclipse.jface.preference.PreferencePage
*/
int timeout = 60000;
- Session session = JSchProvider.createSession(host, port, user);
+ IJSchService service = JSchUIPlugin.getPlugin().getJSchService();
+ if (service == null) {
+ MessageDialog.openInformation(getShell(), Messages.PreferencePage_0, Messages.PreferencePage_1);
+ return;
+ }
+ Session session = service.createSession(host, port, user);
new UserInfoPrompter(session);
session.setTimeout(timeout);
try {
- JSchProvider.connect(session, timeout, new NullProgressMonitor());
+ service.connect(session, timeout, new NullProgressMonitor());
if(session.getServerVersion().indexOf("OpenSSH")==-1){ //$NON-NLS-1$
setErrorMessage(Messages.CVSSSH2PreferencePage_110);
return;
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/UserInfoPrompter.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/UserInfoPrompter.java
index 495039568..ad0fa0308 100644
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/UserInfoPrompter.java
+++ b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/UserInfoPrompter.java
@@ -13,7 +13,7 @@ package org.eclipse.jsch.ui;
import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jsch.core.JSchProvider;
+import org.eclipse.jsch.internal.core.JSchProvider;
import org.eclipse.jsch.internal.ui.*;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

Back to the top