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 <[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 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);