[mercury-users] Re: java / threads / UIMA

Tomas By tomas at basun.net
Thu Aug 18 00:07:21 AEST 2011


Um...

I don't think I am initializing Mercury. Perhaps that could be the
problem?

Shouldn't there be some error msg?

/Tomas



On Wed, August 17, 2011 16:00, Tomas By wrote:
> Hi all,
>
> I have a Mercury predicate that is currently not doing anything:
>
> | :- pred lexlookup(string::in) is det.
> | lexlookup(_).
> |
> | :- pragma foreign_export("Java",lexlookup(in),"lexlookup").
>
> which is called by a Java procedure:
>
> | public void process(JCas jcas) throws AnalysisEngineProcessException {
> |   String text = jcas.getDocumentText();
> |   lexlookup.lexlookup(text);
> |   System.out.println("done");
> | }
>
> overriding a `method' in a class that `extends' JCasAnnotator_ImplBase,
> which means it is a UIMA `annotator' (see uima.apache.org).
>
> Here is the call:
>
> | class ProcessLexicon extends SwingWorker<Void,Void> {
> |   @Override
> |   public synchronized Void doInBackground() {
> |     try {
> |       Global.lex_engine.process(Global.cas);
> |     } catch (Exception x) {
> |       x.printStackTrace();
> |     }
> |     return null;
> |   }
> |   @Override
> |   public void done() {
> |   }
> | }
>
> The idea being that it runs in a separate thread.
>
> However, it does not seem to terminate. The `done' is never printed.
>
> Any ideas what goes wrong? How can I debug it?
>
> /Tomas
>
>


--------------------------------------------------------------------------
mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the users mailing list