Skip to content

Commit

Permalink
HHH-12760 Remove no longer needed EqualsHelper and cleanup some equal…
Browse files Browse the repository at this point in the history
…ity checks
  • Loading branch information
Sanne committed Jul 3, 2018
1 parent f54949d commit a67c6b9
Show file tree
Hide file tree
Showing 13 changed files with 20 additions and 122 deletions.
Expand Up @@ -11,11 +11,9 @@
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;

import org.hibernate.EntityMode;
import org.hibernate.boot.MappingException;
import org.hibernate.boot.jaxb.Origin;
import org.hibernate.boot.jaxb.hbm.spi.EntityInfo;
import org.hibernate.boot.jaxb.hbm.spi.JaxbHbmEntityBaseDefinition;
Expand Down Expand Up @@ -46,7 +44,6 @@
import org.hibernate.boot.model.source.spi.ToolingHintContext;
import org.hibernate.internal.util.StringHelper;
import org.hibernate.internal.util.collections.CollectionHelper;
import org.hibernate.internal.util.compare.EqualsHelper;

/**
* @author Steve Ebersole
Expand Down
Expand Up @@ -7,12 +7,12 @@
package org.hibernate.bytecode.enhance.internal.bytebuddy;

import java.util.Collection;
import java.util.Objects;
import javax.persistence.Embedded;
import javax.persistence.EmbeddedId;
import javax.persistence.Id;

import org.hibernate.bytecode.enhance.spi.EnhancerConstants;
import org.hibernate.internal.util.compare.EqualsHelper;

import net.bytebuddy.ClassFileVersion;
import net.bytebuddy.asm.Advice;
Expand Down Expand Up @@ -125,8 +125,8 @@ else if ( persistentField.getType().represents( double.class ) ) {
else {
methodVisitor.visitMethodInsn(
Opcodes.INVOKESTATIC,
Type.getInternalName( EqualsHelper.class ),
"areEqual",
Type.getInternalName( Objects.class ),
"deepEquals",
Type.getMethodDescriptor( Type.getType( boolean.class ), Type.getType( Object.class ), Type.getType( Object.class ) ),
false
);
Expand Down
Expand Up @@ -15,9 +15,7 @@
import javassist.CtField;
import javassist.NotFoundException;

import org.hibernate.bytecode.enhance.spi.EnhancementContext;
import org.hibernate.bytecode.enhance.spi.EnhancerConstants;
import org.hibernate.internal.util.compare.EqualsHelper;

/**
* utility class to generate interceptor methods
Expand Down Expand Up @@ -66,8 +64,7 @@ public String buildInLineDirtyCheckingBodyFragment(JavassistEnhancementContext c
}
builder.append(
String.format(
" if ( !%s.areEqual( %s, $1 ) )",
EqualsHelper.class.getName(),
" if ( !Objects.deepEquals( %s, $1 ) )",
readFragment
)
);
Expand Down
Expand Up @@ -12,6 +12,7 @@
import java.util.LinkedHashSet;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import javax.persistence.PersistenceException;
Expand Down Expand Up @@ -43,7 +44,6 @@
import org.hibernate.persister.collection.CollectionPersister;
import org.hibernate.persister.entity.EntityPersister;
import org.hibernate.pretty.MessageHelper;
import org.hibernate.type.descriptor.java.StringTypeDescriptor;

/**
* @author Steve Ebersole
Expand Down Expand Up @@ -108,7 +108,7 @@ public void prime(Set<DomainDataRegionConfig> cacheRegionConfigs) {
final DomainDataRegion region = getRegionFactory().buildDomainDataRegion( regionConfig, this );
regionsByName.put( region.getName(), region );

if ( !StringTypeDescriptor.INSTANCE.areEqual( region.getName(), regionConfig.getRegionName() ) ) {
if ( ! Objects.equals( region.getName(), regionConfig.getRegionName() ) ) {
throw new HibernateException(
String.format(
Locale.ROOT,
Expand Down

This file was deleted.

Expand Up @@ -8,9 +8,9 @@

import java.io.Serializable;
import java.util.Comparator;
import java.util.Objects;

import org.hibernate.internal.util.compare.ComparableComparator;
import org.hibernate.internal.util.compare.EqualsHelper;
import org.hibernate.type.descriptor.WrapperOptions;

/**
Expand Down Expand Up @@ -75,7 +75,7 @@ default int extractHashCode(T value) {
* @return True if the two are considered equal; false otherwise.
*/
default boolean areEqual(T one, T another) {
return EqualsHelper.areEqual( one, another );
return Objects.deepEquals( one, another );
}

