You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by sk...@apache.org on 2016/12/19 11:46:24 UTC

[08/10] cayenne git commit: Exclude table settings in reverse engineering dialog Added @since tag to new public classes

Exclude table settings in reverse engineering dialog
Added @since tag to new public classes


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

Branch: refs/heads/master
Commit: 06c918302310430952ea145d2f046d0210b6dc19
Parents: 163a871
Author: Nikita Timofeev <st...@gmail.com>
Authored: Thu Dec 15 12:10:00 2016 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Thu Dec 15 12:10:00 2016 +0300

----------------------------------------------------------------------
 docs/doc/src/main/resources/RELEASE-NOTES.txt   |  1 +
 .../cayenne/modeler/action/MigrateAction.java   | 13 ++++---
 .../action/ReverseEngineeringAction.java        |  3 +-
 .../dialog/db/DbActionOptionsDialog.java        | 13 ++++---
 .../modeler/dialog/db/load/DbLoaderContext.java |  9 ++++-
 .../dialog/db/load/DbLoaderOptionsDialog.java   | 29 +++++++++++----
 .../modeler/dialog/db/load/LoadDataMapTask.java |  3 ++
 .../dialog/db/merge/DbMigrateOptionsDialog.java | 39 --------------------
 8 files changed, 50 insertions(+), 60 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/06c91830/docs/doc/src/main/resources/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/RELEASE-NOTES.txt b/docs/doc/src/main/resources/RELEASE-NOTES.txt
index 07dcd5b..0c1637d 100644
--- a/docs/doc/src/main/resources/RELEASE-NOTES.txt
+++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt
@@ -18,6 +18,7 @@ CAY-2164 Relocate builder bootstrap methods from ServerRuntimeBuilder to ServerR
 CAY-2165 Explicit "contribution" API for easier expansion of DI collections and maps
 CAY-2166 Auto-loading of Cayenne modules
 CAY-2168 Split DbLoader to parts and clean it up
+CAY-2172 Cleanup Modeler import and migrate db actions
 
 Bug Fixes:
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/06c91830/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/MigrateAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/MigrateAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/MigrateAction.java
index af0dcd0..e6b7a8d 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/MigrateAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/MigrateAction.java
@@ -20,11 +20,10 @@
 package org.apache.cayenne.modeler.action;
 
 import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactoryProvider;
-import org.apache.cayenne.dbsync.reverse.dbload.DbLoader;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.dialog.db.DataSourceWizard;
-import org.apache.cayenne.modeler.dialog.db.merge.DbMigrateOptionsDialog;
+import org.apache.cayenne.modeler.dialog.db.DbActionOptionsDialog;
 import org.apache.cayenne.modeler.dialog.db.merge.MergerOptions;
 
 import java.awt.event.ActionEvent;
@@ -33,7 +32,7 @@ import java.util.Collection;
 /**
  * Action that alter database schema to match a DataMap.
  */
