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 729b06767 Skip exported keys loading if relationship loading is 
disabled
729b06767 is described below

commit 729b06767b238fceaee854cd50552b30c78504ee
Author: Nikita Timofeev <[email protected]>
AuthorDate: Tue Dec 27 15:12:44 2022 +0300

    Skip exported keys loading if relationship loading is disabled
---
 .../cayenne/dbsync/reverse/dbload/ExportedKey.java | 36 ++++++++--------------
 .../dbsync/reverse/dbload/ExportedKeyLoader.java   |  3 ++
 2 files changed, 15 insertions(+), 24 deletions(-)

diff --git 
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/ExportedKey.java
 
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/ExportedKey.java
index fe5342f9a..6bc7004cd 100644
--- 
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/ExportedKey.java
+++ 
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/ExportedKey.java
@@ -21,6 +21,7 @@ package org.apache.cayenne.dbsync.reverse.dbload;
 
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.Objects;
 
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.util.CompareToBuilder;
@@ -34,7 +35,7 @@ import org.apache.cayenne.util.Util;
  *
  * @since 4.0
  */
-public class ExportedKey implements Comparable {
+public class ExportedKey implements Comparable<ExportedKey> {
 
     private final KeyData pk;
     private final KeyData fk;
@@ -62,7 +63,7 @@ public class ExportedKey implements Comparable {
         String fkName = rs.getString("FK_NAME");
         fk = new KeyData(fkCatalog, fkSchema, fkTable, fkColumn, fkName);
 
-        this.keySeq = rs.getShort("KEY_SEQ");
+        keySeq = rs.getShort("KEY_SEQ");
     }
 
     public KeyData getPk() {
@@ -102,15 +103,11 @@ public class ExportedKey implements Comparable {
     }
 
     @Override
-    public int compareTo(Object obj) {
-        if (obj == null || !obj.getClass().equals(getClass())) {
-            throw new IllegalArgumentException();
-        }
-        if (obj == this) {
+    public int compareTo(ExportedKey rhs) {
+        Objects.requireNonNull(rhs);
+        if (rhs == this) {
             return 0;
         }
-
-        ExportedKey rhs = (ExportedKey) obj;
         return new CompareToBuilder()
                 .append(pk, rhs.pk)
                 .append(fk, rhs.fk)
@@ -127,7 +124,7 @@ public class ExportedKey implements Comparable {
         return pk + " <- " + fk;
     }
 
-    public static class KeyData implements Comparable {
+    public static class KeyData implements Comparable<KeyData> {
         private final String catalog;
         private final String schema;
         private final String table;
@@ -168,15 +165,12 @@ public class ExportedKey implements Comparable {
         }
 
         @Override
-        public int compareTo(Object obj) {
-            if (obj == null || !obj.getClass().equals(getClass())) {
-                throw new IllegalArgumentException();
-            }
-            if (obj == this) {
+        public int compareTo(KeyData rhs) {
+            Objects.requireNonNull(rhs);
+            if (rhs == this) {
                 return 0;
             }
 
-            KeyData rhs = (KeyData) obj;
             return new CompareToBuilder()
                     .append(catalog, rhs.catalog)
                     .append(schema, rhs.schema)
@@ -239,16 +233,10 @@ public class ExportedKey implements Comparable {
             }
 
             if(Util.isEmptyString(schema)) {
-                if(!Util.isEmptyString(entity.getSchema())) {
-                    return false;
-                }
+                return Util.isEmptyString(entity.getSchema());
             } else {
-                if(!schema.equals(entity.getSchema())) {
-                    return false;
-                }
+                return schema.equals(entity.getSchema());
             }
-
-            return true;
         }
     }
 }
diff --git 
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/ExportedKeyLoader.java
 
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/ExportedKeyLoader.java
index 1b03eede8..ba38c4df9 100644
--- 
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/ExportedKeyLoader.java
+++ 
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/ExportedKeyLoader.java
@@ -37,6 +37,9 @@ class ExportedKeyLoader extends PerEntityLoader {
 
     @Override
     boolean shouldLoad(DbEntity entity) {
+        if (config.isSkipRelationshipsLoading()) {
+            return false;
+        }
         return delegate.dbRelationship(entity);
     }
 

Reply via email to