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 2016/11/05 10:48:19 UTC

cayenne git commit: refactoring DbImportConfiguration

Repository: cayenne
Updated Branches:
  refs/heads/master 72dc1a3b4 -> cfb5171da


refactoring DbImportConfiguration


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/cfb5171d
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/cfb5171d
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/cfb5171d

Branch: refs/heads/master
Commit: cfb5171da33dcaf78b06e4dcde641b5b3141b463
Parents: 72dc1a3
Author: Andrus Adamchik <an...@objectstyle.com>
Authored: Sat Nov 5 12:46:11 2016 +0300
Committer: Andrus Adamchik <an...@objectstyle.com>
Committed: Sat Nov 5 13:44:29 2016 +0300

----------------------------------------------------------------------
 .../tools/dbimport/DbImportConfiguration.java   |  7 ----
 .../tools/dbimport/DefaultDbImportAction.java   |  7 ++--
 .../dbimport/DefaultDbImportActionTest.java     | 35 ++++++++------------
 3 files changed, 18 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/cfb5171d/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DbImportConfiguration.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DbImportConfiguration.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DbImportConfiguration.java
index 04c241d..ebc01e0 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DbImportConfiguration.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DbImportConfiguration.java
@@ -28,7 +28,6 @@ import org.apache.cayenne.dbsync.merge.DefaultModelMergeDelegate;
 import org.apache.cayenne.dbsync.merge.ModelMergeDelegate;
 import org.apache.cayenne.dbsync.naming.DefaultObjectNameGenerator;
 import org.apache.cayenne.dbsync.naming.ObjectNameGenerator;
-import org.apache.cayenne.dbsync.reverse.db.DbLoader;
 import org.apache.cayenne.dbsync.reverse.db.DbLoaderConfiguration;
 import org.apache.cayenne.dbsync.reverse.db.DbLoaderDelegate;
 import org.apache.cayenne.dbsync.reverse.db.DefaultDbLoaderDelegate;
@@ -37,7 +36,6 @@ import org.apache.cayenne.dbsync.reverse.filters.FiltersConfig;
 import org.apache.commons.logging.Log;
 
 import java.io.File;
