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")));