click-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrey Rybin (JIRA)" <j...@apache.org>
Subject [jira] Created: (CLK-622) Spring support is incomplete: Page mapping and auto mapping works not as expected
Date Fri, 05 Feb 2010 10:33:27 GMT
Spring support is incomplete: Page mapping and auto mapping works not as expected
---------------------------------------------------------------------------------

                 Key: CLK-622
                 URL: https://issues.apache.org/jira/browse/CLK-622
             Project: Click
          Issue Type: Bug
            Reporter: Andrey Rybin
             Fix For: 2.1.0, 2.1.0 RC1


Example:

webroot:
  /my-page.htm or /MyPage.htm, etc

click.xml
  <pages package="some.path"  autobinding="annotation" />

spring.xml
<bean id="myPage" class="other.package.CoolPage" name="MyPage, some.path.MyPage, please.be.happy"
/>

This should work, generally speaking. 
Because Click actually has all parts it needs: htm and code.
But, It doesn't work!

XmlConfigService knows nothing about Spring, so it want some.path.MyPage.class!

If we put this fake "public class MyPage extends Page {}" in "some.path" package - it will
work as expected.

Click will map MyPage.htm to some.pathMyPage.class , then it will load myPage or some.pathMyPage
bean and "other.package.CoolPage" class will be used!

Actually I can write Spring bean in scripting language and not to have classes at all!

My suggestion: SpringClickServlet should try not only class name received from ConfigService,
but also htm-to-correct bean-name (myPage) and webpath-to-correct bean-name (for page /foo_a/bar/my-page.htm
it can be fooA_bar_MyPage -- note _ vs . because . can't be used in bean id).

PS: because . can't be used in Spring bean (any XML tag?) id,
may be you should change class-to-bean name conversion in SpringClickServlet too.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message