Skip to content

Commit

Permalink
HV-520: Fixing failing TCK test
Browse files Browse the repository at this point in the history
  • Loading branch information
gunnarmorling authored and hferentschik committed Dec 8, 2011
1 parent 16282e5 commit d5dd90f
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 66 deletions.
Expand Up @@ -18,7 +18,6 @@

import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import org.hibernate.validator.metadata.core.MetaConstraint;
Expand All @@ -39,23 +38,17 @@ public class AbstractConstraintMetaData implements ConstraintMetaData {

private final boolean isConstrained;

private final boolean defaultGroupSequenceRedefined;

private final List<Class<?>> defaultGroupSequence;

/**
* @param constraints
* @param constrainedMetaDataKind
* @param isCascading
*/
public AbstractConstraintMetaData(Set<MetaConstraint<?>> constraints, ConstraintMetaDataKind constrainedMetaDataKind, boolean isCascading, boolean isConstrained, boolean defaultGroupSequenceRedefined, List<Class<?>> defaultGroupSequence) {
public AbstractConstraintMetaData(Set<MetaConstraint<?>> constraints, ConstraintMetaDataKind constrainedMetaDataKind, boolean isCascading, boolean isConstrained) {

this.constraints = Collections.unmodifiableSet( constraints );
this.constrainedMetaDataKind = constrainedMetaDataKind;
this.isCascading = isCascading;
this.isConstrained = isConstrained;
this.defaultGroupSequenceRedefined = defaultGroupSequenceRedefined;
this.defaultGroupSequence = defaultGroupSequence;
}

public Iterator<MetaConstraint<?>> iterator() {
Expand All @@ -78,14 +71,6 @@ public boolean isConstrained() {
return isConstrained;
}

public boolean isDefaultGroupSequenceRedefined() {
return defaultGroupSequenceRedefined;
}

public List<Class<?>> getDefaultGroupSequence() {
return defaultGroupSequence;
}

protected Set<ConstraintDescriptorImpl<?>> asDescriptors(Set<MetaConstraint<?>> constraints) {
Set<ConstraintDescriptorImpl<?>> theValue = newHashSet();

Expand Down
Expand Up @@ -215,7 +215,11 @@ private Map<String, PropertyDescriptor> getConstrainedPropertiesAsDescriptors()

for ( Entry<String, PropertyMetaData> oneProperty : propertyMetaData.entrySet() ) {
if ( oneProperty.getValue().isConstrained() ) {
theValue.put( oneProperty.getKey(), oneProperty.getValue().asDescriptor() );
theValue.put(
oneProperty.getKey(),
oneProperty.getValue()
.asDescriptor( defaultGroupSequenceIsRedefined(), getDefaultGroupSequence( null ) )
);
}
}

Expand All @@ -226,7 +230,12 @@ private Map<String, MethodDescriptor> getMethodsAsDescriptors() {
Map<String, MethodDescriptor> theValue = newHashMap();

for ( Entry<String, MethodMetaData> oneMethod : methodMetaData.entrySet() ) {
theValue.put( oneMethod.getKey(), oneMethod.getValue().asDescriptor() );
theValue.put(
oneMethod.getKey(), oneMethod.getValue().asDescriptor(
defaultGroupSequenceIsRedefined(),
getDefaultGroupSequence( null )
)
);
}

return theValue;
Expand Down Expand Up @@ -501,11 +510,12 @@ public BeanMetaDataImpl<T> build() {
Set<ConstraintMetaData> aggregatedElements = newHashSet();

for ( BuilderDelegate oneBuilder : builders ) {
aggregatedElements.addAll(
aggregatedElements.addAll(
oneBuilder.build(
( defaultGroupSequence != null && defaultGroupSequence.size() > 1 ) || defaultGroupSequenceProvider != null,
defaultGroupSequence)
) ;
defaultGroupSequence
)
);
}

return new BeanMetaDataImpl<T>(
Expand Down Expand Up @@ -598,11 +608,11 @@ public Set<ConstraintMetaData> build(boolean defaultGroupSequenceRedefined, List
Set<ConstraintMetaData> theValue = newHashSet();

if ( propertyBuilder != null ) {
theValue.add( propertyBuilder.build( defaultGroupSequenceRedefined, defaultGroupSequence ) );
theValue.add( propertyBuilder.build() );
}

if ( methodBuilder != null ) {
theValue.add( methodBuilder.build(defaultGroupSequenceRedefined, defaultGroupSequence ) );
theValue.add( methodBuilder.build() );
}

return theValue;
Expand Down
Expand Up @@ -17,7 +17,6 @@
package org.hibernate.validator.metadata.aggregated;

import java.lang.annotation.Annotation;
import java.util.List;
import java.util.Set;

import org.hibernate.validator.metadata.core.ConstraintHelper;
Expand Down Expand Up @@ -71,7 +70,7 @@ protected MetaDataBuilder(ConstraintHelper constraintHelper) {
*
* @return A {@link ConstraintMetaData} object.
*/
public abstract ConstraintMetaData build(boolean defaultGroupSequenceRedefined, List<Class<?>> defaultGroupSequence);
public abstract ConstraintMetaData build();

/**
* Adapts the given constraints to the given bean type. In case a constraint
Expand Down
Expand Up @@ -73,17 +73,13 @@ private MethodMetaData(
List<ParameterMetaData> parameterMetaData,
ConstraintDeclarationException parameterConstraintDeclarationException,
boolean isCascading,
boolean isConstrained,
boolean defaultGroupSequenceRedefined,
List<Class<?>> defaultGroupSequence) {
boolean isConstrained) {

super(
returnValueConstraints,
ConstraintMetaDataKind.METHOD,
isCascading,
isConstrained,
defaultGroupSequenceRedefined,
defaultGroupSequence
isConstrained
);

this.rootMethod = builder.location.getMember();
Expand Down Expand Up @@ -152,17 +148,15 @@ public void add(ConstrainedElement constrainedElement) {
/**
* {@inheritDoc}
*/
public MethodMetaData build(boolean defaultGroupSequenceRedefined, List<Class<?>> defaultGroupSequence) {
public MethodMetaData build() {
return
new MethodMetaData(
this,
adaptOriginsAndImplicitGroups( location.getBeanClass(), returnValueConstraints ),
findParameterMetaData(defaultGroupSequenceRedefined, defaultGroupSequence),
findParameterMetaData(),
checkParameterConstraints(),
isCascading,
isConstrained,
defaultGroupSequenceRedefined,
defaultGroupSequence
isConstrained
);
}

Expand All @@ -173,7 +167,7 @@ public MethodMetaData build(boolean defaultGroupSequenceRedefined, List<Class<?>
*
* @return The parameter meta data for this builder's method.
*/
private List<ParameterMetaData> findParameterMetaData(boolean defaultGroupSequenceRedefined, List<Class<?>> defaultGroupSequence) {
private List<ParameterMetaData> findParameterMetaData() {

List<ParameterMetaData.Builder> parameterBuilders = null;

Expand Down Expand Up @@ -204,7 +198,7 @@ private List<ParameterMetaData> findParameterMetaData(boolean defaultGroupSequen
List<ParameterMetaData> parameterMetaDatas = newArrayList();

for ( ParameterMetaData.Builder oneBuilder : parameterBuilders ) {
parameterMetaDatas.add( oneBuilder.build( defaultGroupSequenceRedefined, defaultGroupSequence) );
parameterMetaDatas.add( oneBuilder.build() );
}

return parameterMetaDatas;
Expand Down Expand Up @@ -350,23 +344,23 @@ public Class<?>[] getParameterTypes() {
return rootMethod.getParameterTypes();
}

public MethodDescriptor asDescriptor() {
public MethodDescriptor asDescriptor(boolean defaultGroupSequenceRedefined, List<Class<?>> defaultGroupSequence) {
return new MethodDescriptorImpl(
rootMethod.getReturnType(),
rootMethod.getName(),
isCascading(),
asDescriptors( getConstraints() ),
parametersAsDescriptors(),
isDefaultGroupSequenceRedefined(),
getDefaultGroupSequence()
parametersAsDescriptors( defaultGroupSequenceRedefined, defaultGroupSequence ),
defaultGroupSequenceRedefined,
defaultGroupSequence
);
}

private List<ParameterDescriptor> parametersAsDescriptors() {
private List<ParameterDescriptor> parametersAsDescriptors(boolean defaultGroupSequenceRedefined, List<Class<?>> defaultGroupSequence) {
List<ParameterDescriptor> theValue = newArrayList();

for ( ParameterMetaData oneParameter : parameterMetaData ) {
theValue.add( oneParameter.asDescriptor() );
theValue.add( oneParameter.asDescriptor( defaultGroupSequenceRedefined, defaultGroupSequence ) );
}

return theValue;
Expand Down
Expand Up @@ -45,15 +45,13 @@ public class ParameterMetaData extends AbstractConstraintMetaData {
* @param isCascading
* @param constrainedMetaDataKind
*/
public ParameterMetaData(Set<MetaConstraint<?>> constraints, boolean isCascading, String name, Class<?> type, int index, boolean defaultGroupSequenceRedefined, List<Class<?>> defaultGroupSequence) {
public ParameterMetaData(Set<MetaConstraint<?>> constraints, boolean isCascading, String name, Class<?> type, int index) {

super(
constraints,
ConstraintMetaDataKind.PARAMETER,
isCascading,
!constraints.isEmpty() || isCascading,
defaultGroupSequenceRedefined,
defaultGroupSequence
!constraints.isEmpty() || isCascading
);

this.type = type;
Expand All @@ -73,14 +71,14 @@ public String getName() {
return name;
}

public ParameterDescriptor asDescriptor() {
public ParameterDescriptor asDescriptor(boolean defaultGroupSequenceRedefined, List<Class<?>> defaultGroupSequence) {
return new ParameterDescriptorImpl(
type,
index,
isCascading(),
asDescriptors( getConstraints() ),
isDefaultGroupSequenceRedefined(),
getDefaultGroupSequence()
defaultGroupSequenceRedefined,
defaultGroupSequence
);
}

Expand Down Expand Up @@ -134,16 +132,14 @@ public void add(ConstrainedElement constrainedElement) {
}

@Override
public ParameterMetaData build(boolean defaultGroupSequenceRedefined, List<Class<?>> defaultGroupSequence) {
public ParameterMetaData build() {

return new ParameterMetaData(
adaptOriginsAndImplicitGroups( rootClass, constraints ),
isCascading,
name,
parameterType,
parameterIndex,
defaultGroupSequenceRedefined,
defaultGroupSequence
parameterIndex
);
}

Expand Down
Expand Up @@ -59,14 +59,12 @@ public class PropertyMetaData extends AbstractConstraintMetaData {

private final Set<Member> cascadingMembers;

private PropertyMetaData(Class<?> type, String propertyName, Set<MetaConstraint<?>> constraints, Set<Member> cascadingMembers, boolean defaultGroupSequenceRedefined, List<Class<?>> defaultGroupSequence) {
private PropertyMetaData(Class<?> type, String propertyName, Set<MetaConstraint<?>> constraints, Set<Member> cascadingMembers) {
super(
constraints,
ConstraintMetaDataKind.PROPERTY,
!cascadingMembers.isEmpty(),
!cascadingMembers.isEmpty() || !constraints.isEmpty(),
defaultGroupSequenceRedefined,
defaultGroupSequence
!cascadingMembers.isEmpty() || !constraints.isEmpty()
);

this.type = type;
Expand All @@ -86,15 +84,15 @@ public Set<Member> getCascadingMembers() {
return cascadingMembers;
}

public PropertyDescriptorImpl asDescriptor() {
public PropertyDescriptorImpl asDescriptor(boolean defaultGroupSequenceRedefined, List<Class<?>> defaultGroupSequence) {

return new PropertyDescriptorImpl(
type,
isCascading(),
propertyName,
asDescriptors( constraints ),
isDefaultGroupSequenceRedefined(),
getDefaultGroupSequence()
defaultGroupSequenceRedefined,
defaultGroupSequence
);
}

Expand Down Expand Up @@ -220,15 +218,13 @@ public void add(ConstrainedElement constrainedElement) {
}
}

public PropertyMetaData build(boolean defaultGroupSequenceRedefined, List<Class<?>> defaultGroupSequence) {
public PropertyMetaData build() {

return new PropertyMetaData(
propertyType,
propertyName,
adaptOriginsAndImplicitGroups( beanClass, constraints ),
cascadingMembers,
defaultGroupSequenceRedefined,
defaultGroupSequence
cascadingMembers
);
}

Expand Down

0 comments on commit d5dd90f

Please sign in to comment.