-import java.sql.Connection;
 import java.util.regex.Pattern;
 
 /**
@@ -133,11 +131,6 @@ public class DbImportConfiguration {
         this.usePrimitives = usePrimitives;
     }
 
-    public DbLoader createLoader(DbAdapter adapter, Connection connection, DbLoaderDelegate loaderDelegate)
-            throws InstantiationException, IllegalAccessException, ClassNotFoundException {
-        return new DbLoader(connection, adapter, loaderDelegate, createNameGenerator());
-    }
-
     public NameFilter createMeaningfulPKFilter() {
 
         if (meaningfulPkTables == null) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cfb5171d/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DefaultDbImportAction.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DefaultDbImportAction.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DefaultDbImportAction.java
index d19f44d..e7307de 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DefaultDbImportAction.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DefaultDbImportAction.java
@@ -397,8 +397,11 @@ public class DefaultDbImportAction implements DbImportAction {
 
     protected DataMap load(DbImportConfiguration config, DbAdapter adapter, Connection connection) throws Exception {
         DataMap dataMap = new DataMap("_import_source_");
-        DbLoader loader = config.createLoader(adapter, connection, config.createLoaderDelegate());
-        loader.load(dataMap, config.getDbLoaderConfig());
+        createDbLoader(config, adapter, connection).load(dataMap, config.getDbLoaderConfig());
         return dataMap;
     }
+
+    protected DbLoader createDbLoader(DbImportConfiguration config, DbAdapter adapter, Connection connection) {
+        return new DbLoader(connection, adapter, config.createLoaderDelegate(), config.createNameGenerator());
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cfb5171d/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DefaultDbImportActionTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DefaultDbImportActionTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DefaultDbImportActionTest.java
index e55fd89..20ccc1d 100644
--- a/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DefaultDbImportActionTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DefaultDbImportActionTest.java
@@ -120,8 +120,6 @@ public class DefaultDbImportActionTest {
         };
 
         DbImportConfiguration config = mock(DbImportConfiguration.class);
-        when(config.createLoader(any(DbAdapter.class), any(Connection.class), any(DbLoaderDelegate.class)))
-                .thenReturn(dbLoader);
 
         when(config.createMergeDelegate()).thenReturn(new DefaultModelMergeDelegate());
         when(config.getDbLoaderConfig()).thenReturn(new DbLoaderConfiguration());
@@ -138,7 +136,7 @@ public class DefaultDbImportActionTest {
                 // Validation phase
                 assertTrue(project.getRootNode() instanceof DataMap);
             }
-        }, null);
+        }, null, dbLoader);
 
         action.execute(config);
 
@@ -164,8 +162,6 @@ public class DefaultDbImportActionTest {
         };
 
         DbImportConfiguration params = mock(DbImportConfiguration.class);
-        when(params.createLoader(any(DbAdapter.class), any(Connection.class), any(DbLoaderDelegate.class)))
-                .thenReturn(dbLoader);
 
         when(params.getTargetDataMap()).thenReturn(FILE_STUB);
         when(params.createMergeDelegate()).thenReturn(new DefaultModelMergeDelegate());
@@ -203,7 +199,7 @@ public class DefaultDbImportActionTest {
                                 objAttr("name").type(String.class).dbPath("NAME")
                         )).build();
             }
-        });
+        }, dbLoader);
 
         action.execute(params);
 
@@ -223,16 +219,10 @@ public class DefaultDbImportActionTest {
         };
 
         DbImportConfiguration params = mock(DbImportConfiguration.class);
-        when(params.createLoader(any(DbAdapter.class), any(Connection.class), any(DbLoaderDelegate.class)))
-                .thenReturn(dbLoader);
-
         when(params.getTargetDataMap()).thenReturn(FILE_STUB);
         when(params.createMergeDelegate()).thenReturn(new DefaultModelMergeDelegate());
         when(params.getDbLoaderConfig()).thenReturn(new DbLoaderConfiguration());
 
-        Log log = mock(Log.class);
-        when(log.isDebugEnabled()).thenReturn(false);
-        when(log.isInfoEnabled()).thenReturn(false);
 
         FileProjectSaver projectSaver = mock(FileProjectSaver.class);
         doNothing().when(projectSaver).save(any(Project.class));
@@ -243,7 +233,7 @@ public class DefaultDbImportActionTest {
                         dbAttr("NAME").typeVarchar(100).mandatory()
                 )).build());
 
-        DefaultDbImportAction action = buildDbImportAction(log, projectSaver, mapLoader);
+        DefaultDbImportAction action = buildDbImportAction(projectSaver, mapLoader, dbLoader);
 
         action.execute(params);
 
@@ -258,8 +248,6 @@ public class DefaultDbImportActionTest {
         doThrow(new SQLException()).when(dbLoader).load(any(DataMap.class), any(DbLoaderConfiguration.class));
 
         DbImportConfiguration params = mock(DbImportConfiguration.class);
-        when(params.createLoader(any(DbAdapter.class), any(Connection.class), any(DbLoaderDelegate.class)))
-                .thenReturn(dbLoader);
 
         FileProjectSaver projectSaver = mock(FileProjectSaver.class);
         doNothing().when(projectSaver).save(any(Project.class));
@@ -267,7 +255,7 @@ public class DefaultDbImportActionTest {
         MapLoader mapLoader = mock(MapLoader.class);
         when(mapLoader.loadDataMap(any(InputSource.class))).thenReturn(null);
 
-        DefaultDbImportAction action = buildDbImportAction(projectSaver, mapLoader);
+        DefaultDbImportAction action = buildDbImportAction(projectSaver, mapLoader, dbLoader);
 
         try {
             action.execute(params);
@@ -280,15 +268,13 @@ public class DefaultDbImportActionTest {
         verify(mapLoader, never()).loadDataMap(any(InputSource.class));
     }
 
-    private DefaultDbImportAction buildDbImportAction(FileProjectSaver projectSaver, MapLoader mapLoader) throws Exception {
+    private DefaultDbImportAction buildDbImportAction(FileProjectSaver projectSaver, MapLoader mapLoader, final DbLoader dbLoader)
+            throws Exception {
+
         Log log = mock(Log.class);
         when(log.isDebugEnabled()).thenReturn(true);
         when(log.isInfoEnabled()).thenReturn(true);
 
-        return buildDbImportAction(log, projectSaver, mapLoader);
-    }
-
-    private DefaultDbImportAction buildDbImportAction(Log log, FileProjectSaver projectSaver, MapLoader mapLoader) throws Exception {
         DbAdapter dbAdapter = mock(DbAdapter.class);
 
         DbAdapterFactory adapterFactory = mock(DbAdapterFactory.class);
@@ -301,7 +287,12 @@ public class DefaultDbImportActionTest {
         MergerTokenFactoryProvider mergerTokenFactoryProvider = mock(MergerTokenFactoryProvider.class);
         when(mergerTokenFactoryProvider.get(any(DbAdapter.class))).thenReturn(new DefaultMergerTokenFactory());
 
-        return new DefaultDbImportAction(log, projectSaver, dataSourceFactory, adapterFactory, mapLoader, mergerTokenFactoryProvider);
+        return new DefaultDbImportAction(log, projectSaver, dataSourceFactory, adapterFactory, mapLoader, mergerTokenFactoryProvider) {
+            @Override
+            protected DbLoader createDbLoader(DbImportConfiguration config, DbAdapter adapter, Connection connection) {
+                return dbLoader;
+            }
+        };
     }
 
     @Test