You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Michael Baessler (JIRA)" <ui...@incubator.apache.org> on 2007/03/21 14:31:32 UTC

[jira] Created: (UIMA-351) UIMA pear runtime

UIMA pear runtime
-----------------

                 Key: UIMA-351
                 URL: https://issues.apache.org/jira/browse/UIMA-351
             Project: UIMA
          Issue Type: New Feature
          Components: Core Java Framework
    Affects Versions: 2.1
            Reporter: Michael Baessler
         Assigned To: Michael Baessler
             Fix For: 2.2


Currently it is not possible to run an installed pear file out of the box in UIMA. I mean by just specifying the pear installation path or something similar.
To run installed pear files there is a lot of user configuration and implementation necessary. So it would be nice to have a UIMA pear runtime that can run an installed pear file out of the box.

With the suggestion of having custom resource specifiers <customResourceSpecifier> we can provide an easy way to integrate such a UIMA pear runtime.
We just have to implement a new PearAnalysisEngineWrapper that extends the AnalysisEngineImplBase class that knows how to start an installed pear file. All the necessary information is available and can be parsed from the metadata of the installed pear. The utilities, e.g. to dynamically load the classes (UIMA extension class loader) is also in place and can be used. So an example of the <customResourceSpecifier> can look like:

<customResourceSpecifier xmlns="http://uima.apache.org/resourceSpecifier">
   <resourceClassName>org.apache.PearAnalyisEngineWrapper</resourceClassName>
   <parameters>
       <parameter name="installedPear" value="/path/to/the/root/directory/of/the/installed/pear/file"/>
       <!-- and additional parameters if necessary -->
   </parameters>
</customResourceSpecifier>

This solution will also work out of the box in our tooling. The tools does not have to implement a PEAR runtime engine itself.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Re: [jira] Assigned: (UIMA-351) UIMA pear runtime

Posted by Marshall Schor <ms...@schor.com>.
OK - thanks for doing the test case :-)  I'll take a look. -Marshall

