Extensibility
The customization provides the foundation for the extensibility of ALM Migrator. It is possible to
-
add panels to the GUI
-
add transformation rules to the migration process
- add AbstractALM adapters for accessing additional source or target repositories.
The vendor tool is derived from the framework, by implementing a class based on net.sourceforge.almmigrator.gui.Migrator. The derived class provides the main method of the application and has to implement some abstract methods. The abstract methods include the following methods, among several others:
public
abstract
Panel[] loadPanels();
public
abstract
Operation[] loadOperations();
public
abstract
Class<Connection>[] loadSourceAdapters();
public
abstract
Class<Connection>[] loadDestinationAdapters();
The first
method (loadPanels)
returns all panels that should be added to the GUI. They are shown in
the order they are ordered in the vector. There are more panels
displayed by the GUI. For example, before the vendor panels are shown,
the GUI shows the welcome panel and the legacy repository panel. After
the vendor panels have been displayed, the summary of all panels are
displayed, the progress is shown and a final panel is shown.
GUI Activities
Above figure shows the GUI activities. The CustomPanels partition contains all vendor specific panels that should be displayed by the migration tool.
To generate
a complete summary, the framework asks the individual panels for
providing an individual summary. This is done by requiring the panels to
implement an abstract method
getSummary. All panels
must be derived from
net.sourceforge.almmigrator.gui.Panel.
This class also requires the derived panels to implement methods for
providing a title and description displayed in the GUI.
The second
method (loadOperations)
returns all operations that should be part of the migration process.
They are also executed in the same order as they are ordered in the
sequence. The migration process is just a sequence of operations
executed sequentially. If one operation fails, for example because of
corrupted data or an internal failure, the thrown exception is logged
and ALM Migrator proceeds to the next operation.
ALM Migrator
provides several default operations, such as operations to checking
packages out of the source repository and into the target repository.
Also an operation is provided to log the activities of the migration.
This is required for audit and post processing activities.
The
operations also allow the consultant or vendor to improve the quality of
the migrated data. Operations checking for corrupt data can be added for
this purpose. Organization-specific operations transform misused
properties to the correct target properties.
Finally, the
vendor tool provides the adapters that are available for the source and
for the target. These adapters come from the AbstractALM framework.