Importing XML Files

The XML import tool imports model definitions from XML files that comply with the schema http://org.eclipse.tigerstripe/xml/tigerstripeOutput/v1-0. This schema is included in the output from the XML Export tool. The schema should be in the same directory as the file to be imported.

Running the Import

Complete the following procedure to run an XML Import

To run an import

Open your Tigerstripe Perspective and right-click on your Tigerstripe Project to which you want to import artifacts. The Import wizard displays.

Select the project to where you want to import the XML file, and select the XML file you want to import. In the case of a summary file and multiple artifact XML files, select the XML file to import and click Load XML File.

A dialog box containing a list of information messages and possible errors about any differences between the project and the XML file display. You can view snippets of these messages and errors in the dialog box. To view more details, locate the file XMLBulkImport.log. which is created in the same directory where the XML file is located.

After reviewing any messages, you can proceed with the file import by clicking Apply Changes. This updates the Tigerstripe Project with the information in the XML file. The message dialog box displays the information about the import.

The Import Process

When there is a difference between the XML file and the Tigerstripe model, the Import tool will update the model with the data in the XML file. The follow are exceptions:

New objects in the project are not removed. For example, if there is a new Artifact, or a new field in the model that is not on the XML file, there will be a difference reported, but no attempt is made to update that project. This applies to Artifact, Label, Field, Method, Method Exception, Method Argument, and Stereotype (at any level).

Renaming (other than method arguments) is detected as a delete & add because there is no positional significance to any of these items.

The majority of the information on the details tab on the Artifacts are handled differently by the import because they are optional elements in the XML file. The Importtool attempt to update when possible. In a few cases, differences may be identified that cannot be fixed by the tool.

Differences Reporting Format

Log messages for differences are formatted as shown in the following example:

Type: Is one of value or presence. A value difference indicates that the information is present in both the XML file and the Tigerstripe Project, but that a difference in value has been detected. A presence difference indicates that an object has been found on one side that is not present in the other.

Scope: Is a String that indicates the location of the difference. For example,Artifact , Artifact:Label, Artifact:Method:Argument:Comment.

Local art & Remote art: Contains the Fully Qualified Names of the Artifacts that have been compared. The Local art is the Artifact found in the XML file, and the Remote art is the Artifact found in the Tigerstripe Project. In the context of a Bulk Import, these two fields should be identical; except in the case of a Type = presence Scope = Artifact difference where one of the fields will be blank.

Object: Contains the detailed location of the difference. For example, this might be the name of the Method or the Extends clause. In the case where a detailed location is needed (for example, on a Method argument), the details are separated by a color (:), such as method0:arg0.

LocalVal & RemoteVal: Indicates the different values found in the compared Artifacts. The LocalVal is the value found in the XML file, and the RemoteVal is the value that found in the Tigerstripe Project. In the case of a difference of a presence type, one of these will have the value absent and the other will have the value present. In the case of a value difference, the two fields will contain the actual compared values.

In the Information dialog box, the differences will have a short format as shown in the following example:

Artifact:Field com.mycompany.Entity0 aField0 {absent,present}

This is equivalent to the long format fields :

Scope Localart Object {LocalVal,RemoteVal}

Note: If Localart is empty (as in the special case of a new Artifact found in the project), Localart is replaced by Remoteart.