[
https://issues.apache.org/jira/browse/TILES-575?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eric B closed TILES-575.
------------------------
Resolution: Invalid
Fix Version/s: 3.0.3
Issue created in error. Further review of code implies methodology is
consistent.
This issue should be removed.
> Definition loading from Resolvers inconsistent
> ----------------------------------------------
>
> Key: TILES-575
> URL: https://issues.apache.org/jira/browse/TILES-575
> Project: Tiles
> Issue Type: Bug
> Components: tiles-core
> Affects Versions: 3.0.3
> Reporter: Eric B
> Labels: patch
> Fix For: 3.0.3
>
>
> When definitions are initially loaded from tiles.xml, exact string matches
> take precedence over anything resolved by a Resolver (Pattern, etc).
> However, once a definition has been resolved by the resolver, it is cached in
> the same definitions hashmap as the exact strings, and any implied precedence
> is lost.
> Essentially, the first time a definition is resolved, Tiles applies a
> specific precedence, but subsequent resolutions do not resolve following the
> same rules.
> This can be seen in CachingLocaleUrlDefinitionDAO.getDefinition():
> {code}
> Map<String, Definition> definitions =
> getDefinitions(customizationKey);
> if (definitions != null) {
> retValue = definitions.get(name);
> if (retValue == null) {
> retValue = getDefinitionFromResolver(name, customizationKey);
> if (retValue != null) {
> synchronized (definitions) {
> definitions.put(name, retValue);
> }
> }
> }
> }
> {code}
> The first time the definition is resolved using definitions.get(name), it
> does an exact string match. Otherwise subsen
--
This message was sent by Atlassian JIRA
(v6.1#6144)