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 2416fc8 CAY-2709 Modeler: Cgen fails to generate code for a new
unsaved project with all settings set to default
2416fc8 is described below
commit 2416fc81cedae2e8fed947c48af574ede7b9b0aa
Author: Nikita Timofeev <[email protected]>
AuthorDate: Mon Apr 26 11:14:43 2021 +0300
CAY-2709 Modeler: Cgen fails to generate code for a new unsaved project
with all settings set to default
---
.../org/apache/cayenne/gen/CgenConfiguration.java | 8 ++--
.../modeler/editor/cgen/CustomModePanel.java | 48 ++++++++--------------
.../editor/cgen/GeneratorControllerPanel.java | 22 ++++++----
3 files changed, 33 insertions(+), 45 deletions(-)
diff --git
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/CgenConfiguration.java
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/CgenConfiguration.java
index 9aab326..06cd354 100644
--- a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/CgenConfiguration.java
+++ b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/CgenConfiguration.java
@@ -359,8 +359,8 @@ public class CgenConfiguration implements Serializable,
XMLSerializable {
private String getExcludeEntites() {
Collection<String> excludeEntities = dataMap.getObjEntities()
.stream()
- .filter(entity -> !entityArtifacts.contains(entity.getName()))
.map(ObjEntity::getName)
+ .filter(name -> !entityArtifacts.contains(name))
.collect(Collectors.toList());
return String.join(",", excludeEntities);
}
@@ -372,8 +372,8 @@ public class CgenConfiguration implements Serializable,
XMLSerializable {
private String getExcludeEmbeddables() {
Collection<String> excludeEmbeddable = dataMap.getEmbeddables()
.stream()
- .filter(embeddable ->
!embeddableArtifacts.contains(embeddable.getClassName()))
.map(Embeddable::getClassName)
+ .filter(className -> !embeddableArtifacts.contains(className))
.collect(Collectors.toList());
return String.join(",", excludeEmbeddable);
}
@@ -381,16 +381,16 @@ public class CgenConfiguration implements Serializable,
XMLSerializable {
public void resolveExcludeEntities() {
entityArtifacts = dataMap.getObjEntities()
.stream()
- .filter(entity ->
!excludeEntityArtifacts.contains(entity.getName()))
.map(ObjEntity::getName)
+ .filter(name ->
!excludeEntityArtifacts.contains(name))
.collect(Collectors.toSet());
}
public void resolveExcludeEmbeddables() {
embeddableArtifacts = dataMap.getEmbeddables()
.stream()
- .filter(embeddable ->
!excludeEmbeddableArtifacts.contains(embeddable.getClassName()))
.map(Embeddable::getClassName)
+ .filter(className ->
!excludeEmbeddableArtifacts.contains(className))
.collect(Collectors.toSet());
}
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModePanel.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModePanel.java
index 8773561..8b44b89 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModePanel.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModePanel.java
@@ -66,12 +66,10 @@ public class CustomModePanel extends
GeneratorControllerPanel {
this.superclassTemplate = new ComboBoxAdapter<String>(superclassField)
{
@Override
protected void updateModel(String item) throws ValidationException
{
- CgenConfiguration cgenConfiguration = getCgenByDataMap();
+ CgenConfiguration cgenConfiguration = getCgenConfig();
cgenConfiguration.setSuperTemplate(Application.getInstance().getCodeTemplateManager().getTemplatePath(item,
cgenConfiguration.getDataMap().getConfigurationSource()));
- if(!codeGeneratorControllerBase.isInitFromModel()) {
- projectController.setDirty(true);
- }
+ checkConfigDirty();
}
};
@@ -79,12 +77,10 @@ public class CustomModePanel extends
GeneratorControllerPanel {
this.subclassTemplate = new ComboBoxAdapter<String>(subclassField) {
@Override
protected void updateModel(String item) throws ValidationException
{
- CgenConfiguration cgenConfiguration = getCgenByDataMap();
+ CgenConfiguration cgenConfiguration = getCgenConfig();
cgenConfiguration.setTemplate(Application.getInstance().getCodeTemplateManager().getTemplatePath(item,
cgenConfiguration.getDataMap().getConfigurationSource()));
- if(!codeGeneratorControllerBase.isInitFromModel()) {
- projectController.setDirty(true);
- }
+ checkConfigDirty();
}
};
@@ -92,12 +88,10 @@ public class CustomModePanel extends
GeneratorControllerPanel {
this.embeddableTemplate = new ComboBoxAdapter<String>(embeddableField)
{
@Override
protected void updateModel(String item) throws
ValidationException {
- CgenConfiguration cgenConfiguration =
getCgenByDataMap();
+ CgenConfiguration cgenConfiguration = getCgenConfig();
cgenConfiguration.setEmbeddableTemplate(Application.getInstance().getCodeTemplateManager().getTemplatePath(item,
cgenConfiguration.getDataMap().getConfigurationSource()));
- if(!codeGeneratorControllerBase.isInitFromModel()) {
- projectController.setDirty(true);
- }
+ checkConfigDirty();
}
};
@@ -105,12 +99,10 @@ public class CustomModePanel extends
GeneratorControllerPanel {
this.embeddableSuperTemplate = new
ComboBoxAdapter<String>(embeddableSuperField) {
@Override
protected void updateModel(String item) throws
ValidationException {
- CgenConfiguration cgenConfiguration =
getCgenByDataMap();
+ CgenConfiguration cgenConfiguration = getCgenConfig();
cgenConfiguration.setEmbeddableSuperTemplate(Application.getInstance().getCodeTemplateManager().getTemplatePath(item,
cgenConfiguration.getDataMap().getConfigurationSource()));
- if(!codeGeneratorControllerBase.isInitFromModel()) {
- projectController.setDirty(true);
- }
+ checkConfigDirty();
}
};
@@ -118,12 +110,10 @@ public class CustomModePanel extends
GeneratorControllerPanel {
this.queryTemplate = new ComboBoxAdapter<String>(queryField) {
@Override
protected void updateModel(String item) throws
ValidationException {
- CgenConfiguration cgenConfiguration =
getCgenByDataMap();
+ CgenConfiguration cgenConfiguration = getCgenConfig();
cgenConfiguration.setQueryTemplate(Application.getInstance().getCodeTemplateManager().getTemplatePath(item,
cgenConfiguration.getDataMap().getConfigurationSource()));
- if(!codeGeneratorControllerBase.isInitFromModel()) {
- projectController.setDirty(true);
- }
+ checkConfigDirty();
}
};
@@ -131,12 +121,10 @@ public class CustomModePanel extends
GeneratorControllerPanel {
this.querySuperTemplate = new ComboBoxAdapter<String>(querySuperField)
{
@Override
protected void updateModel(String item) throws
ValidationException {
- CgenConfiguration cgenConfiguration =
getCgenByDataMap();
+ CgenConfiguration cgenConfiguration = getCgenConfig();
cgenConfiguration.setQuerySuperTemplate(Application.getInstance().getCodeTemplateManager().getTemplatePath(item,
cgenConfiguration.getDataMap().getConfigurationSource()));
- if(!codeGeneratorControllerBase.isInitFromModel()) {
- projectController.setDirty(true);
- }
+ checkConfigDirty();
}
};
@@ -147,10 +135,8 @@ public class CustomModePanel extends
GeneratorControllerPanel {
JTextField outputPatternField = new JTextField();
this.outputPattern = new TextAdapter(outputPatternField) {
protected void updateModel(String text) {
- getCgenByDataMap().setOutputPattern(text);
- if(!codeGeneratorControllerBase.isInitFromModel()) {
- projectController.setDirty(true);
- }
+ getCgenConfig().setOutputPattern(text);
+ checkConfigDirty();
}
};
@@ -158,10 +144,8 @@ public class CustomModePanel extends
GeneratorControllerPanel {
this.superPkg = new TextAdapter(superPkgField) {
@Override
protected void updateModel(String text) throws ValidationException
{
- getCgenByDataMap().setSuperPkg(text);
- if(!codeGeneratorControllerBase.isInitFromModel()) {
- projectController.setDirty(true);
- }
+ getCgenConfig().setSuperPkg(text);
+ checkConfigDirty();
}
};
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 8b424fb..22e5c37 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
@@ -20,7 +20,6 @@
package org.apache.cayenne.modeler.editor.cgen;
import org.apache.cayenne.gen.CgenConfiguration;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.modeler.ProjectController;
import org.apache.cayenne.modeler.util.TextAdapter;
import org.apache.cayenne.validation.ValidationException;
@@ -38,18 +37,18 @@ public class GeneratorControllerPanel extends JPanel {
protected TextAdapter outputFolder;
protected JButton selectOutputFolder;
protected ProjectController projectController;
+ protected CodeGeneratorController codeGeneratorController;
- public GeneratorControllerPanel(ProjectController projectController,
CodeGeneratorController codeGeneratorControllerBase) {
+ public GeneratorControllerPanel(ProjectController projectController,
CodeGeneratorController codeGeneratorController) {
this.projectController = projectController;
+ this.codeGeneratorController = codeGeneratorController;
this.outputFolder = new TextAdapter(new JTextField()) {
@Override
protected void updateModel(String text) throws ValidationException
{
- CgenConfiguration cgenByDataMap = getCgenByDataMap();
+ CgenConfiguration cgenByDataMap = getCgenConfig();
if(cgenByDataMap != null) {
cgenByDataMap.setRelPath(text);
- if (!codeGeneratorControllerBase.isInitFromModel()) {
- projectController.setDirty(true);
- }
+ checkConfigDirty();
}
}
};
@@ -64,8 +63,13 @@ public class GeneratorControllerPanel extends JPanel {
return selectOutputFolder;
}
- public CgenConfiguration getCgenByDataMap() {
- DataMap dataMap = projectController.getCurrentDataMap();
- return projectController.getApplication().getMetaData().get(dataMap,
CgenConfiguration.class);
+ protected void checkConfigDirty() {
+ if (!codeGeneratorController.isInitFromModel()) {
+ codeGeneratorController.checkCgenConfigDirty();
+ }
+ }
+
+ protected CgenConfiguration getCgenConfig() {
+ return codeGeneratorController.getCgenConfiguration();
}
}