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 8f1797787 CAY-2897 Add no-op default implementations to the 
GraphChangeHandler interface
8f1797787 is described below

commit 8f17977878fd91d62987e5835f0d7fcbb932aaaf
Author: Nikita Timofeev <[email protected]>
AuthorDate: Fri Sep 26 19:28:56 2025 +0400

    CAY-2897 Add no-op default implementations to the GraphChangeHandler 
interface
---
 RELEASE-NOTES.txt                                  |  1 +
 .../cayenne/commitlog/DeletedDiffProcessor.java    | 26 ----------------
 .../cayenne/DataChannelSyncCallbackAction.java     |  4 ---
 .../cayenne/access/DataContextMergeHandler.java    |  5 ----
 .../org/apache/cayenne/access/ObjectStore.java     | 25 ----------------
 .../cayenne/access/PrefetchProcessorNode.java      | 16 ----------
 .../access/flush/ArcValuesCreationHandler.java     | 17 -----------
 .../flush/DataDomainIndirectDiffBuilder.java       | 20 -------------
 .../apache/cayenne/graph/GraphChangeHandler.java   | 20 ++++++++-----
 .../java/org/apache/cayenne/graph/GraphMap.java    | 35 ----------------------
 10 files changed, 14 insertions(+), 155 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 32f57281b..be179ec6b 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -17,6 +17,7 @@ CAY-2859 Redesign SelectById factory methods
 CAY-2873 Change Orderings.orderedList() to accept a Collection rather than a 
List
 CAY-2884 Upgrade gradle to 8.13
 CAY-2893 Update velocity-engine-core dependency
+CAY-2897 Add no-op default implementations to the GraphChangeHandler interface
 
 Bug Fixes:
 
diff --git 
a/cayenne-commitlog/src/main/java/org/apache/cayenne/commitlog/DeletedDiffProcessor.java
 
b/cayenne-commitlog/src/main/java/org/apache/cayenne/commitlog/DeletedDiffProcessor.java
index e55d21c31..5598787e4 100644
--- 
a/cayenne-commitlog/src/main/java/org/apache/cayenne/commitlog/DeletedDiffProcessor.java
+++ 
b/cayenne-commitlog/src/main/java/org/apache/cayenne/commitlog/DeletedDiffProcessor.java
@@ -27,7 +27,6 @@ import 
org.apache.cayenne.commitlog.meta.CommitLogEntityFactory;
 import org.apache.cayenne.commitlog.model.MutableChangeMap;
 import org.apache.cayenne.commitlog.model.MutableObjectChange;
 import org.apache.cayenne.commitlog.model.ObjectChangeType;
-import org.apache.cayenne.graph.ArcId;
 import org.apache.cayenne.graph.GraphChangeHandler;
 import org.apache.cayenne.map.DbRelationship;
 import org.apache.cayenne.query.ObjectIdQuery;
@@ -124,29 +123,4 @@ class DeletedDiffProcessor implements GraphChangeHandler {
 
                });
        }
-
-       @Override
-       public void nodeIdChanged(Object nodeId, Object newId) {
-               // do nothing
-       }
-
-       @Override
-       public void nodeCreated(Object nodeId) {
-               // do nothing
-       }
-
-       @Override
-       public void nodePropertyChanged(Object nodeId, String property, Object 
oldValue, Object newValue) {
-               // do nothing
-       }
-
-       @Override
-       public void arcCreated(Object nodeId, Object targetNodeId, ArcId arcId) 
{
-               // do nothing
-       }
-
-       @Override
-       public void arcDeleted(Object nodeId, Object targetNodeId, ArcId arcId) 
{
-               // do nothing
-       }
 }
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/DataChannelSyncCallbackAction.java 
b/cayenne/src/main/java/org/apache/cayenne/DataChannelSyncCallbackAction.java
index e48ce8cc7..2120123e2 100644
--- 
a/cayenne/src/main/java/org/apache/cayenne/DataChannelSyncCallbackAction.java
+++ 
b/cayenne/src/main/java/org/apache/cayenne/DataChannelSyncCallbackAction.java
@@ -143,10 +143,6 @@ public abstract class DataChannelSyncCallbackAction 
implements GraphChangeHandle
         nodeUpdated(nodeId);
     }
 
