lucene-pylucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Heimes <li...@cheimes.de>
Subject Re: Problems passing PyLucene objects to jcc-wrapped bobo-browse api
Date Thu, 13 May 2010 23:41:27 GMT
Am 13.05.2010 20:27, schrieb Andi Vajda:
> Here is an idea that I think should work but I couldn't test it because bobo
> is built from maven and pylucene isn't.
>
> Basically, the idea is that you must be really careful in not having Lucene
> classes come from two or more different places:
>    1. build pylucene the usual way
>    2. build bobo by giving it the lucene jar files that are inside pylucene's
>       lucene egg by setting the classpath accordingly:
>       $ CLASSPATH=`python -c 'import lucene; print lucene.CLASSPATH'`
>    3. build the bobo extension with jcc using the same classpath and by _not_
>       using --jar or --include with any of the lucene jar files already inside
>       pylucene's lucene egg, relying solely on the classpath for finding
>       lucene classes
>    4. Once all is built, you don't need to set any classpath in addition to
>       what the initVM() calls are already doing:
>       >>>  import lucene; lucene.initVM()
>       >>>  import bobo; bobo.initVM()
>       The bobo extension adds its classpath to what lucene's already setup
>       and finds the lucene classes there.
>
> Again, I didn't test this because it's too much work to disentangle the bobo
> build from maven so that I can control where things are coming from.
> You understand the bobo build better and can probably try this quicker.

Thanks for the suggestion, Andi! I'll try your suggestion on Monday. I 
hope it's sufficient to create a working version of lucene + bobo-browse 
in order to provide my co-worker Julian a foundation for his work on 
bobo-browse. But I fear that it's not going to work. I carefully 
excluded any jar file from the bobobrowse egg that is already part of 
pylucene (--classpath instead of --include or --jar). The lucene class 
are probably wrapped because bobo-browse references the classes in its 
jar file.

By the way I've created the Makefile for bobo-browse based on your 
Makefile for pylucene. With your template and your good work it was 
trivial to create the Python bindings. Thanks ;)

I've an idea how you can solve the inter-package issue. Is it possible 
to create some kind of type interference for JCC types that point to the 
same Java class (e.g. lucene.Query.class_ == bobobrowse.Query.class_)?

Christian

Mime
View raw message