Michael Baessler (JIRA) wrote:
>      [ https://issues.apache.org/jira/browse/UIMA-351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
>
> Michael Baessler reassigned UIMA-351:
> -------------------------------------
>
>     Assignee: Marshall Schor  (was: Michael Baessler)
>
> Hi Marshall,
>
> I have created an additional testcase for the PEAR runtime and unfortunately it fails... 
> For me it seems that there is something wrong with the type system.
>
> Caused by: org.apache.uima.cas.CASRuntimeException: 
> The JCAS cover class "uima.test.MyType_Type" could not be loaded.
> 	at org.apache.uima.jcas.impl.JCasImpl.getType(JCasImpl.java:385)
> 	at org.apache.uima.jcas.cas.TOP.<init>(TOP.java:92)
> 	at org.apache.uima.jcas.cas.AnnotationBase.<init>(AnnotationBase.java:53)
> 	at org.apache.uima.jcas.tcas.Annotation.<init>(Annotation.java:54)
> 	at uima.test.MyType.<init>(MyType.java:42)
> 	at org.apache.uima.test.AnalysisEngine1.process(AnalysisEngine1.java:55)
> 	at org.apache.uima.analysis_engine.impl.compatibility.AnnotatorAdapter.process(AnnotatorAdapter.java:142)
> 	at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess(PrimitiveAnalysisEngine_impl.java:371)
> 	... 29 more
>
> The test case is in the PearRuntimeTest -> testPearRuntimeDocAnnot(). Currently the test method is not active.
> The used PEAR file for this test also contains the source code.
>
> Can you please look at this issue? 
>
> -- Michael
>
>   
>> UIMA pear runtime
>> -----------------
>>
>>                 Key: UIMA-351
>>                 URL: https://issues.apache.org/jira/browse/UIMA-351
>>             Project: UIMA
>>          Issue Type: New Feature
>>          Components: Core Java Framework
>>    Affects Versions: 2.1
>>            Reporter: Michael Baessler
>>            Assignee: Marshall Schor
>>             Fix For: 2.2
>>
>>
>> Currently it is not possible to run an installed pear file out of the box in UIMA. I mean by just specifying the pear installation path or something similar.
>> To run installed pear files there is a lot of user configuration and implementation necessary. So it would be nice to have a UIMA pear runtime that can run an installed pear file out of the box.
>> With the suggestion of having custom resource specifiers <customResourceSpecifier> we can provide an easy way to integrate such a UIMA pear runtime.
>> We just have to implement a new PearAnalysisEngineWrapper that extends the AnalysisEngineImplBase class that knows how to start an installed pear file. All the necessary information is available and can be parsed from the metadata of the installed pear. The utilities, e.g. to dynamically load the classes (UIMA extension class loader) is also in place and can be used. So an example of the <customResourceSpecifier> can look like:
>> <customResourceSpecifier xmlns="http://uima.apache.org/resourceSpecifier">
>>    <resourceClassName>org.apache.PearAnalyisEngineWrapper</resourceClassName>
>>    <parameters>
>>        <parameter name="installedPear" value="/path/to/the/root/directory/of/the/installed/pear/file"/>
>>        <!-- and additional parameters if necessary -->
>>    </parameters>
>> </customResourceSpecifier>
>> This solution will also work out of the box in our tooling. The tools does not have to implement a PEAR runtime engine itself.
>>     
>
>   


Re: [jira] Assigned: (UIMA-351) UIMA pear runtime

Posted by Michael Baessler <mb...@michael-baessler.de>.
Marshall Schor wrote:
> Here are some additional test cases it would be good to have, if 
> possible (Michael - it would be great if you could add these :-)
I don't think I have time to work on these tests this week.
> Test JCas: have a flow: d1, d2, d3, d4  (d = delegate).  d1 and d3 in 
> one pear,  d2 and d4 in another  (maybe this is not possible?)  
Right, I don't think that this is possible...
> or have d1 and d3 use the same class loader, and d2 and d4 use a 
> different class loader (could be done I think, not using pears?)  
I'm currently not sure how to do this, but it should be possible. We can 
create four AEs and call process for all these with the same CAS. The 
magic here is that we
have to share the type system e.g. before creating the CAS. But then we 
should have the flow you described above.
I don't think that there is another way to specify different resource 
managers (class loaders) for AEs.
> Make some annotations in d1 and d2.  Verify that the JCas cover class 
> instances fetched for annotations created in d1 but fetched in d2 are 
> not ==.  Verify that the JCas cover class instances fetched in d3 for 
> things created in d1 are ==, same for d2 an d4.  (Summary:   d1 != 
> d2,  d1 =d3, d1 != d4,   d2 != d3, d2 == d4, d3 != d4).
I think that will be hard to test, since the annotations as I think must 
be extracted within the annotators but the references must be compared 
outside. How should the references be shared with these annotator 
objects. The only way I currently can think of are singleton objects, 
but does this also work within Maven testing and within eclipse? I think 
this will take some time to implement something like this.
Another way can be to load the JCas classed outside of the annotator and 
use the processed CAS to check the references, but then we do not 
exactly test the behavior inside the annotator.
>
> Test with cas pools sharing a type system, and things which use 
> multiple views.
I don't think I have time to work on this also before the 2.2 release.

-- Michael




Re: [jira] Assigned: (UIMA-351) UIMA pear runtime

Posted by Marshall Schor <ms...@schor.com>.
Here are some additional test cases it would be good to have, if 
possible (Michael - it would be great if you could add these :-)

Test JCas: have a flow: d1, d2, d3, d4  (d = delegate).  d1 and d3 in 
one pear,  d2 and d4 in another  (maybe this is not possible?)  or have 
d1 and d3 use the same class loader, and d2 and d4 use a different class 
loader (could be done I think, not using pears?)  Make some annotations 
in d1 and d2.  Verify that the JCas cover class instances fetched for 
annotations created in d1 but fetched in d2 are not ==.  Verify that the 
JCas cover class instances fetched in d3 for things created in d1 are 
==, same for d2 an d4.  (Summary:   d1 != d2,  d1 =d3, d1 != d4,   d2 != 
d3, d2 == d4, d3 != d4).

Test with cas pools sharing a type system, and things which use multiple 
views.

Cheers. -Marshall


Michael Baessler (JIRA) wrote:
>      [ https://issues.apache.org/jira/browse/UIMA-351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
>
> Michael Baessler reassigned UIMA-351:
> -------------------------------------
>
>     Assignee: Marshall Schor  (was: Michael Baessler)
>
> Hi Marshall,
>
> I have created an additional testcase for the PEAR runtime and unfortunately it fails... 
> For me it seems that there is something wrong with the type system.
>
> Caused by: org.apache.uima.cas.CASRuntimeException: 
> The JCAS cover class "uima.test.MyType_Type" could not be loaded.
> 	at org.apache.uima.jcas.impl.JCasImpl.getType(JCasImpl.java:385)
> 	at org.apache.uima.jcas.cas.TOP.<init>(TOP.java:92)
> 	at org.apache.uima.jcas.cas.AnnotationBase.<init>(AnnotationBase.java:53)
> 	at org.apache.uima.jcas.tcas.Annotation.<init>(Annotation.java:54)
> 	at uima.test.MyType.<init>(MyType.java:42)
> 	at org.apache.uima.test.AnalysisEngine1.process(AnalysisEngine1.java:55)
> 	at org.apache.uima.analysis_engine.impl.compatibility.AnnotatorAdapter.process(AnnotatorAdapter.java:142)
> 	at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess(PrimitiveAnalysisEngine_impl.java:371)
> 	... 29 more
>
> The test case is in the PearRuntimeTest -> testPearRuntimeDocAnnot(). Currently the test method is not active.
> The used PEAR file for this test also contains the source code.
>
> Can you please look at this issue? 
>
> -- Michael
>
>   
>> UIMA pear runtime
>> -----------------
>>
>>                 Key: UIMA-351
>>                 URL: https://issues.apache.org/jira/browse/UIMA-351
>>             Project: UIMA
>>          Issue Type: New Feature
>>          Components: Core Java Framework
>>    Affects Versions: 2.1
>>            Reporter: Michael Baessler
>>            Assignee: Marshall Schor
>>             Fix For: 2.2
>>
>>
>> Currently it is not possible to run an installed pear file out of the box in UIMA. I mean by just specifying the pear installation path or something similar.
>> To run installed pear files there is a lot of user configuration and implementation necessary. So it would be nice to have a UIMA pear runtime that can run an installed pear file out of the box.
>> With the suggestion of having custom resource specifiers <customResourceSpecifier> we can provide an easy way to integrate such a UIMA pear runtime.
>> We just have to implement a new PearAnalysisEngineWrapper that extends the AnalysisEngineImplBase class that knows how to start an installed pear file. All the necessary information is available and can be parsed from the metadata of the installed pear. The utilities, e.g. to dynamically load the classes (UIMA extension class loader) is also in place and can be used. So an example of the <customResourceSpecifier> can look like:
>> <customResourceSpecifier xmlns="http://uima.apache.org/resourceSpecifier">
>>    <resourceClassName>org.apache.PearAnalyisEngineWrapper</resourceClassName>
>>    <parameters>
>>        <parameter name="installedPear" value="/path/to/the/root/directory/of/the/installed/pear/file"/>
>>        <!-- and additional parameters if necessary -->
>>    </parameters>
>> </customResourceSpecifier>
>> This solution will also work out of the box in our tooling. The tools does not have to implement a PEAR runtime engine itself.
>>     
>
>   


Re: [jira] Assigned: (UIMA-351) UIMA pear runtime

Posted by Adam Lally <al...@alum.rpi.edu>.
On 6/4/07, Marshall Schor <ms...@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

Re: [jira] Assigned: (UIMA-351) UIMA pear runtime

Posted by Marshall Schor <ms...@schor.com>.
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?

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.).

Two other things to be worked out still: the getEmptyCAS use and the 
StatusCallBack Listener.

-Marshall

Michael Baessler (JIRA) wrote:
>      [ https://issues.apache.org/jira/browse/UIMA-351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
>
> Michael Baessler reassigned UIMA-351:
> -------------------------------------
>
>     Assignee: Marshall Schor  (was: Michael Baessler)
>
> Hi Marshall,
>
> I have created an additional testcase for the PEAR runtime and unfortunately it fails... 
> For me it seems that there is something wrong with the type system.
>
> Caused by: org.apache.uima.cas.CASRuntimeException: 
> The JCAS cover class "uima.test.MyType_Type" could not be loaded.
> 	at org.apache.uima.jcas.impl.JCasImpl.getType(JCasImpl.java:385)
> 	at org.apache.uima.jcas.cas.TOP.<init>(TOP.java:92)
> 	at org.apache.uima.jcas.cas.AnnotationBase.<init>(AnnotationBase.java:53)
> 	at org.apache.uima.jcas.tcas.Annotation.<init>(Annotation.java:54)
> 	at uima.test.MyType.<init>(MyType.java:42)
> 	at org.apache.uima.test.AnalysisEngine1.process(AnalysisEngine1.java:55)
> 	at org.apache.uima.analysis_engine.impl.compatibility.AnnotatorAdapter.process(AnnotatorAdapter.java:142)
> 	at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess(PrimitiveAnalysisEngine_impl.java:371)
> 	... 29 more
>
> The test case is in the PearRuntimeTest -> testPearRuntimeDocAnnot(). Currently the test method is not active.
> The used PEAR file for this test also contains the source code.
>
> Can you please look at this issue? 
>
> -- Michael
>
>   
>> UIMA pear runtime
>> -----------------
>>
>>                 Key: UIMA-351
>>                 URL: https://issues.apache.org/jira/browse/UIMA-351
>>             Project: UIMA
>>          Issue Type: New Feature
>>          Components: Core Java Framework
>>    Affects Versions: 2.1
>>            Reporter: Michael Baessler
>>            Assignee: Marshall Schor
>>             Fix For: 2.2
>>
>>
>> Currently it is not possible to run an installed pear file out of the box in UIMA. I mean by just specifying the pear installation path or something similar.
>> To run installed pear files there is a lot of user configuration and implementation necessary. So it would be nice to have a UIMA pear runtime that can run an installed pear file out of the box.
>> With the suggestion of having custom resource specifiers <customResourceSpecifier> we can provide an easy way to integrate such a UIMA pear runtime.
>> We just have to implement a new PearAnalysisEngineWrapper that extends the AnalysisEngineImplBase class that knows how to start an installed pear file. All the necessary information is available and can be parsed from the metadata of the installed pear. The utilities, e.g. to dynamically load the classes (UIMA extension class loader) is also in place and can be used. So an example of the <customResourceSpecifier> can look like:
>> <customResourceSpecifier xmlns="http://uima.apache.org/resourceSpecifier">
>>    <resourceClassName>org.apache.PearAnalyisEngineWrapper</resourceClassName>
>>    <parameters>
>>        <parameter name="installedPear" value="/path/to/the/root/directory/of/the/installed/pear/file"/>
>>        <!-- and additional parameters if necessary -->
>>    </parameters>
>> </customResourceSpecifier>
>> This solution will also work out of the box in our tooling. The tools does not have to implement a PEAR runtime engine itself.
>>     
>
>   


[jira] Assigned: (UIMA-351) UIMA pear runtime

Posted by "Michael Baessler (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Baessler reassigned UIMA-351:
-------------------------------------

    Assignee: Marshall Schor  (was: Michael Baessler)

Hi Marshall,

I have created an additional testcase for the PEAR runtime and unfortunately it fails... 
For me it seems that there is something wrong with the type system.

Caused by: org.apache.uima.cas.CASRuntimeException: 
The JCAS cover class "uima.test.MyType_Type" could not be loaded.
	at org.apache.uima.jcas.impl.JCasImpl.getType(JCasImpl.java:385)
	at org.apache.uima.jcas.cas.TOP.<init>(TOP.java:92)
	at org.apache.uima.jcas.cas.AnnotationBase.<init>(AnnotationBase.java:53)
	at org.apache.uima.jcas.tcas.Annotation.<init>(Annotation.java:54)
	at uima.test.MyType.<init>(MyType.java:42)
	at org.apache.uima.test.AnalysisEngine1.process(AnalysisEngine1.java:55)
	at org.apache.uima.analysis_engine.impl.compatibility.AnnotatorAdapter.process(AnnotatorAdapter.java:142)
	at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess(PrimitiveAnalysisEngine_impl.java:371)
	... 29 more

The test case is in the PearRuntimeTest -> testPearRuntimeDocAnnot(). Currently the test method is not active.
The used PEAR file for this test also contains the source code.

Can you please look at this issue? 

-- Michael

> UIMA pear runtime
> -----------------
>
>                 Key: UIMA-351
>                 URL: https://issues.apache.org/jira/browse/UIMA-351
>             Project: UIMA
>          Issue Type: New Feature
>          Components: Core Java Framework
>    Affects Versions: 2.1
>            Reporter: Michael Baessler
>            Assignee: Marshall Schor
>             Fix For: 2.2
>
>
> Currently it is not possible to run an installed pear file out of the box in UIMA. I mean by just specifying the pear installation path or something similar.
> To run installed pear files there is a lot of user configuration and implementation necessary. So it would be nice to have a UIMA pear runtime that can run an installed pear file out of the box.
> With the suggestion of having custom resource specifiers <customResourceSpecifier> we can provide an easy way to integrate such a UIMA pear runtime.
> We just have to implement a new PearAnalysisEngineWrapper that extends the AnalysisEngineImplBase class that knows how to start an installed pear file. All the necessary information is available and can be parsed from the metadata of the installed pear. The utilities, e.g. to dynamically load the classes (UIMA extension class loader) is also in place and can be used. So an example of the <customResourceSpecifier> can look like:
> <customResourceSpecifier xmlns="http://uima.apache.org/resourceSpecifier">
>    <resourceClassName>org.apache.PearAnalyisEngineWrapper</resourceClassName>
>    <parameters>
>        <parameter name="installedPear" value="/path/to/the/root/directory/of/the/installed/pear/file"/>
>        <!-- and additional parameters if necessary -->
>    </parameters>
> </customResourceSpecifier>
> This solution will also work out of the box in our tooling. The tools does not have to implement a PEAR runtime engine itself.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-351) UIMA pear runtime

Posted by "Michael Baessler (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12482767 ] 

Michael Baessler commented on UIMA-351:
---------------------------------------

I added a first UIMA pear runtime implementation that use the old URISpecifier.



> UIMA pear runtime
> -----------------
>
>                 Key: UIMA-351
>                 URL: https://issues.apache.org/jira/browse/UIMA-351
>             Project: UIMA
>          Issue Type: New Feature
>          Components: Core Java Framework
>    Affects Versions: 2.1
>            Reporter: Michael Baessler
>         Assigned To: Michael Baessler
>             Fix For: 2.2
>
>
> Currently it is not possible to run an installed pear file out of the box in UIMA. I mean by just specifying the pear installation path or something similar.
> To run installed pear files there is a lot of user configuration and implementation necessary. So it would be nice to have a UIMA pear runtime that can run an installed pear file out of the box.
> With the suggestion of having custom resource specifiers <customResourceSpecifier> we can provide an easy way to integrate such a UIMA pear runtime.
> We just have to implement a new PearAnalysisEngineWrapper that extends the AnalysisEngineImplBase class that knows how to start an installed pear file. All the necessary information is available and can be parsed from the metadata of the installed pear. The utilities, e.g. to dynamically load the classes (UIMA extension class loader) is also in place and can be used. So an example of the <customResourceSpecifier> can look like:
> <customResourceSpecifier xmlns="http://uima.apache.org/resourceSpecifier">
>    <resourceClassName>org.apache.PearAnalyisEngineWrapper</resourceClassName>
>    <parameters>
>        <parameter name="installedPear" value="/path/to/the/root/directory/of/the/installed/pear/file"/>
>        <!-- and additional parameters if necessary -->
>    </parameters>
> </customResourceSpecifier>
> This solution will also work out of the box in our tooling. The tools does not have to implement a PEAR runtime engine itself.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-351) UIMA pear runtime

