You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2020/08/19 07:52:13 UTC

[cayenne] 01/01: CAY-2660 BigDecimals that differ only in scale are treated as different values causing unneeded updates

This is an automated email from the ASF dual-hosted git repository.

aadamchik pushed a commit to branch 428
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit 33059573867ea5fb34ccb45c5e9ae016e80998c9
Author: Andrus Adamchik <an...@objectstyle.com>
AuthorDate: Wed Aug 19 10:43:48 2020 +0300

    CAY-2660 BigDecimals that differ only in scale are treated as different values causing unneeded updates
    
    .. PR review .. fixing minor typos
---
 .../dbsync/reverse/configuration/ToolsModule.java        |  6 +++---
 .../org/apache/cayenne/access/types/ValueObjectType.java |  4 ++--
 .../cayenne/configuration/server/DataDomainProvider.java |  6 +++---
 .../cayenne/configuration/server/ServerModule.java       |  6 +++---
 .../main/java/org/apache/cayenne/map/EntityResolver.java | 10 +++++-----
 .../org/apache/cayenne/reflect/PropertyDescriptor.java   |  6 +++---
 .../reflect/generic/DataObjectDescriptorFactory.java     |  8 ++++----
 ...y.java => DefaultValueComparisonStrategyFactory.java} | 16 ++++++++--------
 ...yFactory.java => ValueComparisonStrategyFactory.java} |  2 +-
 .../translator/select/DescriptorColumnExtractorTest.java |  4 ++--
 .../configuration/server/DataDomainProviderTest.java     |  6 +++---
 .../server/DefaultDbAdapterFactoryTest.java              |  6 +++---
 .../reflect/generic/DataObjectAttributePropertyTest.java |  2 +-
 .../reflect/generic/DataObjectDescriptorFactoryIT.java   |  4 ++--
 .../DataObjectDescriptorFactory_InheritanceMapsIT.java   |  2 +-
 .../apache/cayenne/unit/di/server/ServerCaseModule.java  |  6 +++---
 16 files changed, 47 insertions(+), 47 deletions(-)

diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/configuration/ToolsModule.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/configuration/ToolsModule.java
index fca90fe..b47debc 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/configuration/ToolsModule.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/configuration/ToolsModule.java
@@ -71,8 +71,8 @@ import org.apache.cayenne.log.JdbcEventLogger;
 import org.apache.cayenne.log.Slf4jJdbcEventLogger;
 import org.apache.cayenne.project.ProjectModule;
 import org.apache.cayenne.project.extension.ExtensionAwareHandlerFactory;
-import org.apache.cayenne.reflect.generic.ValueComparisionStrategyFactory;
-import org.apache.cayenne.reflect.generic.DefaultValueComparisionStrategyFactory;
+import org.apache.cayenne.reflect.generic.ValueComparisonStrategyFactory;
+import org.apache.cayenne.reflect.generic.DefaultValueComparisonStrategyFactory;
 import org.apache.cayenne.resource.ClassLoaderResourceLocator;
 import org.apache.cayenne.resource.ResourceLocator;
 import org.slf4j.Logger;
