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