Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Eclipse RSE Development Guide
Previous Page Home Next Page

Other Relevant Extension Points

There are some Eclipse extension points that are relevant as-is to the Remote System Explorer, which we list here. We do not describe how to use these extension points here, except to document the information needed to enable them to in Remote System Explorer.

Extension Point Description
org.eclipse.ui.viewActions For adding actions to the pulldown menu in any view's local toolbar, or to the toolbar itself. To use this you need to know the ID of the RSE views, for the targetID attribute: There are:
  • org.eclipse.rse.ui.view.systemView for the primary Remote Systems view.
  • org.eclipse.rse.ui.view.teamView for the Team view in the RSE perspective.
  • org.eclipse.rse.ui.view.systemTableView for the Remote System Details view in the RSE perspective.
org.eclipse.ui.propertyPages For adding property pages for objects within the Remote System Explorer. To use this you need to know the class type of these objects for the objectClass attribute of the <page> element: Because all RSE elements adapt to ISystemViewElementAdapter , which in turn implements org.eclipse.ui.IActionFilter , it is possible to scope your property pages to only appear for certain system types or subsystems, using the extension point's <filter> element. For example:

               <extension point="org.eclipse.ui.propertyPages">
                   <page name="Team Info"
                         class="samples.ui.propertypages.TeamFilterPropertyPage"
                         id="samples.ui.pp.filter.team"
                         objectClass="org.eclipse.rse.core.filters.ISystemFilterReference" >
                    <filter name="subsystemConfigurationId" value="samples.subsystems.factory"/>
                   </page>
               </extension>
            
See Scoping for all the filter names supported by RSE objects.
org.eclipse.ui.popupMenus For adding pop-up menu actions for objects within the Remote System Explorer. To use this you need to know the class type of these objects for the objectClass attribute of the <objectContribution> element: Because all RSE elements adapt to ISystemViewElementAdapter , which in turn extends org.eclipse.ui.IActionFilter , it is possible to scope your actions to only appear for certain system types or subsystems, using the extension point's <filter> element. For example:

               <extension point="org.eclipse.ui.popupMenus">
                   <objectContribution
                         id ="samples.ui.actions.TeamFilterActions"
                         objectClass="org.eclipse.rse.core.filters.ISystemFilterReference">
                         <filter name="subsystemConfigurationId" value="samples.subsystems.factory"/>
                         <action id="samples.ui.actions.TeamFilterAction1"
                                 label="Sample Team Filter Action"
                                 class="samples.ui.actions.ShowJarContents">
                         </action>
                   </objectContribution>
               </extension>
             
See Scoping for all the filter names supported by RSE objects.

Scoping

For the org.eclipse.ui.propertyPages and org.eclipse.ui.popupMenus extension points, it is possible to scope your property pages and actions to only filters in a particular subsystem, or connections of a particular system type, say. These extension points support the <filter> element, which allows you to specify a property name, and a property value, such that the page or action will only show if that property's value is the one given:


  <filter name="name" value="value"/>

It is up to the selected object's adapter to perform this test, in its testAttribute(Object target,String name,String value) method. This method is implemented for the adapters for every object shown in the Remote Systems view, and what follows is a list of the tests it will do on the given value , for the given name :

  • "name" . Will test the value for an exact match on an object's name, or beginning-of-name match if ends with an asterisk.
  • "type" . Will test the value for an exact match on an object's type.
  • "offline" .Will test the value against "true" if the user is working in "offline" mode or "false" if not. Currently only supported for iSeries connections.
  • "connected" . Will test the value against "true" if the connection containing the selected object is active or "false" if not.
  • "hasChildren" . Will test the value against "true" if this object's adapter reports that it has children or "false" if it doesn't have children.
  • "systemType" . Will test the value for an exact match on the system type of this object's parent SystemConnection object. You can specify multiple values if you comma-separate them.
  • "subsystemConfigurationId" . Will test the value for an exact match on the ID of the subsystem factory that created this object's subsystem. Returns false for SystemConnection objects. You can specify multiple values if you comma-separate them.
  • "subsystemConfigurationCategory" . Will test the value for an exact match on the category of the subsystem factory that created this object's subsystem. You can specify multiple values if you comma-separate them.

For system filter objects of type org.eclipse.rse.core.filters.ISystemFilterReference, the following names are also supported:

  • "filterType" . Will test the value for an exact match on the selected filter's untranslated type, as set internally. The only RSE-supplied subsystem to support multiple filter types is the iSeries Objects subsystem for iSeries connections. It contains these types:
    • "Library".
    • "LibraryList".
    • "Object".
    • "Member".

For the org.eclipse.ui.popupMenus extension point, you can also use the above names in the <visibility> and <enablement> elements, for extreme flexibility in when the action is shown, and when it is enabled or disabled. These map to the objectState attribute. For example:


   <enablement>
       <objectState name="hasChildren" value="true"/>
   </enablement>

Be aware the <visibility> element is available at the <objectContribution> level, while the <enablement> element is available at the <Action> level.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire