[ 
https://issues.apache.org/jira/browse/TILES-515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12907520#action_12907520
 ] 

Bryan Keller commented on TILES-515:
------------------------------------

I cannot reproduce this when running w/ Jetty and not unwar'ing the war file. I 
can only reproduce when running in an OSGi container with a war file acting as 
a bundle.

I imaging this is not a supported configuration, but if others run into this 
issue, my solution was to subclass ResolvingLocaleUrlDefinitionDAO, override 
getDefinitions(), catch the IOException, and check for the exception message 
for "Resource not found". Then I use a definitions factory that creates the DAO.

> ResolvingLocaleUrlDefinitionDAO doesn't handle loading from war properly
> ------------------------------------------------------------------------
>
>                 Key: TILES-515
>                 URL: https://issues.apache.org/jira/browse/TILES-515
>             Project: Tiles
>          Issue Type: Bug
>    Affects Versions: 2.2.2
>            Reporter: Bryan Keller
>
> The BaseLocaleUrlDefinitionDAO does not handle loading view definitions 
> directly from a war bundle properly. In the loadDefinitionsFromURL() call, it 
> catches a FileNotFoundException if a definition is not found, logs a debug 
> message and continues. This is the proper way to handle situations where a 
> view definition has not been defined for a particular locale. However, when 
> loading from a resource URL (e.g. "classpath:/..." or "bundle:/"), if the 
> view definition is not found, a "FileNotFoundException is not thrown, rather 
> an IOException is. A plain IOException is not consumed, but rather thrown, 
> and prevents Tiles from initializing.
> The code is in BaseLocaleUrlDefinitionDAO, line 277. The IOException handling 
> should check if it is a resource not found error and ignore the exception if 
> so.

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

Reply via email to