[
https://issues.apache.org/jira/browse/TAP5-2368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14084729#comment-14084729
]
Felix Scheffer commented on TAP5-2368:
--------------------------------------
Oh my mistaken. I wasn't aware of that. // always seemed to work.
But even if i use /* */ to comment out the line, Tapestry is still trying to
rewrite the url inside the comment:
{code}
/*.cboxIE6 { background:url(images/ie6/borderTopLeft.png); }*/
{code}
{code}
Caused by: java.lang.RuntimeException: Unable to locate asset
'classpath:com/foobar/images/ie6/borderTopLeft.png' (the file does not exist).
at
org.apache.tapestry5.internal.services.AssetSourceImpl.getLocalizedAssetFromResource(AssetSourceImpl.java:376)
at
org.apache.tapestry5.internal.services.AssetSourceImpl.getAssetInLocale(AssetSourceImpl.java:309)
at
org.apache.tapestry5.internal.services.AssetSourceImpl.getAsset(AssetSourceImpl.java:131)
at $AssetSource_24ccf1f0d81.getAsset(Unknown Source)
at
org.apache.tapestry5.internal.services.assets.CSSURLRewriter.replaceURLs(CSSURLRewriter.java:163)
at
org.apache.tapestry5.internal.services.assets.CSSURLRewriter.access$100(CSSURLRewriter.java:45)
at
org.apache.tapestry5.internal.services.assets.CSSURLRewriter$1.perform(CSSURLRewriter.java:106)
at
org.apache.tapestry5.internal.services.assets.CSSURLRewriter$1.perform(CSSURLRewriter.java:101)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.perform(OperationTrackerImpl.java:110)
{code}
I am using 5.4-beta-16 (build from the source).
Regarding TAP5-2187, I dont think it's a duplicate. I really like the idea of
throwing an exception when there's a missing asset in the css file. It just
shouldn't be the case when that missing asset is commented out. I also dont
understand the patch in TAP5-2187. Maybe I am missing something here, but it
looks like that CSSURLRewriter expects AssetSource.getAsset() to return null
when the asset is missing. But the documentation of AssetSource.getAsset() says
"@throws RuntimeException if the asset can not be found"
> CSSURLRewriter should not attempt to rewrite urls in comments
> -------------------------------------------------------------
>
> Key: TAP5-2368
> URL: https://issues.apache.org/jira/browse/TAP5-2368
> Project: Tapestry 5
> Issue Type: Bug
> Components: tapestry-core
> Affects Versions: 5.4
> Reporter: Felix Scheffer
>
> The following css
> {code}
> //.cboxIE6 { background:url(images/ie6/borderTopLeft.png); }
> {code}
> causes
> {code}
> java.lang.RuntimeException
> Unable to locate asset 'classpath:com/foobar/images/ie6/borderTopLeft.png'
> (the file does not exist).
> at
> org.apache.tapestry5.internal.services.AssetSourceImpl.getLocalizedAssetFromResource(AssetSourceImpl.java:376)
> at
> org.apache.tapestry5.internal.services.AssetSourceImpl.getAssetInLocale(AssetSourceImpl.java:309)
> at
> org.apache.tapestry5.internal.services.AssetSourceImpl.getAsset(AssetSourceImpl.java:131)
> at $AssetSource_2d82890f6e9d.getAsset(Unknown Source)
> at
> org.apache.tapestry5.internal.services.assets.CSSURLRewriter.replaceURLs(CSSURLRewriter.java:163)
> at
> org.apache.tapestry5.internal.services.assets.CSSURLRewriter.access$100(CSSURLRewriter.java:45)
> at
> org.apache.tapestry5.internal.services.assets.CSSURLRewriter$1.perform(CSSURLRewriter.java:106)
> at
> org.apache.tapestry5.internal.services.assets.CSSURLRewriter$1.perform(CSSURLRewriter.java:101)
> at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.perform(OperationTrackerImpl.java:110)
> {code}
> even though it's commented out.
--
This message was sent by Atlassian JIRA
(v6.2#6252)