[ 
https://issues.apache.org/jira/browse/ARIES-1708?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrei Shakirin updated ARIES-1708:
-----------------------------------
    Description: 
In case if transaction pattern is used more than once for the same component, 
the transaction-blueprint module throws following exception:
{code}
Unable to apply patterns {.*, .*}.
{code}

It caused by following: map in TxComponentMetaDataHelperImpl.TranData uses 
Pattern as a key. Pattern class doesn't implement equals() method and 
duplicated patterns can be saved in the map. 
That causes exception on later processing steps, because code cannot find 
fewest and longest pattern.

Proposal:
a) use wildcard string instead Pattern object as map key
b) in case if more than one pattern stays after selection, just use the first 
one instead exception.

This case happens often by using blueprint maven plugin generating transaction 
attribute in xml configuration and enabling annotations scan for the same beans.

Patch is attached

  was:
In case if transaction pattern is used more than once for the same component, 
the transaction-blueprint module throws following exception:
{code}
Unable to apply patterns {.*, .*}.
{code}

It caused by following: map in TxComponentMetaDataHelperImpl.TranData uses 
Pattern as a key. Pattern class doesn't implement equals() method and 
duplicated patterns can be saved in the map. 
That causes exception on later processing steps, because code cannot find 
fewest and longest pattern.

Proposal:
a) use wildcard string instead Pattern object as map key
b) in case if more than one pattern stays after selection, just use the first 
one instead exception

Patch is attached


> Incorrect processing of duplicated patterns
> -------------------------------------------
>
>                 Key: ARIES-1708
>                 URL: https://issues.apache.org/jira/browse/ARIES-1708
>             Project: Aries
>          Issue Type: Bug
>          Components: Transaction
>    Affects Versions: transaction-blueprint-1.1.1
>            Reporter: Andrei Shakirin
>         Attachments: transaction.blueprint-1.1.1.patch
>
>
> In case if transaction pattern is used more than once for the same component, 
> the transaction-blueprint module throws following exception:
> {code}
> Unable to apply patterns {.*, .*}.
> {code}
> It caused by following: map in TxComponentMetaDataHelperImpl.TranData uses 
> Pattern as a key. Pattern class doesn't implement equals() method and 
> duplicated patterns can be saved in the map. 
> That causes exception on later processing steps, because code cannot find 
> fewest and longest pattern.
> Proposal:
> a) use wildcard string instead Pattern object as map key
> b) in case if more than one pattern stays after selection, just use the first 
> one instead exception.
> This case happens often by using blueprint maven plugin generating 
> transaction attribute in xml configuration and enabling annotations scan for 
> the same beans.
> Patch is attached



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to