diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/AbstractRSESystemType.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/AbstractRSESystemType.java index f6c65c28ee4..073e036734b 100644 --- a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/AbstractRSESystemType.java +++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/AbstractRSESystemType.java @@ -22,6 +22,9 @@ import java.util.HashMap; import java.util.Map; import org.eclipse.core.runtime.PlatformObject; +import org.eclipse.rse.core.model.Host; +import org.eclipse.rse.core.model.IHost; +import org.eclipse.rse.core.model.ISystemProfile; import org.osgi.framework.Bundle; /** @@ -171,6 +174,10 @@ public abstract class AbstractRSESystemType extends PlatformObject implements IR || testProperty(IRSESystemType.PROPERTY_IS_WINDOWS, true); } + public IHost createNewHostInstance(ISystemProfile profile) { + return new Host(profile); + } + /* (non-Javadoc) * @see java.lang.Object#toString() */ diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/IRSESystemType.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/IRSESystemType.java index 08c40960397..c2ada6d02ee 100644 --- a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/IRSESystemType.java +++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/IRSESystemType.java @@ -19,6 +19,9 @@ package org.eclipse.rse.core; import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.rse.core.model.IHost; +import org.eclipse.rse.core.model.ISystemProfile; +import org.eclipse.rse.internal.core.model.SystemHostPool; import org.osgi.framework.Bundle; /** @@ -282,18 +285,27 @@ public interface IRSESystemType extends IAdaptable { */ public Bundle getDefiningBundle(); - /** - * Returns a list of fully qualified known subsystem configuration id's that - * this system type wants to be registered against. - * More subsystem configurations can be added through the subsystemConfigurations - * extension point. - *
- * Note: The list returned here does not imply that the corresponding
- * subsystem configurations exist. The list contains only possibilites not,
- * requirements.
- *
- * @return The list of subsystem configuration id's. May be empty,
- * but never null
.
- */
- public String[] getSubsystemConfigurationIds();
+ /**
+ * Returns a list of fully qualified known subsystem configuration id's that
+ * this system type wants to be registered against.
+ * More subsystem configurations can be added through the subsystemConfigurations
+ * extension point.
+ *
+ * Note: The list returned here does not imply that the corresponding
+ * subsystem configurations exist. The list contains only possibilites not,
+ * requirements.
+ *
+ * @return The list of subsystem configuration id's. May be empty,
+ * but never null
.
+ */
+ public String[] getSubsystemConfigurationIds();
+
+ /**
+ * Creates a new IHost
object instance. This method is
+ * called from {@link SystemHostPool#createHost(IRSESystemType, String, String, String, String, int)}.
+ *
+ * @param profile The system profile to associate with the host.
+ * @return A new IHost
object instance.
+ */
+ public IHost createNewHostInstance(ISystemProfile profile);
}
\ No newline at end of file
diff --git a/rse/plugins/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemHostPool.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemHostPool.java
similarity index 98%
rename from rse/plugins/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemHostPool.java
rename to rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemHostPool.java
index 1c4bbb698c4..2cadb9ea54f 100644
--- a/rse/plugins/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemHostPool.java
+++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemHostPool.java
@@ -20,7 +20,7 @@
* Martin Oberhuber (Wind River) - [186779] Fix IRSESystemType.getAdapter()
********************************************************************************/
-package org.eclipse.rse.ui.internal.model;
+package org.eclipse.rse.internal.core.model;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Iterator;
@@ -36,8 +36,6 @@ import org.eclipse.rse.core.model.ISystemHostPool;
import org.eclipse.rse.core.model.ISystemProfile;
import org.eclipse.rse.core.model.RSEModelObject;
import org.eclipse.rse.internal.core.RSECoreMessages;
-import org.eclipse.rse.internal.core.model.SystemProfileManager;
-import org.eclipse.rse.ui.RSESystemTypeAdapter;
/**
@@ -193,10 +191,7 @@ public class SystemHostPool extends RSEModelObject implements ISystemHostPool
// delegate the creation of the host object instance to the system type provider!!!
if (systemType != null) {
- Object adapter = systemType.getAdapter(RSESystemTypeAdapter.class);
- if (adapter instanceof RSESystemTypeAdapter) {
- conn = ((RSESystemTypeAdapter)adapter).createNewHostInstance(profile);
- }
+ conn = systemType.createNewHostInstance(profile);
}
// Fallback to create host object instance here if failed by system type provider.
if (conn == null) conn = new Host(profile);
@@ -626,4 +621,4 @@ public class SystemHostPool extends RSEModelObject implements ISystemHostPool
commit();
}
-}
\ No newline at end of file
+}
diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/RSESystemTypeAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/RSESystemTypeAdapter.java
index d9f72a1a348..a9b1846d0dc 100644
--- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/RSESystemTypeAdapter.java
+++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/RSESystemTypeAdapter.java
@@ -32,9 +32,7 @@ import org.eclipse.rse.core.IRSESystemType;
import org.eclipse.rse.core.IRSESystemTypeConstants;
import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.core.RSEPreferencesManager;
-import org.eclipse.rse.core.model.Host;
import org.eclipse.rse.core.model.IHost;
-import org.eclipse.rse.core.model.ISystemProfile;
import org.eclipse.rse.core.model.ISystemRegistry;
import org.eclipse.rse.core.subsystems.IConnectorService;
import org.eclipse.rse.internal.ui.RSEAdapter;
@@ -339,16 +337,4 @@ public class RSESystemTypeAdapter extends RSEAdapter {
return false;
}
-
- /**
- * Creates a new IHost
object instance. This method is
- * called from {@link org.eclipse.rse.ui.internal.model.SystemHostPool#createHost(IRSESystemType, String, String, String, String, int)}.
- *
- * @param profile The system profile to associate with the host.
- * @return A new IHost
object instance.
- */
- public IHost createNewHostInstance(ISystemProfile profile) {
- return new Host(profile);
- }
-
}
\ No newline at end of file
diff --git a/rse/plugins/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemRegistry.java b/rse/plugins/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemRegistry.java
index 42bd38c4d41..a320359de4d 100644
--- a/rse/plugins/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemRegistry.java
+++ b/rse/plugins/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemRegistry.java
@@ -79,6 +79,7 @@ import org.eclipse.rse.core.subsystems.ISubSystem;
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
import org.eclipse.rse.core.subsystems.ISubSystemConfigurationProxy;
import org.eclipse.rse.internal.core.filters.SystemFilterStartHere;
+import org.eclipse.rse.internal.core.model.SystemHostPool;
import org.eclipse.rse.internal.core.model.SystemModelChangeEvent;
import org.eclipse.rse.internal.core.model.SystemModelChangeEventManager;
import org.eclipse.rse.internal.core.model.SystemPreferenceChangeManager;