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 aecf503  CAY-2530 DB Import and Class Generation from Project is 
performed for removed datamaps
aecf503 is described below

commit aecf503b83ea54bff84d17815eee6ae7d7cb6a61
Author: Arseni Bulatski <[email protected]>
AuthorDate: Mon Feb 11 15:54:28 2019 +0300

    CAY-2530 DB Import and Class Generation from Project is performed for 
removed datamaps
---
 RELEASE-NOTES.txt                                  |  1 +
 .../modeler/editor/GeneratorsTabController.java    | 22 ++++++++++++++--------
 .../editor/cgen/domain/CgenTabController.java      | 19 +++++++++----------
 .../dbimport/domain/DbImportTabController.java     |  7 +++----
 4 files changed, 27 insertions(+), 22 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 4988f26..b1ae7b0 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -57,6 +57,7 @@ CAY-2501 Modeler: DbImport ui not loading columns for MySQL 
connector v8.0
 CAY-2502 DataMap in DataNode tree view disappears after dbImport
 CAY-2504 Broken detection logic of NoopEventBridge in DataRowStoreFactory
 CAY-2505 EventBridge providers should be bound without scope
+CAY-2530 DB Import and Class Generation from Project is performed for removed 
datamaps
 CAY-2533 Modeler: Exception on validating ObjRelationship without db path
 
 ----------------------------------
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/GeneratorsTabController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/GeneratorsTabController.java
index a257643..8219d2c 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/GeneratorsTabController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/GeneratorsTabController.java
@@ -18,6 +18,13 @@
  ****************************************************************/
 package org.apache.cayenne.modeler.editor;
 
+import java.awt.event.ItemEvent;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.modeler.ProjectController;
@@ -26,13 +33,6 @@ import org.apache.cayenne.project.Project;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.awt.event.ItemEvent;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
 /**
  * @since 4.1
  */
@@ -46,10 +46,11 @@ public abstract class GeneratorsTabController {
     public ConcurrentMap<DataMap, GeneratorsPanel> generatorsPanels;
     public Set<DataMap> selectedDataMaps;
 
-    public GeneratorsTabController(Class type) {
+    public GeneratorsTabController(Class type, ProjectController 
projectController) {
         this.type = type;
         this.generatorsPanels = new ConcurrentHashMap<>();
         this.selectedDataMaps = new HashSet<>();
+        this.projectController = projectController;
     }
 
     public String icon;
@@ -58,6 +59,7 @@ public abstract class GeneratorsTabController {
 
     public void createPanels(){
         Collection<DataMap> dataMaps = getDataMaps();
+        refreshSelectedMaps(dataMaps);
         generatorsPanels.clear();
         for(DataMap dataMap : dataMaps) {
             GeneratorsPanel generatorPanel = new GeneratorsPanel(dataMap, 
"icon-datamap.png", type);
@@ -132,4 +134,8 @@ public abstract class GeneratorsTabController {
     Set<DataMap> getSelectedDataMaps() {
         return selectedDataMaps;
     }
+
+    private void refreshSelectedMaps(Collection<DataMap> dataMaps) {
+        selectedDataMaps.removeIf(dataMap -> !dataMaps.contains(dataMap));
+    }
 }
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java
index ff68804..8abb583 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java
@@ -19,6 +19,14 @@
 
 package org.apache.cayenne.modeler.editor.cgen.domain;
 
+import javax.swing.JOptionPane;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Set;
+import java.util.prefs.Preferences;
+
 import org.apache.cayenne.configuration.xml.DataChannelMetaData;
 import org.apache.cayenne.gen.CgenConfiguration;
 import org.apache.cayenne.gen.ClassGenerationAction;
@@ -31,22 +39,13 @@ import 
org.apache.cayenne.modeler.editor.GeneratorsTabController;
 import org.apache.cayenne.modeler.event.DataMapDisplayEvent;
 import org.apache.cayenne.modeler.util.ModelerUtil;
 
-import javax.swing.JOptionPane;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.Set;
-import java.util.prefs.Preferences;
-
 /**
  * @since 4.1
  */
 public class CgenTabController extends GeneratorsTabController {
 
     public CgenTabController(ProjectController projectController) {
-        super(CgenConfiguration.class);
-        this.projectController = projectController;
+        super(CgenConfiguration.class, projectController);
         this.view = new CgenTab(projectController, this);
     }
 
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/domain/DbImportTabController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/domain/DbImportTabController.java
index 08b765c..b2514b0 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/domain/DbImportTabController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/domain/DbImportTabController.java
@@ -18,6 +18,8 @@
  ****************************************************************/
 package org.apache.cayenne.modeler.editor.dbimport.domain;
 
+import java.util.Set;
+
 import org.apache.cayenne.dbsync.reverse.dbimport.ReverseEngineering;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.modeler.Application;
@@ -26,16 +28,13 @@ import 
org.apache.cayenne.modeler.action.ReverseEngineeringAction;
 import org.apache.cayenne.modeler.editor.GeneratorsTabController;
 import org.apache.cayenne.modeler.event.DataMapDisplayEvent;
 
-import java.util.Set;
-
 /**
  * @since 4.1
  */
 public class DbImportTabController extends GeneratorsTabController {
 
     public DbImportTabController(ProjectController projectController) {
-        super(ReverseEngineering.class);
-        this.projectController = projectController;
+        super(ReverseEngineering.class, projectController);
         this.view = new DbImportTab(projectController, this);
     }
 

Reply via email to