Posted by "Michael Baessler (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12499761 ] 

Michael Baessler commented on UIMA-351:
---------------------------------------

The current implementation of the pear runtime needs to serialize the CAS to a new CAS so that the JCas class loading works fine. With the CAS class loading improvements this additional serialization is obsolete and the code can be changed.

Michael

> UIMA pear runtime
> -----------------
>
>                 Key: UIMA-351
>                 URL: https://issues.apache.org/jira/browse/UIMA-351
>             Project: UIMA
>          Issue Type: New Feature
>          Components: Core Java Framework
>    Affects Versions: 2.1
>            Reporter: Michael Baessler
>            Assignee: Michael Baessler
>             Fix For: 2.2
>
>
> Currently it is not possible to run an installed pear file out of the box in UIMA. I mean by just specifying the pear installation path or something similar.
> To run installed pear files there is a lot of user configuration and implementation necessary. So it would be nice to have a UIMA pear runtime that can run an installed pear file out of the box.
> With the suggestion of having custom resource specifiers <customResourceSpecifier> we can provide an easy way to integrate such a UIMA pear runtime.
> We just have to implement a new PearAnalysisEngineWrapper that extends the AnalysisEngineImplBase class that knows how to start an installed pear file. All the necessary information is available and can be parsed from the metadata of the installed pear. The utilities, e.g. to dynamically load the classes (UIMA extension class loader) is also in place and can be used. So an example of the <customResourceSpecifier> can look like:
> <customResourceSpecifier xmlns="http://uima.apache.org/resourceSpecifier">
>    <resourceClassName>org.apache.PearAnalyisEngineWrapper</resourceClassName>
>    <parameters>
>        <parameter name="installedPear" value="/path/to/the/root/directory/of/the/installed/pear/file"/>
>        <!-- and additional parameters if necessary -->
>    </parameters>
> </customResourceSpecifier>
> This solution will also work out of the box in our tooling. The tools does not have to implement a PEAR runtime engine itself.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (UIMA-351) UIMA pear runtime

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marshall Schor closed UIMA-351.
-------------------------------

    Resolution: Fixed