-    @Override
-    public void nodeIdChanged(Object nodeId, Object newId) {
-    }
-
     @Override
     public void nodePropertyChanged(
             Object nodeId,
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/access/DataContextMergeHandler.java 
b/cayenne/src/main/java/org/apache/cayenne/access/DataContextMergeHandler.java
index 1a15d9b46..7d9db3ed5 100644
--- 
a/cayenne/src/main/java/org/apache/cayenne/access/DataContextMergeHandler.java
+++ 
b/cayenne/src/main/java/org/apache/cayenne/access/DataContextMergeHandler.java
@@ -149,11 +149,6 @@ class DataContextMergeHandler implements 
GraphChangeHandler, DataChannelListener
         context.getObjectStore().processIdChange(nodeId, newId);
     }
 
-    @Override
-    public void nodeCreated(Object nodeId) {
-        // noop
-    }
-
     @Override
     public void nodeRemoved(Object nodeId) {
         ObjectStore os = context.getObjectStore();
diff --git a/cayenne/src/main/java/org/apache/cayenne/access/ObjectStore.java 
b/cayenne/src/main/java/org/apache/cayenne/access/ObjectStore.java
index 00309af49..372fba389 100644
--- a/cayenne/src/main/java/org/apache/cayenne/access/ObjectStore.java
+++ b/cayenne/src/main/java/org/apache/cayenne/access/ObjectStore.java
@@ -439,35 +439,10 @@ public class ObjectStore implements Serializable, 
SnapshotEventListener, GraphMa
         // re-register changed object ids
         if (!parentChanges.isNoop()) {
             parentChanges.apply(new GraphChangeHandler() {
-
-                @Override
-                public void arcCreated(Object nodeId, Object targetNodeId, 
ArcId arcId) {
-                }
-
-                @Override
-                public void arcDeleted(Object nodeId, Object targetNodeId, 
ArcId arcId) {
-                }
-
-                @Override
-                public void nodeCreated(Object nodeId) {
-                }
-
                 @Override
                 public void nodeIdChanged(Object nodeId, Object newId) {
                     processIdChange(nodeId, newId);
                 }
-
-                @Override
-                public void nodePropertyChanged(
-                        Object nodeId,
-                        String property,
-                        Object oldValue,
-                        Object newValue) {
-                }
-
-                @Override
-                public void nodeRemoved(Object nodeId) {
-                }
             });
         }
 
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/access/PrefetchProcessorNode.java 
b/cayenne/src/main/java/org/apache/cayenne/access/PrefetchProcessorNode.java
index d194c07c5..7e4d60232 100644
--- a/cayenne/src/main/java/org/apache/cayenne/access/PrefetchProcessorNode.java
+++ b/cayenne/src/main/java/org/apache/cayenne/access/PrefetchProcessorNode.java
@@ -270,21 +270,5 @@ class PrefetchProcessorNode extends PrefetchTreeNode {
                 hasArcDiff = true;
             }
         }
-
-        @Override
-        public void nodeIdChanged(Object nodeId, Object newId) {
-        }
-
-        @Override
-        public void nodeCreated(Object nodeId) {
-        }
-
-        @Override
-        public void nodeRemoved(Object nodeId) {
-        }
-
-        @Override
-        public void nodePropertyChanged(Object nodeId, String property, Object 
oldValue, Object newValue) {
-        }
     }
 }
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/access/flush/ArcValuesCreationHandler.java
 
b/cayenne/src/main/java/org/apache/cayenne/access/flush/ArcValuesCreationHandler.java
index 8e6d1e500..275f9188c 100644
--- 
a/cayenne/src/main/java/org/apache/cayenne/access/flush/ArcValuesCreationHandler.java
+++ 
b/cayenne/src/main/java/org/apache/cayenne/access/flush/ArcValuesCreationHandler.java
@@ -245,23 +245,6 @@ class ArcValuesCreationHandler implements 
GraphChangeHandler {
         }
     }
 
-    // not interested in following events in this handler
-    @Override
-    public void nodeIdChanged(Object nodeId, Object newId) {
-    }
-
-    @Override
-    public void nodeCreated(Object nodeId) {
-    }
-
-    @Override
-    public void nodeRemoved(Object nodeId) {
-    }
-
-    @Override
-    public void nodePropertyChanged(Object nodeId, String property, Object 
oldValue, Object newValue) {
-    }
-
     private static class ValuePropagationVisitor implements 
