JLCA - The Source Converter Tool (Contd...)

Continuing from my previous post JLCA - The Source Converter Tool here are some more of my findings

Java Messaging Service
- Converted JMS applications can not use JMS-compliant MOMs
- MSMQ does not handle acknowledgment as JMS-compliant MOMs in the sense it does not re-send messages when a MOM does not receive an ack.
- Message concurrency behavior though JMS classes ConnectionConsumer and ServerSessionPool is not converted.

- Serialization is converted to .NET Serialization. As in Java, .NET serialize and deserialize objects using their own format. So, an object serialized in Java can not be deserialized in .NET because .NET does not know how deal with Java’s format.

- Conversion of Java’s Accessibility to .NET’s Accessibility is very limited because both models are very different and .NET has no support to advanced-key features of Java accessibility.
- Java’s Accessibility Functionality to display text components and web content (through relations between hypertext and hyperlinks) is not converted to .NET.

Java Event Model (AWT and Swing)
- Events programmatically raised by the user (not by the GUI normal interaction) through method dispatchEvent() are not completely converted. Only ActionEvent and ItemEvent (for Button, MenuItem and CheckboxMenuItem) are converted through method PerformClick. Remaining user raised events have no equivalent in .NET Framework.
- Accessing system event queue is not converted because in there is no centralized mechanism to read events from a queue and post them. Also, low-level event handling – also known as containment model- is not converted.

- Checks around whether a thread has been interrupted are not converted.
- Most of functionality related with Thread Groups is not converted

- For Swing only basic widgets conversion is supported. Also, conversion of models, editors, layout management, borders, renderers and Pluggable Look And Feel is not supported by JLCA 3.0

Visual Studio .NET Designer Compliant
- Majority of Java’s Layout Managers are not converted. JLCA only converts FlowLayout and GridLayout through properties Dock and Anchor. So, design-time support for visual components using layout managers is limited.

I have tried to make this list pretty exhaustive. In case you have found some other issues let me know. Lets help making this a great tool.

NOTE: The limitations presented here are my own observations with the tool. Though the list looks big, the limitations are very meager as compared to quality of migrations that are possible with JLCA3.0 in these feature areas. Most of these limitations and their workarounds are extensively documented in the converted code with appropriate links to documentation inserted at the proper places.