1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-09 10:05:24 +02:00

[180519] declaratively register rse.files.ui. adapter factories. Remove unnecessary dependencies.

This commit is contained in:
Martin Oberhuber 2007-04-04 10:20:14 +00:00
parent 478fcd46fb
commit 91d1ccf64a
11 changed files with 89 additions and 82 deletions

View file

@ -12,13 +12,81 @@ Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
Contributors: Contributors:
{Name} (company) - description of contribution. Martin Oberhuber (Wind River) - declaratively register adapter factories
--> -->
<?eclipse version="3.0"?> <?eclipse version="3.0"?>
<plugin> <plugin>
<extension <!-- ============================================ -->
point="org.eclipse.ui.preferencePages"> <!-- Register Adapter Factories -->
<!-- ============================================ -->
<extension point="org.eclipse.core.runtime.adapters">
<!-- Remote Files -->
<factory
class="org.eclipse.rse.internal.files.ui.view.SystemViewFileAdapterFactory"
adaptableType="org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile">
<adapter type="org.eclipse.rse.ui.view.ISystemViewElementAdapter"/>
<!-- all adapter types which are subject to getAdapter() need to be registered! -->
<!-- just having it in AdapterFactory#getAdapterList() is not sufficient. -->
<adapter type="org.eclipse.rse.ui.view.ISystemDragDropAdapter"/>
<adapter type="org.eclipse.rse.ui.view.ISystemRemoteElementAdapter"/>
<adapter type="org.eclipse.ui.views.properties.IPropertySource"/>
<adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
<adapter type="org.eclipse.ui.IActionFilter"/>
<adapter type="org.eclipse.ui.progress.IDeferredWorkbenchAdapter"/>
<!-- TODO Check: These are not in the adapter factories
getAdapterList() Although the adapter implements them
<adapter type="org.eclipse.rse.core.subsystems.IRemoteObjectIdentifier"/>
-->
</factory>
<!-- SearchResultSet -->
<factory
class="org.eclipse.rse.internal.files.ui.view.SystemViewSearchResultSetAdapterFactory"
adaptableType="org.eclipse.rse.services.search.IHostSearchResultSet">
<adapter type="org.eclipse.rse.ui.view.ISystemViewElementAdapter"/>
<adapter type="org.eclipse.rse.ui.view.ISystemRemoteElementAdapter"/>
<adapter type="org.eclipse.ui.views.properties.IPropertySource"/>
<adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
<adapter type="org.eclipse.ui.IActionFilter"/>
<!-- TODO Check: These are not in the adapter factories
getAdapterList() Although the adapter implements them
<adapter type="org.eclipse.ui.progress.IDeferredWorkbenchAdapter"/>
<adapter type="org.eclipse.rse.ui.view.ISystemDragDropAdapter"/>
<adapter type="org.eclipse.rse.core.subsystems.IRemoteObjectIdentifier"/>
<adapter type="org.eclipse.rse.ui.view.ISystemRemoveElementAdapter"/>
-->
</factory>
<!-- SearchResult -->
<factory
class="org.eclipse.rse.internal.files.ui.view.SystemViewSearchResultAdapterFactory"
adaptableType="org.eclipse.rse.services.search.IHostSearchResult">
<adapter type="org.eclipse.rse.ui.view.ISystemViewElementAdapter"/>
<adapter type="org.eclipse.rse.ui.view.ISystemDragDropAdapter"/>
<adapter type="org.eclipse.rse.ui.view.ISystemRemoteElementAdapter"/>
<adapter type="org.eclipse.ui.views.properties.IPropertySource"/>
<adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
<adapter type="org.eclipse.ui.IActionFilter"/>
<!-- TODO Check: These are not in the adapter factories
getAdapterList() Although the adapter implements them
<adapter type="org.eclipse.ui.progress.IDeferredWorkbenchAdapter"/>
<adapter type="org.eclipse.rse.core.subsystems.IRemoteObjectIdentifier"/>
-->
</factory>
<!-- SubSystemConfiguration -->
<factory
class="org.eclipse.rse.internal.files.ui.view.RemoteFileSubSystemConfigurationAdapterFactory"
adaptableType="org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystemConfiguration">
<adapter type="org.eclipse.rse.core.subsystems.util.ISubSystemConfigurationAdapter"/>
</factory>
</extension>
<!-- ============================================ -->
<!-- Define Files Preference Pages -->
<!-- ============================================ -->
<extension
point="org.eclipse.ui.preferencePages">
<page <page
name="%PreferencePage.UniversalFiles" name="%PreferencePage.UniversalFiles"
category="org.eclipse.rse.ui.preferences.RemoteSystemsPreferencePage" category="org.eclipse.rse.ui.preferences.RemoteSystemsPreferencePage"
@ -35,7 +103,6 @@ Contributors:
</extension> </extension>
<!-- ============================================ --> <!-- ============================================ -->
<!-- Define Remote Object Properties Pages --> <!-- Define Remote Object Properties Pages -->
<!-- ============================================ --> <!-- ============================================ -->
@ -68,7 +135,7 @@ Contributors:
--> -->
<page <page
name="%PropertyPage.ServerLauncherSettings" name="%PropertyPage.ServerLauncherSettings"
class="org.eclipse.rse.ui.propertypages.ServerLauncherPropertyPage" class="org.eclipse.rse.internal.ui.propertypages.ServerLauncherPropertyPage"
id="org.eclipse.rse.ui.propertypages.ServerLauncherPropertyPage"> id="org.eclipse.rse.ui.propertypages.ServerLauncherPropertyPage">
<filter name="serverLaunchPP" value="true"/> <filter name="serverLaunchPP" value="true"/>
<enabledWhen> <enabledWhen>