/**
Expand Down
Expand Up @@ -11,6 +11,7 @@
import java.io.Serializable;
import java.sql.Blob;
import java.sql.SQLException;
import java.util.Arrays;

import org.hibernate.HibernateException;
import org.hibernate.annotations.Immutable;
Expand Down Expand Up @@ -71,7 +72,7 @@ public boolean areEqual(T one, T another) {
return false;
}
return one.equals( another )
|| PrimitiveByteArrayTypeDescriptor.INSTANCE.areEqual( toBytes( one ), toBytes( another ) );
|| Arrays.equals( toBytes( one ), toBytes( another ) );
}

@Override
Expand Down
Expand Up @@ -21,7 +21,6 @@
import org.hibernate.boot.MetadataSources;
import org.hibernate.cfg.AvailableSettings;
import org.hibernate.engine.spi.CacheImplementor;
import org.hibernate.internal.util.compare.EqualsHelper;
import org.hibernate.metamodel.model.domain.NavigableRole;
import org.hibernate.stat.NaturalIdCacheStatistics;
import org.hibernate.stat.SecondLevelCacheStatistics;
Expand Down Expand Up @@ -149,7 +148,7 @@ public void testLegacyCacheSpi() {

boolean foundRegion = false;
for ( String name : cache.getSecondLevelCacheRegionNames() ) {
if ( EqualsHelper.areEqual( name, regionName ) ) {
if ( regionName.equals( name ) ) {
foundRegion = true;
break;
}
Expand Down
Expand Up @@ -11,6 +11,7 @@
import java.security.PrivilegedAction;
import java.util.List;
import java.util.Map;
import java.util.Objects;

import org.hibernate.HibernateException;
import org.hibernate.collection.spi.PersistentCollection;
Expand All @@ -22,7 +23,6 @@
import org.hibernate.envers.internal.reader.AuditReaderImplementor;
import org.hibernate.envers.internal.tools.ReflectionTools;
import org.hibernate.envers.internal.tools.StringTools;
import org.hibernate.internal.util.compare.EqualsHelper;
import org.hibernate.property.access.spi.Setter;
import org.hibernate.property.access.spi.SetterFieldImpl;

Expand Down Expand Up @@ -171,6 +171,6 @@ private boolean areEqual(Object newObj, Object oldObj) {
}
// todo (6.0) - Confirm if this is still necessary as everything should use a JavaTypeDescriptor.
// This was maintained for legacy 5.2 behavior only.
return EqualsHelper.areEqual( newObj, oldObj );
return Objects.deepEquals( newObj, oldObj );
}
}
Expand Up @@ -15,6 +15,7 @@
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import java.util.Set;

import org.hibernate.collection.spi.PersistentCollection;
Expand All @@ -29,7 +30,6 @@
import org.hibernate.envers.internal.entities.mapper.relation.lazy.initializor.Initializor;
import org.hibernate.envers.internal.reader.AuditReaderImplementor;
import org.hibernate.envers.internal.tools.ReflectionTools;
import org.hibernate.internal.util.compare.EqualsHelper;
import org.hibernate.persister.collection.CollectionPersister;
import org.hibernate.property.access.spi.Setter;

Expand Down Expand Up @@ -167,7 +167,7 @@ public void mapModifiedFlagsToMapFromEntity(
if ( propertyData.isUsingModifiedFlag() ) {
if ( isNotPersistentCollection( newObj ) || isNotPersistentCollection( oldObj ) ) {
// Compare POJOs.
data.put( propertyData.getModifiedFlagPropertyName(), !EqualsHelper.areEqual( newObj, oldObj ) );
data.put( propertyData.getModifiedFlagPropertyName(), !Objects.deepEquals( newObj, oldObj ) );
}
else if ( isFromNullToEmptyOrFromEmptyToNull( (PersistentCollection) newObj, (Serializable) oldObj ) ) {
data.put( propertyData.getModifiedFlagPropertyName(), true );
Expand Down
Expand Up @@ -8,6 +8,7 @@

import java.util.HashMap;
import java.util.Map;
import java.util.Objects;

import org.hibernate.engine.spi.SessionImplementor;
import org.hibernate.envers.RevisionType;
Expand All @@ -17,7 +18,6 @@
import org.hibernate.envers.internal.reader.AuditReaderImplementor;
import org.hibernate.envers.internal.tools.EntityTools;
import org.hibernate.envers.internal.tools.query.Parameters;
import org.hibernate.internal.util.compare.EqualsHelper;
import org.hibernate.persister.entity.EntityPersister;

/**
Expand Down Expand Up @@ -113,7 +113,7 @@ protected boolean checkModified(SessionImplementor session, Object newObj, Objec
resolvedOldObjectId = EntityTools.getIdentifier( session, referencedEntityName, oldObj );
}

return !EqualsHelper.areEqual( resolvedNewObjectId, resolvedOldObjectId );
return !Objects.deepEquals( resolvedNewObjectId, resolvedOldObjectId );
}

@Override
Expand Down
Expand Up @@ -6,11 +6,12 @@
*/
package org.hibernate.envers.internal.tools;

import java.util.Objects;

import org.hibernate.Session;
import org.hibernate.engine.spi.SessionFactoryImplementor;
import org.hibernate.engine.spi.SessionImplementor;
import org.hibernate.engine.spi.SharedSessionContractImplementor;
import org.hibernate.internal.util.compare.EqualsHelper;
import org.hibernate.persister.entity.EntityPersister;
import org.hibernate.proxy.HibernateProxy;

Expand All @@ -22,7 +23,7 @@ public static boolean entitiesEqual(SessionImplementor session, String entityNam
final Object id1 = getIdentifier( session, entityName, obj1 );
final Object id2 = getIdentifier( session, entityName, obj2 );

return EqualsHelper.areEqual( id1, id2 );
return Objects.deepEquals( id1, id2 );
}

public static Object getIdentifier(SessionImplementor session, String entityName, Object obj) {
Expand Down
Expand Up @@ -17,7 +17,6 @@
import java.util.Set;

import org.hibernate.envers.tools.Pair;
import org.hibernate.internal.util.compare.EqualsHelper;

/**
* @author Adam Warski (adam at warski dot org)
Expand All @@ -38,16 +37,6 @@ public static <K, V> Map<K, V> newLinkedHashMap() {
return new LinkedHashMap<>();
}

/**
* @deprecated (since 5.2), use {@link EqualsHelper#areEqual(Object, Object)}.
*/
@Deprecated
public static boolean objectsEqual(Object obj1, Object obj2) {
// HHH-10734
// Delegates to core's EqualsHelper to support array and non-array types
return EqualsHelper.areEqual( obj1, obj2 );
}

public static <T> List<T> iteratorToList(Iterator<T> iter) {
final List<T> ret = new ArrayList<>();
while ( iter.hasNext() ) {
Expand Down

0 comments on commit a67c6b9

Please sign in to comment.