Michael Baessler | 1 Sep 12:53
Picon

Re: UIMA 2.2 Class Loader

Since this is a new requirement for UIMA can you please add it with some 
information to the
UIMA wiki? There is a section where we gather UIMA requirements.
http://cwiki.apache.org/confluence/display/UIMA/UIMA+Requirements

Thanks!

-- Michael

Danai Wiriyayanyongsuk wrote:
> That looks like a really good idea! :D
>
> Just a thought, in case of that a PEAR descriptor is specified, there will
> be two classpath information: one for the PEAR itself and another one from
> the XML tag. It would be nice to also add an attribute for the classpath to
> indicate how the one specified in XML should be use. For example:
>    <classpath usage="append | addfirst | override"> classpath settings
> </classpath>
>
> My two cents :)
> Danai Wiriyayanyongsuk
>
>
> On 8/31/07, Michael Baessler <mba@...> wrote:
>   
>> Currently there is no way to specify a classpath for a primitive AE that
>> is used in an aggregate without having the PEAR file structure.
>>
>> I think you are searching for an option like
>>
(Continue reading)

Favicon

RE: yes

Vijay, I think this question would be better on the user list rather
than on the development list.  Members of the core UIMA group and other
contributers use this list for actual development of the UIMA library
and others of us (i.e. myself) are just lurking to make sure we keep up
with the latest developments.  That said, UIMA doesn't have any built in
"search" capability that I know of.  It has been suggested elsewhere
that it might be nice to create an application that combined UIMA with
Lucene for example.  But this is something you would have to develop
yourself.  I'm not sure what other kind of guidance you feel like you
need that isn't provided by the documentation.  If you reply to this on
the list please just use uima-user rather than uima-dev.

Frank

-----Original Message-----
From: vijay vijay [mailto:vijay201@...] 
Sent: Friday, August 31, 2007 5:11 AM
To: uima-dev@...
Subject: Re: yes

hi Frank ,
                      i thought u will mail me back..........i still
have
the feeling that u can help me out..waiting for ur reply...............

vijay

On 8/30/07, LeHouillier, Frank D. <Frank.LeHouillier@...> wrote:
>
> We still don't understand what you mean by "search the same who in
(Continue reading)

Katrin Tomanek | 3 Sep 14:57
Picon
Picon
Favicon

Create TypeSystem object programatically

Hi,

is there a way to instantiate a type system object in UIMA by reading 
the type system descriptor xml file?

So, what I try to circumvent is that I can only get my type system 
object from a CAS or an AE or so.

Any hints?

Thanks,
Katrin

Thilo Goetz | 3 Sep 18:32
Picon
Picon

Re: Create TypeSystem object programatically

Katrin Tomanek wrote:
> Hi,
> 
> is there a way to instantiate a type system object in UIMA by reading
> the type system descriptor xml file?
> 
> So, what I try to circumvent is that I can only get my type system
> object from a CAS or an AE or so.
> 
> Any hints?
> 
> Thanks,
> Katrin

Hi Katrin,

there is no easy way to create a type system without a CAS, but
there's a fairly painless way to create a CAS from just a type
system descriptor.  You can then just grab the type system from
that CAS.  Here are a few lines of code that do that:

package org.apache.uima.test;

import java.io.IOException;

import org.apache.uima.UIMAFramework;
import org.apache.uima.cas.TypeSystem;
import org.apache.uima.resource.ResourceInitializationException;
import org.apache.uima.resource.metadata.TypeSystemDescription;
import org.apache.uima.util.CasCreationUtils;
(Continue reading)

Picon

Re: UIMA 2.2 Class Loader

Will do it right after finishing my small urgent work :)

Thanks for taking this into your consideration.

-Danai

On 9/1/07, Michael Baessler <mba@...> wrote:
>
> Since this is a new requirement for UIMA can you please add it with some
> information to the
> UIMA wiki? There is a section where we gather UIMA requirements.
> http://cwiki.apache.org/confluence/display/UIMA/UIMA+Requirements
>
> Thanks!
>
> -- Michael
>
> Danai Wiriyayanyongsuk wrote:
> > That looks like a really good idea! :D
> >
> > Just a thought, in case of that a PEAR descriptor is specified, there
> will
> > be two classpath information: one for the PEAR itself and another one
> from
> > the XML tag. It would be nice to also add an attribute for the classpath
> to
> > indicate how the one specified in XML should be use. For example:
> >    <classpath usage="append | addfirst | override"> classpath settings
> > </classpath>
> >
(Continue reading)

vijay vijay | 5 Sep 06:28
Picon

Re: UIMA 2.2 Class Loader

Hi danial,
 
               i think i am doing simailar to u.i need help from u.i will tell u what i have done and what i want to achive.
 
                    till now i have done one sample program similar to hello world,ie look for string in mutiple files ie is done.here every thing is hard coded.so what ihave done is i have strted using the parameters in analysisengine descriptor.here i am getting an error saying that
 
"alysis_engine.analysisEngineProcessException:Annotator processing failed
caused by :java.lang.illegalStateException:no match avilable"".
 
i think error is there in annotator java class.here i will give u the code for it can u help me back... 
 
i am attching file which contain javaclass

 
On 8/31/07, Danai Wiriyayanyongsuk <danaiw-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
Thanks Michael. Yes, I have my primitive engines available as PEAR files. I
also have the auto-generated PEAR descriptors.

Michael's Quote: "This descriptor have to be used in the aggregate to refer
to the primitive AEs."
Question: How to refer the PEAR descriptors to their primitive AEs in the
aggregate? Is it documented somewhere? In the aggregate AE description, I
tried to specify the location of the PEAR descriptors in
"delegateAnalysisEngine/import" but didn't work.

Thanks,
Danai Wiriyayanyongsuk


On 8/30/07, Michael Baessler < mba-u1jPNj63thlBCmbT3hnC1hvVK+yQ3ZXh@public.gmane.org> wrote:
>
> Are your primitive engines available as PEAR files? That is needed since
> only if you have them as PEAR files
> you can use the PEAR descriptor.
>
> After you have installed the PEAR files a PEAR descriptor is
> automatically generated (located in the install directory). This
> descriptor have to
> be used in the aggregate to refer to the primitive AEs.
>
> -- Michael
>
> Danai Wiriyayanyongsuk wrote:
> > Thanks Marshall for the information and for asking :)
> >
> > What I have tried is that I have a description of an aggregate analysis
> > engine which has 4 primitive analysis engine defined. Those primitive AE
> > descriptions are all fully defined (no imports) under the
> > "delegateAnalysisEngine/analysisEngineDescription" tag. I do this
> because
> > those primitive AE descriptions are generated on the fly. For one thing,
> > each primitive AE has its own PEAR-compliant directory. In this case, I
> > could not figure out how to tell UIMA the location those directories.
> >
> > Excerpt from section 5.8 in the UIMA References page:
> > "As of version 2.2, the framework supports component descriptors which
> are
> > PEAR descriptors. These descriptors define components plus include
> > information on the class path needed to run them."
> > Question: To get the individual class loader for each primitive AE
> defined
> > in an aggregate AE, do we have to specify/map the PEAR descriptor
> > (<componentID>_pear.xml?) for each of every primitive AE? If so, where
> and
> > how to do it?
> >
> > Any comments/recommendations would be appreciated.
> >
> > Thanks,
> > Danai Wiriyayanyongsuk
> >
> >
> >
> > On 8/29/07, Marshall Schor < msa-DzKsKX1/Fv4AvxtiuMwx3w@public.gmane.org> wrote:
> >
> >> Version 2.2 includes support for aggregates composed of PEAR
> >> descriptors, which include the class path information.
> >>
> >> This should allow you to run a pipeline where each annotator could have
> >> different versions of classes.
> >> See
> >>
> >>
> http://incubator.apache.org/uima/downloads/releaseDocs/2.2.0-incubating/docs/html/references/references.html#ugr.ref.jcas.pear_support
> >>
> >> Is that what you're trying to do?
> >>
> >> -Marshall
> >>
> >> Danai Wiriyayanyongsuk wrote:
> >>
> >>> Hi Guys,
> >>>
> >>> I'd like to ask a couple of questions regarding the classloader in
> UIMA
> >>>
> >> 2.2.
> >>
> >>> For an aggregate analysis engine, is there a way to have/set different
> >>>
> >> class
> >>
> >>> loaders for each aggregated primitive analysis engines, so that the
> >>>
> >> classes
> >>
> >>> won't interfere each others?
> >>>
> >>> If there is so, could you please shed some light how to do it? I've
> >>>
> >> looked
> >>
> >>> into the source code and documentation but no luck :(
> >>>
> >>> Many Thanks,
> >>> Danai Wiriyayanyongsuk
> >>>
> >>>
> >>>
> >>
> >
> >
>
>

public class SampleAnnotator extends JCasAnnotator_ImplBase {
	
	
	  private Pattern[] mPatterns;
	  
	  private String [] mLocations;
	  
	  /**
	   * @see AnalysisComponent#initialize(UimaContext)
	   */
	  public void initialize(UimaContext aContext)
	    throws ResourceInitializationException
	  {
	    super.initialize(aContext);
	    //Get config. parameter values
	    String[] patternStrings = 
	      (String[])aContext.getConfigParameterValue("patterns");
	    //String[] patternStrings = 
		      //(String[])aContext.getConfigParameterValue("Locations");
	    mLocations = (String[])aContext.getConfigParameterValue("patterns");
	    mLocations = (String[])aContext.getConfigParameterValue("Locations");
	    
	    mPatterns = new Pattern[patternStrings.length];
	    for (int i = 0; i < patternStrings.length; i++)
	    {
	      mPatterns[i] = Pattern.compile(patternStrings[i]);  
	    }
	      mPatterns = new Pattern[patternStrings.length];
		    for (int j = 0; j < patternStrings.length; j++)
		    {
		      mPatterns[j] = Pattern.compile(patternStrings[j]);  
		    }    
	     
	   
	   
	  }

	  /**
	   * @see JCasAnnotator_ImplBase#process(JCas)
	   */
	  public void process(JCas aJCas)
	    throws AnalysisEngineProcessException
	  {
	    //get document text
	    String docText = aJCas.getDocumentText();
	    
	    //loop over patterns
	    for (int i = 0; i < mPatterns.length; i++)
	    {
	      Matcher matcher = mPatterns[i].matcher(docText);
	      int pos = 0;
	      while (matcher.find(pos))
	      {
	        //found one - creation annotation
	        TestType annotation = new TestType(aJCas);
	        annotation.setBegin(matcher.start());
	        annotation.setEnd(matcher.end());
	        annotation.addToIndexes();
	        annotation.setTestType(mLocations[i]);
	       
	        pos = matcher.end();
	        getContext().getLogger().log(Level.FINEST,"Found: " + annotation);
	      }
	      for (int j = 0; i < mPatterns.length; i++)
		    {
		      Matcher matcher1 = mPatterns[j].matcher(docText);
		      int pos1 = 0;
		      while (matcher.find(pos1))
		      {
		        //found one - creation annotation
		        TestType annotation = new TestType(aJCas);
		        annotation.setBegin(matcher1.start());
		        annotation.setEnd(matcher1.end());
		        annotation.addToIndexes();
		        annotation.setTestType(mLocations[j]);
		       
		        pos1 = matcher.end();
		        getContext().getLogger().log(Level.FINEST,"Found: " + annotation);
		      }
	    }  
	  }

	  }
	  }

Katrin Tomanek | 6 Sep 08:58
Picon
Picon
Favicon

Re: Create TypeSystem object programatically


Thanks Thilo, this is exactly what I was looking for ;-)

