Initial Setup

A few days ago Brian and I got Mulgara building and testing correctly with the new Mulgara namespace. I haven't tagged it explicitly, but if you pick up a build from the 20th of June (6/20/2006 or 20/6/2006 depending on your country) then it will build and test exactly the same as Kowari-1.2 did.

We're now working on moving the code to compile under Java 1.5. Once that's done with all tests passing, I'll tag the directory as the initial release.

Some comments on the move to Java 1.5:

  • I performed several steps last year, and described them in a Kowari email on the 5th of October.
  • Updated lib/xmlc-all-runtime-2.2.jar to the latest version from Enhydra. This was needed to implement new methods on interfaces from Xerces that come with Java 1.5. The xmlc-2.2-src.tar.bz2 code (found in lib) was an interim measure that also implemented these interfaces with stub code.
  • Changed all usage of the keyword enum to enumeration.
  • Set all Ant scripts to compile with source="1.5". This was left as source="1.4" in the descriptor's WSDL compilation, as the WSDL code uses an apache library with a package named enum.
  • Most people are using Ant version 1.6.5, so I took this opportunity to upgrade the Ant jars.
  • Some of the descriptor code uses Xalan. In the past, this was borrowing from a couple of Apache classes included in the Java 1.4 runtime. It took some doing, but I finally found documentation stating that users should not use these classes. Java 1.5 does not include these classes, so we need our own copy of Xalan. (I added this last year, since we should have been using it from the outset). Since Xalan comes with its own implementation of xercesImpl.jar, I've updated this jar as well.
  • Doclets will not compile. Looking at their implementation, you can see that an existing doclet class was extended, with a couple of methods overridden. While it worked, the Doclet API does not describe this mechanism at all, and it broke between Java 1.4 and Java 1.5. The biggest noticable difference is that most classes moved from com.sun.tools.doclets to com.sun.tools.doclets.internal.toolkit.util. A few other things changed enough to cause a significant break for the original code. This needs a full re-write, something that Brian has volunteered to do. In the meantime, the doclet references have been commented out of the Ant scripts. This leads to numerous Javadoc warnings as it can't recognise the custom tags, but the operation goes ahead safely.

Problems

While the code now compiles fine under Java 1.5, we still have 2 major issues:

  • The test results are not printed out in a summary. This is because Xalan can't process the formatting script. The error is: Error! Unrecognized XSLTC extension 'org.apache.xalan.lib.Redirect:write'. Brian knows XSLT so has offered to look at this. The tests still run, and the results can be checked manually (test/All-Tests.xml).
  • RDF/XML is not being parsed correctly. Any tags with a parseType attribute are being silently dropped. The result is that some tests are failing, since statements are missing. There are also several Unicode elements which are not being parsed correctly. The tests say they expect \U000104 but instead get \uDC. I believe these are both related to the changes in Xerces version. The parsing is all done with the RIO library, so I'll be checking in there to see what is happening.

original page by Paul Gearon on Jun 21, 2006

----
These issues have all since been resolved.