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

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


The following commit(s) were added to refs/heads/master by this push:
     new 69b79a7e0 Remove unnecessary methods from IdGenerationMarker and make 
it singleton
69b79a7e0 is described below

commit 69b79a7e06fa6bfdfb514323f7b23b204f09ee3e
Author: Nikita Timofeev <[email protected]>
AuthorDate: Fri Dec 16 17:53:42 2022 +0300

    Remove unnecessary methods from IdGenerationMarker and make it singleton
---
 .../cayenne/access/flush/IdGenerationMarker.java       | 18 ++++++------------
 .../cayenne/access/flush/PermanentObjectIdVisitor.java |  2 +-
 .../apache/cayenne/access/flush/EffectiveOpIdTest.java |  4 ++--
 3 files changed, 9 insertions(+), 15 deletions(-)

diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/access/flush/IdGenerationMarker.java
 
b/cayenne-server/src/main/java/org/apache/cayenne/access/flush/IdGenerationMarker.java
index 2a10744c2..299e35261 100644
--- 
a/cayenne-server/src/main/java/org/apache/cayenne/access/flush/IdGenerationMarker.java
+++ 
b/cayenne-server/src/main/java/org/apache/cayenne/access/flush/IdGenerationMarker.java
@@ -21,7 +21,6 @@ package org.apache.cayenne.access.flush;
 
 import java.io.Serializable;
 
-import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.access.types.InternalUnsupportedTypeFactory;
 
 /**
@@ -32,23 +31,18 @@ import 
org.apache.cayenne.access.types.InternalUnsupportedTypeFactory;
 class IdGenerationMarker implements Serializable, 
InternalUnsupportedTypeFactory.Marker {
     private static final long serialVersionUID = -5339942931435878094L;
 
-    private final int id;
+    private final static IdGenerationMarker INSTANCE = new 
IdGenerationMarker();
 
-    IdGenerationMarker(ObjectId id) {
-        this.id = id.hashCode();
+    static IdGenerationMarker marker() {
+        return INSTANCE;
     }
 
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-        IdGenerationMarker that = (IdGenerationMarker) o;
-        return id == that.id;
+    private IdGenerationMarker() {
     }
 
     @Override
-    public int hashCode() {
-        return id;
+    public String toString() {
+        return "{IdGenerationMarker}";
     }
 
     @Override
diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/access/flush/PermanentObjectIdVisitor.java
 
b/cayenne-server/src/main/java/org/apache/cayenne/access/flush/PermanentObjectIdVisitor.java
index c0884ba4e..1817febbd 100644
--- 
a/cayenne-server/src/main/java/org/apache/cayenne/access/flush/PermanentObjectIdVisitor.java
+++ 
b/cayenne-server/src/main/java/org/apache/cayenne/access/flush/PermanentObjectIdVisitor.java
@@ -129,7 +129,7 @@ class PermanentObjectIdVisitor implements 
DbRowOpVisitor<Void> {
             // skip db-generated
             if (supportsGeneratedKeys && dbAttr.isGenerated()) {
                 // mark that this attribute should be generated at insert time
-                idMap.put(dbAttrName, new IdGenerationMarker(id));
+                idMap.put(dbAttrName, IdGenerationMarker.marker());
                 continue;
             }
 
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/flush/EffectiveOpIdTest.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/access/flush/EffectiveOpIdTest.java
index 52ce75317..4877e0c6a 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/access/flush/EffectiveOpIdTest.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/flush/EffectiveOpIdTest.java
@@ -34,8 +34,8 @@ public class EffectiveOpIdTest {
     @Test
     public void testEqualsTempGeneratedId() {
         ObjectId id1 = ObjectId.of("test");
-        id1.getReplacementIdMap().put("pk", new IdGenerationMarker(id1));
-        EffectiveOpId effectiveOpId1 = new EffectiveOpId("test", 
Collections.singletonMap("pk", new IdGenerationMarker(id1)));
+        id1.getReplacementIdMap().put("pk", IdGenerationMarker.marker());
+        EffectiveOpId effectiveOpId1 = new EffectiveOpId("test", 
Collections.singletonMap("pk", IdGenerationMarker.marker()));
 
         EffectiveOpId effectiveOpId2 = new EffectiveOpId("test", 
Collections.singletonMap("pk", ObjectIdValueSupplier.getFor(id1, "pk")));
 

Reply via email to