You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by ab...@apache.org on 2019/08/26 13:39:12 UTC
[cayenne] branch master updated: CAY-2609 Modeler: can't close
dbImport result dialog window
This is an automated email from the ASF dual-hosted git repository.
abulatski 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 fdc03b9 CAY-2609 Modeler: can't close dbImport result dialog window
fdc03b9 is described below
commit fdc03b94e66877c18fc04e71ec9235b533aa8c3c
Author: Arseni Bulatski <an...@gmail.com>
AuthorDate: Mon Aug 26 16:14:53 2019 +0300
CAY-2609 Modeler: can't close dbImport result dialog window
---
RELEASE-NOTES.txt | 1 +
.../modeler/action/ReverseEngineeringAction.java | 2 +-
.../cayenne/modeler/util/LongRunningTask.java | 36 +++++-----------------
3 files changed, 9 insertions(+), 30 deletions(-)
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 6908e04..1a2a9b9 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -81,6 +81,7 @@ CAY-2601 Modeler DbImport: result dialog issues
CAY-2603 NPE reloading project in the model
CAY-2605 Modeler: Unable to save - java.nio.file.InvalidPathException
CAY-2608 CayenneModeler: NPE when reverse engineering with an auto-adapter DataSource
+CAY-2609 Modeler: can't close dbImport result dialog window
----------------------------------
Release: 4.1.B1
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 3798f2c..28d28ec 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
@@ -123,7 +123,7 @@ public class ReverseEngineeringAction extends DBWizardAction<DbActionOptionsDial
if(dataMapCount.decrementAndGet() <= 0 && !context.isInterrupted()) {
DbImportController dbImportController = Application.getInstance().getFrameController().getDbImportController();
DbLoadResultDialog dbLoadResultDialog = dbImportController.createDialog();
- if (!dbLoadResultDialog.isVisible()) {
+ if (!dbLoadResultDialog.isVisible() && !dbLoadResultDialog.getTableForMap().isEmpty()) {
dbImportController.showDialog();
}
}
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/LongRunningTask.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/LongRunningTask.java
index fad325b..df17dc4 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/LongRunningTask.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/LongRunningTask.java
@@ -19,14 +19,12 @@
package org.apache.cayenne.modeler.util;
+import javax.swing.*;
+
import org.apache.cayenne.CayenneRuntimeException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.swing.*;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-
/**
* A base class for monitoring progress of long running tasks. It can runshowing the exact
* percentage of the task progress or in "indeterminate" mode.
@@ -36,7 +34,7 @@ import java.awt.event.ActionListener;
* EvenDispatchThread will be blocked, preventing LongRunningTask from showing progress
* dialog. </i>
* </p>
- *
+ *
*/
public abstract class LongRunningTask<T> {
@@ -95,21 +93,11 @@ public abstract class LongRunningTask<T> {
setCanceled(false);
this.finished = false;
- Thread task = new Thread(new Runnable() {
-
- public void run() {
- internalExecute();
- }
- });
+ Thread task = new Thread(this::internalExecute);
Timer progressDisplayTimer = new Timer(
DEFAULT_MS_TO_DECIDE_TO_POPUP,
- new ActionListener() {
-
- public void actionPerformed(ActionEvent e) {
- showProgress();
- }
- });
+ e -> showProgress());
progressDisplayTimer.setRepeats(false);
@@ -134,23 +122,13 @@ public abstract class LongRunningTask<T> {
LOGGER.debug("task still in progress, will show progress dialog...");
this.dialog = new ProgressDialog(frame, "Progress...", title);
- this.dialog.getCancelButton().addActionListener(new ActionListener() {
-
- public void actionPerformed(ActionEvent e) {
- setCanceled(true);
- }
- });
+ this.dialog.getCancelButton().addActionListener(e -> setCanceled(true));
dialog.getProgressBar().setMinimum(getMinValue());
dialog.getProgressBar().setMaximum(getMaxValue());
updateProgress();
- this.taskPollingTimer = new Timer(500, new ActionListener() {
-
- public void actionPerformed(ActionEvent e) {
- updateProgress();
- }
- });
+ this.taskPollingTimer = new Timer(500, e -> updateProgress());
this.taskPollingTimer.start();
this.dialog.setVisible(true);