[seam-issues] [JBoss JIRA] Commented: (JBSEAM-4543) seam-gen should not use resources:// for things that are in web/view content

Alexander Smirnov (JIRA) jira-events at lists.jboss.org
Tue Feb 16 17:57:10 EST 2010


    [ https://jira.jboss.org/jira/browse/JBSEAM-4543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12514817#action_12514817 ] 

Alexander Smirnov commented on JBSEAM-4543:
-------------------------------------------

Finally, I got JBDS Seam project running under debugger and trace stylesheet processing step by step. I'm sorry, but my initial conclusion was initiated by my own neglecting. 
All ServletContext methods are working properly, but Jboss AS 4.x has an unexpected behavior: all web application content is available by classloader, so I caught null return value from classloader's #getResourceAsStream method! Therefore, RichFaces resource framework processes the same resource from classloader in the AS 4.2 but as static web application content in the 5.x environment.

Finally, we can make the two possible solutions :
1) Change seam-gen/JBDS template to move .xcss file into java source folder.
2) Change RichFaces framework to process static resources in the same way as Jar content.
I'm going to implement option 2.

> seam-gen should not use resources:// for things that are in web/view content
> ----------------------------------------------------------------------------
>
>                 Key: JBSEAM-4543
>                 URL: https://jira.jboss.org/jira/browse/JBSEAM-4543
>             Project: Seam
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 2.1.2.GA, 2.2.0.GA
>         Environment: winxp x86, jdk6, jboss5
>            Reporter: Jacques Lemire
>            Assignee: Dan Allen
>            Priority: Blocker
>             Fix For: 2.2.1.CR1
>
>
> seam-gen templates are using resource:// for things that are not on the classpath (currently build.xml hacks around this by duplicating the .xcss files in the war)
> Original description:
> In projects generated through "File" -> "New" -> "Seam web project", the facelets template "layout/template.xhtml" contains the following component in the "head" section:
> layout/template.xhtml:
>     <a:loadStyle src="resource:///stylesheet/theme.xcss"/>
> This component, from a4j should transform the "richfaces templatable css" (xcss) file into a real CSS file and render as a <link> tag containing an a4j resource url. In projects created from the command-line seam-gen script, the output is as expected:
> <link class='user' rel='stylesheet' type='text/css' href='/testxcss/a4j/s/3_2_2.SR1stylesheet/theme.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__' />
> However, using jboss tools, I get:
> <link class='user' rel='stylesheet' type='text/css' href='/SeamThemeTest/stylesheet/theme.xcss' />
> This version does not work, however, as the xcss file is returned to the browser as is.
> By looking at the differences between the seam-gen project and the jbosstools project, i noticed the following section of the build.xml ant file generated by seam-gen:
>         <copy todir="${war.dir}/WEB-INF/classes">
>             <fileset dir="${basedir}/resources">
>                 <include name="**/*.xcss"/>
>             </fileset>
>             <!-- move XCSS into classpath for now
>                  loading from web context only works in JBoss AS 4 -->
>             <fileset dir="${basedir}/view">
>                 <include name="**/*.xcss"/>
>             </fileset>
>         </copy>
> This step is not done by jbosstools (3.1.0), and indeed, by doing a quick web search, I fell on the following jira: https://jira.jboss.org/jira/browse/JBAS-6034, which states that:
>   > [...] that would work in 4.2.x but not in jboss5 where the root of the war is no longer a part of the war's classpath (and never should have been!)
> Please fix it as soon as possible, as this problem affects any generated site and is pretty difficult to debug. On the other hand, it should be very easy to fix.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the seam-issues mailing list