Rational Developer for Power Systems Software

Class RSECreateISeriesProjectAction

  extended by SystemBaseAction
      extended by com.ibm.etools.iseries.rse.ui.actions.QSYSSystemBaseAction
          extended by com.ibm.etools.iseries.perspective.rse.actions.RSECreateISeriesProjectAction

public class RSECreateISeriesProjectAction
extends QSYSSystemBaseAction

This action creates an iSeries Project from the selected iSeries library.
It is only contributed to iSeries libraries that appear in the RSE perspective. It is made public because the code for this action is a good sample on how to use both RSE and iSeries Project perspective APIs and extension points to create custom actions.

Field Summary
static String COPYRIGHT
Fields inherited from class com.ibm.etools.iseries.rse.ui.actions.QSYSSystemBaseAction
Constructor Summary
RSECreateISeriesProjectAction(Shell shell)
Method Summary
 AbstractISeriesProject createISeriesProject(IQSYSLibrary library, IBMiConnection connection, Shell shell)
          This method creates an iSeries Project given an IQSYSLibrary and ISeriesConnection.
 boolean getEnabled(Object[] currentlySelected)
          The user has selected one or more objects.
protected static AbstractISeriesProject getFirstExistingProject(Properties projectProperties, Shell shell)
          Gets an existing project given the parameters.
 void run()
          Creates an iSeries project from the selected RSE library.
 void run(IAction a)
protected  void selectInISeriesPerspective(AbstractISeriesResource resource)
          This method will open the iSeries Project perspective, and select the given project.
 void selectionChanged(IAction action, ISelection selection)
 void setActivePart(IAction action, IWorkbenchPart targetPart)
Methods inherited from class com.ibm.etools.iseries.rse.ui.actions.QSYSSystemBaseAction
getIBMiConnection, isAvailableOffline, updateSelection
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


public static final String COPYRIGHT
See Also:
Constant Field Values
Constructor Detail


public RSECreateISeriesProjectAction(Shell shell)


public RSECreateISeriesProjectAction()
Method Detail


public void selectionChanged(IAction action,
                             ISelection selection)


public void run(IAction a)


public void setActivePart(IAction action,
                          IWorkbenchPart targetPart)


public void run()
Creates an iSeries project from the selected RSE library. The selected library and the RSE connection become the associated library and the associated connection, respectively, for the new iSeries project. No new project is created if an iSeries project who's associated library and host name matches the selected RSE library and host name.

See Also:


public AbstractISeriesProject createISeriesProject(IQSYSLibrary library,
                                                   IBMiConnection connection,
                                                   Shell shell)
This method creates an iSeries Project given an IQSYSLibrary and ISeriesConnection.
The project properties, specifically profile name, connection name, user name and host name, are stripped out of the given connection. The passed AS400library becomes the associated library. The created project is already added to the model, and so there is no need to manually add the new project to the iSeries project root. None of the objects in the passed library are downloaded. The logic behind this method is as follows: Note: This method is run as a WorkspaceModifyOperation, and so all resource modifications are reported as one delta when operation succeeds.

library - the associated library of the new project.
connection - the connection associated with the project.
shell - the parent shell used to present dialogs.
AbstractISeriesProject: the newly created project, or an existing iSeries project if one is found.


protected static AbstractISeriesProject getFirstExistingProject(Properties projectProperties,
                                                                Shell shell)
Gets an existing project given the parameters.


protected void selectInISeriesPerspective(AbstractISeriesResource resource)
This method will open the iSeries Project perspective, and select the given project.


public boolean getEnabled(Object[] currentlySelected)
The user has selected one or more objects. We should only get here for RSE libraries. Disable action on QTEMP, QSYS and QSYS2 libraries, and on libraries with quoted names. (since iSeries projects do not support these as an associated library).

Rational Developer for Power Systems Software

Copyright 2011 IBM Corp. All Rights Reserved.

Note: This documentation is for part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.