@@ -106,7 +106,7 @@ public class ToolsModule implements Module {
         ServerModule.contributeValueObjectTypes(binder);
 
         binder.bind(ValueObjectTypeRegistry.class).to(DefaultValueObjectTypeRegistry.class);
-        binder.bind(ValueComparisionStrategyFactory.class).to(DefaultValueComparisionStrategyFactory.class);
+        binder.bind(ValueComparisonStrategyFactory.class).to(DefaultValueComparisonStrategyFactory.class);
 
         binder.bind(ClassLoaderManager.class).to(DefaultClassLoaderManager.class);
         binder.bind(AdhocObjectFactory.class).to(DefaultAdhocObjectFactory.class);
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/types/ValueObjectType.java b/cayenne-server/src/main/java/org/apache/cayenne/access/types/ValueObjectType.java
index ede70e9..8f61b96 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/types/ValueObjectType.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/types/ValueObjectType.java
@@ -63,9 +63,9 @@ public interface ValueObjectType<V, T> {
     String toCacheKey(V object);
 
     /**
-     * This methods allows to use special logic to compare values for equality
+     * Allows to use special logic to compare values for equality
      * as in rare cases it is not suffice to use default equals() method.
-     * Deafult implementation uses {@link Objects#equals(Object, Object)} method.
+     * Default implementation uses {@link Objects#equals(Object, Object)} method.
      *
      * @param value1 to compare
      * @param value2 to compare
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java
index 4d79f68..69219e2 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java
@@ -42,7 +42,7 @@ import org.apache.cayenne.di.Provider;
 import org.apache.cayenne.event.EventManager;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.EntitySorter;
-import org.apache.cayenne.reflect.generic.ValueComparisionStrategyFactory;
+import org.apache.cayenne.reflect.generic.ValueComparisonStrategyFactory;
 import org.apache.cayenne.resource.Resource;
 import org.apache.cayenne.resource.ResourceLocator;
 import org.slf4j.Logger;
@@ -115,7 +115,7 @@ public class DataDomainProvider implements Provider<DataDomain> {
 	 * @since 4.2
 	 */
 	@Inject
-	protected ValueComparisionStrategyFactory valueComparisionStrategyFactory;
+	protected ValueComparisonStrategyFactory valueComparisonStrategyFactory;
 
 	@Override
 	public DataDomain get() throws ConfigurationException {
@@ -157,7 +157,7 @@ public class DataDomainProvider implements Provider<DataDomain> {
 
 		dataDomain.getEntityResolver().applyDBLayerDefaults();
 		dataDomain.getEntityResolver().setValueObjectTypeRegistry(valueObjectTypeRegistry);
-		dataDomain.getEntityResolver().setValueComparisionStrategyFactory(valueComparisionStrategyFactory);
+		dataDomain.getEntityResolver().setValueComparisionStrategyFactory(valueComparisonStrategyFactory);
 
 		for (DataNodeDescriptor nodeDescriptor : descriptor.getNodeDescriptors()) {
 			addDataNode(dataDomain, nodeDescriptor);
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
index 4397290..8c9a237 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
@@ -150,8 +150,8 @@ import org.apache.cayenne.event.NoopEventBridgeProvider;
 import org.apache.cayenne.log.JdbcEventLogger;
 import org.apache.cayenne.log.Slf4jJdbcEventLogger;
 import org.apache.cayenne.map.EntitySorter;
-import org.apache.cayenne.reflect.generic.ValueComparisionStrategyFactory;
-import org.apache.cayenne.reflect.generic.DefaultValueComparisionStrategyFactory;
+import org.apache.cayenne.reflect.generic.ValueComparisonStrategyFactory;
+import org.apache.cayenne.reflect.generic.DefaultValueComparisonStrategyFactory;
 import org.apache.cayenne.resource.ClassLoaderResourceLocator;
 import org.apache.cayenne.resource.ResourceLocator;
 import org.apache.cayenne.template.CayenneSQLTemplateProcessor;
@@ -442,7 +442,7 @@ public class ServerModule implements Module {
                 .add(CharacterValueType.class);
 
         binder.bind(ValueObjectTypeRegistry.class).to(DefaultValueObjectTypeRegistry.class);
-        binder.bind(ValueComparisionStrategyFactory.class).to(DefaultValueComparisionStrategyFactory.class);
+        binder.bind(ValueComparisonStrategyFactory.class).to(DefaultValueComparisonStrategyFactory.class);
 
         // configure explicit configurations
         contributeProjectLocations(binder);
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
index 74b2cb8..8b945da 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
@@ -34,7 +34,7 @@ import org.apache.cayenne.reflect.ClassDescriptorMap;
 import org.apache.cayenne.reflect.FaultFactory;
 import org.apache.cayenne.reflect.LifecycleCallbackRegistry;
 import org.apache.cayenne.reflect.SingletonFaultFactory;
-import org.apache.cayenne.reflect.generic.ValueComparisionStrategyFactory;
+import org.apache.cayenne.reflect.generic.ValueComparisonStrategyFactory;
 import org.apache.cayenne.reflect.generic.DataObjectDescriptorFactory;
 import org.apache.cayenne.reflect.valueholder.ValueHolderDescriptorFactory;
 import org.slf4j.Logger;
@@ -71,7 +71,7 @@ public class EntityResolver implements MappingNamespace, Serializable {
     /**
      * @since 4.2
      */
-    protected transient ValueComparisionStrategyFactory valueComparisionStrategyFactory;
+    protected transient ValueComparisonStrategyFactory valueComparisonStrategyFactory;
 
 
     /**
@@ -560,7 +560,7 @@ public class EntityResolver implements MappingNamespace, Serializable {
 
                     // add factories in reverse of the desired chain order
                     classDescriptorMap.addFactory(new ValueHolderDescriptorFactory(classDescriptorMap));
-                    classDescriptorMap.addFactory(new DataObjectDescriptorFactory(classDescriptorMap, faultFactory, valueComparisionStrategyFactory));
+                    classDescriptorMap.addFactory(new DataObjectDescriptorFactory(classDescriptorMap, faultFactory, valueComparisonStrategyFactory));
 
                     // since ClassDescriptorMap is not synchronized, we need to prefill it with entity proxies here.
                     for (DataMap map : maps) {
@@ -597,7 +597,7 @@ public class EntityResolver implements MappingNamespace, Serializable {
     /**
      * @since 4.2
      */
-    public void setValueComparisionStrategyFactory(ValueComparisionStrategyFactory valueComparisionStrategyFactory) {
-        this.valueComparisionStrategyFactory = valueComparisionStrategyFactory;
+    public void setValueComparisionStrategyFactory(ValueComparisonStrategyFactory valueComparisonStrategyFactory) {
+        this.valueComparisonStrategyFactory = valueComparisonStrategyFactory;
     }
 }
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/reflect/PropertyDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/reflect/PropertyDescriptor.java
index 1f52c85..90799a7 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/reflect/PropertyDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/reflect/PropertyDescriptor.java
@@ -78,9 +78,9 @@ public interface PropertyDescriptor {
     void injectValueHolder(Object object) throws PropertyException;
 
     /**
-     * This methods allows to use special logic to compare values for equality
-     * as in rare cases it is not suffice to use default equals() method.
-     * Deafult implementation uses {@link Util#nullSafeEquals(Object, Object)} method.
+     * Allows to use special logic to compare values for equality
+     * as in rare cases it is not sufficient to use the default equals() method.
+     * Default implementation uses {@link Util#nullSafeEquals(Object, Object)} method.
      *
      * @param value1 to compare
      * @param value2 to compare
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory.java b/cayenne-server/src/main/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory.java
index 8bc0028..ea86196 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory.java
@@ -41,14 +41,14 @@ public class DataObjectDescriptorFactory extends PersistentDescriptorFactory {
 
     protected FaultFactory faultFactory;
 
-    protected ValueComparisionStrategyFactory valueComparisionStrategyFactory;
+    protected ValueComparisonStrategyFactory valueComparisonStrategyFactory;
 
     public DataObjectDescriptorFactory(ClassDescriptorMap descriptorMap,
                                        FaultFactory faultFactory,
-                                       ValueComparisionStrategyFactory valueComparisionStrategyFactory) {
+                                       ValueComparisonStrategyFactory valueComparisonStrategyFactory) {
         super(descriptorMap);
         this.faultFactory = faultFactory;
-        this.valueComparisionStrategyFactory = valueComparisionStrategyFactory;
+        this.valueComparisonStrategyFactory = valueComparisonStrategyFactory;
     }
 
     @Override
@@ -70,7 +70,7 @@ public class DataObjectDescriptorFactory extends PersistentDescriptorFactory {
             PersistentDescriptor descriptor,
             ObjAttribute attribute) {
         DataObjectAttributeProperty property
-                = new DataObjectAttributeProperty(attribute, valueComparisionStrategyFactory.getStrategy(attribute));
+                = new DataObjectAttributeProperty(attribute, valueComparisonStrategyFactory.getStrategy(attribute));
         descriptor.addDeclaredProperty(property);
     }
 
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/reflect/generic/DefaultValueComparisionStrategyFactory.java b/cayenne-server/src/main/java/org/apache/cayenne/reflect/generic/DefaultValueComparisonStrategyFactory.java
similarity index 83%
rename from cayenne-server/src/main/java/org/apache/cayenne/reflect/generic/DefaultValueComparisionStrategyFactory.java
rename to cayenne-server/src/main/java/org/apache/cayenne/reflect/generic/DefaultValueComparisonStrategyFactory.java
index 2abb677..d6dd878 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/reflect/generic/DefaultValueComparisionStrategyFactory.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/reflect/generic/DefaultValueComparisonStrategyFactory.java
@@ -19,24 +19,24 @@
 
 package org.apache.cayenne.reflect.generic;
 
-import java.io.Serializable;
-import java.util.Objects;
-
 import org.apache.cayenne.access.types.ValueObjectType;
 import org.apache.cayenne.access.types.ValueObjectTypeRegistry;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.ObjAttribute;
 
+import java.io.Serializable;
+import java.util.Objects;
+
 /**
  * @since 4.2
  */
-public class DefaultValueComparisionStrategyFactory implements ValueComparisionStrategyFactory {
+public class DefaultValueComparisonStrategyFactory implements ValueComparisonStrategyFactory {
 
     private static final ValueComparisionStrategy<Object> DEFAULT_STRATEGY = new DefaultValueComparisionStrategy();
 
     private final ValueObjectTypeRegistry valueObjectTypeRegistry;
 
-    public DefaultValueComparisionStrategyFactory(@Inject ValueObjectTypeRegistry valueObjectTypeRegistry) {
+    public DefaultValueComparisonStrategyFactory(@Inject ValueObjectTypeRegistry valueObjectTypeRegistry) {
         this.valueObjectTypeRegistry = valueObjectTypeRegistry;
     }
 
@@ -46,17 +46,17 @@ public class DefaultValueComparisionStrategyFactory implements ValueComparisionS
         if(valueObjectType == null) {
             return DEFAULT_STRATEGY;
         } else {
-            return new ValueObjectTypeComparisionStrategy(valueObjectType);
+            return new ValueObjectTypeComparisonStrategy(valueObjectType);
         }
     }
 
     // Using classes instead of lambdas to allow serialization
 
     @SuppressWarnings({"rawtypes"})
-    static class ValueObjectTypeComparisionStrategy implements ValueComparisionStrategy<Object>, Serializable {
+    static class ValueObjectTypeComparisonStrategy implements ValueComparisionStrategy<Object>, Serializable {
         private final ValueObjectType valueObjectType;
 
-        public ValueObjectTypeComparisionStrategy(ValueObjectType<?, ?> valueObjectType) {
+        public ValueObjectTypeComparisonStrategy(ValueObjectType<?, ?> valueObjectType) {
             this.valueObjectType = valueObjectType;
         }
 
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/reflect/generic/ValueComparisionStrategyFactory.java b/cayenne-server/src/main/java/org/apache/cayenne/reflect/generic/ValueComparisonStrategyFactory.java
similarity index 95%
rename from cayenne-server/src/main/java/org/apache/cayenne/reflect/generic/ValueComparisionStrategyFactory.java
rename to cayenne-server/src/main/java/org/apache/cayenne/reflect/generic/ValueComparisonStrategyFactory.java
index 90c398a..bfb2fa8 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/reflect/generic/ValueComparisionStrategyFactory.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/reflect/generic/ValueComparisonStrategyFactory.java
@@ -24,7 +24,7 @@ import org.apache.cayenne.map.ObjAttribute;
 /**
  * @since 4.2
  */
-public interface ValueComparisionStrategyFactory {
+public interface ValueComparisonStrategyFactory {
 
     ValueComparisionStrategy<Object> getStrategy(ObjAttribute attribute);
 
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/DescriptorColumnExtractorTest.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/DescriptorColumnExtractorTest.java
index 833ab4f..523d1fe 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/DescriptorColumnExtractorTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/DescriptorColumnExtractorTest.java
@@ -28,7 +28,7 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.map.ObjAttribute;
 import org.apache.cayenne.map.ObjEntity;
-import org.apache.cayenne.reflect.generic.DefaultValueComparisionStrategyFactory;
+import org.apache.cayenne.reflect.generic.DefaultValueComparisonStrategyFactory;
 import org.junit.Test;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
@@ -69,7 +69,7 @@ public class DescriptorColumnExtractorTest extends BaseColumnExtractorTest {
 
         EntityResolver resolver = new EntityResolver();
         resolver.addDataMap(dataMap);
-        resolver.setValueComparisionStrategyFactory(new DefaultValueComparisionStrategyFactory(mock(ValueObjectTypeRegistry.class)));
+        resolver.setValueComparisionStrategyFactory(new DefaultValueComparisonStrategyFactory(mock(ValueObjectTypeRegistry.class)));
 
         DescriptorColumnExtractor extractor = new DescriptorColumnExtractor(context, resolver.getClassDescriptor("mock"));
         extractor.extract();
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DataDomainProviderTest.java b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DataDomainProviderTest.java
index a775207..37a1261 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DataDomainProviderTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DataDomainProviderTest.java
@@ -113,8 +113,8 @@ import org.apache.cayenne.log.Slf4jJdbcEventLogger;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.EntitySorter;
 import org.apache.cayenne.map.LifecycleEvent;
-import org.apache.cayenne.reflect.generic.ValueComparisionStrategyFactory;
-import org.apache.cayenne.reflect.generic.DefaultValueComparisionStrategyFactory;
+import org.apache.cayenne.reflect.generic.ValueComparisonStrategyFactory;
+import org.apache.cayenne.reflect.generic.DefaultValueComparisonStrategyFactory;
 import org.apache.cayenne.resource.ClassLoaderResourceLocator;
 import org.apache.cayenne.resource.Resource;
 import org.apache.cayenne.resource.ResourceLocator;
@@ -247,7 +247,7 @@ public class DataDomainProviderTest {
 
             ServerModule.contributeValueObjectTypes(binder);
             binder.bind(ValueObjectTypeRegistry.class).to(DefaultValueObjectTypeRegistry.class);
-            binder.bind(ValueComparisionStrategyFactory.class).to(DefaultValueComparisionStrategyFactory.class);
+            binder.bind(ValueComparisonStrategyFactory.class).to(DefaultValueComparisonStrategyFactory.class);
         };
 
         Injector injector = DIBootstrap.createInjector(testModule);
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DefaultDbAdapterFactoryTest.java b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DefaultDbAdapterFactoryTest.java
index 9703787..90096bd 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DefaultDbAdapterFactoryTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DefaultDbAdapterFactoryTest.java
@@ -44,8 +44,8 @@ import org.apache.cayenne.di.spi.DefaultClassLoaderManager;
 import org.apache.cayenne.log.JdbcEventLogger;
 import org.apache.cayenne.log.Slf4jJdbcEventLogger;
 import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.reflect.generic.ValueComparisionStrategyFactory;
-import org.apache.cayenne.reflect.generic.DefaultValueComparisionStrategyFactory;
+import org.apache.cayenne.reflect.generic.ValueComparisonStrategyFactory;
+import org.apache.cayenne.reflect.generic.DefaultValueComparisonStrategyFactory;
 import org.apache.cayenne.resource.ClassLoaderResourceLocator;
 import org.apache.cayenne.resource.ResourceLocator;
 import org.junit.Test;
@@ -162,7 +162,7 @@ public class DefaultDbAdapterFactoryTest {
 
             ServerModule.contributeValueObjectTypes(binder);
             binder.bind(ValueObjectTypeRegistry.class).to(DefaultValueObjectTypeRegistry.class);
-            binder.bind(ValueComparisionStrategyFactory.class).to(DefaultValueComparisionStrategyFactory.class);
+            binder.bind(ValueComparisonStrategyFactory.class).to(DefaultValueComparisonStrategyFactory.class);
         };
 
         Injector injector = DIBootstrap.createInjector(testModule);
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectAttributePropertyTest.java b/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectAttributePropertyTest.java
index af228fa..1b24a62 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectAttributePropertyTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectAttributePropertyTest.java
@@ -33,7 +33,7 @@ public class DataObjectAttributePropertyTest {
 		ObjEntity e1 = new ObjEntity("objEntityName");
 		ObjAttribute a1 = new ObjAttribute("aName", "aType", e1);
 		
-		DataObjectAttributeProperty p1 = new DataObjectAttributeProperty(a1, new DefaultValueComparisionStrategyFactory.DefaultValueComparisionStrategy());
+		DataObjectAttributeProperty p1 = new DataObjectAttributeProperty(a1, new DefaultValueComparisonStrategyFactory.DefaultValueComparisionStrategy());
 		DataObjectAttributeProperty p2 = Util.cloneViaSerialization(p1);
 		
 		assertNotNull(p2);
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java
index 5c94482..ae85c1f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java
@@ -51,7 +51,7 @@ public class DataObjectDescriptorFactoryIT extends ServerCase {
         DataObjectDescriptorFactory factory = new DataObjectDescriptorFactory(
                 resolver.getClassDescriptorMap(),
                 new SingletonFaultFactory(),
-                new DefaultValueComparisionStrategyFactory(mock(ValueObjectTypeRegistry.class)));
+                new DefaultValueComparisonStrategyFactory(mock(ValueObjectTypeRegistry.class)));
 
         for (ObjEntity e : resolver.getObjEntities()) {
             ClassDescriptor descriptor = factory.getDescriptor(e.getName());
@@ -90,7 +90,7 @@ public class DataObjectDescriptorFactoryIT extends ServerCase {
         DataObjectDescriptorFactory factory = new DataObjectDescriptorFactory(
                 resolver.getClassDescriptorMap(),
                 new SingletonFaultFactory(),
-                new DefaultValueComparisionStrategyFactory(mock(ValueObjectTypeRegistry.class)));
+                new DefaultValueComparisonStrategyFactory(mock(ValueObjectTypeRegistry.class)));
 
         for (ObjEntity e : resolver.getObjEntities()) {
             ClassDescriptor descriptor = factory.getDescriptor(e.getName());
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java
index e83ec04..27b3fcc 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java
@@ -48,7 +48,7 @@ public class DataObjectDescriptorFactory_InheritanceMapsIT extends ServerCase {
         DataObjectDescriptorFactory factory = new DataObjectDescriptorFactory(
                 resolver.getClassDescriptorMap(),
                 new SingletonFaultFactory(),
-                new DefaultValueComparisionStrategyFactory(mock(ValueObjectTypeRegistry.class)));
+                new DefaultValueComparisonStrategyFactory(mock(ValueObjectTypeRegistry.class)));
 
         for (ObjEntity e : resolver.getObjEntities()) {
             ClassDescriptor descriptor = factory.getDescriptor(e.getName());
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java
index bc859fe..83ce2b6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java
@@ -113,8 +113,8 @@ import org.apache.cayenne.di.spi.DefaultScope;
 import org.apache.cayenne.log.JdbcEventLogger;
 import org.apache.cayenne.log.Slf4jJdbcEventLogger;
 import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.reflect.generic.ValueComparisionStrategyFactory;
-import org.apache.cayenne.reflect.generic.DefaultValueComparisionStrategyFactory;
+import org.apache.cayenne.reflect.generic.ValueComparisonStrategyFactory;
+import org.apache.cayenne.reflect.generic.DefaultValueComparisonStrategyFactory;
 import org.apache.cayenne.resource.ClassLoaderResourceLocator;
 import org.apache.cayenne.resource.ResourceLocator;
 import org.apache.cayenne.test.jdbc.DBHelper;
@@ -227,7 +227,7 @@ public class ServerCaseModule implements Module {
                 .add(PeriodValueType.class)
                 .add(CharacterValueType.class);
         binder.bind(ValueObjectTypeRegistry.class).to(DefaultValueObjectTypeRegistry.class);
-        binder.bind(ValueComparisionStrategyFactory.class).to(DefaultValueComparisionStrategyFactory.class);
+        binder.bind(ValueComparisonStrategyFactory.class).to(DefaultValueComparisonStrategyFactory.class);
 
         binder.bind(SchemaBuilder.class).to(SchemaBuilder.class);
         binder.bind(JdbcEventLogger.class).to(Slf4jJdbcEventLogger.class);