Hi,

I have run a number of tests - back and forth - cleaning and rebuilding a project from scratch - and have found the following:

*1.5.3* - WORKS 100%
*1.5.3.1* (essentially a home grown 1.5.3 + DynamicMappingFilter code from 1.5.x branch) - WORKS 100% *1.5.4 Snapshot (*downloaded from project URL) - Does NOT Work Properly (See below)
*1.5.4 Snapshot *(built myself) - Does NOT Work Properly (See below)

Almost always the exception I included in my initial post on this thread would fire so I decided to remove the custom MyActionResolver (which I had included verbatim from Freddy's book and also pasted in my initial post on this thread). After removal the exception still occurs except now the code executed is 100% Stripes (see 1st exception below). At 1st I thought perhaps I had the wrong Stripes jar or something but I have gone back and forth at least 5 times and with the 1.5.3 or 1.5.3.1 Stripes this issue never occurs. I have un-deployed, cleaned the Eclipse project, done a Maven clean, an Eclipse clean, a Maven package, a deployment and finally fired up GlassFish each iteration... just to make sure everything is FULLY on the up and up and 1.5.4 tests fail.

The other exception that occurs at times is the 2nd exception listed below. I have no idea why Stripes would think that there are 2 ActionBeans with the same URL binding because there is only 1. What is bizarre is that I have narrowed down this exception to occur if when I startup my app I go to the /design URI first however if I hit the / URI first then /design the issue does not occur. Again this issue only occurs with the 1.5.4 tests. I should point out that both of these exceptions occur on pages involving nested layouts.

Has anyone else extensively tested 1.5.4 Snapshot with Nested Layouts and found any issues????

ANY ideas anyone... 1.5.4 Snapshot appears unusable for me.

--Nikolaos



[#|2010-10-16T00:17:19.867-0400|INFO|glassfish3.0.1|javax.enterprise.system.std.com.sun.enterprise.v3.services.impl|_ThreadID=25;_ThreadName=http-thread-pool-8080-(1);|[00:17:19,859] WARN net.sourceforge.stripes.exception.DefaultExceptionHandler.warn - Unhandled exception caught by the Stripes default exception handler. java.lang.NoSuchMethodError: net.sourceforge.stripes.controller.UrlBindingFactory.getInstance()Lnet/sourceforge/stripes/controller/UrlBindingFactory; at net.sourceforge.stripes.controller.NameBasedActionResolverHelper.getActionBeanType(NameBasedActionResolverHelper.java:186) at net.sourceforge.stripes.controller.NameBasedActionResolver.getActionBeanType(NameBasedActionResolver.java) at net.sourceforge.stripes.controller.DynamicMappingFilter$2.doFilter(DynamicMappingFilter.java:423) at net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:247) at net.sourceforge.stripes.controller.DynamicMappingFilter.doFilter(DynamicMappingFilter.java:418) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164) at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141) at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:417) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
   at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
   at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
   at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
   at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
   at java.lang.Thread.run(Thread.java:637)
|#]

-----------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------

[#|2010-10-15T23:52:53.222-0400|WARNING|glassfish3.0.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=25;_ThreadName=http-thread-pool-8080-(2);|ApplicationDispatcher[/ui-web] PWC1231: Servlet.service() for servlet jsp threw exception net.sourceforge.stripes.exception.UrlBindingConflictException: The path /app/sel/lang cannot be mapped to a single ActionBean because multiple URL bindings match it. The matching URL bindings are [/app/sel/lang, /app/sel/lang]. If you generated the URL using the Stripes tag library (stripes:link, stripes:url, stripes:form, etc.) then you must embed enough stripes:param tags within the parent tag to produce a URL that maps to exactly one of the indicated matches. If you generated the URL by some other means, then you must embed enough information in the URL to achieve the same end. at net.sourceforge.stripes.controller.UrlBindingFactory.getBindingPrototype(UrlBindingFactory.java:144) at net.sourceforge.stripes.controller.AnnotatedClassActionResolver.getUrlBindingFromPath(AnnotatedClassActionResolver.java:190) at org.lightagents.ui.stripes.extensions.MyActionResolver.getUrlBindingFromPath(MyActionResolver.java:50001) at net.sourceforge.stripes.tag.FormTag.getActionBeanUrlBinding(FormTag.java:100)
   at net.sourceforge.stripes.tag.FormTag.getActionBean(FormTag.java:360)
at net.sourceforge.stripes.tag.InputTagSupport.getActionBean(InputTagSupport.java:392) at net.sourceforge.stripes.tag.InputTagSupport.loadErrors(InputTagSupport.java:350) at net.sourceforge.stripes.tag.InputTagSupport.getFieldErrors(InputTagSupport.java:366) at net.sourceforge.stripes.tag.InputTagSupport.doStartTag(InputTagSupport.java:409) at org.apache.jsp.WEB_002dINF.jsp.page.home_jsp._jspx_meth_s_select_0(home_jsp.java from :344) at org.apache.jsp.WEB_002dINF.jsp.page.home_jsp._jspx_meth_s_form_0(home_jsp.java from :301) at org.apache.jsp.WEB_002dINF.jsp.page.home_jsp._jspx_meth_s_layout$1component_0(home_jsp.java from :227) at org.apache.jsp.WEB_002dINF.jsp.page.home_jsp._jspx_meth_s_layout$1render_0(home_jsp.java from :189) at org.apache.jsp.WEB_002dINF.jsp.page.home_jsp._jspService(home_jsp.java from :115)
   at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:406) at org.apache.jasper.servlet.JspServlet._serviceJspFile(JspServlet.java:483)
   at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java)
   at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:373)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) at net.sourceforge.stripes.controller.DynamicMappingFilter.doFilter(DynamicMappingFilter.java:397) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:820) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:517) at org.apache.catalina.core.ApplicationDispatcher.doDispatch(ApplicationDispatcher.java:488) at org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:379) at org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:336) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:314) at net.sourceforge.stripes.action.ForwardResolution.execute(ForwardResolution.java:110) at net.sourceforge.stripes.controller.DispatcherHelper$7.intercept(DispatcherHelper.java:508) at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:158) at net.sourceforge.stripes.controller.HttpCacheInterceptor.intercept(HttpCacheInterceptor.java:99) at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155) at net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:113) at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155) at net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:74) at net.sourceforge.stripes.controller.DispatcherHelper.executeResolution(DispatcherHelper.java:502) at net.sourceforge.stripes.controller.DispatcherServlet.executeResolution(DispatcherServlet.java:286) at net.sourceforge.stripes.controller.DispatcherServlet.service(DispatcherServlet.java:170)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at net.sourceforge.stripes.controller.DynamicMappingFilter$2.doFilter(DynamicMappingFilter.java:431) at net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:247) at net.sourceforge.stripes.controller.DynamicMappingFilter.doFilter(DynamicMappingFilter.java:418) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164) at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141) at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:417) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
   at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
   at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
   at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
   at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
   at java.lang.Thread.run(Thread.java:637)
