cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Gentry <mgen...@masslight.net>
Subject Re: cayenne wicket unit test => Current thread has no bound ObjectContext
Date Thu, 22 Apr 2010 16:20:12 GMT
In my case I had a common superclass with a getDataContext() method
which would retrieve the one stored/bound to the current thread by the
filter.  Here is the relevant code I used:


private DataContext dataContext;

public DataContext getDataContext()
{
    if (dataContext == null)
        dataContext = (DataContext) BaseContext.getThreadObjectContext();

    return dataContext;
}


The only reason I cache the dataContext is to save a slight amount of
processing time.  Probably overkill for my purposes.

Hope that helps,

mrg


On Thu, Apr 22, 2010 at 11:59 AM, Arnaud Garcia <arnaud@imagemed-87.com> wrote:
> thanks for answers...
> so,
>
> Yes I am doing a Webapp and I have in my web.xml the cayenne filter....
>
> I am not sure to understand what is the good way to retrieve the
> DataContext... Each time I need it I thought I just need to do
> (DataContext) DataContext.getThreadObjectContext();
>
> So now I just have to do change the DataContext by the BaseContext
> BaseContext.getThreadObjectContext();
>
> since the filter correctly initialized and bind it  to the Thread ....
>
> is it ok ?
>
>
>
>
> 2010/4/22 Joe Baldwin <jfbaldwin@earthlink.net>
>
>> Arnaud,
>>
>> I read right past the "Wicket" reference; it appears that you are creating
>> a webapp.  Michael is correct.  The cayenne filter creates and binds the
>> ObjectContext for you in this case.
>>
>> Sorry for the confusion,
>> Joe
>>
>>
>> On Apr 22, 2010, at 10:13 AM, Michael Gentry wrote:
>>
>> > Did you configure your web.xml file to use the Cayenne web filter?  In
>> > my application (which is Tapestry, but should apply to Wicket, I
>> > think) I have:
>> >
>> >    <filter>
>> >        <filter-name>Cayenne Filter</filter-name>
>> >
>>  <filter-class>org.apache.cayenne.conf.WebApplicationContextFilter</filter-class>
>> >    </filter>
>> >    <filter-mapping>
>> >        <filter-name>Cayenne Filter</filter-name>
>> >        <url-pattern>/*</url-pattern>
>> >    </filter-mapping>
>> >
>> > mrg
>> >
>> >
>> > On Thu, Apr 22, 2010 at 10:00 AM, Arnaud Garcia <arnaud@imagemed-87.com>
>> wrote:
>> >> Hello,
>> >>
>> >> I am working on a Wicket Cayenne application and when I launch the tests
>> I
>> >> have an error when the DataContext is initialized:
>> >>
>> >> This line, DataContext ctxt = (DataContext)
>> >> DataContext.getThreadObjectContext();  throws an
>> >>
>> >> java.lang.IllegalStateException: Current thread has no bound
>> ObjectContext
>> >>
>> >>
>> >> Well, any ideas to set up correctly the tests ?
>> >>
>> >> thanks
>> >>
>> >>
>> >> Arnaud
>> >>
>>
>>
>

Mime
View raw message