IBM WebSphere Studio Application Developer Product (Windows)
Technical Preview: UML visualization for J2EE
Version 0.9.0


This service update contains the following:

Unified Modeling Language Visualization for J2EE (Technical Preview)

After this update is applied to WebSphere Studio Application Developer 5.0.1, the ability to create Unified Modeling Language (UML) class diagrams containing views of Enterprise Java Beans and Java classes and interfaces will be provided. These class diagrams can be used to facilitate the understanding of J2EE applications and to assist with communicating important aspects of a J2EE application.

Diagrams are created as resources within a project. Each diagram is saved in a project as a file with the ".dnx" file extension. Diagrams are opened in the Class Diagram Editor window for editing the content and presentation of a diagram. New project elements such as enterprise Java beans can be created from a diagram using the diagram editor palette. Existing elements can be visualized using UML notation by dragging and dropping them from a view (examples: J2EE Hierarchy, Package Explorer) onto the diagram editor. When you have finished editing the diagram, you can save your work using the save action.

To create a new UML class diagram:

  1. Click File > New > Other > UML Visualization > Class Diagram. The New Class Diagram dialog box opens.
  2. In the Enter or select the folder box, enter a folder name.
  3. In the File name box, enter a file name for the new diagram.
  4. Click Finish.

A new UML class diagram is created and opens in the Class Diagram Editor window.

Known Issues

The following table provides a description of known issues with this version of the feature.

 

  1. After deleting an EJB component through the J2EE View while a diagram that visualizes it is open, when closing the diagram, the EJB component will be "reintroduced" back into the application and will reappear in the J2EE view. The work around is to delete it from the diagram or to close the diagram before deleting it from the J2EE view.

  2. When using both the diagram editor and the EJB Deployment Descriptor editor, canceling changes in the Deployment Descriptor editor does not always result in the "cancellation" of the corresponding changes in diagram editor. There are scenarios in which the "cancelled" changes will remain in effect when the diagram editor is saved.

  3. In an EJB 2.0 project, when creating an inheritance relationship between a Super Bean Class and another sub Bean class in a diagram, the results differ from when the same relationship is created via the EJB Deployment Descriptor on the Overview tab.

  4. J2SE Class/Interface visualizations from another project are not fixed up as a result of a refactoring activity in the main project.

  5. When dealing with a source file containing declarations for multiple classes and interface, when dragging and dropping the .java file onto a diagram, the fields and methods for all the classes are not visualized in the diagram.

  6. Open diagram editor does not show the "dirty" asterisk when it is updated as a result of a refactoring action. When the diagram is closed, the user is prompted to save the diagram.

  7. Java types defined as Collection types do not get mapped to class attributes by default. The workaround is to specify the type as both an Attribute type and a Collection Type in the Preferences dialog box.

  8. When using the move class refactoring to move a Java class into a new package, the class in the diagram is unreferenced.  Diagram fix-up after a refactoring works fine if there is an existing class in the destination package.

  9. Diagram does not always reflect the removal of a field when the field is mapped to be visualized as an Association relationship. This results in an unreferenced association relationship in the diagram.

  10. Changes to the "Diagram Update Policy" preference can inhibit all automatic updates of diagrams in response to code changes. The preference should be left in the "Immediately" mode (the default setting).

  11. Using Align commands causes AutoSize to be disabled on the participating shapes.

  12. Class shape borders and compartment separators are not always painted when changing zoom settings.

  13. Navigation with the "." (period) through the file control handles will not display all file control handles if the drawing is zoomed out. The file handle that moves the entire shape (handle not visible on the shape), will disappear if the shape is zoomed out.

  14. If Default Editor is opened for Java/EJB element, it is not possible to DnD referenced element view to a diagram. This is an issue with Eclipse. For the J2EE View, the workaround is to disable the "Link J2EE Navigator selection to active editor" option in the J2EE Preferences page. There is currently no workaround for the Java Packages and Hierarchy views.

  15. When trying to make changes to an existing class diagram that is in the checked in state, two checkout dialogs appear.

  16. You are presented with two identical error dialogs when a diagram editor's state is read only and you try to make changes to the diagram.

  17. Missing keyboard navigation from Class Palette and Toolbox Options in Diagram View.

  18. The "Error: Unable to create part of diagram:...dnx" message appears when opening a diagram containing a reference to an EJB in another project. At this point in time, cross-project references for EJBs are not supported.
  19. Not all elements in the J2EE Hiearchy view can be dragged and dropped onto a diagram even if the pointer indicates that they can be dropped. Drag and drop is supported for EJB components and Java classes/interfaces.
  20. Changing the association end multiplicity in the "Show Fields As" dialog box does not immediately get reflected in the diagram.
  21. Changing the parent bean relationship using the Deployment Descriptor editor does not result in a diagram update. The relationship remains and is shown as "unresolved".
  22. When two CMP 1.1 entity beans are created using the CMP 1.1 bean creation tool from the toolbox, there is an M:M relationship between them. This relationship is not allowed between two CMP 1.1 beans. The workaround is to create CMP 1.1 entity beans using the wizard.