You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2018/11/14 14:27:54 UTC
[23/32] cayenne git commit: Cleanup
Cleanup
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/3ae49734
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/3ae49734
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/3ae49734
Branch: refs/heads/master
Commit: 3ae49734b044f611912a0bea5c69b0dd4d2705d4
Parents: b30e5eb
Author: Arseni Bulatski <an...@gmail.com>
Authored: Mon Nov 12 13:28:09 2018 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Mon Nov 12 13:31:13 2018 +0300
----------------------------------------------------------------------
UPGRADE.txt | 5 +
.../apache/cayenne/gen/CgenConfiguration.java | 6 +-
.../cayenne/gen/xml/CgenConfigHandler.java | 100 ++++++-------------
.../java/org/apache/cayenne/tools/CgenTask.java | 68 ++++++-------
.../modeler/editor/DataMapTabbedView.java | 3 +-
.../editor/cgen/ClassesTabController.java | 11 +-
.../modeler/editor/cgen/ClassesTabPanel.java | 15 ++-
.../editor/cgen/ClientModeController.java | 3 +
.../editor/cgen/CodeGeneratorController.java | 5 +-
.../cgen/CodeGeneratorControllerBase.java | 37 +++++--
.../modeler/editor/cgen/CodeGeneratorPane.java | 9 +-
.../editor/cgen/CustomModeController.java | 5 +-
.../modeler/editor/cgen/CustomModePanel.java | 13 ++-
.../editor/cgen/GeneratorController.java | 12 ++-
.../editor/cgen/GeneratorControllerPanel.java | 6 +-
.../editor/cgen/GeneratorTabController.java | 4 +-
.../modeler/editor/cgen/GeneratorTabPanel.java | 12 ++-
.../editor/cgen/StandardModeController.java | 5 +-
.../modeler/editor/cgen/StandardModePanel.java | 5 +-
.../modeler/editor/cgen/domain/CgenPanel.java | 10 +-
.../modeler/editor/cgen/domain/CgenTab.java | 13 ++-
.../editor/cgen/domain/CgenTabController.java | 5 +-
22 files changed, 205 insertions(+), 147 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/UPGRADE.txt b/UPGRADE.txt
index 2dfbd9b..83bcc5a 100644
--- a/UPGRADE.txt
+++ b/UPGRADE.txt
@@ -4,6 +4,11 @@ Apache Cayenne Upgrade Information
IMPORTANT: be sure to read all notes for the intermediate releases between your
current release and the release you are upgrading to.
-------------------------------------------------------------------------------
+UPGRADING TO 4.1.M3
+
+* Per CAY-2493 'datamap' generation mode in cgen replaced with 'all' generation mode with
+ <excludeEntities>*</excludeEntities> and <excludeEmbeddables>*</excludeEmbeddables> patterns.
+
UPGRADING TO 4.1.M2
* Per CAY-2438 DataChannelFilter filter was deprecated and two new independent filters are introduced:
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/cayenne-cgen/src/main/java/org/apache/cayenne/gen/CgenConfiguration.java
----------------------------------------------------------------------
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 15bc435..1277baa 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
@@ -328,7 +328,7 @@ public class CgenConfiguration implements Serializable, XMLSerializable {
.filter(entity -> !entityArtifacts.contains(entity.getName()))
.map(ObjEntity::getName)
.collect(Collectors.toList());
- return org.apache.commons.lang3.StringUtils.join(excludeEntities, ",");
+ return String.join(",", excludeEntities);
}
public void loadEmbeddables(String embeddables) {
@@ -341,7 +341,7 @@ public class CgenConfiguration implements Serializable, XMLSerializable {
.filter(embeddable -> !embeddableArtifacts.contains(embeddable.getClassName()))
.map(Embeddable::getClassName)
.collect(Collectors.toList());
- return org.apache.commons.lang3.StringUtils.join(excludeEmbeddable, ",");
+ return String.join(",", excludeEmbeddable);
}
public void resolveExcludeEntities() {
@@ -365,7 +365,7 @@ public class CgenConfiguration implements Serializable, XMLSerializable {
encoder.start("cgen")
.attribute("xmlns", CgenExtension.NAMESPACE)
.simpleTag("excludeEntities", getExcludeEntites())
- .simpleTag("excludeEmbeddables",getExcludeEmbeddables())
+ .simpleTag("excludeEmbeddables", getExcludeEmbeddables())
.simpleTag("destDir", buildRelPath())
.simpleTag("mode", this.artifactsGenerationMode.getLabel())
.simpleTag("template", this.template)
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenConfigHandler.java
----------------------------------------------------------------------
diff --git a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenConfigHandler.java b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenConfigHandler.java
index 754aac6..2384f10 100644
--- a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenConfigHandler.java
+++ b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenConfigHandler.java
@@ -60,6 +60,7 @@ public class CgenConfigHandler extends NamespaceAwareNestedTagHandler{
super(parentHandler);
this.metaData = metaData;
this.targetNamespace = CgenExtension.NAMESPACE;
+ this.configuration = new CgenConfiguration();
}
@Override
@@ -121,70 +122,49 @@ public class CgenConfigHandler extends NamespaceAwareNestedTagHandler{
if(path.trim().length() == 0) {
return;
}
-
- if(configuration != null) {
- configuration.setRelPath(Paths.get(path));
- }
+ configuration.setRelPath(Paths.get(path));
}
private void createGenerationMode(String mode) {
if(mode.trim().length() == 0) {
return;
}
-
- if(configuration != null) {
- configuration.setArtifactsGenerationMode(mode);
- }
+ configuration.setArtifactsGenerationMode(mode);
}
private void createExcludeEntities(String entities) {
if(entities.trim().length() == 0) {
return;
}
-
- if(configuration != null) {
- configuration.loadEntities(entities);
- }
+ configuration.loadEntities(entities);
}
private void createExcludeEmbeddables(String embeddables) {
if(embeddables.trim().length() == 0) {
return;
}
-
- if(configuration != null) {
- configuration.loadEmbeddables(embeddables);
- }
+ configuration.loadEmbeddables(embeddables);
}
private void createSubclassTemplate(String template) {
if(template.trim().length() == 0) {
return;
}
-
- if(configuration != null) {
- configuration.setTemplate(template);
- }
+ configuration.setTemplate(template);
}
private void createSuperclassTemplate(String template) {
if(template.trim().length() == 0) {
return;
}
-
- if(configuration != null) {
- configuration.setSuperTemplate(template);
- }
+ configuration.setSuperTemplate(template);
}
private void createOutputPattern(String pattern) {
if(pattern.trim().length() == 0) {
return;
}
-
- if(configuration != null) {
- configuration.setOutputPattern(pattern);
- }
+ configuration.setOutputPattern(pattern);
}
private void createMakePairs(String makePairs) {
@@ -192,12 +172,10 @@ public class CgenConfigHandler extends NamespaceAwareNestedTagHandler{
return;
}
- if (configuration != null) {
- if (makePairs.equals(TRUE)) {
- configuration.setMakePairs(true);
- } else {
- configuration.setMakePairs(false);
- }
+ if (makePairs.equals(TRUE)) {
+ configuration.setMakePairs(true);
+ } else {
+ configuration.setMakePairs(false);
}
}
@@ -205,13 +183,10 @@ public class CgenConfigHandler extends NamespaceAwareNestedTagHandler{
if(data.trim().length() == 0) {
return;
}
-
- if(configuration != null) {
- if(data.equals(TRUE)) {
- configuration.setUsePkgPath(true);
- } else {
- configuration.setUsePkgPath(false);
- }
+ if(data.equals(TRUE)) {
+ configuration.setUsePkgPath(true);
+ } else {
+ configuration.setUsePkgPath(false);
}
}
@@ -220,12 +195,10 @@ public class CgenConfigHandler extends NamespaceAwareNestedTagHandler{
return;
}
- if(configuration != null) {
- if(data.equals(TRUE)) {
- configuration.setOverwrite(true);
- } else {
- configuration.setOverwrite(false);
- }
+ if(data.equals(TRUE)) {
+ configuration.setOverwrite(true);
+ } else {
+ configuration.setOverwrite(false);
}
}
@@ -233,13 +206,10 @@ public class CgenConfigHandler extends NamespaceAwareNestedTagHandler{
if(data.trim().length() == 0) {
return;
}
-
- if(configuration != null) {
- if(data.equals(TRUE)) {
- configuration.setCreatePropertyNames(true);
- } else {
- configuration.setCreatePropertyNames(false);
- }
+ if(data.equals(TRUE)) {
+ configuration.setCreatePropertyNames(true);
+ } else {
+ configuration.setCreatePropertyNames(false);
}
}
@@ -248,12 +218,10 @@ public class CgenConfigHandler extends NamespaceAwareNestedTagHandler{
return;
}
- if(configuration != null) {
- if(data.equals(TRUE)) {
- configuration.setCreatePKProperties(true);
- } else {
- configuration.setCreatePKProperties(false);
- }
+ if(data.equals(TRUE)) {
+ configuration.setCreatePKProperties(true);
+ } else {
+ configuration.setCreatePKProperties(false);
}
}
@@ -261,18 +229,14 @@ public class CgenConfigHandler extends NamespaceAwareNestedTagHandler{
if(data.trim().length() == 0) {
return;
}
-
- if(configuration != null) {
- if(data.equals(TRUE)) {
- configuration.setClient(true);
- } else {
- configuration.setClient(false);
- }
+ if(data.equals(TRUE)) {
+ configuration.setClient(true);
+ } else {
+ configuration.setClient(false);
}
}
private void createConfig() {
- configuration = new CgenConfiguration();
loaderContext.addDataMapListener(dataMap -> {
configuration.setDataMap(dataMap);
configuration.setRootPath(buildRootPath(dataMap));
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/CgenTask.java
----------------------------------------------------------------------
diff --git a/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/CgenTask.java b/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/CgenTask.java
index bfafc1f..0e63c53 100644
--- a/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/CgenTask.java
+++ b/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/CgenTask.java
@@ -60,7 +60,7 @@ public class CgenTask extends BaseCayenneTask {
@Input
@Optional
- private String client;
+ private Boolean client;
private File destDir;
@@ -85,7 +85,7 @@ public class CgenTask extends BaseCayenneTask {
@Input
@Optional
- private String makePairs;
+ private Boolean makePairs;
@Input
@Optional
@@ -97,7 +97,7 @@ public class CgenTask extends BaseCayenneTask {
@Input
@Optional
- private String overwrite;
+ private Boolean overwrite;
@Input
@Optional
@@ -121,11 +121,11 @@ public class CgenTask extends BaseCayenneTask {
@Input
@Optional
- private String usePkgPath;
+ private Boolean usePkgPath;
@Input
@Optional
- private String createPropertyNames;
+ private Boolean createPropertyNames;
/**
* Force run (skip check for files modification time)
@@ -149,7 +149,7 @@ public class CgenTask extends BaseCayenneTask {
*/
@Input
@Optional
- private String createPKProperties;
+ private Boolean createPKProperties;
private String destDirName;
@@ -240,21 +240,21 @@ public class CgenTask extends BaseCayenneTask {
cgenConfiguration.setDataMap(dataMap);
cgenConfiguration.setRelPath(getDestDirFile() != null ? getDestDirFile().toPath() : cgenConfiguration.getRelPath());
cgenConfiguration.setEncoding(encoding != null ? encoding : cgenConfiguration.getEncoding());
- cgenConfiguration.setMakePairs(makePairs != null ? Boolean.valueOf(makePairs) : cgenConfiguration.isMakePairs());
+ cgenConfiguration.setMakePairs(makePairs != null ? makePairs : cgenConfiguration.isMakePairs());
cgenConfiguration.setArtifactsGenerationMode(mode != null ? mode : cgenConfiguration.getArtifactsGenerationMode());
cgenConfiguration.setOutputPattern(outputPattern != null ? outputPattern : cgenConfiguration.getOutputPattern());
- cgenConfiguration.setOverwrite(overwrite != null ? Boolean.valueOf(overwrite) : cgenConfiguration.isOverwrite());
+ cgenConfiguration.setOverwrite(overwrite != null ? overwrite : cgenConfiguration.isOverwrite());
cgenConfiguration.setSuperPkg(superPkg != null ? superPkg : cgenConfiguration.getSuperPkg());
cgenConfiguration.setSuperTemplate(superTemplate != null ? superTemplate : cgenConfiguration.getSuperTemplate());
cgenConfiguration.setTemplate(template != null ? template : cgenConfiguration.getTemplate());
cgenConfiguration.setEmbeddableSuperTemplate(embeddableSuperTemplate != null ? embeddableSuperTemplate : cgenConfiguration.getEmbeddableSuperTemplate());
cgenConfiguration.setEmbeddableTemplate(embeddableTemplate != null ? embeddableTemplate : cgenConfiguration.getEmbeddableTemplate());
- cgenConfiguration.setUsePkgPath(usePkgPath != null ? Boolean.valueOf(usePkgPath) : cgenConfiguration.isUsePkgPath());
- cgenConfiguration.setCreatePropertyNames(createPropertyNames != null ? Boolean.valueOf(createPropertyNames) : cgenConfiguration.isCreatePropertyNames());
+ cgenConfiguration.setUsePkgPath(usePkgPath != null ? usePkgPath : cgenConfiguration.isUsePkgPath());
+ cgenConfiguration.setCreatePropertyNames(createPropertyNames != null ? createPropertyNames : cgenConfiguration.isCreatePropertyNames());
cgenConfiguration.setQueryTemplate(queryTemplate != null ? queryTemplate : cgenConfiguration.getQueryTemplate());
cgenConfiguration.setQuerySuperTemplate(querySuperTemplate != null ? querySuperTemplate : cgenConfiguration.getQuerySuperTemplate());
- cgenConfiguration.setCreatePKProperties(createPKProperties != null ? Boolean.valueOf(createPKProperties) : cgenConfiguration.isCreatePKProperties());
- cgenConfiguration.setClient(client != null ? Boolean.valueOf(client) : cgenConfiguration.isClient());
+ cgenConfiguration.setCreatePKProperties(createPKProperties != null ? createPKProperties : cgenConfiguration.isCreatePKProperties());
+ cgenConfiguration.setClient(client != null ? client : cgenConfiguration.isClient());
if(!cgenConfiguration.isMakePairs()) {
if(template == null) {
cgenConfiguration.setTemplate(cgenConfiguration.isClient() ? ClientClassGenerationAction.SINGLE_CLASS_TEMPLATE : ClassGenerationAction.SINGLE_CLASS_TEMPLATE);
@@ -361,12 +361,12 @@ public class CgenTask extends BaseCayenneTask {
setAdditionalMaps(additionalMaps);
}
- public boolean isClient() {
- return Boolean.valueOf(client);
+ public Boolean isClient() {
+ return client;
}
- public void setClient(boolean client) {
- this.client = String.valueOf(client);
+ public void setClient(Boolean client) {
+ this.client = client;
}
public void client(boolean client) {
@@ -425,12 +425,12 @@ public class CgenTask extends BaseCayenneTask {
setExcludeEmbeddables(excludeEmbeddables);
}
- public boolean isMakePairs() {
- return Boolean.valueOf(makePairs);
+ public Boolean isMakePairs() {
+ return makePairs;
}
- public void setMakePairs(boolean makePairs) {
- this.makePairs = String.valueOf(makePairs);
+ public void setMakePairs(Boolean makePairs) {
+ this.makePairs = makePairs;
}
public void makePairs(boolean makePairs) {
@@ -461,12 +461,12 @@ public class CgenTask extends BaseCayenneTask {
setOutputPattern(outputPattern);
}
- public boolean isOverwrite() {
- return Boolean.valueOf(overwrite);
+ public Boolean isOverwrite() {
+ return overwrite;
}
- public void setOverwrite(boolean overwrite) {
- this.overwrite = String.valueOf(overwrite);
+ public void setOverwrite(Boolean overwrite) {
+ this.overwrite = overwrite;
}
public void overwrite(boolean overwrite) {
@@ -533,24 +533,24 @@ public class CgenTask extends BaseCayenneTask {
setEmbeddableTemplate(embeddableTemplate);
}
- public boolean isUsePkgPath() {
- return Boolean.valueOf(usePkgPath);
+ public Boolean isUsePkgPath() {
+ return usePkgPath;
}
- public void setUsePkgPath(boolean usePkgPath) {
- this.usePkgPath = String.valueOf(usePkgPath);
+ public void setUsePkgPath(Boolean usePkgPath) {
+ this.usePkgPath = usePkgPath;
}
public void usePkgPath(boolean usePkgPath) {
setUsePkgPath(usePkgPath);
}
- public boolean isCreatePropertyNames() {
- return Boolean.valueOf(createPropertyNames);
+ public Boolean isCreatePropertyNames() {
+ return createPropertyNames;
}
- public void setCreatePropertyNames(boolean createPropertyNames) {
- this.createPropertyNames = String.valueOf(createPropertyNames);
+ public void setCreatePropertyNames(Boolean createPropertyNames) {
+ this.createPropertyNames = createPropertyNames;
}
public void createPropertyNames(boolean createPropertyNames) {
@@ -569,8 +569,8 @@ public class CgenTask extends BaseCayenneTask {
setForce(force);
}
- public void setCreatePKProperties(boolean createPKProperties) {
- this.createPKProperties = String.valueOf(createPKProperties);
+ public void setCreatePKProperties(Boolean createPKProperties) {
+ this.createPKProperties = createPKProperties;
}
public void createPKProperties(boolean createPKProperties) {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
index ddd6893..9297481 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
@@ -24,7 +24,8 @@ import org.apache.cayenne.modeler.editor.cgen.CodeGeneratorController;
import org.apache.cayenne.modeler.editor.cgen.domain.CgenTab;
import org.apache.cayenne.modeler.editor.dbimport.DbImportView;
-import javax.swing.*;
+import javax.swing.JScrollPane;
+import javax.swing.JTabbedPane;
/**
* Data map editing tabs container
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabController.java
index 7b98f4c..9032071 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabController.java
@@ -25,9 +25,12 @@ import org.apache.cayenne.swing.ImageRendererColumn;
import org.apache.cayenne.swing.ObjectBinding;
import org.apache.cayenne.swing.TableBindingBuilder;
-import javax.swing.*;
-import java.awt.*;
+import javax.swing.JLabel;
+import java.awt.Component;
+/**
+ * @since 4.1
+ */
public class ClassesTabController extends CayenneController {
protected ClassesTabPanel view;
@@ -111,7 +114,7 @@ public class ClassesTabController extends CayenneController {
else if (selectedCount == getParentController().getClasses().size()) {
view.getCheckAll().setSelected(true);
}
- getParentController().updateEntities();
+ getParentController().updateSelectedEntities();
}
/**
@@ -121,7 +124,7 @@ public class ClassesTabController extends CayenneController {
public void checkAllAction() {
if (getParentController().updateSelection(view.getCheckAll().isSelected() ? o -> true : o -> false)) {
tableBinding.updateView();
- getParentController().updateEntities();
+ getParentController().updateSelectedEntities();
if(view.getCheckAll().isSelected()) {
getParentController().enableGenerateButton(true);
} else {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabPanel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabPanel.java
index 403058f..3f5c49c 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabPanel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabPanel.java
@@ -19,8 +19,16 @@
package org.apache.cayenne.modeler.editor.cgen;
-import javax.swing.*;
-import java.awt.*;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+import javax.swing.ScrollPaneConstants;
+import javax.swing.UIManager;
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.FlowLayout;
/**
* @since 4.1
@@ -35,9 +43,6 @@ public class ClassesTabPanel extends JPanel {
this.table = new JTable();
this.table.setRowHeight(22);
-
- // TODO: andrus 04/07/2006 - is there an easy way to stick that checkbox in the
- // table header????
this.checkAll = new JCheckBox();
this.checkAllLabel = new JLabel("Check All Classes");
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClientModeController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClientModeController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClientModeController.java
index 7485d25..b55c24b 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClientModeController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClientModeController.java
@@ -21,6 +21,9 @@ package org.apache.cayenne.modeler.editor.cgen;
import org.apache.cayenne.gen.CgenConfiguration;
+/**
+ * @since 4.1
+ */
public class ClientModeController extends StandardModeController {
public ClientModeController(CodeGeneratorControllerBase parent) {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorController.java
----------------------------------------------------------------------
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 1274ecb..1244178 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
@@ -30,14 +30,15 @@ import org.apache.cayenne.swing.BindingBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.swing.*;
-import java.awt.*;
+import javax.swing.JOptionPane;
+import java.awt.Component;
import java.util.Collections;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.function.Predicate;
/**
+ * @since 4.1
* A controller for the class generator dialog.
*/
public class CodeGeneratorController extends CodeGeneratorControllerBase {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorControllerBase.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorControllerBase.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorControllerBase.java
index 211384d..21a3736 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorControllerBase.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorControllerBase.java
@@ -32,19 +32,27 @@ import org.apache.cayenne.modeler.util.ModelerUtil;
import org.apache.cayenne.validation.ValidationFailure;
import org.apache.cayenne.validation.ValidationResult;
-import javax.swing.*;
-import java.awt.*;
+import javax.swing.Icon;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import java.awt.Component;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
import java.util.List;
import java.util.function.Predicate;
import java.util.prefs.Preferences;
import java.util.stream.Collectors;
/**
+ * @since 4.1
* A base superclass of a top controller for the code generator. Defines all common model
* parts used in class generation.
*
@@ -108,11 +116,13 @@ public abstract class CodeGeneratorControllerBase extends CayenneController {
if(cgenConfiguration != null){
addToSelectedEntities(cgenConfiguration.getDataMap(), cgenConfiguration.getEntities());
addToSelectedEmbeddables(cgenConfiguration.getDataMap(), cgenConfiguration.getEmbeddables());
+ cgenConfiguration.setForce(true);
return cgenConfiguration;
}
try {
cgenConfiguration = new CgenConfiguration();
+ cgenConfiguration.setForce(true);
cgenConfiguration.setDataMap(map);
Path basePath = Paths.get(ModelerUtil.initOutputFolder());
@@ -238,9 +248,7 @@ public abstract class CodeGeneratorControllerBase extends CayenneController {
}
public List<Embeddable> getSelectedEmbeddables() {
-
List<Embeddable> selected = new ArrayList<>(selectedEmbeddables.size());
-
for (Object classObj : classes) {
if (classObj instanceof Embeddable
&& selectedEmbeddables.contains(((Embeddable) classObj)
@@ -379,16 +387,29 @@ public abstract class CodeGeneratorControllerBase extends CayenneController {
return labelIcon;
}
- public void updateEntities(){
+ public void updateSelectedEntities(){
+ updateEntities();
+ updateEmbeddables();
+ }
+
+ public void updateEntities() {
DataMap map = getProjectController().getCurrentDataMap();
CgenConfiguration cgenConfiguration = projectController.getApplication().getMetaData().get(map, CgenConfiguration.class);
if(cgenConfiguration != null) {
- cgenConfiguration.resetCollections();
+ cgenConfiguration.getEntities().clear();
for(ObjEntity entity: getSelectedEntities()) {
if(!entity.isGeneric()) {
cgenConfiguration.loadEntity(entity.getName());
}
}
+ }
+ }
+
+ public void updateEmbeddables() {
+ DataMap map = getProjectController().getCurrentDataMap();
+ CgenConfiguration cgenConfiguration = projectController.getApplication().getMetaData().get(map, CgenConfiguration.class);
+ if(cgenConfiguration != null) {
+ cgenConfiguration.getEmbeddables().clear();
for(Embeddable embeddable : getSelectedEmbeddables()) {
cgenConfiguration.loadEmbeddable(embeddable.getClassName());
}
@@ -404,7 +425,7 @@ public abstract class CodeGeneratorControllerBase extends CayenneController {
void addToSelectedEmbeddables(DataMap dataMap, Collection<String> embeddables) {
prepareClasses(dataMap);
selectedEmbeddables.addAll(embeddables);
- updateEntities();
+ updateEmbeddables();
}
public int getSelectedEntitiesSize() {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorPane.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorPane.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorPane.java
index 859cb2d..003d850 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorPane.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorPane.java
@@ -19,10 +19,15 @@
package org.apache.cayenne.modeler.editor.cgen;
-import javax.swing.*;
-import java.awt.*;
+import javax.swing.JScrollPane;
+import javax.swing.JSplitPane;
+import javax.swing.ScrollPaneConstants;
+import java.awt.BorderLayout;
+import java.awt.Component;
+import java.awt.Dimension;
/**
+ * @since 4.1
*/
public class CodeGeneratorPane extends JSplitPane {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModeController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModeController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModeController.java
index 247d747..4a23e6b 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModeController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModeController.java
@@ -25,13 +25,14 @@ import org.apache.cayenne.modeler.CodeTemplateManager;
import org.apache.cayenne.modeler.dialog.pref.PreferenceDialog;
import org.apache.cayenne.swing.BindingBuilder;
-import javax.swing.*;
-import java.awt.*;
+import javax.swing.DefaultComboBoxModel;
+import java.awt.Component;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
+ * @since 4.1
* A controller for the custom generation mode.
*/
public class CustomModeController extends GeneratorController {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModePanel.java
----------------------------------------------------------------------
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 468eec7..8b1d2a3 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
@@ -29,9 +29,16 @@ import org.apache.cayenne.swing.components.JCayenneCheckBox;
import org.apache.cayenne.swing.control.ActionLink;
import org.apache.cayenne.validation.ValidationException;
-import javax.swing.*;
-import java.awt.*;
-
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+import java.awt.BorderLayout;
+import java.awt.FlowLayout;
+
+/**
+ * @since 4.1
+ */
public class CustomModePanel extends GeneratorControllerPanel {
private ComboBoxAdapter<String> subclassTemplate;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorController.java
index 22187f5..1b49a46 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorController.java
@@ -21,7 +21,12 @@ package org.apache.cayenne.modeler.editor.cgen;
import org.apache.cayenne.gen.ArtifactsGenerationMode;
import org.apache.cayenne.gen.CgenConfiguration;
-import org.apache.cayenne.map.*;
+import org.apache.cayenne.map.Embeddable;
+import org.apache.cayenne.map.EmbeddableAttribute;
+import org.apache.cayenne.map.EmbeddedAttribute;
+import org.apache.cayenne.map.ObjAttribute;
+import org.apache.cayenne.map.ObjEntity;
+import org.apache.cayenne.map.ObjRelationship;
import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.pref.FSPath;
import org.apache.cayenne.modeler.util.CayenneController;
@@ -34,13 +39,14 @@ import org.apache.cayenne.validation.SimpleValidationFailure;
import org.apache.cayenne.validation.ValidationFailure;
import org.apache.cayenne.validation.ValidationResult;
-import javax.swing.*;
+import javax.swing.JButton;
+import javax.swing.JFileChooser;
import java.io.File;
import java.util.function.Predicate;
/**
+ * @since 4.1
* A mode-specific part of the code generation dialog.
- *
*/
public abstract class GeneratorController extends CayenneController {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorControllerPanel.java
----------------------------------------------------------------------
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 5771b89..3275726 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
@@ -25,11 +25,13 @@ import org.apache.cayenne.modeler.ProjectController;
import org.apache.cayenne.modeler.util.TextAdapter;
import org.apache.cayenne.validation.ValidationException;
-import javax.swing.*;
+import javax.swing.JButton;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
/**
+ * @since 4.1
* A generic panel that is a superclass of generator panels, defining common fields.
- *
*/
public class GeneratorControllerPanel extends JPanel {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabController.java
index 6af5436..77a71b8 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabController.java
@@ -23,11 +23,13 @@ import org.apache.cayenne.gen.CgenConfiguration;
import org.apache.cayenne.modeler.util.CayenneController;
import org.apache.cayenne.pref.PreferenceDetail;
-import java.awt.*;
+import java.awt.Component;
+import java.awt.Dimension;
import java.util.HashMap;
import java.util.Map;
/**
+ * @since 4.1
*/
public class GeneratorTabController extends CayenneController {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabPanel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabPanel.java
index 08f1dee..a10fe21 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabPanel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabPanel.java
@@ -24,8 +24,16 @@ import com.jgoodies.forms.layout.FormLayout;
import org.apache.cayenne.modeler.util.ModelerUtil;
import org.apache.cayenne.swing.components.TopBorder;
-import javax.swing.*;
-import java.awt.*;
+import javax.swing.Box;
+import javax.swing.JButton;
+import javax.swing.JComboBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import java.awt.BorderLayout;
+import java.awt.CardLayout;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.FlowLayout;
import java.util.Objects;
/**
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModeController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModeController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModeController.java
index 5b34efc..ba4344e 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModeController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModeController.java
@@ -22,8 +22,11 @@ package org.apache.cayenne.modeler.editor.cgen;
import org.apache.cayenne.gen.CgenConfiguration;
import org.apache.cayenne.modeler.pref.DataMapDefaults;
-import java.awt.*;
+import java.awt.Component;
+/**
+ * @since 4.1
+ */
public class StandardModeController extends GeneratorController {
protected StandardModePanel view;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModePanel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModePanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModePanel.java
index 2b755e7..85c2d5f 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModePanel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModePanel.java
@@ -23,8 +23,11 @@ import com.jgoodies.forms.builder.DefaultFormBuilder;
import com.jgoodies.forms.layout.FormLayout;
import org.apache.cayenne.modeler.Application;
-import java.awt.*;
+import java.awt.BorderLayout;
+/**
+ * @since 4.1
+ */
public class StandardModePanel extends GeneratorControllerPanel {
public StandardModePanel(CodeGeneratorControllerBase codeGeneratorControllerBase) {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenPanel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenPanel.java
index 637cc12..e8e6596 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenPanel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenPanel.java
@@ -27,9 +27,15 @@ import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.util.ModelerUtil;
-import javax.swing.*;
-import java.awt.*;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import java.awt.BorderLayout;
+/**
+ * @since 4.1
+ */
public class CgenPanel extends JPanel {
private JCheckBox checkConfig;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTab.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTab.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTab.java
index 0c5288e..5d7c88a 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTab.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTab.java
@@ -25,12 +25,21 @@ import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.modeler.ProjectController;
import org.apache.cayenne.modeler.util.ModelerUtil;
-import javax.swing.*;
-import java.awt.*;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.FlowLayout;
import java.util.SortedSet;
import java.util.TreeSet;
import java.util.concurrent.ConcurrentMap;
+/**
+ * @since 4.1
+ */
public class CgenTab extends JPanel {
protected ProjectController projectController;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/3ae49734/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java
----------------------------------------------------------------------
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 0f82abf..f9549ec 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
@@ -35,7 +35,7 @@ import org.apache.cayenne.project.Project;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.swing.*;
+import javax.swing.JOptionPane;
import java.awt.event.ItemEvent;
import java.io.IOException;
import java.nio.file.Files;
@@ -48,6 +48,9 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.prefs.Preferences;
+/**
+ * @since 4.1
+ */
public class CgenTabController {
private static Logger logObj = LoggerFactory.getLogger(ErrorDebugDialog.class);