UML diagrams for the iSeries Project Object Model
Several class diagrams exist for this model; each are useful depending
on the task at hand. For example, if a plugin needs to contribute a pop-up
action using the standard Eclipse pop-up extension point (org.eclipse.ui.popupMenus)
then the first diagram, namely the Project Model Diagram, is the most useful
since it illustrates the object hierarchy. If object contribution filtering
is needed, then the iSeries Resource Filtering UML Diagram comes in handy.
The Java documentation for these classes explains what each class does,
but the UML diagrams are highlighted here.
The Project Model UML Diagram:
In a nutshell, what the above diagram says is that there is a project
root that can hold multiple projects. A project has a native root and an
IFS root representing iSeries native and IFS nodes. The above model represents
two wrapped object models: the Eclipse IResource model, and the RSE ISeriesxxx
object model. The reason for this is simple. Objects that are only local
contain cached IResource objects. Objects that are only remote contain
cached ISeriesxxx model objects. Objects that are both local and remote
have both. Actions are contributed according to what is cached. A local
object can only be a source physical file or source member that has been
either created from scratch, or downloaded from the Remote System Explorer.
Remote objects are still at the iSeries host.
The IResource Mapping UML Diagram:
The above diagram shows how IResource object models are cached.
The ISeriesxxx Mapping UML Diagram:
The above diagram shows how ISeriesxxx object models are cached.
The AbstractISeriesResource Hierarchy UML Diagram:
The iSeries Resource Filtering
UML Diagram:
What the above model illustrates is that base Eclipse filtering is fully
supported and extended to more iSeries Resource filtering options. This
means that you can use a base Eclipse filtering mechanism, for example,
to filter actions and Property pages by IS_LOCAL and IS_SOURCE_FILE.
The AbstractISeriesResource UML Diagram:
What the above diagram illustrates is that AbstractiSeriesResource objects
are Eclipse-adaptable objects, and there is marker tagged with every resource.
The Project Properties Model UML Diagram: