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 <stari...@gmail.com> 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) {