uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Lally" <ala...@alum.rpi.edu>
Subject Re: [jira] Assigned: (UIMA-351) UIMA pear runtime
Date Mon, 04 Jun 2007 21:41:43 GMT
On 6/4/07, Marshall Schor <msa@schor.com> wrote:
> Thanks, Michael -
>
> The test case enabled clearing up several minor issues and a principle
> one:  The logic for determining what class loader to use depended on the
> component being called as "user code" being user code.  This wasn't a
> valid assumption in the case of using a version 1 annotator - the user
> code for the annotator (in that case) is wrapped by a framework class
> called AnnotatorAdaptor.
> To fix that case, I was able to get the resourceManager from the
> component, and from that, to get the class loader of the component.
>
> The Flow object is not a "resource" so I can't use this method.  If we
> ever wrap the flow object with a framework-provided class, we'll have to
> change the code for calling the class loader switch.
>
> For computing the flow, the FlowControllerContainer is a resource, but
> the actual FlowController is not.  Adam - can the
> FlowControllerContainer be used as the object to do
> getResourceManager().getUimaExtensionClassLoader() - will this return
> the class loader to use in running the flow controller object?
>

Yes - this is analogous to the anotator case.  Annotators aren't
resources either.  Their container (PrimitiveAnalysisEngine) is.  It's
the same with FlowController - you get the ResourceManater from the
FlowControllerContainer.

> Any idea what to use for the Flow object (of course, I can continue to
> use the class loader that was used to load the Flow object which works
> as long as the Flow object isn't "wrapped" with a framework class.).
>

Using the FlowControllerContainer's ResourceManager should work for
the Flow object too.  Flow objects are a bit of special case since
they are constructed by the FlowController (user code), not by the
framework.  So unless the user explicitly did something with class
loaders (which doesn't seem like we need to support), the Flow object
should be loaded by the same class loader as the
FlowControllerContainer.

-Adam

Mime
View raw message