This is an automated email from the ASF dual-hosted git repository.
abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
new 8cb272f CAY-2609 Modeler: can't close dbImport result dialog window
8cb272f is described below
commit 8cb272f2fca9964bd817b5b7ba6ad7e92322ac74
Author: Arseni Bulatski <[email protected]>
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 8947fe4..6fa824c 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -36,6 +36,7 @@ CAY-2603 NPE reloading project in the model
CAY-2605 Modeler: Unable to save - java.nio.file.InvalidPathException
CAY-2606 Can't resolve obj path with embeddable component
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.B2
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 51f0869..b5cba06 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 26129f1..bf58f28 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);