This is an automated email from the ASF dual-hosted git repository.
ntimofeev 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 5b7aad7ba fixed issue with disable Generate btn in new project. Minor
cleanup.
new b43b7a451 Merge pull request #553 from Ivan-nikitko/CAY-2786_bugfix
5b7aad7ba is described below
commit 5b7aad7ba694e8f3be5ce1b9c5fa2a0db8f2510a
Author: Ivan Nikitka <[email protected]>
AuthorDate: Mon Dec 12 14:14:05 2022 +0100
fixed issue with disable Generate btn in new project. Minor cleanup.
---
.../editor/cgen/CodeGeneratorController.java | 5 ++-
.../editor/cgen/GeneratorControllerPanel.java | 37 +++++++++++++++++-----
.../apache/cayenne/modeler/util/TextAdapter.java | 4 ---
3 files changed, 31 insertions(+), 15 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 d7598ee55..ff18b49f6 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
@@ -247,8 +247,7 @@ public class CodeGeneratorController extends
CayenneController implements ObjEnt
"Delete cgenConfiguration",
JOptionPane.YES_NO_OPTION
);
- // result "0" mean selecting YES
- if (result == 0) {
+ if (result == JOptionPane.OK_OPTION) {
if (view.getConfigurationsComboBox().getItemCount() > 1) {
cgenConfigList.removeByName(cgenConfiguration.getName());
view.getConfigurationsComboBox().removeItem(view.getConfigurationsComboBox().getSelectedItem());
@@ -262,7 +261,7 @@ public class CodeGeneratorController extends
CayenneController implements ObjEnt
}
public void updateGenerateButton(){
- boolean isOutputPathValid =
standardModeController.getView().getOutputFolder().isDataValid();
+ boolean isOutputPathValid =
standardModeController.getView().isDataValid();
view.getGenerateButton().setEnabled(!selectionModel.isModelEmpty()&&
isOutputPathValid);
}
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorControllerPanel.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorControllerPanel.java
index 184898c36..9e3afc961 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorControllerPanel.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorControllerPanel.java
@@ -41,6 +41,9 @@ public class GeneratorControllerPanel extends JPanel {
protected JButton selectOutputFolder;
protected ProjectController projectController;
protected CodeGeneratorController codeGeneratorController;
+ private boolean isDataValid;
+ private final String INVALID_PATH_MSG = "An invalid path has been
detected. It cannot be saved or used until it is corrected.";
+ private final String NEED_TO_SAVE_PROJECT_MSG= "You should save project to
use relative path as an output directory.";
public GeneratorControllerPanel(ProjectController projectController,
CodeGeneratorController codeGeneratorController) {
this.projectController = projectController;
@@ -54,25 +57,39 @@ public class GeneratorControllerPanel extends JPanel {
try {
path = Paths.get(text);
} catch (InvalidPathException e) {
- isDataValid = false;
- codeGeneratorController.updateGenerateButton();
- throw new ValidationException("An invalid path has
been detected. It cannot be saved or used until it is corrected.");
+ updateGenerateButton(false);
+ throw new ValidationException(INVALID_PATH_MSG);
}
if (cgenByDataMap.getRootPath() == null &&
!path.isAbsolute()) {
- isDataValid = false;
- codeGeneratorController.updateGenerateButton();
- throw new ValidationException("You should save project
to use relative path as an output directory.");
+ updateGenerateButton(false);
+ throw new
ValidationException(NEED_TO_SAVE_PROJECT_MSG);
}
cgenByDataMap.updateOutputPath(path);
- isDataValid = true;
- codeGeneratorController.updateGenerateButton();
+ updateGenerateButton(true);
checkConfigDirty();
}
}
+
+ @Override
+ public void setText(String text) {
+ super.setText(text);
+ try {
+ Paths.get(text);
+ } catch (InvalidPathException e) {
+ updateGenerateButton(false);
+ throw new ValidationException(INVALID_PATH_MSG);
+ }
+ updateGenerateButton(true);
+ }
};
this.selectOutputFolder = new JButton("..");
}
+ private void updateGenerateButton(boolean isDataValid){
+ this.isDataValid = isDataValid;
+ codeGeneratorController.updateGenerateButton();
+ }
+
public TextAdapter getOutputFolder() {
return outputFolder;
}
@@ -88,4 +105,8 @@ public class GeneratorControllerPanel extends JPanel {
protected CgenConfiguration getCgenConfig() {
return codeGeneratorController.getCgenConfiguration();
}
+
+ public boolean isDataValid() {
+ return isDataValid;
+ }
}
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/TextAdapter.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/TextAdapter.java
index d6fbaecda..53177955d 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/TextAdapter.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/TextAdapter.java
@@ -49,7 +49,6 @@ public abstract class TextAdapter {
protected UndoableEditListener undoableListener;
protected JTextComponent textComponent;
- protected boolean isDataValid;
public TextAdapter(JTextField textField) {
this(textField, true, false, true);
@@ -173,7 +172,4 @@ public abstract class TextAdapter {
textComponent.setToolTipText(defaultToolTip);
}
- public boolean isDataValid() {
- return isDataValid;
- }
}