[ 
https://issues.apache.org/jira/browse/BVAL-167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16674817#comment-16674817
 ] 

Romain Manni-Bucau commented on BVAL-167:
-----------------------------------------

@ilgrosso: the issue is not the leaves but the abstractserviceimpl which 
implements part of the API without actually implementing it in terms of java 
rules so it creates two heads.

For reference the spec says:

{code}
If a sub type overrides/implements a method originally defined in several 
parallel types of the hierarchy (e.g. two interfaces not extending each other, 
or a class and an interface not implemented by said class), no parameter 
constraints may be declared for that method at all nor parameters be marked for 
cascaded validation. This again is to avoid an unexpected strengthening of 
preconditions to be fulfilled by the caller.
{code}

BVal is stricter than that (the cascading point), this is why i think we can 
revisit it safely but syncope will keep concurrent heads for the Liskov 
principle so it assumes the implementation will pass through the java rules to 
check the implementation by reflection which is not required by bean validation 
spec anywhere - was my point.

> ConstraintDeclarationException: Illegal strengthening: overridden 
> [constraints] in inheritance hierarchy
> --------------------------------------------------------------------------------------------------------
>
>                 Key: BVAL-167
>                 URL: https://issues.apache.org/jira/browse/BVAL-167
>             Project: BVal
>          Issue Type: Bug
>    Affects Versions: 2.0.0
>            Reporter: Francesco Chicchiriccò
>            Priority: Major
>             Fix For: 2.0.1
>
>
> I am trying to upgrade BVal to 2.0.0 in Syncope.
> I have changed my POMs as follows:
> * javax.validation:validation-api from 1.1.0.Final to 2.0.1.Final
> * org.apache.bval:bval-jsr from 1.1.2 to 2.0.0
> When I try to reach up some of the REST services (based on CXF 3.2), an 
> [exception|https://paste.apache.org/hxvY] is thrown; I have read about such 
> exception, but it seems to me that the mentioned methods in 
> [interface|https://github.com/apache/syncope/blob/2_1_X/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyService.java#L70]
>  and 
> [implementation|https://github.com/apache/syncope/blob/2_1_X/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java#L68]
>  should comply with hierarchy rules.
> Nevertheless, if I swap
> org.apache.bval:bval-jsr:2.0.0
> with
> org.hibernate.validator:hibernate-validator:6.0.13.Final
> all is working fine.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to