You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by Adam Lally <al...@alum.rpi.edu> on 2006/12/14 23:53:36 UTC

Progress on Migration Utility

I've made some good progress on a utility that can be used to help
users migrate their code from IBM UIMA to Apache UIMA.

The class is org.apache.uima.tools.migration.IbmUimaToApacheUima in
uimaj-tools, and there are corresponding .bat/.sh scripts in
uimaj-distr.

It's basically just a glorified search-and-replace utility, but has
some special treatments of package names to make sure that it only
updates actual UIMA package names, not just everything with a
com.ibm.uima prefix (which several of our users within IBM do).

Anyway I've tried it on some pretty big UIMA projects and it seems to
do very well.  Here are some things it won't handle:

* User code that's in a package with the same exact name as one of the
UIMA packages.  Hopefully this occurs rarely, but unfortunately
there's one common case - DocumentAnnotation - which I mentioned in a
previous email. In such a case the package statement would get
replaced, but the .java file will then be in the wrong place in the
source tree.

* Package names that are prefixed by org.apache.uima AND start with a
capital letter.  I hope no one has a package named
com.ibm.uima.MyPackage.  This would be treated as a class name and
replaced with org.apache.uima.MyPackage wherever it occurs.

* Use of _undocumented_ classes in the com.ibm.uima.util package,
because these moved to a different package than the documented
classes.  Can be fixed in Eclipse by a simple Organize Imports
operation.

* xi:include in descriptors.  There's no easy way to automatically
replace this, unfortunately.  Users will have to manually replace them
with the appropriate use of <import>.


More work on this will probably be needed as we make more decisions to
change things, for example if we entirely remove TCAS.

-Adam