You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bval.apache.org by "Romain Manni-Bucau (JIRA)" <ji...@apache.org> on 2018/11/04 16:54:00 UTC
[jira] [Commented] (BVAL-167) ConstraintDeclarationException:
Illegal strengthening: overridden [constraints] in inheritance hierarchy
[ https://issues.apache.org/jira/browse/BVAL-167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16674438#comment-16674438 ]
Romain Manni-Bucau commented on BVAL-167:
-----------------------------------------
Hi [~ilgrosso], can you try to reproduce it in a unit test?
{code}
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.bval.jsr;
import static java.util.Collections.emptySet;
import java.util.Set;
import javax.validation.Validation;
import javax.validation.ValidatorFactory;
import org.junit.Test;
public class InheritanceTest {
@Test
public void validate() {
final AnyService<TO> service = new AnyServiceImpl();
try (final ValidatorFactory factory = Validation.buildDefaultValidatorFactory()) {
factory.getValidator().validate(service);
}
}
public static abstract class AnyTO {
}
public static class TO extends AnyTO {
}
public static class AttrTO {
}
public static class SchemaType {
}
public interface JAXRSService {
}
public interface AnyService<TO extends AnyTO> extends JAXRSService {
Set<AttrTO> read(String key, SchemaType schemaType);
}
public static abstract class AbstractAnyService<TO extends AnyTO> implements AnyService<TO> {
@Override
public Set<AttrTO> read(final String key, final SchemaType schemaType) {
return emptySet();
}
}
public static class AnyServiceImpl extends AbstractAnyService<TO> {
}
}
{code}
does not reproduce it
> 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)