Jump to: navigation, search

PTP/designs/rm extensions

< PTP‎ | designs

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