cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrei Shakirin (JIRA)" <j...@apache.org>
Subject [jira] [Assigned] (CXF-5571) Policy Alternative compatibility checking rely on not overriden equals() method
Date Thu, 20 Feb 2014 08:24:19 GMT

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

Andrei Shakirin reassigned CXF-5571:
------------------------------------

    Assignee: Andrei Shakirin

> Policy Alternative compatibility checking rely on not overriden equals() method
> -------------------------------------------------------------------------------
>
>                 Key: CXF-5571
>                 URL: https://issues.apache.org/jira/browse/CXF-5571
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 3.0.0-milestone1, 2.7.10
>            Reporter: Andrei Shakirin
>            Assignee: Andrei Shakirin
>
> Use case: SOAP service uses policy containing more than one alternative.
> To build outgoing interceptor chain, single alternative in effective policy is selected
using AlternativeSelector. One of the selection steps is check BaseAlternativeSelector.isCompatibleWithRequest()

> Problem:
> Method BaseAlternativeSelector.isCompatible doesn't work as designed, 
> because Neethi PolicyContainingPrimitiveAssertion and PrimitiveAssertion do not override
equals() method. As a result alternative is never removed from the list r2 if assertions are
different objects:
>     protected boolean isCompatible(List<Assertion> alternative, List<Assertion>
r) {
>         List<Assertion> r2 = new ArrayList<Assertion>(r);
>         for (Assertion a : alternative) {
>             r2.remove(a);
>         }
>         return r2.isEmpty();
>     }
> Proposal: clean solution will be to fix that in Neethi and provide equals method. Quick
fix will be check of assertion QName.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message