Thanks -- merged it into the existing bug report for that.  If you're able
to come up with a solution, please post it to issue 278.  Thanks!

sam

On Tue, Mar 22, 2011 at 6:20 PM, Jeff Butler <[email protected]> wrote:

> Got it.  Here's the issue report:
>
> http://code.google.com/p/google-guice/issues/detail?id=619
>
> The problem comes when you specify a global type converter.  This
> causes the Struts2Factory ti initialize too early.  I'm not confident
> that my one line fix is correct in all cases so I'll keep looking into
> it.
>
> Jeff Butler
>
> On Tue, Mar 22, 2011 at 4:26 PM, Jeff Butler <[email protected]>
> wrote:
> > I'll work on it, but I'm having a hard time duplicating the error so
> > it might be something on my side.  I'm trying to figure out what's
> > different between my failing app and my working test app.
> >
> > Jeff Butler
> >
> >
> > On Tue, Mar 22, 2011 at 2:20 PM, Sam Berlin <[email protected]> wrote:
> >> Can you create an issue on the tracker with the fix & a test (that
> >> previously would have failed, but now passes)?
> >>
> >> sam
> >>
> >> On Tue, Mar 22, 2011 at 3:12 PM, Jeff Butler <[email protected]>
> wrote:
> >>>
> >>> I've been struggling to get my Struts2+SiteMesh+Guice application
> >>> working.  I was getting this stack trace with guice 3.0 rc3 and Struts
> >>> 2.2.1.1:
> >>>
> >>>
> >>> java.lang.NullPointerException
> >>>        com.google.inject.struts2.Struts2Factory
> >>> $ProvidedInterceptor.intercept(Struts2Factory.java:215)
> >>>
> >>>
> >>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> >>> 248)
> >>>
> >>>
> org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:
> >>> 52)
> >>>
> >>> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:
> >>> 485)
> >>>
> >>>
> >>>
> org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:
> >>> 77)
> >>>
> >>>
> >>>
> org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:
> >>> 88)
> >>>
> >>>
> com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:
> >>> 162)
> >>>
> >>>
> >>>
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:
> >>> 58)
> >>>
> >>>
> >>>
> com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:
> >>> 129)
> >>>
> >>>
> >>>
> com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:
> >>> 77)
> >>>
> >>>
> com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:
> >>> 162)
> >>>
> >>>
> >>>
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:
> >>> 58)
> >>>
> >>>
> >>>
> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:
> >>> 82)
> >>>
> >>>
> com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:
> >>> 162)
> >>>
> >>>
> >>>
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:
> >>> 58)
> >>>
> >>>
> >>>
> com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:
> >>> 118)
> >>>
> >>>  com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
> >>>
> >>> I did a little investigation and found that Struts is calling
> >>> StrutsFactory.buildInterceptor() AFTER Struts2Factory.createInjector()
> >>> is called.  This means that the created interceptor never has its
> >>> inject() method called, the created interceptor is added to the list
> >>> of provided interceptors AFTER the initialize loop in the
> >>> buildInterceptor() method.
> >>>
> >>> To fix this, I added the line "providedInterceptor.inject()" to the
> >>> end of the buildInterceptor() method and all seems to be working fine.
> >>>
> >>> So, is this a bug, or do I have something configured wrong?
> >>>
> >>> Thanks!
> >>> Jeff Butler
> >>>
> >>> --
> >>> You received this message because you are subscribed to the Google
> Groups
> >>> "google-guice" group.
> >>> To post to this group, send email to [email protected].
> >>> To unsubscribe from this group, send email to
> >>> [email protected].
> >>> For more options, visit this group at
> >>> http://groups.google.com/group/google-guice?hl=en.
> >>>
> >>
> >>
> >
>

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en.

Reply via email to