Creating editor objects by dragging and dropping items

In the WebSphere® Multichannel Bank Transformation Toolkit Processor editor, you can drag-and-drop an XUI page to create a Page state, a flow to create a SubFlow state, and an operation to create an Operation state. You can provide your own D&D code to extend Processor editor to accept another type drop as well as to override the default D&D support for dragging and dropping pages, flows, and operations.

The extension point is com.ibm.btt.tools.transaction.diagram.fileDrop

The drag-and-drop handler has the following attributes:
class

The implementation class of the com.ibm.btt.tools.transaction.diagram.file.drop.IDiagramEditorDropFileHandler interface.

It defines two methods: accepts and parseDroppedFile. The accepts method is used to check whether the handler can accept the dropped item, and the parseDroppedFile file defines the action that occurs when the item is dropped. It is recommended that the class inherit from com.ibm.btt.tools.transaction.diagram.file.drop.DefaultDiagramEditorDropFileHandler.

priority

The priority of the handler. When an item is dropped, the Processor editor uses the handler with the highest priority to treat the current drop action. Valid values are low, medium, and high.

If you want to override the default drop actions of page, flow, and operation items, you must specify a drag-and-drop handler with medium or high priority because the priority of the default handler is low.

samples
FlowEditorJSFileDragAndDropHandler and FlowEditorXUIFileDragAndDropHandler are two customized drag-and-drop handlers registered to the Processor editor. The handlers allow to accept the javascript file(.js) to create a new customized JSSate state in the processor and override the default XUI drop by adding a comment to the page state created.
The implementation items for this sample are in the Drop4Extension project. Table 1 provides a description of the implementation items.
Table 1. Implementation items for the drag-and-drop samples in the Drop4Extension project.
Item name Description Reference information Location
JSState.xml State configuration file Creating a configuration file for a palette object palette folder in Drop4Extension project
Info16.PNG and Info32.PNG Icons used to show State in Processor Palette and Canvas Registering a palette object icons folder in Drop4Extension project
JSStateMapping.xml Palette object mapping file Creating and registering an object mapping file config folder in Drop4Extension project
JSStateRule.java Property generation rule for JSState Creating and registering an object mapping file src/com/ibm/btt/tools/drop4extension./ransaction./generator/ule folder in the Drop4Extension project
FlowEditorXUIFileDragAndDropHandler.java Drag-and-drop implementation class in runtime   src/com/ibm/btt/tools/drop4extension/transaction/presentation folder in the Drop4Extension project
FlowEditorJSFileDragAndDropHandler.java Drag-and-drop implementation class in runtime   src/com/ibm/btt/tools/drop4extension/transaction/presentation folder in the Drop4Extension project