DbRowOpVisitor<Void> {
         private final DbAttribute attribute;
         private final boolean add;
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/access/flush/DataDomainIndirectDiffBuilder.java
 
b/cayenne/src/main/java/org/apache/cayenne/access/flush/DataDomainIndirectDiffBuilder.java
index e330db0af..1b6f56b6e 100644
--- 
a/cayenne/src/main/java/org/apache/cayenne/access/flush/DataDomainIndirectDiffBuilder.java
+++ 
b/cayenne/src/main/java/org/apache/cayenne/access/flush/DataDomainIndirectDiffBuilder.java
@@ -85,24 +85,4 @@ final class DataDomainIndirectDiffBuilder implements 
GraphChangeHandler {
             }
         }
     }
-
-    @Override
-    public void nodeIdChanged(Object nodeId, Object newId) {
-        // noop
-    }
-
-    @Override
-    public void nodeCreated(Object nodeId) {
-        // noop
-    }
-
-    @Override
-    public void nodeRemoved(Object nodeId) {
-        // noop
-    }
-
-    @Override
-    public void nodePropertyChanged(Object nodeId, String property, Object 
oldValue, Object newValue) {
-        // noop
-    }
 }
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/graph/GraphChangeHandler.java 
b/cayenne/src/main/java/org/apache/cayenne/graph/GraphChangeHandler.java
index dc7aa4692..d2651666e 100644
--- a/cayenne/src/main/java/org/apache/cayenne/graph/GraphChangeHandler.java
+++ b/cayenne/src/main/java/org/apache/cayenne/graph/GraphChangeHandler.java
@@ -32,34 +32,40 @@ public interface GraphChangeHandler {
     /**
      * Notifies implementing object that a node was assigned a new id.
      */
-    void nodeIdChanged(Object nodeId, Object newId);
+    default void nodeIdChanged(Object nodeId, Object newId) {
+    }
 
     /**
      * Notifies implementing object that a new node was created in the graph.
      */
-    void nodeCreated(Object nodeId);
+    default void nodeCreated(Object nodeId) {
+    }
 
     /**
      * Notifies implementing object that a node was removed from the graph.
      */
-    void nodeRemoved(Object nodeId);
+    default void nodeRemoved(Object nodeId) {
+    }
 
     /**
      * Notifies implementing object that a node's property was modified.
      */
-    void nodePropertyChanged(
+    default void nodePropertyChanged(
             Object nodeId,
             String property,
             Object oldValue,
-            Object newValue);
+            Object newValue) {
+    }
 
     /**
      * Notifies implementing object that a new arc was created between two 
nodes.
      */
-    void arcCreated(Object nodeId, Object targetNodeId, ArcId arcId);
+    default void arcCreated(Object nodeId, Object targetNodeId, ArcId arcId) {
+    }
 
     /**
      * Notifies implementing object that an arc between two nodes was deleted.
      */
-    void arcDeleted(Object nodeId, Object targetNodeId, ArcId arcId);
+    default void arcDeleted(Object nodeId, Object targetNodeId, ArcId arcId) {
+    }
 }
diff --git a/cayenne/src/main/java/org/apache/cayenne/graph/GraphMap.java 
b/cayenne/src/main/java/org/apache/cayenne/graph/GraphMap.java
index 2c0fede1b..e7d564993 100644
--- a/cayenne/src/main/java/org/apache/cayenne/graph/GraphMap.java
+++ b/cayenne/src/main/java/org/apache/cayenne/graph/GraphMap.java
@@ -71,39 +71,4 @@ public class GraphMap implements GraphManager {
         return nodes.remove(nodeId);
     }
 
-    // *** methods for tracking local changes declared in GraphChangeHandler 
interface
-
-    @Override
-    public void arcCreated(Object nodeId, Object targetNodeId, ArcId arcId) {
-        // noop
-    }
-
-    @Override
-    public void arcDeleted(Object nodeId, Object targetNodeId, ArcId arcId) {
-        // noop
-    }
-
-    @Override
-    public void nodeCreated(Object nodeId) {
-        // noop
-    }
-
-    @Override
-    public void nodeRemoved(Object nodeId) {
-        // noop
-    }
-
-    @Override
-    public void nodeIdChanged(Object nodeId, Object newId) {
-        // noop
-    }
-
-    @Override
-    public void nodePropertyChanged(
-            Object nodeId,
-            String property,
-            Object oldValue,
-            Object newValue) {
-        // noop
-    }
 }

Reply via email to