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 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.
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.