Regards,
Katrin	

Thilo Goetz wrote:
> Katrin Tomanek wrote:
>> Hi,
>>
>> is there a way to instantiate a type system object in UIMA by reading
>> the type system descriptor xml file?
>>
>> So, what I try to circumvent is that I can only get my type system
>> object from a CAS or an AE or so.
>>
>> Any hints?
>>
>> Thanks,
>> Katrin
> 
> Hi Katrin,
> 
> there is no easy way to create a type system without a CAS, but
> there's a fairly painless way to create a CAS from just a type
> system descriptor.  You can then just grab the type system from
> that CAS.  Here are a few lines of code that do that:
> 
> package org.apache.uima.test;
> 
> import java.io.IOException;
> 
> import org.apache.uima.UIMAFramework;
> import org.apache.uima.cas.TypeSystem;
> import org.apache.uima.resource.ResourceInitializationException;
> import org.apache.uima.resource.metadata.TypeSystemDescription;
> import org.apache.uima.util.CasCreationUtils;
> import org.apache.uima.util.InvalidXMLException;
> import org.apache.uima.util.XMLInputSource;
> import org.apache.uima.util.XMLParser;
> 
> public class TypeSystemTest {
> 
>   private static TypeSystem createTypeSystemFromDescriptor(String tsDescriptorName)
>       throws InvalidXMLException, IOException, ResourceInitializationException {
>     // Get XML parser from framework
>     XMLParser xmlParser = UIMAFramework.getXMLParser();
>     // Parse type system descriptor
>     TypeSystemDescription tsDesc = xmlParser.parseTypeSystemDescription(new XMLInputSource(
> 	tsDescriptorName));
>     // Use type system description to create CAS and get the type system object
>     return CasCreationUtils.createCas(tsDesc, null, null).getTypeSystem();
>   }
> 
>   public static void main(String[] args) {
>     try {
>       // Create type system
>       TypeSystem ts = createTypeSystemFromDescriptor(args[0]);
>       // Print type system to stdout for verification
>       System.out.println(ts.toString());
>     } catch (Exception e) {
>       e.printStackTrace();
>     }
>   }
> 
> }
> 
> HTH,
> Thilo

