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 <ancars...@gmail.com> Authored: Mon Nov 12 13:28:09 2018 +0300 Committer: Arseni Bulatski <ancars...@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);