Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "PTP/designs/rm extensions"

< PTP‎ | designs
(Interfaces)
(Services Framework)
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
The following sections detail some additional resource manager functionality that will be included in the 3.0 release of PTP.
 
The following sections detail some additional resource manager functionality that will be included in the 3.0 release of PTP.
  
== Resource Manager Selection ==
+
== Services Framework ==
  
* Add "Select Resource Manager" to current context menu if RM is running
+
RDT provides a services framework for configuring the various services required for remote project operation. It is proposed that this services framework be moved to a separate set of plugins at the top level: org.eclipse.ptp.services.core and org.eclipse.ptp.services.ui. The core plugin will provide the service and service provider extension point and interfaces. The UI plugin will provide a configuration wizard, wizard page templates, and configuration page templates.
* The selected resource manager will be annotated in view
+
 
* RM selection listeners will be notified when an RM is selected
+
=== Service Model ===
* The method getSelected() will return null if no RM selected, otherwise will return selected RM
+
 
* Default is no RM selected
+
=== Service Configuration ===
* Stopping a selected resource manager will fire selection event (with null presumably) and return to the default
+
 
* The selected resource manager will be persisted. When the resource manager is restarted:
+
=== Services Configuration Wizard ===
 +
 
 +
The PTP resource manager concept will be extended to include the management of all services that relate to resources required for application development. These will include:
 +
 
 +
* Launch
 +
* Debug
 +
* Project location (filesystem)
 +
* Build
 +
* Indexing
 +
 
 +
A configuration wizard will provide a means of configuring all these services in one process. The following images show an example of how the configuration wizard will operate.
 +
 
 +
1. On entry, the wizard will display a standard page.
 +
 
 +
[[Image:wiz_1.png]]
 +
 
 +
 
 +
2. The following pages will be contributed by the services. In this case, the ''project location'' service has contributed a wizard page that allows the user to select a local or remote project location.
 +
 
 +
[[Image:wiz_2.png]]
 +
 
 +
 
 +
3. If the user selects a remote location, the wizard will display a page that allows the user to configure the remote location properties.
 +
 
 +
[[Image:wiz_3.png]]
 +
 
 +
 
 +
4. The wizard will continue displaying pages for each service that has contributed wizard pages. Before the wizard completes, it will display a page that shows all services that have been configured, and allows the user to add and/or change the configuration of services. Selecting the "Configure..." button for a particular service will re-invoke the wizard pages for that service.
 +
 
 +
[[Image:wiz_4.png]]
 +
 
 +
== Resource Manager View ==
 +
 
 +
The resource manager view displays the status of resource managers. It will be extended to display the status of all the services associated with the resource manager, in addition to the existing PTP concept of resource management (launch/monitoring). It will remain in the PTP core plugin.
 +
 
 +
=== Default Resource Manager ===
 +
 
 +
The view has been enhanced to support the notion of a "default" resource manager. The default resource manager can be used by tools that require access to the service configuration associated with the resource manager.
 +
 
 +
* Adds "Select Default Resource Manager" to current context menu (enabled if RM is running)
 +
* The selected resource manager is annotated in the view
 +
* RM selection listeners can be registered, and are notified when a new default RM is selected
 +
* The method getSelected() returns null if no RM selected, otherwise returns selected RM
 +
** Default is no RM selected
 +
* Stopping a selected resource manager fires a selection event (with null) and returns to the default
 +
* The selected resource manager is persisted. When the resource manager is restarted:
 
** It will be selected provided no other RM has been selected
 
** It will be selected provided no other RM has been selected
 
** The selection even will fire  
 
** The selection even will fire  
Line 18: Line 63:
 
RM selection interfaces are accessed from the <code>PTPUIPlugin</code> class by retrieving the <code>RMManager</code>.
 
RM selection interfaces are accessed from the <code>PTPUIPlugin</code> class by retrieving the <code>RMManager</code>.
  
==== <code>PTPUIPlugin</code> Class ====
+
==== PTPUIPlugin Class ====
  
;<code>public RMManager getRMManager()</code> : Retrieve the <code>RMManager<code> class
+
;<code>public RMManager getRMManager()</code> : Retrieve the <code>RMManager</code> class
  
==== <code>RMManager</code> Class ====
+
==== RMManager Class ====
  
; <code>IResourceManager getSelectedRM()</code> : Return the currently selected RM, or null if no RM is selected
+
; <code>IResourceManager getSelected()</code> : Return the currently selected RM, or null if no RM is selected
 