vijay vijay | 6 Sep 11:04
Picon

regarding uima in apache

Hi
          i have on general comman,sill thinh to ask u?i want to usea pache
to devlop this uima.till now i am using eclipse ide.
can any one spend their valuable time and give me links for it.

vijay
Andrew Shirk | 6 Sep 16:25
Picon

Re: read/write resource sharing

Hi Marshall,

Sorry for the delayed response. I've been on vacation for a week....

This is extremely helpful, and I thank you for taking the time to 
explain it in such depth.

I'll let you know if I run into any more roadblocks.

Andrew

At 09:15 AM 8/30/2007, you wrote:
>Hi Andrew and everyone reading this thread -
>
>There are some misconceptions, I think, in this thread, caused by some
>imprecise language in our Javadocs, perhaps.
>
>The way external resources are shared among annotators is that the XML
>descriptors specify an "interface" and an "implementation".  Multiple
>external resource dependencies can be specified to share the same
>implementation.  Aggregates can override the implementation specified in
>their delegates.
>
>One instance of the implementation class is created by the framework;
>this instance is "shared" by all annotators running in the same JVM.
>
>This shared implementation can by user-written, and can do anything it
>wants.  For instance, it could keep an in-memory copy of some data and
>make it available to all the annotators sharing this; the design of both
>the interface and the concrete implementation class is up to you.
>
>That being said, the framework supplies some example interfaces /
>implementations for this, one of which is "DataResource".  If you look
>at the implementation of DataResource - you can see that the thought
>behind the Javadoc comment "if you directly access the resource, the
>benefits of the ResourceManager  (caching and sharing) are lost" is
>perhaps misleading.  The "caching" being contemplated here was to read a
>remote (assume slow to access) file and write it out in the local file
>system, to be accessed more quickly.  However ***this is not
>implemented***.    The impl code (which you can see on-line if  you
>don't want to download the source, it is here for release 2.2:
>http://svn.apache.org/viewvc/incubator/uima/uimaj/tags/uimaj-2.2.0/uimaj-2.2.0-incubating/uimaj-core/src/main/java/org/apache/uima/resource/impl/DataResource_impl.java?view=markup
>) says
>/**
>  * A simple {@link DataResource} implementation that can read data from
>a file via a URL. There is
>  * an attribute for specifying the location of a local cache for a
>remote file, but this is not
>  * currently being used.
>  */
>
>The getInputStream() method of this, when called by different annotators
>sharing the same instance, will return a new, unshared input stream,
>each time this is called.
>
>So - I think this resource is probably not what you want.
>
>You might want to implement your own resource, to do exactly the kind of
>sharing you want.  If you do, please keep in mind the different possible
>deployment alternatives that others using your components may set up.
>For instance, if they deploy things with some scale-out where multiple
>instances are running concurrently in the same JVM, then you will need
>to insure that your implementation is thread-safe, and follows the rules
>for Java memory model.  This will involve using "synchronized" or
>"volatile" keywords, for instance, in appropriate spots.
>
>Furthermore, if your components could be deployed in some arrangement
>where some of them are running on different JVMs (perhaps scaled out
>across multiple hosts, for instance), then to actually share data,
>you'll need to use the same techniques used in web servers that do this
>- for instance, putting shared data into a database, and having all the
>parts access that database.
>
>I hope this is helpful, but please let me know if I've misunderstood the
>questions...
>
>-Marshall
>
>Andrew Shirk wrote:
> > Hi Michael,
> >
> > Yes, that's the approach I started with, but the DataResource javadoc
> > indicates that if you directly access the resource, the benefits of
> > the ResourceManager  (caching and sharing) are lost. Furthermore, if
> > in my SharedResourceObject implementation I make modifications to the
> > resource, then it will be out of sync with the ResourceManager's
> > cache. The next annotator very well may get the stale version of the
> > resource.
> >
> > Thilo, I'm afraid that's the approach I may end up having to use, but
> > it's really a kludge.
> >
> > Is there no global variable space, outside of the CAS, for the entire
> > aggregate? If there were, that would be the best solution I think...
> >
> > Thanks for the suggestions.
> >
> > Andrew
> >
> > At 11:27 AM 8/29/2007, you wrote:
> >> Another possibility are external resources. When defining external
> >> resources one or more annotators can share the same resource.
> >> The UIMA framework take care of the resource's life cycle.
> >> You will find some documentation about external resources in the UIMA
> >> reference guide at 2.4.1.10. External Resource Dependencies.
> >> You can also check the UIMA examples - tutorial ex6 use external
> >> resources. (apache-uima/examples/descriptors/tutorial/ex6)
> >>
> >> -- Michael
> >>
> >> Thilo Goetz wrote:
> >>> If this happens often, one idea might be just to
> >>> stick the information in the CAS.  That way you
> >>> can even run several instances of this pipeline
> >>> and it will still work ;-)  Of course you're not
> >>> persisting the info that way, not sure if this is
> >>> a requirement or not.
> >>>
> >>> --Thilo
> >>>
> >>> Andrew Shirk wrote:
> >>>
> >>>> What is the best practice for sharing read/write resources amongst
> >>>> analysis engines in an aggregate? For example, say you have an
> >>>> annotator
> >>>> early in a flow that reads a configuration file off disk in order
> >>>> determine its behavior. Then, the next annotator does something, and
> >>>> needs to write changes to the configuration file so that another
> >>>> annotator downstream, whose behavior is also determined by the
> >>>> contents
> >>>> of the configuration file, can read in the resource that contains the
> >>>> changes.
> >>>>
> >>>> Does this make sense?
> >>>>
> >>>> Any help or ideas would be appreciated. I can think of some ugly
> >>>> hacks,
> >>>> but it would be nice to know if I'm missing some portion of the API
> >>>> that
> >>>> supports this type of scenario.
> >>>>
> >>>> Thanks, Andrew
> >>>>
> >
> >
> >

