Skip to content

Commit

Permalink
HV-1518 Making some code cleanups
Browse files Browse the repository at this point in the history
  • Loading branch information
marko-bekhta committed Nov 3, 2017
1 parent d6dd3be commit 16207b9
Show file tree
Hide file tree
Showing 12 changed files with 40 additions and 63 deletions.
Expand Up @@ -551,7 +551,7 @@ public ConstraintCheckResult checkCrossParameterTypes(DeclaredType constraintAnn

if ( crossParameterValidator != null ) {

// Cross-parameter contraints must accept Object or Object[] as validated type
// Cross-parameter constraints must accept Object or Object[] as validated type
final TypeMirror objectMirror = annotationApiHelper.getMirrorForType( Object.class );

TypeMirror type = determineSupportedType( crossParameterValidator );
Expand Down
Expand Up @@ -9,7 +9,7 @@
import java.lang.annotation.Annotation;
import java.lang.invoke.MethodHandles;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -89,7 +89,7 @@ protected C addParameter(String key, Object value) {
protected C addAnnotationAsParameter(String key, AnnotationDef<?, ?> value) {
annotationsAsParameters.compute( key, ( k, oldValue ) -> {
if ( oldValue == null ) {
return Arrays.asList( value );
return Collections.singletonList( value );
}
else {
List<AnnotationDef<?, ?>> resultingList = CollectionHelper.newArrayList( oldValue );
Expand Down
Expand Up @@ -559,14 +559,9 @@ private boolean validateMetaConstraint(ValidationContext<?> validationContext, V
boolean success = true;

if ( isValidationRequired( validationContext, valueContext, metaConstraint ) ) {
Object valueToValidate = null;

if ( parent != null ) {
valueToValidate = valueContext.getValue( parent, metaConstraint.getLocation() );
valueContext.setCurrentValidatedValue( valueToValidate );
}
else {
valueToValidate = valueContext.getCurrentValidatedValue();
valueContext.setCurrentValidatedValue( valueContext.getValue( parent, metaConstraint.getLocation() ) );
}

success = metaConstraint.validateConstraint( validationContext, valueContext );
Expand Down
Expand Up @@ -8,8 +8,8 @@

import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
Expand Down Expand Up @@ -48,7 +48,7 @@ public ValidationOrder getValidationOrder(Class<?> group, boolean expand) {
}

if ( expand ) {
return getValidationOrder( Arrays.<Class<?>>asList( group ) );
return getValidationOrder( Collections.<Class<?>>singletonList( group ) );
}
else {
DefaultValidationOrder validationOrder = new DefaultValidationOrder();
Expand Down Expand Up @@ -101,7 +101,7 @@ else if ( isGroupSequence( clazz ) ) {

public ValidationOrder getDefaultValidationOrder(Class<?> clazz, List<Class<?>> defaultGroupSequence) {
DefaultValidationOrder validationOrder = new DefaultValidationOrder();
insertSequence( clazz, defaultGroupSequence.toArray( new Class<?>[0] ), false, validationOrder );
insertSequence( clazz, defaultGroupSequence.toArray( new Class<?>[defaultGroupSequence.size()] ), false, validationOrder );
return validationOrder;
}

Expand Down
Expand Up @@ -294,7 +294,7 @@ public class ConstraintHelper {
public static final String MESSAGE = "message";
public static final String VALIDATION_APPLIES_TO = "validationAppliesTo";

private static final List<String> SUPPORTED_VALID_METHODS = Arrays.asList( VALIDATION_APPLIES_TO );
private static final List<String> SUPPORTED_VALID_METHODS = Collections.singletonList( VALIDATION_APPLIES_TO );

private static final Log LOG = LoggerFactory.make( MethodHandles.lookup() );
private static final String JODA_TIME_CLASS_NAME = "org.joda.time.ReadableInstant";
Expand Down
Expand Up @@ -797,7 +797,7 @@ public CompositionType getCompositionType() {
/**
* A wrapper class to keep track for which composing constraints (class and index) a given attribute override applies to.
*/
private class ClassIndexWrapper {
private static class ClassIndexWrapper {
final Class<?> clazz;
final int index;

Expand Down
Expand Up @@ -7,13 +7,13 @@
package org.hibernate.validator.internal.metadata.descriptor;

import static org.hibernate.validator.internal.util.CollectionHelper.newArrayList;
import static org.hibernate.validator.internal.util.CollectionHelper.newHashSet;

import java.io.Serializable;
import java.lang.annotation.ElementType;
import java.lang.reflect.Type;
import java.util.Arrays;
import java.util.Collections;
import java.util.EnumSet;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
Expand Down Expand Up @@ -84,23 +84,18 @@ public final ConstraintFinder findConstraints() {

private class ConstraintFinderImpl implements ConstraintFinder {
private List<Class<?>> groups;
private final Set<ConstraintOrigin> definedInSet;
private final Set<ElementType> elementTypes;
private final EnumSet<ConstraintOrigin> definedInSet;
private final EnumSet<ElementType> elementTypes;

ConstraintFinderImpl() {
elementTypes = new HashSet<ElementType>();
elementTypes.add( ElementType.TYPE );
elementTypes.add( ElementType.METHOD );
elementTypes.add( ElementType.CONSTRUCTOR );
elementTypes.add( ElementType.FIELD );
elementTypes.add( ElementType.TYPE_USE );

//for a bean descriptor there will be no parameter constraints, so we can safely add this element type here
elementTypes.add( ElementType.PARAMETER );

definedInSet = newHashSet();
definedInSet.add( ConstraintOrigin.DEFINED_LOCALLY );
definedInSet.add( ConstraintOrigin.DEFINED_IN_HIERARCHY );
elementTypes = EnumSet.of(
ElementType.TYPE, ElementType.METHOD, ElementType.CONSTRUCTOR,
ElementType.FIELD, ElementType.TYPE_USE ,
//for a bean descriptor there will be no parameter constraints, so we can safely add this element type here
ElementType.PARAMETER
);

definedInSet = EnumSet.allOf( ConstraintOrigin.class );
groups = Collections.emptyList();
}

Expand Down
Expand Up @@ -88,6 +88,8 @@ public class AnnotationMetaDataProvider implements MetaDataProvider {

private static final Log LOG = LoggerFactory.make( MethodHandles.lookup() );

private static final Annotation[] EMPTY_PARAMETER_ANNOTATIONS = new Annotation[0];

private final ConstraintHelper constraintHelper;
private final TypeResolutionHelper typeResolutionHelper;
private final AnnotationProcessingOptions annotationProcessingOptions;
Expand Down Expand Up @@ -386,7 +388,7 @@ private List<ConstrainedParameter> getParameterMetaData(Executable executable) {
}
catch (ArrayIndexOutOfBoundsException ex) {
LOG.warn( MESSAGES.constraintOnConstructorOfNonStaticInnerClass(), ex );
parameterAnnotations = new Annotation[0];
parameterAnnotations = EMPTY_PARAMETER_ANNOTATIONS;
}

Set<MetaConstraint<?>> parameterConstraints = newHashSet();
Expand Down
Expand Up @@ -124,34 +124,16 @@ public String toString() {

private boolean areEqual(Object o1, Object o2) {
return
!o1.getClass().isArray() ? o1.equals( o2 ) :
o1.getClass() == boolean[].class ? Arrays.equals( (boolean[]) o1, (boolean[]) o2 ) :
o1.getClass() == byte[].class ? Arrays.equals( (byte[]) o1, (byte[]) o2 ) :
o1.getClass() == char[].class ? Arrays.equals( (char[]) o1, (char[]) o2 ) :
o1.getClass() == double[].class ? Arrays.equals(
(double[]) o1,
(double[]) o2
) :
o1.getClass() == float[].class ? Arrays.equals(
(float[]) o1,
(float[]) o2
) :
o1.getClass() == int[].class ? Arrays.equals(
(int[]) o1,
(int[]) o2
) :
o1.getClass() == long[].class ? Arrays.equals(
(long[]) o1,
(long[]) o2
) :
o1.getClass() == short[].class ? Arrays.equals(
(short[]) o1,
(short[]) o2
) :
Arrays.equals(
(Object[]) o1,
(Object[]) o2
);
!o1.getClass().isArray() ? o1.equals( o2 )
: o1.getClass() == boolean[].class ? Arrays.equals( (boolean[]) o1, (boolean[]) o2 )
: o1.getClass() == byte[].class ? Arrays.equals( (byte[]) o1, (byte[]) o2 )
: o1.getClass() == char[].class ? Arrays.equals( (char[]) o1, (char[]) o2 )
: o1.getClass() == double[].class ? Arrays.equals( (double[]) o1, (double[]) o2 )
: o1.getClass() == float[].class ? Arrays.equals( (float[]) o1, (float[]) o2 )
: o1.getClass() == int[].class ? Arrays.equals( (int[]) o1, (int[]) o2 )
: o1.getClass() == long[].class ? Arrays.equals( (long[]) o1, (long[]) o2 )
: o1.getClass() == short[].class ? Arrays.equals( (short[]) o1, (short[]) o2 )
: Arrays.equals( (Object[]) o1, (Object[]) o2 );
}

private Map<String, Object> getAnnotationAttributes(Annotation annotation) {
Expand Down
Expand Up @@ -164,7 +164,7 @@ private Type getContainerElementType(Type enclosingType, Integer typeArgumentInd
return containerElementType;
}

class ContainerElementTypeConfiguration {
static class ContainerElementTypeConfiguration {

private final Set<MetaConstraint<?>> metaConstraints;

Expand Down
Expand Up @@ -51,6 +51,7 @@ class MetaConstraintBuilder {
private static final Log LOG = LoggerFactory.make( MethodHandles.lookup() );

private static final Pattern IS_ONLY_WHITESPACE = Pattern.compile( "\\s*" );
private static final Class[] EMPTY_CLASSES_ARRAY = new Class[0];

private final ClassLoadingHelper classLoadingHelper;
private final ConstraintHelper constraintHelper;
Expand Down Expand Up @@ -285,7 +286,7 @@ else if ( returnType == Class.class ) {

private Class<?>[] getGroups(GroupsType groupsType, String defaultPackage) {
if ( groupsType == null ) {
return new Class[] { };
return EMPTY_CLASSES_ARRAY;
}

List<Class<?>> groupList = newArrayList();
Expand All @@ -298,7 +299,7 @@ private Class<?>[] getGroups(GroupsType groupsType, String defaultPackage) {
@SuppressWarnings("unchecked")
private Class<? extends Payload>[] getPayload(PayloadType payloadType, String defaultPackage) {
if ( payloadType == null ) {
return new Class[] { };
return EMPTY_CLASSES_ARRAY;
}

List<Class<? extends Payload>> payloadList = newArrayList();
Expand Down
Expand Up @@ -21,6 +21,8 @@
*/
public class ValidationInvocationHandler implements InvocationHandler {

private static final Object[] EMPTY_ARGS = new Object[0];

private final Object wrapped;

private final Validator validator;
Expand All @@ -38,7 +40,7 @@ public Object invoke(Object proxy, Method method, Object[] args) throws Throwabl
Set<ConstraintViolation<Object>> constraintViolations = validator.forExecutables().validateParameters(
wrapped,
method,
args == null ? new Object[] { } : args,
args == null ? EMPTY_ARGS : args,
groups
);

Expand Down

0 comments on commit 16207b9

Please sign in to comment.