; <code>void addRMSelectionListener(IRMSelectionListener listener)</code> : Add a listener that will be notified when an RM is selected
 
; <code>void addRMSelectionListener(IRMSelectionListener listener)</code> : Add a listener that will be notified when an RM is selected
 
; <code>void removeRMSelectionListener(IRMSelectionListener listener)</code> : Remove a listener that will be notified when an RM is selected
 
; <code>void removeRMSelectionListener(IRMSelectionListener listener)</code> : Remove a listener that will be notified when an RM is selected
  
== Wizard Extension ==
+
== Resource Manager Configuration Extensions ==
 +
 
 +
* The <code>IResourceManagerConfiguration</code> interface will be extended to provide persistent attribute information:
  
* A new extension point will be added to allow tool-specific wizard pages to be added to the RM configuration wizard
+
;<code>void put(String key, String value)</code> : save the (key, value) pair in the resource manager configuration
* Multiple extensions are allowed
+
;<code>String get(String key)</code> : retrieve the value associated with the key from the resource manager configuration
* If one extension is available, the new page will be displayed just prior to the final wizard page
+
* If more than one extensions is available, a page showing a list of the available extensions will be displayed.
+
** Users will be able to individually select and configure the extensions
+
* Extensions will be able to contribute persistent information to the RM configuration
+
* RM configuration information, including the extension information, will be able to be queried
+

Latest revision as of 09:15, 18 June 2009

The following sections detail some additional resource manager functionality that will be included in the 3.0 release of PTP.

Services Framework

RDT provides a services framework for configuring the various services required for remote project operation. It is proposed that this services framework be moved to a separate set of plugins at the top level: org.eclipse.ptp.services.core and org.eclipse.ptp.services.ui. The core plugin will provide the service and service provider extension point and interfaces. The UI plugin will provide a configuration wizard, wizard page templates, and configuration page templates.

Service Model

Service Configuration

Services Configuration Wizard

The PTP resource manager concept will be extended to include the management of all services that relate to resources required for application development. These will include:

  • Launch
  • Debug
  • Project location (filesystem)
  • Build
  • Indexing

A configuration wizard will provide a means of configuring all these services in one process. The following images show an example of how the configuration wizard will operate.

1. On entry, the wizard will display a standard page.

Wiz 1.png


2. The following pages will be contributed by the services. In this case, the project location service has contributed a wizard page that allows the user to select a local or remote project location.

Wiz 2.png


3. If the user selects a remote location, the wizard will display a page that allows the user to configure the remote location properties.

Wiz 3.png


4. The wizard will continue displaying pages for each service that has contributed wizard pages. Before the wizard completes, it will display a page that shows all services that have been configured, and allows the user to add and/or change the configuration of services. Selecting the "Configure..." button for a particular service will re-invoke the wizard pages for that service.

Wiz 4.png

Resource Manager View

The resource manager view displays the status of resource managers. It will be extended to display the status of all the services associated with the resource manager, in addition to the existing PTP concept of resource management (launch/monitoring). It will remain in the PTP core plugin.

Default Resource Manager

The view has been enhanced to support the notion of a "default" resource manager. The default resource manager can be used by tools that require access to the service configuration associated with the resource manager.

  • Adds "Select Default Resource Manager" to current context menu (enabled if RM is running)
  • The selected resource manager is annotated in the view
  • RM selection listeners can be registered, and are notified when a new default RM is selected
  • The method getSelected() returns null if no RM selected, otherwise returns selected RM
    • Default is no RM selected
  • Stopping a selected resource manager fires a selection event (with null) and returns to the default
  • The selected resource manager is persisted. When the resource manager is restarted:
    • It will be selected provided no other RM has been selected
    • The selection even will fire
    • If the RM fails to start due to an error, it will still remain the selected RM

Interfaces

RM selection interfaces are accessed from the PTPUIPlugin class by retrieving the RMManager.

PTPUIPlugin Class

public RMManager getRMManager() 
Retrieve the RMManager class

RMManager Class

IResourceManager getSelected() 
Return the currently selected RM, or null if no RM is selected
void addRMSelectionListener(IRMSelectionListener listener) 
Add a listener that will be notified when an RM is selected
void removeRMSelectionListener(IRMSelectionListener listener) 
Remove a listener that will be notified when an RM is selected

Resource Manager Configuration Extensions

  • The IResourceManagerConfiguration interface will be extended to provide persistent attribute information:
void put(String key, String value) 
save the (key, value) pair in the resource manager configuration
String get(String key) 
retrieve the value associated with the key from the resource manager configuration

Back to the top