|#]



Freddy Daoud wrote:
I built from the source of build 1305 from branches/1.5.x
and did not get this error. What could the problem be?

Freddy

On Sat, 09 Oct 2010 23:27:23 -0400, "Nikolaos Giannopoulos"
<[email protected]> said:
Hmmm... this one is really bizarre.

I even tried compiling my own 1.5.4 Snapshot and the problem persists. Switched back to 1.5.3 and the problem went away. Back to 1.5.4 Snapshot and the problem again. And back and back again.

The exception and MyActionResolver are provided below.

At this point I can't test 1.5.4 Snapshot.

Ideas anyone????

--Nikolaos



Nikolaos Giannopoulos wrote:
Hi,

I finally had the time to switch to 1.5.4 Snapshot (once again) and give it a spin after all the great updates / commits.

However I get the following error early on in request processing. Any ideas anyone?

I have done a Maven clean... an Eclipse clean... at least a 1/2 dozen times each. All my tests pass but I can't get glassfish going. It all worked fine on 1.5.3.

Anyone have any clue.

--Nikolaos


[#|2010-10-09T21:16:44.219-0400|INFO|glassfish3.0.1|javax.enterprise.system.std.com.sun.enterprise.v3.services.impl|_ThreadID=26;_ThreadName=http-thread-pool-8080-(2);|[21:16:44,215] WARN net.sourceforge.stripes.exception.DefaultExceptionHandler.warn - Unhandled exception caught by the Stripes default exception handler. java.lang.NoSuchMethodError: net.sourceforge.stripes.controller.UrlBindingFactory.getInstance()Lnet/sourceforge/stripes/controller/UrlBindingFactory; at net.sourceforge.stripes.controller.NameBasedActionResolverHelper.getActionBeanType(NameBasedActionResolverHelper.java:186) at net.sourceforge.stripes.controller.NameBasedActionResolver.getActionBeanType(NameBasedActionResolver.java) at org.lightagents.ui.stripes.extensions.MyActionResolver.getActionBeanType(MyActionResolver.java:50001) at net.sourceforge.stripes.controller.DynamicMappingFilter$2.doFilter(DynamicMappingFilter.java:424) at net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:247) at net.sourceforge.stripes.controller.DynamicMappingFilter.doFilter(DynamicMappingFilter.java:418) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164) at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141) at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:417) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
    at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
    at java.lang.Thread.run(Thread.java:637)
|#]



public class MyActionResolver extends NameBasedActionResolver {


    @Override
    protected String getBindingSuffix() {
        return "";
    }

    @Override
    protected String getUrlBinding(String actionBeanName) {
        String result = super.getUrlBinding(actionBeanName);
// COMMENTED OUT: As I don't think it necessary to force lower case as all URLs in app are lower case
        // result = convertToLowerCaseWithUnderscores(result);
        return result;
    }
}



------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development


------------------------------------------------------------------------------
Download new Adobe(R) Flash(R) Builder(TM) 4
The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly 
Flex(R) Builder(TM)) enable the development of rich applications that run
across multiple browsers and platforms. Download your free trials today!
http://p.sf.net/sfu/adobe-dev2dev
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development

Reply via email to