Index
This manual provides a brief description of procedures from installation through to use of the Knowledge-Based Search.
Operating as an Eclipse plug-in, this tool makes a rough estimate of the scale of rewriting required of programmers in migrating to JBoss. It comes with the following major features.
Table 1. Major tool features
Feature | Description |
---|---|
Search function | Feature for finding code that must be rewritten in porting software to JBoss. |
Feature for editing search results | Enables editing of a visual representation of search results. It allows you to individually adjust the need for porting of search results. This improves the accuracy in extracting the scale of porting based on the requirements of each application. |
Conversion function | Finds and converts code that can be converted. |
It has been confirmed that the tool can operate in the following hardware environment.
Table 1. Hardware Requirements
Item | Requirements |
---|---|
CPU | Pentium (R) Dual-Core CPU E5400 @2.70GHz (2 CPU) or the equivalent |
RAM | 2012MB RAM or more |
It has been confirmed that the tool can operate in the following software environment.
Table 1. Software Requirements
Item | Requirements |
---|---|
OS | Windows XP/7, RHEL6(*)Other Linux Compatible |
Java VM | Oracle JRE 1.6 or more |
IDE | Eclipse 3.7 Indigo or Eclipse 4.3 Kepler |
Script | Python 2.6 or 2.7 + lxml module |
![]() | Note |
---|---|
When Python and lxml module are not installed, please install it with reference to Appendix "Installing Python and lxml module". |
This tool assumes that the following file is present.
A Knowledge XML
file created by the
Knowledge
Manager
Set up the operating environment described above. Perform the steps below after the required environment has been set up.
Download
Download the plug-in.
![]() | Note |
---|---|
https://github.com/TUBAME/migration-tool/releases |
Unzip
Unzip the downloaded file.
Unzipping the file creates the
tubame.portability_*
directory.
![]() | Note |
---|---|
The * part of the name varies with the version. |
![]() | Important |
---|---|
Unzipping the file in Windows may fail due to path length limitations.
If it fails, use a short path such as
|
Set Python runtime.
Use a text editor to open resources/properties/application*.properties
under the unzipped directory. As shown below, set the path where Python is installed.
# Example showing installation under Windows PYTHON_RUNTIME_PATH=C:/Python27/python.exe
Install in Eclipse.
Move or copy the unzipped directory to the
plugins
directory under the Eclipse installation directory.
Confirm installation.
Select the Eclipse menu as shown below.
→ → →
Confirm that the Plug-in Id column contains the tubame.portability plug-in name.
Complete installation.
This completes the installation.
The following describes how to use the features of each tool.
This feature finds the code that has to be rewritten when porting to JBoss.
Perform the following steps.
Start up Eclipse.
Start up the project creation wizard.
→ →
Create a
.→
Use the New Java Project wizard to make the appropriate settings required by the environment of the item to be ported to create a project.
Position the source files that need to be ported.
Position the source files that need to be ported in the created project.
![]() | Note |
---|---|
Position not only *.java, but also *.jar, *.xml, *.jsp, *.properties, *.xsd and all other files that are required for running the application. |
![]() | Note |
---|---|
There is no need to make all the preparations required for a successful build. |
Perform the following steps.
Select search resource.
Right-click a resource you want to search and select the following menu.
→
Set search conditions.
Make the following entries.
Knowledge XML file selection: Specify the Knowledge XML file to be searched. |
Destination of output results: Specify a jbm file to which to save the search results |
Conduct a search.
Click
to start the search.This feature allows you to edit a visual representation of the search results. Sometimes it may be necessary to individually check what search results need to be ported. Visual checks or inquiries are made regarding such results to determine whether they need to be ported. This process is completed when all items that need to be ported have been found.
Perform the following steps.
Open the search result files.
Check the source code.
Check the visual check items.
Check the inquiry check items.
Link to the porting guideline.
Display the check list information.
Delete items that need not be ported.
Display work progress status.
Calculate the total number of lines.
Display the number of hits or all items.
Output a report.
The following describes a method for confirming search results.
Open the jbm
file.
Double click the saved
jbm
file that contains the search results.
![]() | Note |
---|---|
This step is not necessary since the search result file automatically opens after a search has been conducted. |
Check the screen for editing search results.
The screen for editing search results shows a list of items that may have to be ported. An overview of the displayed items is provided below. Double click a line to open an editor with an associated extension to display the relevant file.
![]() | Note |
---|---|
The button in the Eclipse toolbar allows you to switch between display of all search items and hit items. |
Table 1. Items displayed in the screen for editing search results
Item | Description | |||
---|---|---|---|---|
No. | Number of the searched condition. | |||
Hit count | The number of items that matched the search conditions. | |||
Major item | - | |||
Minor item | - | |||
File name | Path from project route of the relevant file. | |||
Line | Line number of the relevant file. | |||
Degree of difficulty |
Difficulty icons indicate the degree of difficulty that porting involves.
|
|||
Guide chapter |
The number of the chapter in the Portability Examination Guideline.
Click an item to link to the Portability Examination Guideline.
|
|||
Visual check details | Describes the details of a visual check (indicated by 0 column width when initially displayed). | |||
Inquiry check details | Describes the details of an inquiry check (indicated by 0 column width when initially displayed). | |||
Visual status |
Current status of visual check.
|
|||
Inquiry status |
Current status of inquiry check
|
|||
Line count |
The approximate number of lines that must be rewritten.
|
|||
Line count basis | Provides a reason for why the stated number of lines need to be ported. | |||
Total lines | Hit count times line count |
Check using Checklist Information view.
The Checklist Information view allows you to check detailed information regarding items selected in the screen for editing search results. It allows you to check the following information.
Table 2. Items that Checklist Information view displays.
Item | Description |
---|---|
Major item | - |
Minor item | - |
Visual check details | Investigation method or criteria relying on visual checks when a search is not enough to identify items that need to be migrated. |
Inquiry check details | Inquiries made to the developer when the need for migration cannot be determined otherwise. |
Search method | Describes the method used for searching items that need to be ported. |
Porting factors | The reasons that make migration necessary. |
Difficulty details | The details of difficulties involved in performing migration work. |
Reason for not calculating | Reason given for not calculating the number of lines that need to be rewritten. |
Investigation method | Investigation method used to calculate the number of lines that need to be rewritten. |
Check using Work Status view.
The Work Status view allows you to check current edit work status.
Table 3. Items displayed in Work Status view
Item | Description | |||
---|---|---|---|---|
Current work status | Displays current work status.
|
|||
Current visual check/inquiry check status | Indicates the remaining and total number of items in the visual check status and inquiry check status displayed in the screen for editing search results. | |||
Unknown/TODO: Rewriting status of code manually calculated by SE | Indicates the remaining and total number of items in the rewriting status of unknown items and rewriting status of code manually calculated by SE displayed in the screen for editing search results. |
To calculate the scale of porting required, the need for porting among all the search results must be determined. Steps for doing that are described below.
Check the visual status.
Items whose visual status has not been checked must be visually checked to determine whether or not they require porting. Check the relevant files to determine whether porting is required. When it becomes clear that porting is necessary, use the result to change the status of the visual status column. Right-click the relevant code to change the status to any of those listed below.
![]() | Note |
---|---|
There are the following classifications.
|
![]() | Note |
---|---|
Use the Shift and Ctrl keys to select multiple items. (Note that the above menu will not appear when lines not subject to visual checks are included in the selection range.) |
Check the inquiry status.
It is necessary to make inquiries to the developer regarding items whose inquiry status has not been checked to determine whether they require porting. Contact the developer to check whether or not the relevant code requires porting. When it becomes clear that porting is necessary, use the result to change the status of the inquiry status column. Right-click the relevant code to change the status to any of those listed below.
![]() | Note |
---|---|
There are the following classifications.
|
![]() | Note |
---|---|
Use the Shift and Ctrl keys to select multiple items. (Note that the above menu will not appear when lines not subject to visual checks are included in the selection range.) |
Delete items that need not be ported.
This feature allows you to delete items not related to porting from the screen. You can either select single lines to delete them one at a time or select all lines to delete them at one time.
Table 1. Deletion method
Item | Description |
---|---|
Delete selected line | Click the | button in the Eclipse toolbar to delete the selected line.
Delete all lines | Click the | button in the Eclipse toolbar.
![]() | Note |
---|---|
Use the Shift and Ctrl keys to select multiple items. |
You can create totals and final reports by exporting edited results as a CSV file.
Export
Select
from the Eclipse menu to output a CSV file.Analyze CSV files.
This tool does not provide a tool for analyzing CSV files. The user should create an analyzing tool or some other suitable tool.
Delete the installed
tubame.portability_*
.
This completes the uninstallation.
![]() | Note |
---|---|
The * part of the name varies with the version. |
![]() | Note |
---|---|
Add the -clean option when starting up Eclipse after deletion. |
The following describes an installation procedure of Python and lxml module.
The following describes an installation procedure using yum on Linux.
confirming the installed package
execute rpm command and confirm whether Python and lxml module are installed. When it is not installed, install it.
$ rpm –q python python-lxml python-* python-lxml-*
Installation
execute yum command and install Python and lxml module.
$ su - # yum install python python-lxml
The following describes an installation procedure using installer on Windows.
downloading the installer file.
download an installer from the following links.
![]() | Note |
---|---|
Python2.7.6: http://python.org/download/releases/2.7.6 lxml3.2.4: https://pypi.python.org/pypi/lxml/3.2.4 |
Python installation
run the installer "python-2.7.6.*.msi" and Follow the wizard instructions to install.
lxml installation
run the installer "lxml-3.2.4.*-py2.7.exe" and Follow the wizard instructions to install.