Using the Command with File I/O – Tree/Table UI Component Template

Follow the steps below to develop a component using the Command with File I/O – Tree/Table UI template.

Before you begin: Before using this template, you need to create an Isight project using this template (see Creating an Eclipse Project to Store the Extension). In addition, you must complete the tasks as listed in the Eclipse Task view. For more information about the Task view in Eclipse, refer to the Eclipse documentation at http://help.eclipse.org.

  1. Implement a custom file reader and custom file updater for the parameter file by implementing the IFileReader and IFileUpdater interfaces. This template provides ready-to-use implementation classes of these interfaces named BasicTreeXMLReader and BasicTreeXMLUpdater. These classes read and update an XML file conforming to a specified XML syntax. The required syntax is described in XML Syntax for Command with File I/O – Tree/Table UI Template. You can use these classes directly if it suits your needs.

  2. Provide an instance of a file reader in the ComponentConfigurer.java file at the indicated place. This custom class must implement the IFileReader interface.

  3. Provide an instance of a file updater in the component executor file at the indicated place. This custom class must implement the IFileUpdater interface.

  4. Provide an instance of a file reader in the component executor file at the indicated place. This custom class must implement the IFileReader interface.

  5. Before building a production version of your component’s JAR file, set the DO_CLEANUP flag to true at the indicated place in the Keys.java file. This will ensure that the temporary files are deleted when they are no longer required.

  6. You can also customize the file filters for the input/output tabs by changing the appropriate arguments to the constructor of the TreeParamPanel class in the component editor file.

  7. If you are using Isight 5.5 or later, you may want to consider overriding the Handler.diffConfiguration() method. This method is used by the model comparison tool to compare the instances of your component in different models. For more information, see the comments in the Handler class.

  8. Change the value of the buildInfo property in the metamodel.xml file. This information will be shown in the About tab of your component. You may also want to consider automating the substitution of the default @BUILDSTAMP@ value of this property through your build process.

  9. Change the value of the copyrightMessage property in metamodel.xml. This information will also be shown in the About tab.

  10. Consider what type of commands will be used with your component—what is the typical command string that the component’s user will enter in the Command field of the Execution tab? Verify that this matches the assumptions stated in the buildCommandArray() method of the Executor class. If your expectations and the stated assumptions do not match, you should modify the code for this method appropriately.

  11. Provide the “description” and “long description” for your component in the i18n.properties file.