Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

(lightbulb)Starting with customization, adding any merged type features

Handling multiple customizations of a UIMA Cas Type

Multiple customizations can arise when two or more independently developed components both implement customized JCas classes.  This may happen in two ways:

  1. An aggregate includes two (or more) components, and the classpath for running is set up in such a way that each component's customizations (which would be identically named Java Classes) are in the classpath.
  2. An aggregate includes two (or more) components, one (or more) of which is a PEAR.  PEARs have their own classpath, and are intended to have their classpath override the containing aggregate's classpath

 

First, assume there is only one JCas cover class definition in the class path.  (PEARs, having their own separate classpath, might have another definition.)

  • If there are more than one due to PEARs, alternatives include: 
    • throwing an error, requiring the user to re-engineer to combine these, (conditioned on the impls being "different")
    • arranging to take just the first one found in the classpath. (Problem occurs when using Pears - the first one may not be discovered until the pear environment is set up).

...