View file

@ -18,16 +18,10 @@ package org.eclipse.rse.files.ui;
import org.eclipse.core.resources.IResourceChangeEvent; import org.eclipse.core.resources.IResourceChangeEvent;
import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.runtime.IAdapterManager;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.rse.core.SystemBasePlugin; import org.eclipse.rse.core.SystemBasePlugin;
import org.eclipse.rse.files.ui.resources.SystemUniversalTempFileListener; import org.eclipse.rse.files.ui.resources.SystemUniversalTempFileListener;
import org.eclipse.rse.internal.files.ui.resources.SystemRemoteEditManager; import org.eclipse.rse.internal.files.ui.resources.SystemRemoteEditManager;
import org.eclipse.rse.internal.files.ui.view.RemoteFileSubSystemConfigurationAdapterFactory;
import org.eclipse.rse.internal.files.ui.view.SystemViewFileAdapterFactory;
import org.eclipse.rse.internal.files.ui.view.SystemViewSearchResultAdapterFactory;
import org.eclipse.rse.internal.files.ui.view.SystemViewSearchResultSetAdapterFactory;
import org.eclipse.ui.plugin.AbstractUIPlugin; import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext; import org.osgi.framework.BundleContext;
@ -43,10 +37,6 @@ public class Activator extends AbstractUIPlugin
private static SystemUniversalTempFileListener _tempFileListener; private static SystemUniversalTempFileListener _tempFileListener;
private SystemViewFileAdapterFactory svfaf; // for fastpath
private SystemViewSearchResultSetAdapterFactory svsaf; // for fastpath
private SystemViewSearchResultAdapterFactory svsraf; // for fastpath
/** /**
* The constructor. * The constructor.
*/ */
@ -64,32 +54,11 @@ public class Activator extends AbstractUIPlugin
// it's never closed // it's never closed
SystemRemoteEditManager.getDefault().refreshRemoteEditProject(); SystemRemoteEditManager.getDefault().refreshRemoteEditProject();
int eventMask = IResourceChangeEvent.POST_CHANGE;
IWorkspace ws = SystemBasePlugin.getWorkspace();
IAdapterManager manager = Platform.getAdapterManager();
svfaf = new SystemViewFileAdapterFactory();
svfaf.registerWithManager(manager);
svsaf = new SystemViewSearchResultSetAdapterFactory();
svsaf.registerWithManager(manager);
svsraf = new SystemViewSearchResultAdapterFactory();
svsraf.registerWithManager(manager);
RemoteFileSubSystemConfigurationAdapterFactory rfssfaf = new RemoteFileSubSystemConfigurationAdapterFactory();
rfssfaf.registerWithManager(manager);
// universal temp file listener // universal temp file listener
_tempFileListener = SystemUniversalTempFileListener.getListener(); _tempFileListener = SystemUniversalTempFileListener.getListener();
// add listener for temp files // add listener for temp files
int eventMask = IResourceChangeEvent.POST_CHANGE;
IWorkspace ws = SystemBasePlugin.getWorkspace();
ws.addResourceChangeListener(_tempFileListener, eventMask); ws.addResourceChangeListener(_tempFileListener, eventMask);
} }
@ -104,9 +73,6 @@ public class Activator extends AbstractUIPlugin
ws.removeResourceChangeListener(_tempFileListener); ws.removeResourceChangeListener(_tempFileListener);
_tempFileListener = null; _tempFileListener = null;
plugin = null; plugin = null;
} }
/** /**
@ -127,28 +93,4 @@ public class Activator extends AbstractUIPlugin
return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.rse.files.ui", path); //$NON-NLS-1$ return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.rse.files.ui", path); //$NON-NLS-1$
} }
/**
* For pathpath access to our adapters for remote universal file objects. Exploits the knowledge we use singleton adapters.
*/
public SystemViewFileAdapterFactory getSystemViewFileAdapterFactory()
{
return svfaf;
}
/**
* For pathpath access to our adapters for searchable result output objects. Exploits the knowledge we use singleton adapters.
*/
public SystemViewSearchResultSetAdapterFactory getSystemViewSearchResultSetAdapterFactory()
{
return svsaf;
}
/**
* For pathpath access to our adapters for searchable result output objects. Exploits the knowledge we use singleton adapters.
*/
public SystemViewSearchResultAdapterFactory getSystemViewSearchResultAdapterFactory()
{
return svsraf;
}
} }

