lucene-pylucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Roman Chyla <roman.ch...@gmail.com>
Subject Re: cannot instantiate HashMap until after shared-module initVM()
Date Mon, 14 Feb 2011 10:22:31 GMT
Hi,
I finally managed to try it out and I can confirm that adding
java.util.HashMap into the lucene Makefile solves this (I was already
doing --import lucene). Though I didn't see HashSet in the makefile
(pylucene_2_9 branch)

Thank you,

  Roman

On Sat, Feb 5, 2011 at 8:15 AM, Andi Vajda <vajda@apache.org> wrote:
>
> On Sat, 5 Feb 2011, Roman Chyla wrote:
>
>> Hi Andi, all,
>>
>> I have just came across behaviour which seems strange -- I have built
>> lucene and wrapped solr + my own extension with JCC (ver. 2.7; OS is
>> Mac, Python 32bi 2.6; using generics in all of the packages) All of
>> the packages are compiled in the shared mode -- I import them in the
>> correct order of: lucene, solr, my extension.
>>
>> Now i realized it was not possible to initialize a HashMap until the
>> first extension (in this case lucene) is started
>>
>> Is this the effect of building them in the shared mode - where one
>> depends on one another?
>
> Are you using the --import flag with JCC to build your modules ?
> This flag helps to avoid duplication of classes and wrappers and such
> confusion.
> 1. build lucene as usual
> 2. build other modules that depend on lucene with --import lucene
> If you're already doing so, maybe you need to add HashMap to the list of
> classes being wrapped in lucene's Makefile (not there currently, only
> HashSet is).
>
> Andi..
>
>>
>> Thank you,
>>
>>  roman
>>
>> In [1]: from solrpie import initvm
>> Warning: we add the default folder to sys.path:
>> /x/dev/workspace/sandbox/solrpie/build/dist
>>
>> In [2]: sj = initvm.solrpie_java
>>
>> In [3]: sj.initVM()
>> Out[3]: <jcc.JCCEnv object at 0x194b70>
>>
>> In [4]: sj.Hash
>> sj.HashDocSet  sj.HashMap     sj.HashSet     sj.Hashtable
>>
>> In [4]: sj.HashMap().of_(sj.String, sj.String)
>>
>> ---------------------------------------------------------------------------
>> InvalidArgsError                          Traceback (most recent call
>> last)
>>
>> /x/dev/workspace/sandbox/solrpie/python/<ipython console> in <module>()
>>
>> InvalidArgsError: (<type 'HashMap'>, 'of_', (<type 'String'>, <type
>> 'String'>))
>>
>> In [5]: import lucene
>>
>> In [6]: sj.HashMap().of_(lucene.String, lucene.String)
>>
>> ---------------------------------------------------------------------------
>> InvalidArgsError                          Traceback (most recent call
>> last)
>>
>> /x/dev/workspace/sandbox/solrpie/python/<ipython console> in <module>()
>>
>> InvalidArgsError: (<type 'HashMap'>, 'of_', (<type 'String'>, <type
>> 'String'>))
>>
>> In [7]: lucene.HashMap().of_(lucene.String, lucene.String)
>>
>> ---------------------------------------------------------------------------
>> InvalidArgsError                          Traceback (most recent call
>> last)
>>
>> /x/dev/workspace/sandbox/solrpie/python/<ipython console> in <module>()
>>
>> InvalidArgsError: (<type 'HashMap'>, 'of_', (<type 'String'>, <type
>> 'String'>))
>>
>> In [8]: lucene.initVM()
>> Out[8]: <jcc.JCCEnv object at 0x194cd0>
>>
>> In [9]: lucene.HashMap().of_(lucene.String, lucene.String)
>> Out[9]: <HashMap: {}>
>>
>> In [10]: sj.HashMap().of_(sj.String, sj.String)
>> Out[10]: <HashMap: {}>
>>
>

Mime
View raw message