Can you write a unit test that reproduces it and submit that to JIRA with your patch?

Christian.

On 15-Jan-09, at 11:40 , Fernando Padilla wrote:

Yes I found the issue and submitted a patch in that bug. A simple 2 line change, but Howard can't reproduce it in the unit tests.. so he ignored it. :( :( :(

You should go comment/vote/watch that bug, to get howards attention; that I'm not crazy. :)

It might ultimately be some weird interaction in how modules are being loaded up, which would be hard to reproduce in unit tests.. but conceptually, just reading the code, I still think it's a bug.

https://issues.apache.org/jira/browse/TAP5-443



On 1/15/09 3:15 AM, Joost Schouten (mailing lists) wrote:
Though the JIRA issue states this is resolved, I have this same
problem. When I pull tapestry-upload out of my dependencies, all is
fine. But I need it there ;-)

Fernando: Did you manage to find out what was wrong on your end or are
you still battling this?

Cheers,
Joost

On Fri, Jan 9, 2009 at 1:19 PM, Fernando Padilla<[email protected]> wrote:
I think I just figured out the bug in tapestry:

https://issues.apache.org/jira/browse/TAP5-443

Could you review and apply the patch??



Fernando Padilla wrote:
Are the issues fixed?

I am doing a clean build from svn/trunk, and I still see this issue.

At the bottom of the email, is a slightly better styled version of the
logs.  But here are some possible issues:

Should ComponentEventRequestHandlerImpl mark both @Traditional and
@Primary, for the the resultProcessor??

class ComponentEventRequestHandlerImpl {
   public ComponentEventRequestHandlerImpl(
           @Traditional @Primary
           ComponentEventResultProcessor resultProcessor,

           RequestPageCache cache, Response response,

           ActionRenderResponseGenerator generator,

           Environment environment)
   {
}



Is TapestryModule trying to be too cute in referencing
ComponentInstanceResultProcessor.  It registers it as generic
ComponentEventResultProcessor, but then tries to refer to it explicitly by using markers @Traditional @ComponentInstanceProcessor. Why not just refer to it, via direct type or service name ComponentInstanceResultProcessor.

class TapestryModule {
   public bind(){
       binder.bind(ComponentEventResultProcessor.class,
ComponentInstanceResultProcessor.class).withId(
               "ComponentInstanceResultProcessor");
   }

   public void contributeComponentEventResultProcessor(
           @Traditional @ComponentInstanceProcessor
ComponentEventResultProcessor componentInstanceProcessor,

MappedConfiguration<Class, ComponentEventResultProcessor>
configuration)
   {...
}







Here is a slightly better styled version of the logs:


Unable to locate a single service assignable to type
org.apache.tapestry5.services.ComponentEventResultProcessor with marker annotation(s) org.apache.tapestry5.services.Traditional. All of the
following services match:
org .apache .tapestry5 .internal.services.ComponentInstanceResultProcessor(Logger,
RequestPageCache, ActionRenderResponseGenerator) (at
ComponentInstanceResultProcessor.java:38) via
org.apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at
TapestryModule.java:148),
org .apache .tapestry5 .services.TapestryModule.buildComponentEventResultProcessor(Map)
(at TapestryModule.java:1097).

[ 1] Realizing service ComponentEventRequestHandler
[ 2] Invoking
org .apache .tapestry5 .services.TapestryModule.buildComponentEventRequestHandler(List, Logger, ComponentEventRequestHandlerImpl) (at TapestryModule.java: 1290)
[ 3] Determining injection value for parameter #1 (java.util.List)
[ 4] Collecting ordered configuration for service
ComponentEventRequestHandler
[ 5] Invoking method
org .apache .tapestry5 .upload .services .UploadModule .contributeComponentEventRequestHandler(OrderedConfiguration,
ObjectLocator) (at UploadModule.java:94).
[ 6] Determining injection value for parameter #2
(org.apache.tapestry5.services.ComponentEventResultProcessor)





Howard Lewis Ship wrote:
There were problems in the nightly build, so there's a slightly
mismatched set of modules there.

On Wed, Jan 7, 2009 at 11:25 AM, Fernando Padilla<[email protected] >
wrote:
We came in this morning and now tapestry won't run properly :(

We keep getting this exception.. any ideas what could be going on?
(we're
pointing to the snapshot repository)


2009-01-07 11:23:06,395 [btpool0-1] ERROR
org.apache.tapestry5.ioc.Registry
- Unable to locate a single service assignable to type
org.apache.tapestry5.services.ComponentEventResultProcessor with marker annotation(s) org.apache.tapestry5.services.Traditional. All of the
following services match:

org .apache .tapestry5 .internal.services.ComponentInstanceResultProcessor(Logger,
RequestPageCache, ActionRenderResponseGenerator) (at
ComponentInstanceResultProcessor.java:38) via
org .apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at
TapestryModule.java:147),

org .apache .tapestry5 .services.TapestryModule.buildComponentEventResultProcessor(Map)
(at TapestryModule.java:1066).
2009-01-07 11:23:06,395 [btpool0-1] ERROR
org.apache.tapestry5.ioc.Registry
- Operations trace:
2009-01-07 11:23:06,395 [btpool0-1] ERROR
org.apache.tapestry5.ioc.Registry
- [ 1] Realizing service ComponentEventRequestHandler
2009-01-07 11:23:06,395 [btpool0-1] ERROR
org.apache.tapestry5.ioc.Registry
- [ 2] Invoking

org .apache .tapestry5 .services.TapestryModule.buildComponentEventRequestHandler(List, Logger, ComponentEventRequestHandlerImpl) (at TapestryModule.java:1259)
2009-01-07 11:23:06,395 [btpool0-1] ERROR
org.apache.tapestry5.ioc.Registry
- [ 3] Determining injection value for parameter #1 (java.util.List)
2009-01-07 11:23:06,395 [btpool0-1] ERROR
org.apache.tapestry5.ioc.Registry
- [ 4] Collecting ordered configuration for service
ComponentEventRequestHandler
2009-01-07 11:23:06,395 [btpool0-1] ERROR
org.apache.tapestry5.ioc.Registry
- [ 5] Invoking method

org .apache .tapestry5 .upload .services .UploadModule .contributeComponentEventRequestHandler(OrderedConfiguration,
ObjectLocator) (at UploadModule.java:94).
2009-01-07 11:23:06,395 [btpool0-1] ERROR
org.apache.tapestry5.ioc.Registry
- [ 6] Determining injection value for parameter #2
(org.apache.tapestry5.services.ComponentEventResultProcessor)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Christian Edward Gruber
[email protected]




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to