View file

@ -17,7 +17,9 @@
package org.eclipse.rse.subsystems.files.core; package org.eclipse.rse.subsystems.files.core;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.rse.subsystems.files.core.subsystems.RemoteFileEmpty;
import org.eclipse.ui.plugin.AbstractUIPlugin; import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext; import org.osgi.framework.BundleContext;
@ -41,6 +43,15 @@ public class Activator extends AbstractUIPlugin {
*/ */
public void start(BundleContext context) throws Exception { public void start(BundleContext context) throws Exception {
super.start(context); super.start(context);
// make sure that required adapters factories are loaded
//(will typically activate org.eclipse.rse.files.ui)
//TODO Check that this does not fire up the UI if we want to be headless
Platform.getAdapterManager().loadAdapter(new RemoteFileEmpty(), "org.eclipse.rse.ui.view.ISystemViewElementAdapter"); //$NON-NLS-1$
// Others (RemoteSearchResultSet, RemoteSearchResult,
// RemoteFileSystemConfigurationAdapter will be available
// automatically once the plugin is loaded
} }
/** /**

View file

@ -12,7 +12,6 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.dstore.core, org.eclipse.dstore.core,
org.eclipse.rse.connectorservice.dstore, org.eclipse.rse.connectorservice.dstore,
org.eclipse.dstore.extra, org.eclipse.dstore.extra,
org.eclipse.rse.files.ui,
org.eclipse.rse.subsystems.files.core, org.eclipse.rse.subsystems.files.core,
org.eclipse.rse.core, org.eclipse.rse.core,
org.eclipse.rse.ui org.eclipse.rse.ui

View file

@ -40,8 +40,6 @@ public class Activator extends SystemBasePlugin {
*/ */
public void start(BundleContext context) throws Exception { public void start(BundleContext context) throws Exception {
super.start(context); super.start(context);
// make sure files.ui is activated
org.eclipse.rse.files.ui.Activator.getDefault();
} }
/** /**
@ -62,7 +60,6 @@ public class Activator extends SystemBasePlugin {
protected void initializeImageRegistry() protected void initializeImageRegistry()
{ {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }

View file

@ -10,7 +10,6 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime, org.eclipse.core.runtime,
org.eclipse.rse.services, org.eclipse.rse.services,
org.eclipse.rse.services.files.ftp, org.eclipse.rse.services.files.ftp,
org.eclipse.rse.files.ui,
org.eclipse.rse.subsystems.files.core, org.eclipse.rse.subsystems.files.core,
org.eclipse.rse.core, org.eclipse.rse.core,
org.eclipse.rse.ui, org.eclipse.rse.ui,

View file

@ -40,9 +40,6 @@ public class Activator extends AbstractUIPlugin {
*/ */
public void start(BundleContext context) throws Exception { public void start(BundleContext context) throws Exception {
super.start(context); super.start(context);
// make sure files.ui is activated
org.eclipse.rse.files.ui.Activator.getDefault();
} }
/** /**

View file

@ -10,7 +10,6 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.rse.services, org.eclipse.rse.services,
org.eclipse.rse.services.local, org.eclipse.rse.services.local,
org.eclipse.rse.connectorservice.local, org.eclipse.rse.connectorservice.local,
org.eclipse.rse.files.ui,
org.eclipse.rse.subsystems.files.core, org.eclipse.rse.subsystems.files.core,
org.eclipse.rse.core, org.eclipse.rse.core,
org.eclipse.rse.ui org.eclipse.rse.ui

View file

@ -41,9 +41,6 @@ public class Activator extends AbstractUIPlugin {
*/ */
public void start(BundleContext context) throws Exception { public void start(BundleContext context) throws Exception {
super.start(context); super.start(context);
// make sure files.ui is activated
org.eclipse.rse.files.ui.Activator.getDefault();
} }
/** /**

View file

@ -13,8 +13,7 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.rse.services.ssh, org.eclipse.rse.services.ssh,
org.eclipse.rse.subsystems.files.core, org.eclipse.rse.subsystems.files.core,
org.eclipse.rse.core, org.eclipse.rse.core,
org.eclipse.rse.ui, org.eclipse.rse.ui
org.eclipse.rse.files.ui
Eclipse-LazyStart: true Eclipse-LazyStart: true
Export-Package: org.eclipse.rse.internal.subsystems.files.ssh;x-internal:=true, Export-Package: org.eclipse.rse.internal.subsystems.files.ssh;x-internal:=true,
org.eclipse.rse.subsystems.files.ssh org.eclipse.rse.subsystems.files.ssh

View file

@ -11,10 +11,13 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.rse.internal.subsystems.files.ssh; package org.eclipse.rse.internal.subsystems.files.ssh;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.plugin.AbstractUIPlugin; import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext; import org.osgi.framework.BundleContext;
import org.eclipse.rse.subsystems.files.core.subsystems.RemoteFileEmpty;
/** /**
* The activator class controls the plug-in life cycle * The activator class controls the plug-in life cycle
*/ */
@ -39,9 +42,6 @@ public class Activator extends AbstractUIPlugin {
*/ */
public void start(BundleContext context) throws Exception { public void start(BundleContext context) throws Exception {
super.start(context); super.start(context);
// make sure files.ui is activated
org.eclipse.rse.files.ui.Activator.getDefault();
} }
/* /*