[ 
https://issues.apache.org/struts/browse/TILES-416?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46376#action_46376
 ] 

Antonio Petrelli commented on TILES-416:
----------------------------------------

About using the interface and not the implementation to be exposed by the API, 
this is simply a best practice.
But you are right, there should be some way to say that should enforce the 
order.
For example, the API should return a collection, and not a Map: building the 
map should be a consequence.
Can you open a JIRA issue about it?

P.S. I like the new patch, I will apply it ASAP.

> wildcard order of tile definitions is not preserved
> ---------------------------------------------------
>
>                 Key: TILES-416
>                 URL: https://issues.apache.org/struts/browse/TILES-416
>             Project: Tiles
>          Issue Type: Bug
>          Components: tiles-core
>    Affects Versions: 2.1.2
>            Reporter: Lukasz Racon
>         Attachments: wildcard-order-map.patch, wildcard-order.patch
>
>
> Tile definitions are stored in HashMap which does not preserve the order from 
> the tiles definition XML.
> If you define these two:
>   <definition name="test.def*.sub*" template="/test{1}.jsp">
>   <definition name="test.def*" template="/test{1}.jsp">
> and try to resolve definition name like "test.defName.subLayered" you may get 
> either. 
> Order that depends on tile name hashCode and hash table implementation does 
> not sound like a good idea. When table reaches load threshold it may give you 
> different result. For example adding 13th tile definition (Hash table has 
> default capacity: 16 and .75 load factor) triggers resize function that may 
> reorder tile definitions - tiles that worked before may suddenly stop working.
> Same issue was reported here:
> http://markmail.org/message/cgazkho4qndlgo6d

-- 
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