vijay vijay | 10 Sep 08:48
Picon

Re: read/write resource sharing

HI marshall
                      plz don't say this is not the place to ask question
like this.i have to go further,
here is my query
          """" how to write dynamic annotators?my idea behind this is i want
send a requset and i sholud able to convert that as anootattion and look for
that string in given input files""""

plz provide me if u know solution for it.
waiting for ur reply.

thank u vijay

On 9/6/07, Andrew Shirk <shirk@...> wrote:
>
> Hi Marshall,
>
> Sorry for the delayed response. I've been on vacation for a week....
>
> This is extremely helpful, and I thank you for taking the time to
> explain it in such depth.
>
> I'll let you know if I run into any more roadblocks.
>
> Andrew
>
> At 09:15 AM 8/30/2007, you wrote:
> >Hi Andrew and everyone reading this thread -
> >
> >There are some misconceptions, I think, in this thread, caused by some
> >imprecise language in our Javadocs, perhaps.
> >
> >The way external resources are shared among annotators is that the XML
> >descriptors specify an "interface" and an "implementation".  Multiple
> >external resource dependencies can be specified to share the same
> >implementation.  Aggregates can override the implementation specified in
> >their delegates.
> >
> >One instance of the implementation class is created by the framework;
> >this instance is "shared" by all annotators running in the same JVM.
> >
> >This shared implementation can by user-written, and can do anything it
> >wants.  For instance, it could keep an in-memory copy of some data and
> >make it available to all the annotators sharing this; the design of both
> >the interface and the concrete implementation class is up to you.
> >
> >That being said, the framework supplies some example interfaces /
> >implementations for this, one of which is "DataResource".  If you look
> >at the implementation of DataResource - you can see that the thought
> >behind the Javadoc comment "if you directly access the resource, the
> >benefits of the ResourceManager  (caching and sharing) are lost" is
> >perhaps misleading.  The "caching" being contemplated here was to read a
> >remote (assume slow to access) file and write it out in the local file
> >system, to be accessed more quickly.  However ***this is not
> >implemented***.    The impl code (which you can see on-line if  you
> >don't want to download the source, it is here for release 2.2:
> >
> http://svn.apache.org/viewvc/incubator/uima/uimaj/tags/uimaj-2.2.0/uimaj-2.2.0-incubating/uimaj-core/src/main/java/org/apache/uima/resource/impl/DataResource_impl.java?view=markup
> >) says
> >/**
> >  * A simple {@link DataResource} implementation that can read data from
> >a file via a URL. There is
> >  * an attribute for specifying the location of a local cache for a
> >remote file, but this is not
> >  * currently being used.
> >  */
> >
> >The getInputStream() method of this, when called by different annotators
> >sharing the same instance, will return a new, unshared input stream,
> >each time this is called.
> >
> >So - I think this resource is probably not what you want.
> >
> >You might want to implement your own resource, to do exactly the kind of
> >sharing you want.  If you do, please keep in mind the different possible
> >deployment alternatives that others using your components may set up.
> >For instance, if they deploy things with some scale-out where multiple
> >instances are running concurrently in the same JVM, then you will need
> >to insure that your implementation is thread-safe, and follows the rules
> >for Java memory model.  This will involve using "synchronized" or
> >"volatile" keywords, for instance, in appropriate spots.
> >
> >Furthermore, if your components could be deployed in some arrangement
> >where some of them are running on different JVMs (perhaps scaled out
> >across multiple hosts, for instance), then to actually share data,
> >you'll need to use the same techniques used in web servers that do this
> >- for instance, putting shared data into a database, and having all the
> >parts access that database.
> >
> >I hope this is helpful, but please let me know if I've misunderstood the
> >questions...
> >
> >-Marshall
> >
> >Andrew Shirk wrote:
> > > Hi Michael,
> > >
> > > Yes, that's the approach I started with, but the DataResource javadoc
> > > indicates that if you directly access the resource, the benefits of
> > > the ResourceManager  (caching and sharing) are lost. Furthermore, if
> > > in my SharedResourceObject implementation I make modifications to the
> > > resource, then it will be out of sync with the ResourceManager's
> > > cache. The next annotator very well may get the stale version of the
> > > resource.
> > >
> > > Thilo, I'm afraid that's the approach I may end up having to use, but
> > > it's really a kludge.
> > >
> > > Is there no global variable space, outside of the CAS, for the entire
> > > aggregate? If there were, that would be the best solution I think...
> > >
> > > Thanks for the suggestions.
> > >
> > > Andrew
> > >
> > > At 11:27 AM 8/29/2007, you wrote:
> > >> Another possibility are external resources. When defining external
> > >> resources one or more annotators can share the same resource.
> > >> The UIMA framework take care of the resource's life cycle.
> > >> You will find some documentation about external resources in the UIMA
> > >> reference guide at 2.4.1.10. External Resource Dependencies.
> > >> You can also check the UIMA examples - tutorial ex6 use external
> > >> resources. (apache-uima/examples/descriptors/tutorial/ex6)
> > >>
> > >> -- Michael
> > >>
> > >> Thilo Goetz wrote:
> > >>> If this happens often, one idea might be just to
> > >>> stick the information in the CAS.  That way you
> > >>> can even run several instances of this pipeline
> > >>> and it will still work ;-)  Of course you're not
> > >>> persisting the info that way, not sure if this is
> > >>> a requirement or not.
> > >>>
> > >>> --Thilo
> > >>>
> > >>> Andrew Shirk wrote:
> > >>>
> > >>>> What is the best practice for sharing read/write resources amongst
> > >>>> analysis engines in an aggregate? For example, say you have an
> > >>>> annotator
> > >>>> early in a flow that reads a configuration file off disk in order
> > >>>> determine its behavior. Then, the next annotator does something,
> and
> > >>>> needs to write changes to the configuration file so that another
> > >>>> annotator downstream, whose behavior is also determined by the
> > >>>> contents
> > >>>> of the configuration file, can read in the resource that contains
> the
> > >>>> changes.
> > >>>>
> > >>>> Does this make sense?
> > >>>>
> > >>>> Any help or ideas would be appreciated. I can think of some ugly
> > >>>> hacks,
> > >>>> but it would be nice to know if I'm missing some portion of the API
> > >>>> that
> > >>>> supports this type of scenario.
> > >>>>
> > >>>> Thanks, Andrew
> > >>>>
> > >
> > >
> > >
>
>

Gmane