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 2026/04/25 22:35:46 UTC
(cayenne) 02/02: Modeler cleanup
This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git
commit 5f0aa7c7367d8178db8b558664e48f5cdf93edca
Author: Andrus Adamchik <an...@objectstyle.com>
AuthorDate: Sat Apr 25 15:36:50 2026 -0400
Modeler cleanup
---
...ImportAction.java => DbSyncDbImportAction.java} | 25 ++++++++----
.../modeler/dbimport/ModelerDbImportModule.java | 10 +++--
.../modeler/dbimport/ModelerDbLoaderContext.java | 23 +++--------
.../modeler/service/action/GlobalActions.java | 2 -
.../DataDomainGeneratorsViewController.java | 2 +-
.../dbimport/DataDomainDbImportController.java | 11 +++---
.../editor/datamap/dbimport/DbImportView.java | 41 ++------------------
.../datamap/dbimport/action/DbImportActions.java | 6 +++
.../dbimport/action/ModelerDbImportAction.java} | 44 +++++++---------------
9 files changed, 59 insertions(+), 105 deletions(-)
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dbimport/ModelerDbImportAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dbimport/DbSyncDbImportAction.java
similarity index 91%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dbimport/ModelerDbImportAction.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dbimport/DbSyncDbImportAction.java
index 700fbba1e..f242ffe7b 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dbimport/ModelerDbImportAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dbimport/DbSyncDbImportAction.java
@@ -42,19 +42,17 @@ import java.awt.event.ComponentEvent;
import java.util.Collection;
import java.util.List;
-public class ModelerDbImportAction extends DefaultDbImportAction {
+public class DbSyncDbImportAction extends DefaultDbImportAction {
- @Inject
- private DataMap targetMap;
+ private final DataMap targetMap;
+ private final DbImportController dbImportController;
private DataMap sourceDataMap;
private DbImportConfiguration config;
-
private DbLoadResultDialog resultDialog;
- private final DbImportController dbImportController;
-
- public ModelerDbImportAction(
+ public DbSyncDbImportAction(
+ @Inject DataMap targetMap,
@Inject Application application,
@Inject Logger logger,
@Inject ProjectSaver projectSaver,
@@ -64,7 +62,18 @@ public class ModelerDbImportAction extends DefaultDbImportAction {
@Inject MergerTokenFactoryProvider mergerTokenFactoryProvider,
@Inject DataChannelMetaData metaData,
@Inject DataChannelDescriptorLoader dataChannelDescriptorLoader) {
- super(logger, projectSaver, dataSourceFactory, adapterFactory, mapLoader, mergerTokenFactoryProvider, dataChannelDescriptorLoader, metaData);
+
+ super(
+ logger,
+ projectSaver,
+ dataSourceFactory,
+ adapterFactory,
+ mapLoader,
+ mergerTokenFactoryProvider,
+ dataChannelDescriptorLoader,
+ metaData);
+
+ this.targetMap = targetMap;
this.dbImportController = application.getFrameController().getDbImportController();
}
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dbimport/ModelerDbImportModule.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dbimport/ModelerDbImportModule.java
index 6b48388cb..99c2b2cd8 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dbimport/ModelerDbImportModule.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dbimport/ModelerDbImportModule.java
@@ -22,6 +22,8 @@ package org.apache.cayenne.modeler.dbimport;
import org.apache.cayenne.di.Binder;
import org.apache.cayenne.di.Module;
import org.apache.cayenne.map.DataMap;
+import org.apache.cayenne.modeler.Application;
+import org.apache.cayenne.modeler.service.action.GlobalActions;
import org.apache.cayenne.modeler.ui.project.ProjectController;
import org.apache.cayenne.project.ProjectSaver;
import org.apache.cayenne.dbsync.reverse.dbimport.DbImportAction;
@@ -30,15 +32,17 @@ public class ModelerDbImportModule implements Module {
private final ModelerDbLoaderContext loaderContext;
- public ModelerDbImportModule(ModelerDbLoaderContext dbLoaderHelper) {
- this.loaderContext = dbLoaderHelper;
+ public ModelerDbImportModule(ModelerDbLoaderContext loaderContext) {
+ this.loaderContext = loaderContext;
}
@Override
public void configure(Binder binder) {
+ binder.bind(Application.class).toInstance(loaderContext.getApplication());
binder.bind(ProjectController.class).toInstance(loaderContext.getProjectController());
+ binder.bind(GlobalActions.class).toInstance(loaderContext.getApplication().getActionManager());
binder.bind(ProjectSaver.class).to(DbImportProjectSaver.class);
- binder.bind(DbImportAction.class).to(ModelerDbImportAction.class);
+ binder.bind(DbImportAction.class).to(DbSyncDbImportAction.class);
binder.bind(DataMap.class).toInstance(loaderContext.getDataMap());
}
}
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dbimport/ModelerDbLoaderContext.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dbimport/ModelerDbLoaderContext.java
index 715999d53..52a212405 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dbimport/ModelerDbLoaderContext.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dbimport/ModelerDbLoaderContext.java
@@ -28,7 +28,6 @@ import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.pref.DBConnectionInfo;
import org.apache.cayenne.modeler.service.classloader.ModelerClassLoader;
import org.apache.cayenne.modeler.ui.project.ProjectController;
-import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.DbImportView;
import org.apache.cayenne.util.Util;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -65,6 +64,10 @@ public class ModelerDbLoaderContext {
return projectController;
}
+ public Application getApplication() {
+ return application;
+ }
+
void setConfig(DbImportConfiguration config) {
this.config = config;
}
@@ -97,30 +100,14 @@ public class ModelerDbLoaderContext {
this.loadStatusNote = loadStatusNote;
}
- private void fillReverseEngineeringFromView(ReverseEngineering reverseEngineering, DbImportView view) {
- reverseEngineering.setUseJava7Types(view.isUseJava7Typed());
- reverseEngineering.setForceDataMapCatalog(view.isForceDataMapCatalog());
- reverseEngineering.setForceDataMapSchema(view.isForceDataMapSchema());
- reverseEngineering.setSkipRelationshipsLoading(view.isSkipRelationshipsLoading());
- reverseEngineering.setSkipPrimaryKeyLoading(view.isSkipPrimaryKeyLoading());
- reverseEngineering.setMeaningfulPkTables(view.getMeaningfulPk());
- reverseEngineering.setNamingStrategy(view.getNamingStrategy());
- reverseEngineering.setStripFromTableNames(view.getStripFromTableNames());
- }
-
- public boolean buildConfig(DBConnectionInfo connectionInfo, DbImportView view, boolean headless) {
+ public boolean buildConfig(DBConnectionInfo connectionInfo) {
if (connectionInfo == null) {
return false;
}
- // Build reverse engineering from metadata and dialog values
ReverseEngineering metaReverseEngineering = application.getMetaData().get(dataMap, ReverseEngineering.class);
if(metaReverseEngineering == null) {
return false;
}
- // skip this step for batch run from domain tab
- if(!headless){
- fillReverseEngineeringFromView(metaReverseEngineering, view);
- }
// Create copy of metaReverseEngineering
ReverseEngineering reverseEngineering = new ReverseEngineering(metaReverseEngineering);
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/service/action/GlobalActions.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/service/action/GlobalActions.java
index e646ecdb1..7cb5c6e81 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/service/action/GlobalActions.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/service/action/GlobalActions.java
@@ -83,7 +83,6 @@ public class GlobalActions {
ImportDataMapAction.class.getName(),
CreateDataMapAction.class.getName(),
CreateNodeAction.class.getName(),
- ReverseEngineeringAction.class.getName(),
ImportEOModelAction.class.getName(),
GenerateCodeAction.class.getName(),
GenerateDBAction.class.getName(),
@@ -184,7 +183,6 @@ public class GlobalActions {
registerAction(new DbEntityCounterpartAction(application));
registerAction(new ObjEntityCounterpartAction(application));
registerAction(new ObjEntityToSuperEntityAction(application));
- registerAction(new ReverseEngineeringAction(application));
registerAction(new InferRelationshipsAction(application));
registerAction(new ImportEOModelAction(application));
registerAction(new GenerateDBAction(application));
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datadomain/DataDomainGeneratorsViewController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datadomain/DataDomainGeneratorsViewController.java
index ae09ee21a..180423073 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datadomain/DataDomainGeneratorsViewController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datadomain/DataDomainGeneratorsViewController.java
@@ -39,7 +39,7 @@ public abstract class DataDomainGeneratorsViewController<T> implements DataMapLi
protected final static Logger LOGGER = LoggerFactory.getLogger(DataDomainGeneratorsViewController.class);
- private final ProjectController projectController;
+ protected final ProjectController projectController;
private final ConcurrentMap<DataMap, DataDomainGeneratorsPanel> generatorsPanels;
private final Set<DataMap> selectedDataMaps;
private final Class<T> type;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datadomain/dbimport/DataDomainDbImportController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datadomain/dbimport/DataDomainDbImportController.java
index 1a3203703..9aec6c5cd 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datadomain/dbimport/DataDomainDbImportController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datadomain/dbimport/DataDomainDbImportController.java
@@ -20,19 +20,21 @@ package org.apache.cayenne.modeler.ui.project.editor.datadomain.dbimport;
import org.apache.cayenne.dbsync.reverse.dbimport.ReverseEngineering;
import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.event.display.DataMapDisplayEvent;
-import org.apache.cayenne.modeler.ui.action.ReverseEngineeringAction;
import org.apache.cayenne.modeler.ui.project.ProjectController;
import org.apache.cayenne.modeler.ui.project.editor.datadomain.DataDomainGeneratorsViewController;
+import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.action.ModelerDbImportAction;
import java.util.Set;
public class DataDomainDbImportController extends DataDomainGeneratorsViewController<ReverseEngineering> {
+ private final ModelerDbImportAction dbImportAction;
+
public DataDomainDbImportController(ProjectController projectController) {
super(projectController, ReverseEngineering.class, false);
this.view = new DataDomainDbImportView(projectController, this);
+ this.dbImportAction = new ModelerDbImportAction(projectController.getApplication());
}
@Override
@@ -41,9 +43,8 @@ public class DataDomainDbImportController extends DataDomainGeneratorsViewContro
view.showEmptyMessage();
return;
}
- Application.getInstance().getFrameController().getDbImportController().setGlobalImport(true);
- ReverseEngineeringAction reverseEngineeringAction = Application.getInstance().getActionManager().getAction(ReverseEngineeringAction.class);
- reverseEngineeringAction.performAction(dataMaps);
+ projectController.getApplication().getFrameController().getDbImportController().setGlobalImport(true);
+ dbImportAction.performAction(dataMaps);
}
@Override
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbImportView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbImportView.java
index 1bf5fa1aa..7d8a5efa6 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbImportView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbImportView.java
@@ -22,10 +22,10 @@ import com.jgoodies.forms.builder.DefaultFormBuilder;
import com.jgoodies.forms.layout.FormLayout;
import org.apache.cayenne.dbsync.reverse.dbimport.ReverseEngineering;
import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.modeler.ui.action.ReverseEngineeringAction;
import org.apache.cayenne.modeler.ui.project.ProjectController;
import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.action.DbImportActions;
import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.action.LoadDbSchemaAction;
+import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.action.ModelerDbImportAction;
import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.tree.ColorTreeRenderer;
import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.tree.DbImportTreeNode;
import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.tree.TransferableNode;
@@ -118,11 +118,9 @@ public class DbImportView extends JPanel {
loadDbSchemaButton.setText("Refresh DB Schema");
treeToolbar.add(loadDbSchemaButton);
- ReverseEngineeringAction reverseEngineeringAction = controller.getApplication().getActionManager().
- getAction(ReverseEngineeringAction.class);
- reverseEngineeringAction.setView(this);
+ ModelerDbImportAction dbImportAction = actions.getReverseEngineeringAction();
ModelerAbstractAction.CayenneToolbarButton reverseEngineeringButton = (ModelerAbstractAction.CayenneToolbarButton)
- reverseEngineeringAction.buildButton(0);
+ dbImportAction.buildButton(0);
reverseEngineeringButton.setShowingText(true);
reverseEngineeringButton.setText("Run Import");
JPanel reverseEngineeringButtonPanel = new JPanel();
@@ -215,39 +213,6 @@ public class DbImportView extends JPanel {
initFromModel = false;
}
- public boolean isSkipRelationshipsLoading() {
- return configPanel.getSkipRelationshipsLoading().isSelected();
- }
-
- public boolean isSkipPrimaryKeyLoading() {
- return configPanel.getSkipPrimaryKeyLoading().isSelected();
- }
-
- public boolean isForceDataMapCatalog() {
- return configPanel.getForceDataMapCatalog().isSelected();
- }
-
- public boolean isForceDataMapSchema() {
- return configPanel.getForceDataMapSchema().isSelected();
- }
-
- public boolean isUseJava7Typed() {
- return configPanel.getUseJava7Types().isSelected();
- }
-
- public String getMeaningfulPk() {
- return "".equals(configPanel.getMeaningfulPk().getText())
- ? null : configPanel.getMeaningfulPk().getText();
- }
-
- public String getNamingStrategy() {
- return (String) configPanel.getStrategyCombo().getSelectedItem();
- }
-
- public String getStripFromTableNames() {
- return configPanel.getStripFromTableNames().getText();
- }
-
public JProgressBar getLoadDbSchemaProgress() {
return loadDbSchemaProgress;
}
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/DbImportActions.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/DbImportActions.java
index 775b65819..b00f92f31 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/DbImportActions.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/DbImportActions.java
@@ -58,6 +58,7 @@ public class DbImportActions {
private final MoveImportNodeAction moveImportNode;
private final MoveInvertNodeAction moveInvertNode;
private final DragAndDropNodeAction dragAndDropNode;
+ private final ModelerDbImportAction reverseEngineering;
private final Map<Class<?>, TreeManipulationAction> actionsByNodeType;
@@ -81,6 +82,7 @@ public class DbImportActions {
this.moveImportNode = enabled(new MoveImportNodeAction(application, view, sourceTree, targetTree));
this.moveInvertNode = enabled(new MoveInvertNodeAction(application, view, sourceTree, targetTree));
this.dragAndDropNode = enabled(new DragAndDropNodeAction(application, targetTree));
+ this.reverseEngineering = enabled(new ModelerDbImportAction(application));
this.actionsByNodeType = new HashMap<>();
actionsByNodeType.put(Catalog.class, addCatalog);
@@ -165,4 +167,8 @@ public class DbImportActions {
public DragAndDropNodeAction getDragAndDropNodeAction() {
return dragAndDropNode;
}
+
+ public ModelerDbImportAction getReverseEngineeringAction() {
+ return reverseEngineering;
+ }
}
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ReverseEngineeringAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/ModelerDbImportAction.java
similarity index 88%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ReverseEngineeringAction.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/ModelerDbImportAction.java
index 785aa4c81..b38dca5f4 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ReverseEngineeringAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/ModelerDbImportAction.java
@@ -17,7 +17,7 @@
* under the License.
****************************************************************/
-package org.apache.cayenne.modeler.ui.action;
+package org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.action;
import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.dbsync.DbSyncModule;
@@ -32,9 +32,9 @@ import org.apache.cayenne.modeler.dbimport.ModelerDbImportModule;
import org.apache.cayenne.modeler.dbimport.ModelerDbLoaderContext;
import org.apache.cayenne.modeler.pref.DBConnectionInfo;
import org.apache.cayenne.modeler.swing.ProgressDialog;
+import org.apache.cayenne.modeler.ui.action.DBConnectionAwareAction;
import org.apache.cayenne.modeler.ui.dbloadresult.DbLoadResultDialog;
import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.DbImportController;
-import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.DbImportView;
import org.apache.cayenne.modeler.util.ProjectUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -42,26 +42,21 @@ import org.slf4j.LoggerFactory;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.sql.SQLException;
-import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
/**
* Action that imports database structure into a DataMap.
*/
-public class ReverseEngineeringAction extends DBConnectionAwareAction {
+public class ModelerDbImportAction extends DBConnectionAwareAction {
- private static final Logger LOGGER = LoggerFactory.getLogger(ReverseEngineeringAction.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(ModelerDbImportAction.class);
private static final String ACTION_NAME = "Reengineer Database Schema";
private static final String ICON_NAME = "icon-dbi-runImport.png";
private static final String DIALOG_TITLE = "Reengineer DB Schema: Connect to Database";
- private DbImportView view;
- private AtomicInteger dataMapCount;
- protected Set<DataMap> dataMaps;
-
- public ReverseEngineeringAction(Application application) {
+ public ModelerDbImportAction(Application application) {
super(ACTION_NAME, application);
}
@@ -71,13 +66,11 @@ public class ReverseEngineeringAction extends DBConnectionAwareAction {
}
public void performAction(Set<DataMap> dataMapSet) {
- resetParams();
- dataMaps.addAll(dataMapSet);
- dataMapCount.set(dataMaps.size());
- dataMapSet.forEach(this::startImport);
+ AtomicInteger dataMapCount = new AtomicInteger(dataMapSet.size());
+ dataMapSet.forEach(dm -> startImport(dm, dataMapCount));
}
- private void startImport(DataMap dataMap) {
+ private void startImport(DataMap dataMap, AtomicInteger dataMapCount) {
ModelerDbLoaderContext context = new ModelerDbLoaderContext(
getProjectController(),
application,
@@ -99,7 +92,7 @@ public class ReverseEngineeringAction extends DBConnectionAwareAction {
return;
}
- if (!context.buildConfig(connectionInfo, view, true)) {
+ if (!context.buildConfig(connectionInfo)) {
try {
context.getConnection().close();
} catch (SQLException ignored) {
@@ -114,6 +107,9 @@ public class ReverseEngineeringAction extends DBConnectionAwareAction {
application.getUndoManager().discardAllEdits();
try {
context.getConnection().close();
+
+ // TODO: this whole thing with "dataMapCount" seems like a code smell. Loader thread should simply
+ // return when it does, and then the dialog should be shown
if (dataMapCount.decrementAndGet() <= 0 && !context.isInterrupted()) {
if (!dbLoadResultDialog.isVisible() && !dbLoadResultDialog.getTableForMap().isEmpty()) {
dbImportController.showDialog();
@@ -129,18 +125,10 @@ public class ReverseEngineeringAction extends DBConnectionAwareAction {
*/
@Override
public void performAction(ActionEvent event) {
- resetParams();
- dataMaps.add(application.getFrameController().getProjectController().getSelectedDataMap());
- dataMapCount.set(dataMaps.size());
- startImport(application.getFrameController().getProjectController().getSelectedDataMap());
- }
-
- private void resetParams() {
- dataMapCount = new AtomicInteger();
- this.dataMaps = new HashSet<>();
+ startImport(application.getFrameController().getProjectController().getSelectedDataMap(), new AtomicInteger(1));
}
- private void runLoaderInThread(final ModelerDbLoaderContext context, final Runnable callback) {
+ private void runLoaderInThread(ModelerDbLoaderContext context, Runnable callback) {
Thread th = new Thread(() -> {
new DbImportTask(application.getFrameController().getView(), "Reengineering DB", context).startAndWait();
SwingUtilities.invokeLater(callback);
@@ -148,10 +136,6 @@ public class ReverseEngineeringAction extends DBConnectionAwareAction {
th.start();
}
- public void setView(DbImportView view) {
- this.view = view;
- }
-
static class DbImportTask {
private static final int DEFAULT_MS_TO_DECIDE_TO_POPUP = 500;