-public class MigrateAction extends DBWizardAction<DbMigrateOptionsDialog> {
+public class MigrateAction extends DBWizardAction<DbActionOptionsDialog> {
 
     public MigrateAction(Application application) {
         super(getActionName(), application);
@@ -55,7 +54,7 @@ public class MigrateAction extends DBWizardAction<DbMigrateOptionsDialog> {
             throw new IllegalStateException("No current DataMap selected.");
         }
 
-        DbMigrateOptionsDialog optionsDialog = loaderOptionDialog(connectWizard);
+        DbActionOptionsDialog optionsDialog = loaderOptionDialog(connectWizard);
         String selectedCatalog = optionsDialog == null ? null : optionsDialog.getSelectedCatalog();
         String selectedSchema = optionsDialog == null ? null : optionsDialog.getSelectedSchema();
 
@@ -71,7 +70,9 @@ public class MigrateAction extends DBWizardAction<DbMigrateOptionsDialog> {
     }
 
     @Override
-    protected DbMigrateOptionsDialog createDialog(Collection<String> catalogs, Collection<String> schemas, String currentCatalog, String currentSchema) {
-        return new DbMigrateOptionsDialog(catalogs, schemas, currentCatalog, currentSchema);
+    protected DbActionOptionsDialog createDialog(Collection<String> catalogs, Collection<String> schemas,
+                                                 String currentCatalog, String currentSchema) {
+        return new DbActionOptionsDialog(Application.getFrame(), "Migrate DB Schema: Select Catalog and Schema",
+                catalogs, schemas, currentCatalog, currentSchema);
     }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/06c91830/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
index a2fefb7..de1c75e 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
@@ -91,7 +91,8 @@ public class ReverseEngineeringAction extends DBWizardAction<DbLoaderOptionsDial
     }
 
     @Override
-    protected DbLoaderOptionsDialog createDialog(Collection<String> catalogs, Collection<String> schemas, String currentCatalog, String currentSchema) {
+    protected DbLoaderOptionsDialog createDialog(Collection<String> catalogs, Collection<String> schemas,
+                                                 String currentCatalog, String currentSchema) {
         return new DbLoaderOptionsDialog(catalogs, schemas, currentCatalog, currentSchema);
     }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/06c91830/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbActionOptionsDialog.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbActionOptionsDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbActionOptionsDialog.java
index 19c479b..20eb185 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbActionOptionsDialog.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbActionOptionsDialog.java
@@ -38,7 +38,10 @@ import com.jgoodies.forms.builder.DefaultFormBuilder;
 import com.jgoodies.forms.layout.FormLayout;
 import org.apache.cayenne.modeler.util.CayenneDialog;
 
-public abstract class DbActionOptionsDialog extends CayenneDialog {
+/**
+ * @since 4.0
+ */
+public class DbActionOptionsDialog extends CayenneDialog {
 
     protected static final String WILDCARD_PATTERN = ".*";
     public static final int CANCEL = 0;
@@ -78,9 +81,6 @@ public abstract class DbActionOptionsDialog extends CayenneDialog {
         DefaultFormBuilder builder = new DefaultFormBuilder(layout);
         builder.setDefaultDialogBorder();
 
-        catalogLabel = builder.append("Select Catalog:", catalogSelector, true);
-        schemaLabel = builder.append("Select Schema:", schemaSelector);
-
         initForm(builder);
 
         JPanel buttons = new JPanel(new FlowLayout(FlowLayout.RIGHT));
@@ -141,7 +141,10 @@ public abstract class DbActionOptionsDialog extends CayenneDialog {
         }
     }
 
-    protected abstract void initForm(DefaultFormBuilder builder);
+    protected void initForm(DefaultFormBuilder builder) {
+        catalogLabel = builder.append("Select Catalog:", catalogSelector, true);
+        schemaLabel = builder.append("Select Schema:", schemaSelector);
+    }
 
     public int getChoice() {
         return choice;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/06c91830/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java
index 65b9b6e..d11691a 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java
@@ -44,6 +44,9 @@ import org.apache.cayenne.util.Util;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+/**
+ * @since 4.0
+ */
 public class DbLoaderContext {
 
     private static Log LOGGER = LogFactory.getLog(DbLoaderContext.class);
@@ -116,7 +119,11 @@ public class DbLoaderContext {
         ReverseEngineering reverseEngineering = new ReverseEngineering();
         reverseEngineering.addCatalog(new Catalog(dialog.getSelectedCatalog()));
         reverseEngineering.addSchema(new Schema(dialog.getSelectedSchema()));
-        reverseEngineering.addIncludeTable(new IncludeTable(dialog.getTableNamePattern()));
+        reverseEngineering.addIncludeTable(new IncludeTable(dialog.getTableIncludePattern()));
+        if(dialog.getTableExcludePattern() != null) {
+            reverseEngineering.addExcludeTable(new ExcludeTable(dialog.getTableExcludePattern()));
+        }
+        // Add here auto_pk_support table
         reverseEngineering.addExcludeTable(new ExcludeTable("auto_pk_support|AUTO_PK_SUPPORT"));
         reverseEngineering.addIncludeProcedure(new IncludeProcedure(dialog.getProcedureNamePattern()));
         FiltersConfigBuilder filtersConfigBuilder = new FiltersConfigBuilder(reverseEngineering);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/06c91830/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderOptionsDialog.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderOptionsDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderOptionsDialog.java
index e1c422e..192a5aa 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderOptionsDialog.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderOptionsDialog.java
@@ -35,7 +35,8 @@ import javax.swing.JTextField;
  */
 public class DbLoaderOptionsDialog extends DbActionOptionsDialog {
 
-    private JTextField tableNamePatternField;
+    private JTextField tableIncludePatternField;
+    private JTextField tableExcludePatternField;
     private JTextField meaningfulPk;
     private JTextField procNamePatternField;
     private JComboBox<String> strategyCombo;
@@ -52,9 +53,13 @@ public class DbLoaderOptionsDialog extends DbActionOptionsDialog {
 
     @Override
     protected void initForm(DefaultFormBuilder builder) {
-        tableNamePatternField = new JTextField();
-        tableNamePatternField.setToolTipText("<html>Regular expression to filter table names.<br>" +
+        super.initForm(builder);
+        tableIncludePatternField = new JTextField();
+        tableIncludePatternField.setToolTipText("<html>Regular expression to filter table names.<br>" +
                 "Default expression <b>.*</b> includes all tables.</html>");
+        tableExcludePatternField = new JTextField();
+        tableExcludePatternField.setToolTipText("<html>Regular expression to filter table names.<br>" +
+                "Empty by default excludes nothing.</html>");
         procNamePatternField = new JTextField();
         procNamePatternField.setToolTipText("<html>Regular expression to filter stored procedures names.<br>" +
                 "Default expression <b>.*</b> includes all stored procedures.</html>");
@@ -65,7 +70,8 @@ public class DbLoaderOptionsDialog extends DbActionOptionsDialog {
         strategyCombo = new JComboBox<>();
         strategyCombo.setEditable(true);
 
-        builder.append("Table Name Pattern:", tableNamePatternField);
+        builder.append("Table Name Include Pattern:", tableIncludePatternField);
+        builder.append("Table Name Exclude Pattern:", tableExcludePatternField);
         builder.append("Procedure Name Pattern:", procNamePatternField);
         builder.append("Naming Strategy:", strategyCombo);
         builder.append("Tables with Meaningful PK Pattern:", meaningfulPk);
@@ -74,7 +80,7 @@ public class DbLoaderOptionsDialog extends DbActionOptionsDialog {
     protected void initFromModel(Collection<String> catalogs, Collection<String> schemas, String currentCatalog, String currentSchema) {
         super.initFromModel(catalogs, schemas, currentCatalog, currentSchema);
 
-        this.tableNamePatternField.setText(WILDCARD_PATTERN);
+        this.tableIncludePatternField.setText(WILDCARD_PATTERN);
         this.procNamePatternField.setText(WILDCARD_PATTERN);
 
         Vector<String> arr = NameGeneratorPreferences
@@ -83,9 +89,16 @@ public class DbLoaderOptionsDialog extends DbActionOptionsDialog {
         strategyCombo.setModel(new DefaultComboBoxModel<>(arr));
     }
 
-    String getTableNamePattern() {
-        return "".equals(tableNamePatternField.getText()) ? null : tableNamePatternField
-                .getText();
+    String getTableIncludePattern() {
+        return "".equals(tableIncludePatternField.getText()) ?
+                null :
+                tableIncludePatternField.getText();
+    }
+
+    String getTableExcludePattern() {
+        return "".equals(tableExcludePatternField.getText()) ?
+                null :
+                tableExcludePatternField.getText();
     }
 
     String getMeaningfulPk() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/06c91830/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/LoadDataMapTask.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/LoadDataMapTask.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/LoadDataMapTask.java
index ceb0d44..d592385 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/LoadDataMapTask.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/LoadDataMapTask.java
@@ -32,6 +32,9 @@ import org.apache.cayenne.tools.dbimport.DbImportModule;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+/**
+ * @since 4.0
+ */
 final public class LoadDataMapTask extends LongRunningTask {
 
     private static Log LOGGER = LogFactory.getLog(DbLoaderContext.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/06c91830/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/merge/DbMigrateOptionsDialog.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/merge/DbMigrateOptionsDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/merge/DbMigrateOptionsDialog.java
deleted file mode 100644
index d044b30..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/merge/DbMigrateOptionsDialog.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-
-package org.apache.cayenne.modeler.dialog.db.merge;
-
-import java.util.Collection;
-
-import com.jgoodies.forms.builder.DefaultFormBuilder;
-import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.dialog.db.DbActionOptionsDialog;
-
-public class DbMigrateOptionsDialog extends DbActionOptionsDialog {
-    
-    public DbMigrateOptionsDialog(Collection<String> catalogs, Collection<String> schemas,
-                                  String defaultCatalog, String defaultSchema) {
-        super(Application.getFrame(), "Migrate DB Schema: Select Catalog and Schema",
-                catalogs, schemas, defaultCatalog, defaultSchema);
-    }
-
-    @Override
-    protected void initForm(DefaultFormBuilder builder) {
-    }
-}