1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 14:42:11 +02:00

[186523][api] Move subsystemConfigurations extension point from UI to core

This commit is contained in:
Martin Oberhuber 2007-05-12 01:40:42 +00:00
parent 5236cc4bfb
commit 655da9c585
32 changed files with 190 additions and 179 deletions

View file

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<!--
Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved.
Copyright (c) 2006, 2007 Symbian Software Ltd. and others. All rights reserved.
This program and the accompanying materials are made available under the terms
of the Eclipse Public License v1.0 which accompanies this distribution, and is
available at http://www.eclipse.org/legal/epl-v10.html
@ -10,6 +9,7 @@ available at http://www.eclipse.org/legal/epl-v10.html
Contributors:
Javier Montalvo Orus (Symbian) - initial API and implementation
Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE
Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
-->
<plugin>
@ -38,7 +38,7 @@ Contributors:
</extension>
<extension
point="org.eclipse.rse.ui.subsystemConfigurations">
point="org.eclipse.rse.core.subsystemConfigurations">
<configuration
systemTypeIds="org.eclipse.rse.systemtype.discovery"
name="Discovery"

View file

@ -9,6 +9,7 @@
* Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE
* Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType
* Martin Oberhuber (Wind River) - [177523] Unify singleton getter methods
* Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
********************************************************************************/
package org.eclipse.rse.internal.discovery;
@ -88,7 +89,7 @@ public class ServiceDiscoveryWizard extends Wizard {
*/
public boolean performFinish() {
IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.rse.ui","subsystemConfigurations"); //$NON-NLS-1$ //$NON-NLS-2$
IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.rse.core","subsystemConfigurations"); //$NON-NLS-1$ //$NON-NLS-2$
IConfigurationElement[] ce = ep.getConfigurationElements();
SystemRefreshAllAction systemRefreshAllAction = new SystemRefreshAllAction(null);

View file

@ -8,6 +8,7 @@
* Javier Montalvo Orus (Symbian) - initial API and implementation
* Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE
* Martin Oberhuber (Wind River) - [177523] Unify singleton getter methods
* Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
********************************************************************************/
package org.eclipse.tm.internal.discovery.wizard;
@ -114,7 +115,7 @@ public class ServiceDiscoveryWizardDisplayPage extends WizardPage {
private int timeOut = 500;
//format of serviceType attribute list of names and transports
//of extension point org.eclipse.ui.subsystemConfigurations
//of extension point org.eclipse.core.subsystemConfigurations
private final Pattern serviceTypeFormat = Pattern.compile("_(.+)\\._(.+)"); //$NON-NLS-1$
private Service lastSelectedService = null;
@ -144,7 +145,7 @@ public class ServiceDiscoveryWizardDisplayPage extends WizardPage {
//load all service id's from the extension point registry
//this id will be used to filter the supported sytem types
IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.rse.ui","subsystemConfigurations"); //$NON-NLS-1$ //$NON-NLS-2$
IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.rse.core","subsystemConfigurations"); //$NON-NLS-1$ //$NON-NLS-2$
IConfigurationElement[] ce = ep.getConfigurationElements();
for (int i = 0; i < ce.length; i++) {
String type = ce[i].getAttribute("serviceType"); //$NON-NLS-1$

View file

@ -4,7 +4,7 @@
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2002, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2002, 2007. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
<link rel="stylesheet" type="text/css" HREF="../book.css">
<title>Remote System Explorer Extension Points</title>
</head>
@ -56,7 +56,7 @@ Here are the extension points that are defined by the RSE:
<TD>For defining new system types that show up in the New Connection wizard.</TD>
</TR>
<TR>
<TD><A href="plugin/subsystem.html">org.eclipse.rse.ui.<b>subsystemConfigurations</b></A></TD>
<TD><A href="plugin/subsystem.html">org.eclipse.rse.core.<b>subsystemConfigurations</b></A></TD>
<TD>For defining new subsystems that appear when a connection is expanded.</TD>
</TR>
<TR>

View file

@ -11,7 +11,7 @@
<body bgcolor="#ffffff">
<h1>Plugging In SubSystems</h1>
<p>The <samp><A href="../../reference/extension-points/org_eclipse_rse_ui_subsystemConfigurations.html">org.eclipse.rse.ui.subsystemConfigurations</a></samp>
<p>The <samp><A href="../../reference/extension-points/org_eclipse_rse_core_subsystemConfigurations.html">org.eclipse.rse.core.subsystemConfigurations</a></samp>
extension point is defined in the plugin <samp>org.eclipse.rse.ui</samp>.
This is the most complex extension point to use, but also the most powerful. It enables
tool providers to register a class that creates subsystem objects, which appear under
@ -189,7 +189,7 @@ following summarizes the minimum set of classes you will be creating in order to
</ul>
</li>
<li>Creating a subclass of <A href="../../reference/api/org/eclipse/rse/core/subsystems/SubSystemConfiguration.html">DefaultSubSystemFactoryImpl.</A></li>
<li>Defining your <A href="../../reference/extension-points/org_eclipse_rse_ui_subsystemConfigurations.html">subsystemConfigurations extension</a> in your <samp>plugin.xml</samp> file.</li>
<li>Defining your <A href="../../reference/extension-points/org_eclipse_rse_core_subsystemConfigurations.html">subsystemConfigurations extension</a> in your <samp>plugin.xml</samp> file.</li>
<li>For each remote resource class you created in step 4, you need to create an adapter class, which extends
<A href="../../reference/api/org/eclipse/rse/ui/view/AbstractSystemViewAdapter.html">AbstractSystemViewAdapter</A> and which
implements <A href="../../reference/api/org/eclipse/rse/ui/view/ISystemRemoteElementAdapter.html">ISystemRemoteElementAdapter</A>.

View file

@ -10,7 +10,7 @@
<body>
<h1>Creating a Subsystem Configuration</h1>
<p>In this tutorial you will use the RSE <A href="../../reference/extension-points/org_eclipse_rse_ui_subsystemConfigurations.html">subsystemConfigurations</A> extension point to show new subsystems within connections, which will then appear when those connections are expanded. Effectively, you will add a new <i>remote-accessing tool</i> to the Remote System Explorer.</p>
<p>In this tutorial you will use the RSE <A href="../../reference/extension-points/org_eclipse_rse_core_subsystemConfigurations.html">subsystemConfigurations</A> extension point to show new subsystems within connections, which will then appear when those connections are expanded. Effectively, you will add a new <i>remote-accessing tool</i> to the Remote System Explorer.</p>
<p>
A full-blown tutorial to illustrate this extension point is a bit difficult without inventing
server-side code and a communication layer for that server-side code to communication with the
@ -77,7 +77,7 @@ add the line highlighted <a href="rseSamplesResources3.html">here</a>.
&lt;!-- ======================================= --&gt;
&lt;!-- SubSystem Configuration --&gt;
&lt;!-- ======================================= --&gt;
&lt;extension point=&quot;org.eclipse.rse.ui.subsystemConfigurations&quot;&gt;
&lt;extension point=&quot;org.eclipse.rse.core.subsystemConfigurations&quot;&gt;
&lt;configuration
id=&quot;samples.subsystems.factory&quot;
systemTypeIds=&quot;org.eclipse.rse.systemtype.linux;org.eclipse.rse.systemtype.unix;org.eclipse.rse.systemtype.windows&quot;

View file

@ -15,6 +15,7 @@
<li><a href="org_eclipse_rse_core_persistenceProviders.html">org.eclipse.rse.core.persistenceProviders</a></li>
<li><a href="org_eclipse_rse_core_systemTypes.html">org.eclipse.rse.core.systemTypes</a></li>
<li><a href="org_eclipse_rse_core_systemTypeProviders.html">org.eclipse.rse.core.systemTypeProviders</a></li>
<li><a href="org_eclipse_rse_core_subsystemConfigurations.html">org.eclipse.rse.core.subsystemConfigurations</a></li>
<li><a href="org_eclipse_rse_services_archivehandlers.html">org.eclipse.rse.services.archivehandlers</a></li>
<!-- TODODeferred after RSE 1.0
<li><a href="org_eclipse_rse_ui_compile.html">org.eclipse.rse.ui.compile</a></li>
@ -22,7 +23,6 @@
<li><a href="org_eclipse_rse_ui_mountPathMappers.html">org.eclipse.rse.ui.mountPathMappers</a></li>
<li><a href="org_eclipse_rse_ui_newConnectionWizards.html">org.eclipse.rse.ui.newConnectionWizards</a></li>
<li><a href="org_eclipse_rse_ui_remoteSystemsViewPreferencesActions.html">org.eclipse.rse.ui.remoteSystemsViewPreferencesActions</a></li>
<li><a href="org_eclipse_rse_ui_subsystemConfigurations.html">org.eclipse.rse.ui.subsystemConfigurations</a></li>
</ul>
</body>

View file

@ -6,10 +6,11 @@
<toc label="Reference">
<topic label="Extension Points Reference" href="provisional_api.html">
<topic label="org.eclipse.rse.core.keystoreProviders" href="reference/extension-points/org_eclipse_rse_core_keystoreProviders.html" />
<topic label="org.eclipse.rse.core.persistenceProviders" href="reference/extension-points/org_eclipse_rse_core_persistenceProviders.html" />
<topic label="org.eclipse.rse.core.systemTypes" href="reference/extension-points/org_eclipse_rse_core_systemTypes.html" />
<topic label="org.eclipse.rse.core.systemTypeProviders" href="reference/extension-points/org_eclipse_rse_core_systemTypeProviders.html" />
<topic label="org.eclipse.rse.core.subsystemConfigurations" href="reference/extension-points/org_eclipse_rse_core_subsystemConfigurations.html" />
<topic label="org.eclipse.rse.core.keystoreProviders" href="reference/extension-points/org_eclipse_rse_core_keystoreProviders.html" />
<topic label="org.eclipse.rse.core.persistenceProviders" href="reference/extension-points/org_eclipse_rse_core_persistenceProviders.html" />
<topic label="org.eclipse.rse.services.archivehandlers" href="reference/extension-points/org_eclipse_rse_services_archivehandlers.html" />
<!-- TODODeferred after RSE 1.0
<topic label="org.eclipse.rse.ui.compile" href="reference/extension-points/org_eclipse_rse_ui_compile.html" />
@ -17,7 +18,6 @@
<topic label="org.eclipse.rse.ui.mountPathMappers" href="reference/extension-points/org_eclipse_rse_ui_mountPathMappers.html" />
<topic label="org.eclipse.rse.ui.newConnectionWizards" href="reference/extension-points/org_eclipse_rse_ui_newConnectionWizards.html" />
<topic label="org.eclipse.rse.ui.remoteSystemsViewPreferencesActions" href="reference/extension-points/org_eclipse_rse_ui_remoteSystemsViewPreferencesActions.html" />
<topic label="org.eclipse.rse.ui.subsystemConfigurations" href="reference/extension-points/org_eclipse_rse_ui_subsystemConfigurations.html" />
<anchor id="rse-extension-points-ref" />
</topic>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2006 Wind River Systems, Inc.
Copyright (c) 2006, 2007 Wind River Systems, Inc. and others.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
@ -9,6 +9,7 @@ http://www.eclipse.org/legal/epl-v10.html
Contributors:
Martin Oberhuber (Wind River) - initial API and implementation
Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE
Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
-->
<?eclipse version="3.1"?>
<plugin>
@ -24,7 +25,7 @@ Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE
<!-- Instantiate the FTP subsystem by referencing it from the external implementation -->
<!-- Disabled to avoid hard dependency to the FTP plugin
<extension
point="org.eclipse.rse.ui.subsystemConfigurations">
point="org.eclipse.rse.core.subsystemConfigurations">
<configuration
systemTypeIds="org.eclipse.rse.examples.daytime.systemtype"
name="%Files"
@ -41,7 +42,7 @@ Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE
-->
<!-- Instantiate the Daytime subsystem from our own plugin -->
<extension
point="org.eclipse.rse.ui.subsystemConfigurations">
point="org.eclipse.rse.core.subsystemConfigurations">
<configuration
category="daytime"
class="org.eclipse.rse.examples.daytime.subsystems.DaytimeSubSystemConfiguration"

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2006 IBM Corporation. All rights reserved.
Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved.
This program and the accompanying materials are made available under the terms
of the Eclipse Public License v1.0 which accompanies this distribution, and is
available at http://www.eclipse.org/legal/epl-v10.html
@ -13,6 +13,7 @@ Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
Contributors:
Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE.
Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
-->
<?eclipse version="3.1"?>
<plugin>
@ -59,7 +60,7 @@ Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE.
<!-- ======================================= -->
<!-- Tutorial #3: Creating a Subsystem Configuration -->
<extension
point="org.eclipse.rse.ui.subsystemConfigurations">
point="org.eclipse.rse.core.subsystemConfigurations">
<configuration
id="samples.subsystems.factory"
systemTypeIds="org.eclipse.rse.systemtype.linux;org.eclipse.rse.systemtype.unix;org.eclipse.rse.systemtype.windows"

View file

@ -8,6 +8,7 @@
# Contributors:
# IBM Corporation - initial API and implementation
# Martin Oberhuber (Wind River) - [186525] Move keystoreProviders to core
# Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
###############################################################################
# NLS_MESSAGEFORMAT_NONE
@ -20,6 +21,7 @@ extPoint.keystoreProviders = Keystore Providers
extPoint.persistenceProviders=RSE Persistence Providers
extPoint.systemTypes=RSE System Types
extPoint.systemTypeProviders=RSE System Type Providers
extPoint.subsystemConfigurations = Remote Subsystem Configurations
systemType.windows.label=Windows
systemType.unix.label=Unix

View file

@ -72,6 +72,62 @@
name="Local"/>
</extension>
<!-- ================================================================================== -->
<!-- EXTENSION POINT: org.eclipse.rse.core.subsystemConfigurations -->
<!-- ================================================================================== -->
<!-- Extension point for defining subsystem factories. A configuration is responsible for -->
<!-- creating subsystem instances. -->
<!-- -->
<!-- Example of extension configuration: -->
<!-- <extension -->
<!-- point="org.eclipse.rse.core.subsystemConfigurations"> -->
<!-- <configuration -->
<!-- systemTypeIds="org.eclipse.rse.systemtype.local;org.eclipse.rse.systemtype.unix"-->
<!-- name="Files" -->
<!-- description="This subsystem allows you to work with files on local or remote systems."-->
<!-- icon="icons/filesubsys.gif" -->
<!-- iconlive="icons/filesubsyslive.gif" -->
<!-- id="com.acme.etools.mypkg.myconfiguration" -->
<!-- class="com.acme.etools.mypkg.MyClass" -->
<!-- category="files" -->
<!-- vendor="ACME" -->
<!-- > -->
<!-- </configuration> -->
<!-- </extension> -->
<!-- Each extension can contain multiple configuration tags that identify a subsystem configuration -->
<!-- -->
<!-- <configuration> tag attributes: -->
<!-- ================================================================================== -->
<!-- systemTypes => semicolon-separated list of system types or * for all -->
<!-- class => class implementing org.eclipse.rse.subsystems.SubSystemFactory -->
<!-- category => optionally identifies category to allow efficient subsetting of -->
<!-- connection lists. Pre-defined categories are "files", "cmds" and -->
<!-- "jobs". Can also specify your own category like "database" -->
<!-- icon => icon to display for subsystems of this configuration when not connected -->
<!-- iconlive => icon to display for subsystems of this configuration when connected -->
<!-- name => translatable display name for subsystems of this configuration -->
<!-- description => translatable descriptin for subsystems of this configuration -->
<!-- id => unique id for this extension point. Will be used for a folder name -->
<!-- vendor => name of company supplying this configuration -->
<!-- systemClass => OBSOLETE - Removed in OpenRSE. -->
<!-- Was only used when naming a predefined subsystem configuration -->
<!-- in the <samp>class</samp> attribute, when you want to subclass or replace the -->
<!-- predefined IConnectorService object used to manage the live connection with -->
<!-- the remote system. Name a class that implements -->
<!-- org.eclipse.rse.core.subsystems.IConnectorService or extends the appropriate -->
<!-- predefined class such as org.eclipse.rse.universal.UniversalSystem -->
<!-- for unix, windows and system types. -->
<!-- ================================================================================== -->
<!-- -->
<!-- For systemTypes, if you specify * for all, you still have a chance at runtime to -->
<!-- not create a subsystem for a given system type. Simply return false from your -->
<!-- appliesToSystemType method. -->
<!-- -->
<!-- -->
<!-- ================================================================================== -->
<extension-point id="subsystemConfigurations" name="%extPoint.subsystemConfigurations" schema="schema/subsystemConfigurations.exsd"/>
<!-- ================================================================= -->
<!-- PreferencesInitializers -->
<!-- ================================================================= -->

View file

@ -1,6 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.rse.ui">
<schema targetNamespace="org.eclipse.rse.core">
<annotation>
<appInfo>
<meta.schema plugin="org.eclipse.rse.core" id="keystoreProviders" name="Keystore Providers"/>

View file

@ -1,9 +1,9 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.rse.ui">
<schema targetNamespace="org.eclipse.rse.core">
<annotation>
<appInfo>
<meta.schema plugin="org.eclipse.rse.ui" id="subsystemConfigurations" name="Subsystem Configurations"/>
<meta.schema plugin="org.eclipse.rse.core" id="subsystemConfigurations" name="Subsystem Configurations"/>
</appInfo>
<documentation>
This extension point allows tool-writers to extend the capability of the Remote System Explorer, by identifying a subsystem configuration that produces a subsystem whenever a new connection is created. This subsystem appears under the connection when it is expanded in the Remote Systems view of the Remote System Explorer perspective. The subsystem configuration is called by the Remote System framework when the user creates a new connection, when the connection&apos;s system type is one of the types identified as supported by this subsystem configuration extension.
@ -183,7 +183,7 @@ For example, this attribute could be &lt;code&gt;serviceType=&quot;_ftp._tcp;_ft
&lt;p&gt;
&lt;pre&gt;
&lt;extension
point=&quot;org.eclipse.rse.ui.subsystemConfigurations&quot;&gt;
point=&quot;org.eclipse.rse.core.subsystemConfigurations&quot;&gt;
&lt;configuration
systemTypeIds=&quot;org.eclipse.rse.systemtype.unix;*.rse.systemtype.linux&quot;
name=&quot;Databases&quot;
@ -247,6 +247,7 @@ Contributors:
IBM Corporation - initial API and implementation
Uwe Stieber (Wind River) - systemTypeIds attribute extensions
Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE
Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
</documentation>
</annotation>

View file

@ -6,7 +6,7 @@
<meta.schema plugin="org.eclipse.rse.core" id="systemTypes" name="RSE System Types"/>
</appInfo>
<documentation>
This extension point is used in combination with the &quot;org.eclipse.rse.ui.subsystemConfigurations&quot; extension point for defining new subsystems, which appear under a connection when it is expanded in the Remote Systems view. The systemTypes extension point allows subsystem providers to define a new system type that appears in the list of valid system types in the New Connection wizard, used by users when defining a new connection to a remote system. The system type is simply a string identifying the operating system type, such as Solaris, and an pair of icons used to identify connections to systems of this type. One icon is used when the connection is not connected, while the other is used when there is a live connection.
This extension point is used in combination with the &quot;org.eclipse.rse.core.subsystemConfigurations&quot; extension point for defining new subsystems, which appear under a connection when it is expanded in the Remote Systems view. The systemTypes extension point allows subsystem providers to define a new system type that appears in the list of valid system types in the New Connection wizard, used by users when defining a new connection to a remote system. The system type is simply a string identifying the operating system type, such as Solaris, and an pair of icons used to identify connections to systems of this type. One icon is used when the connection is not connected, while the other is used when there is a live connection.
</documentation>
</annotation>
@ -217,13 +217,14 @@ If not specified, a default icon will be used by RSE.
<meta.section type="copyright"/>
</appInfo>
<documentation>
Copyright (c) 2002, 2006 IBM Corporation. All Rights Reserved.
Copyright (c) 2002, 2007 IBM Corporation and others. All Rights Reserved.
This program and the accompanying materials are made available under the terms
of the Eclipse Public License v1.0 which accompanies this distribution, and is
available at http://www.eclipse.org/legal/epl-v10.html
Contributors:
IBM Corporation - initial API and implementation
Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
</documentation>
</annotation>

View file

@ -20,6 +20,8 @@ package org.eclipse.rse.core;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Arrays;
import java.util.Vector;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtensionRegistry;
@ -27,7 +29,10 @@ import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.rse.core.comm.SystemKeystoreProviderManager;
import org.eclipse.rse.core.model.ISystemRegistry;
import org.eclipse.rse.core.subsystems.ISubSystemConfigurationProxy;
import org.eclipse.rse.internal.core.RSECoreRegistry;
import org.eclipse.rse.internal.core.subsystems.SubSystemConfigurationProxy;
import org.eclipse.rse.internal.core.subsystems.SubSystemConfigurationProxyComparator;
import org.eclipse.rse.internal.persistence.RSEPersistenceManager;
import org.eclipse.rse.logging.Logger;
import org.eclipse.rse.logging.LoggerFactory;
@ -43,20 +48,21 @@ import org.osgi.framework.BundleContext;
public class RSECorePlugin extends Plugin {
/**
* Current release as a number (multiplied by 10). E.g. 30 is for release 3.0.
* Current release as a number (multiplied by 100). E.g. 300 is for release 3.0.0
*/
public static final int CURRENT_RELEASE = 100; // updated to new release
public static final int CURRENT_RELEASE = 200; // updated to new release
/**
* Current release as a string.
*/
public static final String CURRENT_RELEASE_NAME = "1.0.0"; //$NON-NLS-1$
public static final String CURRENT_RELEASE_NAME = "2.0.0"; //$NON-NLS-1$
private static RSECorePlugin plugin = null; // the singleton instance of this plugin
private Logger logger = null;
private ISystemRegistry _registry = null;
private IRSEPersistenceManager _persistenceManager = null;
private ISubSystemConfigurationProxy[] _subsystemConfigurations = null;
/**
* Returns the singleton instance of RSECorePlugin.
* @return the singleton instance.
@ -246,5 +252,53 @@ public class RSECorePlugin extends Plugin {
}
}
}
/**
* Return all elements that extend the org.eclipse.rse.core.subsystemConfigurations extension point
*/
private IConfigurationElement[] getSubSystemConfigurationPlugins()
{
// Get reference to the plug-in registry
IExtensionRegistry registry = Platform.getExtensionRegistry();
// Get configured extenders
IConfigurationElement[] subsystemFactoryExtensions =
registry.getConfigurationElementsFor("org.eclipse.rse.core","subsystemConfigurations"); //$NON-NLS-1$ //$NON-NLS-2$
return subsystemFactoryExtensions;
}
/**
* Return an array of SubSystemConfigurationProxy objects.
* These represent all extensions to our subsystemConfigurations extension point.
*/
public ISubSystemConfigurationProxy[] getSubSystemConfigurationProxies()
{
if (_subsystemConfigurations != null) // added by PSC
return _subsystemConfigurations;
IConfigurationElement[] factoryPlugins = getSubSystemConfigurationPlugins();
if (factoryPlugins != null)
{
Vector v = new Vector();
for (int idx=0; idx<factoryPlugins.length; idx++)
{
SubSystemConfigurationProxy ssf =
new SubSystemConfigurationProxy(factoryPlugins[idx]);
v.addElement(ssf);
}
if (v.size() != 0)
{
_subsystemConfigurations = new ISubSystemConfigurationProxy[v.size()];
for (int idx=0; idx<v.size(); idx++)
_subsystemConfigurations[idx] = (ISubSystemConfigurationProxy)v.elementAt(idx);
}
}
Arrays.sort(_subsystemConfigurations, new SubSystemConfigurationProxyComparator());
return _subsystemConfigurations;
}
}

View file

@ -14,6 +14,7 @@ Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
Contributors:
Martin Oberhuber (Wind River) - [180519] declaratively register adapter factories
Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
-->
<?eclipse version="3.1"?>
<plugin>
@ -52,7 +53,7 @@ Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
<!-- ============================================== -->
<!-- let's wait until this is supported on windows
<extension
point="org.eclipse.rse.ui.subsystemConfigurations">
point="org.eclipse.rse.core.subsystemConfigurations">
<factory
systemTypeIds="org.eclipse.rse.systemtype.local"
name="%Factory.LocalProcesses"

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2006 IBM Corporation. All rights reserved.
Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved.
This program and the accompanying materials are made available under the terms
of the Eclipse Public License v1.0 which accompanies this distribution, and is
available at http://www.eclipse.org/legal/epl-v10.html
@ -13,13 +13,14 @@ Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
Contributors:
Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE
Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
-->
<?eclipse version="3.1"?>
<plugin>
<extension
point="org.eclipse.rse.ui.subsystemConfigurations">
point="org.eclipse.rse.core.subsystemConfigurations">
<configuration
category="files"
class="org.eclipse.rse.subsystems.files.dstore.DStoreFileSubSystemConfiguration"

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2006, 2007 IBM Corporation, Symbian Software Ltd. and Wind River Systems, Inc. All rights reserved.
Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved.
This program and the accompanying materials are made available under the terms
of the Eclipse Public License v1.0 which accompanies this distribution, and is
available at http://www.eclipse.org/legal/epl-v10.html
@ -16,6 +16,7 @@ Javier Montalvo Orus (Symbian) - add Windows to list of valid FTP systems
Martin Oberhuber (Wind River) - add FTP Only system type
Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE
Javier Montalvo Orus (Symbian) - Fixing 176216 - [api] FTP sould provide API to allow clients register their own FTPListingParser
Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
-->
<?eclipse version="3.1"?>
<plugin>
@ -28,7 +29,7 @@ Javier Montalvo Orus (Symbian) - Fixing 176216 - [api] FTP sould provide API to
id="org.eclipse.rse.systemtype.ftp"
name="FTP Only"/>
</extension>
<extension point="org.eclipse.rse.ui.subsystemConfigurations">
<extension point="org.eclipse.rse.core.subsystemConfigurations">
<configuration
systemTypeIds="org.eclipse.rse.systemtype.linux;org.eclipse.rse.systemtype.unix;org.eclipse.rse.systemtype.windows;org.eclipse.rse.systemtype.ftp"
name="%Files"

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2006 IBM Corporation. All rights reserved.
Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved.
This program and the accompanying materials are made available under the terms
of the Eclipse Public License v1.0 which accompanies this distribution, and is
available at http://www.eclipse.org/legal/epl-v10.html
@ -12,14 +12,14 @@ Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
Contributors:
{Name} (company) - description of contribution.
Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
-->
<?eclipse version="3.1"?>
<plugin>
<extension
point="org.eclipse.rse.ui.subsystemConfigurations">
point="org.eclipse.rse.core.subsystemConfigurations">
<configuration
systemTypeIds="org.eclipse.rse.systemtype.local"
name="%Files"

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2006, 2007 Wind River Systems, Inc.
Copyright (c) 2006, 2007 Wind River Systems, Inc. and others.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
@ -9,11 +9,12 @@ http://www.eclipse.org/legal/epl-v10.html
Contributors:
Martin Oberhuber - initial API and implementation
Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE
Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
-->
<?eclipse version="3.1"?>
<plugin>
<extension
point="org.eclipse.rse.ui.subsystemConfigurations">
point="org.eclipse.rse.core.subsystemConfigurations">
<configuration
category="files"
class="org.eclipse.rse.subsystems.files.ssh.SftpFileSubSystemConfiguration"

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2006 IBM Corporation. All rights reserved.
Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved.
This program and the accompanying materials are made available under the terms
of the Eclipse Public License v1.0 which accompanies this distribution, and is
available at http://www.eclipse.org/legal/epl-v10.html
@ -13,6 +13,7 @@ Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
Contributors:
Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE
Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
-->
<?eclipse version="3.1"?>
<plugin>
@ -23,7 +24,7 @@ Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE
<!-- Define subsystem factories for sample -->
<!-- ============================================== -->
<extension
point="org.eclipse.rse.ui.subsystemConfigurations">
point="org.eclipse.rse.core.subsystemConfigurations">
<configuration
category="processes"
class="org.eclipse.rse.subsystems.processes.dstore.DStoreProcessSubSystemConfiguration"

View file

@ -9,11 +9,12 @@ http://www.eclipse.org/legal/epl-v10.html
Contributors:
Yufen Kuo (MontaVista) - initial API and implementation
Martin Oberhuber (Wind River) - [refactor] "shell" instead of "ssh" everywhere
Martin Oberhuber (Wind River) - [refactor] "shell" instead of "ssh" everywhere
Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
-->
<plugin>
<extension
point="org.eclipse.rse.ui.subsystemConfigurations">
point="org.eclipse.rse.core.subsystemConfigurations">
<configuration
systemTypeIds="org.eclipse.rse.systemtype.linux"
name="%ShellProcessSubsystemName"

View file

@ -13,6 +13,7 @@
* Contributors:
* Yu-Fen Kuo (MontaVista) - adapted from RSE ProcessServiceSubSystemConfiguration
* Martin Oberhuber (Wind River) - [refactor] "shell" instead of "ssh" everywhere
* Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
*******************************************************************************/
package org.eclipse.rse.subsystems.processes.shell.linux;
@ -32,7 +33,7 @@ import org.eclipse.rse.subsystems.processes.servicesubsystem.ProcessServiceSubSy
import org.eclipse.rse.subsystems.shells.core.subsystems.servicesubsystem.IShellServiceSubSystem;
/**
* This class is used by org.eclipse.rse.ui.subsystemConfigurations extension
* This class is used by org.eclipse.rse.core.subsystemConfigurations extension
* that defines the process subsystem using ssh protocol on linux remote
* targets.
*

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2006 IBM Corporation. All rights reserved.
Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved.
This program and the accompanying materials are made available under the terms
of the Eclipse Public License v1.0 which accompanies this distribution, and is
available at http://www.eclipse.org/legal/epl-v10.html
@ -13,6 +13,7 @@ Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
Contributors:
Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE
Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
-->
<?eclipse version="3.1"?>
<plugin>
@ -20,7 +21,7 @@ Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE
<extension
point="org.eclipse.rse.ui.subsystemConfigurations">
point="org.eclipse.rse.core.subsystemConfigurations">
<configuration
category="shells"
class="org.eclipse.rse.subsystems.shells.dstore.DStoreShellSubSystemConfiguration"

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2006 IBM Corporation. All rights reserved.
Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved.
This program and the accompanying materials are made available under the terms
of the Eclipse Public License v1.0 which accompanies this distribution, and is
available at http://www.eclipse.org/legal/epl-v10.html
@ -12,18 +12,15 @@ Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
Contributors:
{Name} (company) - description of contribution.
Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
-->
<?eclipse version="3.1"?>
<plugin>
<!-- ============================================== -->
<!-- Define subsystem factories for sample -->
<!-- Define subsystem configurations for sample -->
<!-- ============================================== -->
<extension
point="org.eclipse.rse.ui.subsystemConfigurations">
point="org.eclipse.rse.core.subsystemConfigurations">
<configuration
systemTypeIds="org.eclipse.rse.systemtype.local"
name="%Shells"

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2006, 2007 Wind River Systems, Inc.
Copyright (c) 2006, 2007 Wind River Systems, Inc. and others.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
@ -9,11 +9,12 @@ http://www.eclipse.org/legal/epl-v10.html
Contributors:
Martin Oberhuber - initial API and implementation
Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE
Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
-->
<?eclipse version="3.1"?>
<plugin>
<extension
point="org.eclipse.rse.ui.subsystemConfigurations">
point="org.eclipse.rse.core.subsystemConfigurations">
<configuration
category="shells"
class="org.eclipse.rse.subsystems.shells.ssh.SshShellSubSystemConfiguration"

View file

@ -7,7 +7,8 @@ which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
Contributors:
Martin Oberhuber - initial API and implementation
Martin Oberhuber - initial API and implementation
Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
-->
<?eclipse version="3.1"?>
<plugin>
@ -21,7 +22,7 @@ Martin Oberhuber - initial API and implementation
name="Telnet Only"/>
</extension>
<extension
point="org.eclipse.rse.ui.subsystemConfigurations">
point="org.eclipse.rse.core.subsystemConfigurations">
<configuration
category="shells"
class="org.eclipse.rse.subsystems.shells.telnet.TelnetShellSubSystemConfiguration"

View file

@ -19,12 +19,12 @@
* Martin Oberhuber (Wind River) - [185554] Remove dynamicPopupMenuExtensions extension point
* Martin Oberhuber (Wind River) - [174945] Remove obsolete icons from rse.shells.ui
* Martin Oberhuber (Wind River) - [186525] Move keystoreProviders to core
* Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
********************************************************************************/
package org.eclipse.rse.ui;
import java.net.URL;
import java.util.Arrays;
import java.util.Vector;
import org.eclipse.core.resources.IProject;
@ -51,8 +51,6 @@ import org.eclipse.rse.core.model.SystemStartHere;
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
import org.eclipse.rse.core.subsystems.ISubSystemConfigurationProxy;
import org.eclipse.rse.internal.core.model.SystemProfileManager;
import org.eclipse.rse.internal.core.subsystems.SubSystemConfigurationProxy;
import org.eclipse.rse.internal.core.subsystems.SubSystemConfigurationProxyComparator;
import org.eclipse.rse.internal.ui.RSESystemTypeAdapterFactory;
import org.eclipse.rse.internal.ui.SystemResources;
import org.eclipse.rse.internal.ui.actions.SystemShowPreferencesPageAction;
@ -137,11 +135,6 @@ public class RSEUIPlugin extends SystemBasePlugin implements ISystemMessageProvi
// private SystemType[] allSystemTypes = null;
private SystemRegistry _systemRegistry = null;
private ISubSystemConfigurationProxy[] subsystemConfigurations = null;
private Vector viewSuppliers = new Vector();
private SystemViewAdapterFactory svaf; // for fastpath access
@ -631,55 +624,6 @@ public class RSEUIPlugin extends SystemBasePlugin implements ISystemMessageProvi
}
}
/**
* Return an array of SubSystemConfigurationProxy objects.
* These represent all extensions to our subsystemConfigurations extension point.
*/
public ISubSystemConfigurationProxy[] getSubSystemConfigurationProxies()
{
if (subsystemConfigurations != null) // added by PSC
return subsystemConfigurations;
IConfigurationElement[] factoryPlugins = getSubSystemConfigurationPlugins();
if (factoryPlugins != null)
{
Vector v = new Vector();
for (int idx=0; idx<factoryPlugins.length; idx++)
{
SubSystemConfigurationProxy ssf =
new SubSystemConfigurationProxy(factoryPlugins[idx]);
v.addElement(ssf);
}
if (v.size() != 0)
{
subsystemConfigurations = new ISubSystemConfigurationProxy[v.size()];
for (int idx=0; idx<v.size(); idx++)
subsystemConfigurations[idx] = (ISubSystemConfigurationProxy)v.elementAt(idx);
}
}
Arrays.sort(subsystemConfigurations, new SubSystemConfigurationProxyComparator());
return subsystemConfigurations;
}
/**
* Return all elements that extend the org.eclipse.rse.ui.subsystemConfigurations extension point
*/
private IConfigurationElement[] getSubSystemConfigurationPlugins()
{
// Get reference to the plug-in registry
IExtensionRegistry registry = Platform.getExtensionRegistry();
// Get configured extenders
IConfigurationElement[] subsystemFactoryExtensions =
registry.getConfigurationElementsFor("org.eclipse.rse.ui","subsystemConfigurations"); //$NON-NLS-1$ //$NON-NLS-2$
return subsystemFactoryExtensions;
}
/**
* Returns true if the SystemRegistry has been instantiated already.
* Use this when you don't want to start the system registry as a side effect of retrieving it.
@ -711,7 +655,7 @@ public class RSEUIPlugin extends SystemBasePlugin implements ISystemMessageProvi
_systemRegistry = SystemRegistry.getInstance(logfilePath);
ISubSystemConfigurationProxy[] proxies = getSubSystemConfigurationProxies();
ISubSystemConfigurationProxy[] proxies = RSECorePlugin.getDefault().getSubSystemConfigurationProxies();
if (proxies != null)
{
_systemRegistry.setSubSystemConfigurationProxies(proxies);

View file

@ -14,6 +14,7 @@
# Uwe Stieber (Wind River) - [174966] IRSESystemType should have a getLabel()
# method for translatable label.
# Martin Oberhuber (Wind River) - [186525] Move keystoreProviders to core
# Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
################################################################################
# NLS_MESSAGEFORMAT_NONE
@ -23,7 +24,6 @@ pluginName = RSE UI
providerName = Eclipse.org
extPoint.newConnectionWizard = New Connection Wizard
extPoint.subsystemConfigurations = Remote Subsystem Configurations
extPoint.remoteSystemsViewPreferencesActions = Remote Systems View Preferences Actions
#extPoint.compile = Remote Compile Commands
extPoint.mountPathMappers = Mount Path Mappers

View file

@ -14,68 +14,10 @@ Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
Contributors:
Martin Oberhuber (Wind River) - [185554] Remove dynamicPopupMenuExtensions extension point
Martin Oberhuber (Wind River) - [186525] Move keystoreProviders to core
Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core
-->
<?eclipse version="3.1"?>
<plugin>
<!-- ================================================================================== -->
<!-- EXTENSION POINT: org.eclipse.rse.ui.subsystemConfigurations -->
<!-- ================================================================================== -->
<!-- Extension point for defining subsystem factories. A configuration is responsible for -->
<!-- creating subsystem instances. -->
<!-- -->
<!-- Example of extension configuration: -->
<!-- <extension -->
<!-- point="org.eclipse.rse.ui.subsystemConfigurations"> -->
<!-- <configuration -->
<!-- systemTypeIds="org.eclipse.rse.systemtype.local;org.eclipse.rse.systemtype.unix"-->
<!-- name="Files" -->
<!-- description="This subsystem allows you to work with files on local or remote systems."-->
<!-- icon="icons/filesubsys.gif" -->
<!-- iconlive="icons/filesubsyslive.gif" -->
<!-- id="com.acme.etools.mypkg.myconfiguration" -->
<!-- class="com.acme.etools.mypkg.MyClass" -->
<!-- category="files" -->
<!-- vendor="ACME" -->
<!-- > -->
<!-- </configuration> -->
<!-- </extension> -->
<!-- Each extension can contain multiple configuration tags that identify a subsystem configuration -->
<!-- -->
<!-- <configuration> tag attributes: -->
<!-- ================================================================================== -->
<!-- systemTypes => semicolon-separated list of system types or * for all -->
<!-- class => class implementing org.eclipse.rse.subsystems.SubSystemFactory -->
<!-- category => optionally identifies category to allow efficient subsetting of -->
<!-- connection lists. Pre-defined categories are "files", "cmds" and -->
<!-- "jobs". Can also specify your own category like "database" -->
<!-- icon => icon to display for subsystems of this configuration when not connected -->
<!-- iconlive => icon to display for subsystems of this configuration when connected -->
<!-- name => translatable display name for subsystems of this configuration -->
<!-- description => translatable descriptin for subsystems of this configuration -->
<!-- id => unique id for this extension point. Will be used for a folder name -->
<!-- vendor => name of company supplying this configuration -->
<!-- systemClass => OBSOLETE - Removed in OpenRSE. -->
<!-- Was only used when naming a predefined subsystem configuration -->
<!-- in the <samp>class</samp> attribute, when you want to subclass or replace the -->
<!-- predefined IConnectorService object used to manage the live connection with -->
<!-- the remote system. Name a class that implements -->
<!-- org.eclipse.rse.core.subsystems.IConnectorService or extends the appropriate -->
<!-- predefined class such as org.eclipse.rse.universal.UniversalSystem -->
<!-- for unix, windows and system types. -->
<!-- ================================================================================== -->
<!-- -->
<!-- For systemTypes, if you specify * for all, you still have a chance at runtime to -->
<!-- not create a subsystem for a given system type. Simply return false from your -->
<!-- appliesToSystemType method. -->
<!-- -->
<!-- -->
<!-- ================================================================================== -->
<extension-point id="subsystemConfigurations" name="%extPoint.subsystemConfigurations" schema="schema/subsystemConfigurations.exsd"/>
<!-- ================================================================================== -->
<!-- EXTENSION POINT: org.eclipse.rse.ui.remoteSystemsViewPreferencesActions -->
<!-- ================================================================================== -->

View file

@ -16,7 +16,7 @@
</extension>
<!-- Do not replace the use of systemTypes here as long it only deprecated! -->
<extension point="org.eclipse.rse.ui.subsystemConfigurations">
<extension point="org.eclipse.rse.core.subsystemConfigurations">
<configuration
id="org.eclipse.rse.tests.subsystems.TestSubSystem"
systemTypeIds="org.eclipse.rse.systemtype.local;org.eclipse.rse.systemtype.windows"