This is an automated email from the ASF dual-hosted git repository.
ntimofeev 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 3c1883f CAY-2591 Modeler: project becomes dirty after click on
dbImport or cgen tab - fix case without any dbimport config
3c1883f is described below
commit 3c1883f58ac0f66fe133cef8b4d944e569751bb4
Author: Nikita Timofeev <[email protected]>
AuthorDate: Fri Sep 20 17:51:50 2019 +0300
CAY-2591 Modeler: project becomes dirty after click on dbImport or cgen tab
- fix case without any dbimport config
---
.../editor/cgen/CodeGeneratorController.java | 12 +++++----
.../modeler/editor/dbimport/DbImportView.java | 30 ++++++++++++----------
.../dbimport/ReverseEngineeringConfigPanel.java | 7 ++++-
3 files changed, 29 insertions(+), 20 deletions(-)
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorController.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorController.java
index 9a81cb6..5b792f3 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorController.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorController.java
@@ -74,11 +74,13 @@ public class CodeGeneratorController extends
CodeGeneratorControllerBase impleme
super.startup(dataMap);
classesSelectedAction();
CgenConfiguration cgenConfiguration = createConfiguration();
- GeneratorController modeController =
prevGeneratorController.get(dataMap) != null ?
- prevGeneratorController.get(dataMap) :
isDefaultConfig(cgenConfiguration) ?
- cgenConfiguration.isClient() ?
generatorSelector.getClientGeneratorController() :
- generatorSelector.getStandartController() :
- generatorSelector.getCustomModeController();
+ GeneratorController modeController =
prevGeneratorController.get(dataMap) != null
+ ? prevGeneratorController.get(dataMap)
+ : isDefaultConfig(cgenConfiguration)
+ ? cgenConfiguration.isClient()
+ ? generatorSelector.getClientGeneratorController()
+ : generatorSelector.getStandartController()
+ : generatorSelector.getCustomModeController();
prevGeneratorController.put(dataMap, modeController);
generatorSelector.setSelectedController(modeController);
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
index 1d4ca2f..289c83a 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
@@ -199,27 +199,29 @@ public class DbImportView extends JPanel {
treeToolbar.unlockButtons();
ReverseEngineering reverseEngineering =
DbImportView.this.projectController.getApplication()
.getMetaData().get(map, ReverseEngineering.class);
- if (reverseEngineering == null) {
- reverseEngineering = new ReverseEngineering();
-
DbImportView.this.projectController.getApplication().getMetaData().add(map,
reverseEngineering);
- projectController.setDirty(true);
+ if (reverseEngineering != null) {
+ configPanel.fillCheckboxes(reverseEngineering);
+ configPanel.initializeTextFields(reverseEngineering);
+ configPanel.initStrategy(reverseEngineering);
+ String[] tableTypes = reverseEngineering.getTableTypes();
+ if(tableTypes.length != 0) {
+ configPanel.getTableTypes().setText(String.join(",",
tableTypes));
+ } else {
+ configPanel.getTableTypes().setText("TABLE, VIEW");
+ configPanel.getTableTypes().updateModel();
+ }
+ } else {
+ // default values
+ configPanel.getUsePrimitives().setSelected(true);
+ configPanel.getTableTypes().setText("TABLE, VIEW");
+ configPanel.getTableTypes().updateModel();
}
- configPanel.fillCheckboxes(reverseEngineering);
- configPanel.initializeTextFields(reverseEngineering);
- configPanel.initStrategy(reverseEngineering);
treePanel.updateTree();
DbImportTreeNode root =
draggableTreePanel.getSourceTree().getRootNode();
root.removeAllChildren();
draggableTreePanel.updateTree(projectController.getCurrentDataMap());
draggableTreePanel.getMoveButton().setEnabled(false);
draggableTreePanel.getMoveInvertButton().setEnabled(false);
- String[] tableTypes = reverseEngineering.getTableTypes();
- if(tableTypes.length != 0) {
- configPanel.getTableTypes().setText(String.join(",",
tableTypes));
- } else {
- configPanel.getTableTypes().setText("TABLE, VIEW");
- configPanel.getTableTypes().updateModel();
- }
}
initFromModel = false;
}
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/ReverseEngineeringConfigPanel.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/ReverseEngineeringConfigPanel.java
index 3950729..a007216 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/ReverseEngineeringConfigPanel.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/ReverseEngineeringConfigPanel.java
@@ -104,7 +104,12 @@ public class ReverseEngineeringConfigPanel extends JPanel {
ReverseEngineering getReverseEngineeringBySelectedMap() {
DataMap dataMap = projectController.getCurrentDataMap();
- return projectController.getApplication().getMetaData().get(dataMap,
ReverseEngineering.class);
+ ReverseEngineering reverseEngineering =
projectController.getApplication().getMetaData().get(dataMap,
ReverseEngineering.class);
+ if (reverseEngineering == null) {
+ reverseEngineering = new ReverseEngineering();
+ projectController.getApplication().getMetaData().add(dataMap,
reverseEngineering);
+ }
+ return reverseEngineering;
}
void initStrategy(ReverseEngineering reverseEngineering) {