Fixed.  All tests run.

> UIMA pear runtime
> -----------------
>
>                 Key: UIMA-351
>                 URL: https://issues.apache.org/jira/browse/UIMA-351
>             Project: UIMA
>          Issue Type: New Feature
>          Components: Core Java Framework
>    Affects Versions: 2.1
>            Reporter: Michael Baessler
>            Assignee: Marshall Schor
>             Fix For: 2.2
>
>
> Currently it is not possible to run an installed pear file out of the box in UIMA. I mean by just specifying the pear installation path or something similar.
> To run installed pear files there is a lot of user configuration and implementation necessary. So it would be nice to have a UIMA pear runtime that can run an installed pear file out of the box.
> With the suggestion of having custom resource specifiers <customResourceSpecifier> we can provide an easy way to integrate such a UIMA pear runtime.
> We just have to implement a new PearAnalysisEngineWrapper that extends the AnalysisEngineImplBase class that knows how to start an installed pear file. All the necessary information is available and can be parsed from the metadata of the installed pear. The utilities, e.g. to dynamically load the classes (UIMA extension class loader) is also in place and can be used. So an example of the <customResourceSpecifier> can look like:
> <customResourceSpecifier xmlns="http://uima.apache.org/resourceSpecifier">
>    <resourceClassName>org.apache.PearAnalyisEngineWrapper</resourceClassName>
>    <parameters>
>        <parameter name="installedPear" value="/path/to/the/root/directory/of/the/installed/pear/file"/>
>        <!-- and additional parameters if necessary -->
>    </parameters>
> </customResourceSpecifier>
> This solution will also work out of the box in our tooling. The tools does not have to implement a PEAR runtime engine itself.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.