[jira] [Closed] (CAY-2493) Save cgen configuration with datamap XML

2018-11-14 Thread Nikita Timofeev (JIRA)


 [ 
https://issues.apache.org/jira/browse/CAY-2493?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nikita Timofeev closed CAY-2493.

Resolution: Fixed

> Save cgen configuration with datamap XML
> 
>
> Key: CAY-2493
> URL: https://issues.apache.org/jira/browse/CAY-2493
> Project: Cayenne
>  Issue Type: Improvement
>  Components: Modeler, Non-GUI Tools
>Reporter: Nikita Timofeev
>Assignee: Nikita Timofeev
>Priority: Major
>  Labels: pull-request-available
> Fix For: 4.1.M3
>
>
> This task is about saving and managing cgen config inside data map file. It 
> also requires UI changes (as done with reverse engineering config per 
> CAY-2337)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


cayenne-website git commit: Add cgen.xsd schema

2018-11-14 Thread ntimofeev
Repository: cayenne-website
Updated Branches:
  refs/heads/asf-site f53899fcc -> 588485dc4


Add cgen.xsd schema


Project: http://git-wip-us.apache.org/repos/asf/cayenne-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne-website/commit/588485dc
Tree: http://git-wip-us.apache.org/repos/asf/cayenne-website/tree/588485dc
Diff: http://git-wip-us.apache.org/repos/asf/cayenne-website/diff/588485dc

Branch: refs/heads/asf-site
Commit: 588485dc4297b04d144401daa5752e2a5bc942cf
Parents: f53899f
Author: Nikita Timofeev 
Authored: Wed Nov 14 17:47:12 2018 +0300
Committer: Nikita Timofeev 
Committed: Wed Nov 14 17:47:12 2018 +0300

--
 schema/10/cgen.xsd | 47 +++
 1 file changed, 47 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/588485dc/schema/10/cgen.xsd
--
diff --git a/schema/10/cgen.xsd b/schema/10/cgen.xsd
new file mode 100644
index 000..7b26e92
--- /dev/null
+++ b/schema/10/cgen.xsd
@@ -0,0 +1,47 @@
+
+
+
+http://cayenne.apache.org/schema/10/cgen;
+   elementFormDefault="qualified" version="10"
+   xmlns:cay="http://cayenne.apache.org/schema/10/cgen;
+   xmlns:xs="http://www.w3.org/2001/XMLSchema;>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file



cayenne-website git commit: Add cgen.xsd schema

2018-11-14 Thread ntimofeev
Repository: cayenne-website
Updated Branches:
  refs/heads/master 6923c1c82 -> 8742b1ead


Add cgen.xsd schema


Project: http://git-wip-us.apache.org/repos/asf/cayenne-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne-website/commit/8742b1ea
Tree: http://git-wip-us.apache.org/repos/asf/cayenne-website/tree/8742b1ea
Diff: http://git-wip-us.apache.org/repos/asf/cayenne-website/diff/8742b1ea

Branch: refs/heads/master
Commit: 8742b1ead03b337a5f650fe34016a4e7dd594843
Parents: 6923c1c
Author: Nikita Timofeev 
Authored: Wed Nov 14 17:44:02 2018 +0300
Committer: Nikita Timofeev 
Committed: Wed Nov 14 17:44:02 2018 +0300

--
 src/main/site/static/schema/10/cgen.xsd | 47 
 1 file changed, 47 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8742b1ea/src/main/site/static/schema/10/cgen.xsd
--
diff --git a/src/main/site/static/schema/10/cgen.xsd 
b/src/main/site/static/schema/10/cgen.xsd
new file mode 100644
index 000..7b26e92
--- /dev/null
+++ b/src/main/site/static/schema/10/cgen.xsd
@@ -0,0 +1,47 @@
+
+
+
+http://cayenne.apache.org/schema/10/cgen;
+   elementFormDefault="qualified" version="10"
+   xmlns:cay="http://cayenne.apache.org/schema/10/cgen;
+   xmlns:xs="http://www.w3.org/2001/XMLSchema;>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file



[jira] [Commented] (CAY-2493) Save cgen configuration with datamap XML

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/CAY-2493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686577#comment-16686577
 ] 

ASF GitHub Bot commented on CAY-2493:
-

Github user asfgit closed the pull request at:

https://github.com/apache/cayenne/pull/342


> Save cgen configuration with datamap XML
> 
>
> Key: CAY-2493
> URL: https://issues.apache.org/jira/browse/CAY-2493
> Project: Cayenne
>  Issue Type: Improvement
>  Components: Modeler, Non-GUI Tools
>Reporter: Nikita Timofeev
>Assignee: Nikita Timofeev
>Priority: Major
>  Labels: pull-request-available
> Fix For: 4.1.M3
>
>
> This task is about saving and managing cgen config inside data map file. It 
> also requires UI changes (as done with reverse engineering config per 
> CAY-2337)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[26/32] cayenne git commit: Add dialog to create missing templates or using default.

2018-11-14 Thread ntimofeev
Add dialog to create missing templates or using default.


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/397d29fa
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/397d29fa
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/397d29fa

Branch: refs/heads/master
Commit: 397d29fa98d1c74ac37732b9243d5cc1366fd98e
Parents: c813e76
Author: Arseni Bulatski 
Authored: Tue Nov 13 16:27:56 2018 +0300
Committer: Arseni Bulatski 
Committed: Tue Nov 13 16:27:56 2018 +0300

--
 .../cayenne/modeler/CodeTemplateManager.java|  12 +-
 .../modeler/dialog/cgen/TemplateDialog.java |  87 
 .../modeler/dialog/cgen/TemplateDialogView.java | 136 +++
 .../modeler/dialog/pref/PreferenceDialog.java   |  18 ++-
 .../dialog/pref/TemplatePreferences.java|  37 +++--
 .../editor/cgen/CustomModeController.java   |  44 --
 .../modeler/editor/cgen/CustomModePanel.java|  17 +--
 7 files changed, 308 insertions(+), 43 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/397d29fa/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
index ccb4980..7579d5d 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
@@ -25,6 +25,8 @@ import org.apache.cayenne.modeler.pref.FSPath;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -155,9 +157,10 @@ public class CodeTemplateManager {
// TODO: andrus, 12/5/2007 - this should also take a "pairs" parameter 
to
// correctly
// assign standard templates
-   public String getTemplatePath(String name) {
+   public String getTemplatePath(String name, Path rootPath) {
Object value = customTemplates.get(name);
if (value != null) {
+   value = rootPath.relativize(Paths.get((String)value));
return value.toString();
}
 
@@ -165,9 +168,10 @@ public class CodeTemplateManager {
return value != null ? value.toString() : null;
}
 
-   public String getNameByPath(String name) {
-   if(reverseCustomTemplate.containsKey(name)){
-   return reverseCustomTemplate.get(name);
+   public String getNameByPath(String name, Path rootPath) {
+   String fullPath = rootPath.resolve(Paths.get(name)).toString();
+   if(reverseCustomTemplate.containsKey(fullPath)){
+   return reverseCustomTemplate.get(fullPath);
} else {
Object value = reverseStandartTemplates.get(name);
return value != null ? value.toString() : null;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/397d29fa/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/cgen/TemplateDialog.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/cgen/TemplateDialog.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/cgen/TemplateDialog.java
new file mode 100644
index 000..bd81368
--- /dev/null
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/cgen/TemplateDialog.java
@@ -0,0 +1,87 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ 

[17/32] cayenne git commit: Cgen tab, cgen configuration, cgen in maven, ant, gradle.

2018-11-14 Thread ntimofeev
http://git-wip-us.apache.org/repos/asf/cayenne/blob/52ea45b5/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 384d366..3b339df 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
@@ -20,15 +20,18 @@
 package org.apache.cayenne.tools;
 
 import java.io.File;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.util.Set;
 
-import com.sun.org.apache.xpath.internal.operations.Bool;
 import groovy.lang.Reference;
 import org.apache.cayenne.configuration.xml.DataChannelMetaData;
 import org.apache.cayenne.dbsync.filter.NamePatternMatcher;
 import org.apache.cayenne.dbsync.reverse.configuration.ToolsModule;
 import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Injector;
+import org.apache.cayenne.gen.CgenConfiguration;
 import org.apache.cayenne.gen.CgenModule;
 import org.apache.cayenne.gen.ClassGenerationAction;
 import org.apache.cayenne.gen.ClientClassGenerationAction;
@@ -74,6 +77,10 @@ public class CgenTask extends BaseCayenneTask {
 
 @Input
 @Optional
+private String excludeEmbeddables;
+
+@Input
+@Optional
 private String makePairs;
 
 @Input
@@ -142,6 +149,8 @@ public class CgenTask extends BaseCayenneTask {
 
 private DataChannelMetaData metaData;
 
+private boolean useConfigFromDataMap;
+
 @TaskAction
 public void generate() {
 File dataMapFile = getDataMapFile();
@@ -152,9 +161,12 @@ public class CgenTask extends BaseCayenneTask {
 CayenneGeneratorMapLoaderAction loaderAction = new 
CayenneGeneratorMapLoaderAction(injector);
 loaderAction.setMainDataMapFile(dataMapFile);
 
-CayenneGeneratorEntityFilterAction filterAction = new 
CayenneGeneratorEntityFilterAction();
-filterAction.setClient(client);
-filterAction.setNameFilter(NamePatternMatcher.build(getLogger(), 
includeEntities, excludeEntities));
+CayenneGeneratorEntityFilterAction filterEntityAction = new 
CayenneGeneratorEntityFilterAction();
+filterEntityAction.setClient(client);
+filterEntityAction.setNameFilter(NamePatternMatcher.build(getLogger(), 
includeEntities, excludeEntities));
+
+CayenneGeneratorEmbeddableFilterAction filterEmbeddableAction = new 
CayenneGeneratorEmbeddableFilterAction();
+
filterEmbeddableAction.setNameFilter(NamePatternMatcher.build(getLogger(), 
null, excludeEmbeddables));
 
 try {
 
loaderAction.setAdditionalDataMapFiles(convertAdditionalDataMaps());
@@ -165,16 +177,18 @@ public class CgenTask extends BaseCayenneTask {
 generator.setLogger(getLogger());
 
 if(this.force || getProject().hasProperty("force")) {
-generator.setForce(true);
+generator.getCgenConfiguration().setForce(true);
 }
-generator.setTimestamp(dataMapFile.lastModified());
-generator.setDataMap(dataMap);
-if(generator.getEntities().isEmpty() && 
generator.getEmbeddables().isEmpty()) {
-
generator.addEntities(filterAction.getFilteredEntities(dataMap));
-generator.addEmbeddables(dataMap.getEmbeddables());
-generator.addQueries(dataMap.getQueryDescriptors());
-} else {
+
generator.getCgenConfiguration().setTimestamp(dataMapFile.lastModified());
+
+if(!hasConfig() && useConfigFromDataMap) {
 generator.prepareArtifacts();
+setDestDir(generator.getCgenConfiguration().getRelPath());
+
generator.getCgenConfiguration().setRelPath(getDestDirFile().toPath());
+} else {
+
generator.addEntities(filterEntityAction.getFilteredEntities(dataMap));
+
generator.addEmbeddables(filterEmbeddableAction.getFilteredEmbeddables(dataMap));
+generator.addQueries(dataMap.getQueryDescriptors());
 }
 generator.execute();
 } catch (Exception exception) {
@@ -196,35 +210,74 @@ public class CgenTask extends BaseCayenneTask {
 );
 }
 
-ClassGenerationAction newGeneratorInstance() {
-return client ? new ClientClassGenerationAction() : new 
ClassGenerationAction();
-}
-
 ClassGenerationAction createGenerator(DataMap dataMap) {
-ClassGenerationAction action = this.newGeneratorInstance();
-
-if(metaData != null && metaData.get(dataMap, 
ClassGenerationAction.class) != null){
-action = metaData.get(dataMap, ClassGenerationAction.class);
+CgenConfiguration cgenConfiguration = buildConfiguration(dataMap);
+ 

[15/32] cayenne git commit: Cgen tab, cgen configuration, cgen in maven, ant, gradle.

2018-11-14 Thread ntimofeev
http://git-wip-us.apache.org/repos/asf/cayenne/blob/52ea45b5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomPreferencesUpdater.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomPreferencesUpdater.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomPreferencesUpdater.java
index 1d8d4f9..a9816e0 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomPreferencesUpdater.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomPreferencesUpdater.java
@@ -1,209 +1,209 @@
-/*
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- /
-
-package org.apache.cayenne.modeler.dialog.codegen;
-
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.modeler.pref.DataMapDefaults;
-
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-
-public class CustomPreferencesUpdater {
-
-enum Property {
-SUBCLASS_TEMPLATE,
-SUPERCLASS_TEMPLATE,
-OVERWRITE,
-PAIRS,
-USE_PACKAGE_PATH,
-MODE,
-OUTPUT_PATTERN,
-CREATE_PROPERTY_NAMES,
-CREATE_PK_PROPERTIES
-}
-
-private static final String OVERWRITE = "overwrite";
-private static final String PAIRS = "pairs";
-private static final String USE_PACKAGE_PATH = "usePackagePath";
-private static final String MODE = "mode";
-private static final String OUTPUT_PATTERN = "outputPattern";
-private static final String CREATE_PROPERTY_NAMES = "createPropertyNames";
-private static final String CREATE_PK_PROPERTIES = "createPKProperties";
-
-private Map mapPreferences;
-
-
-public CustomPreferencesUpdater(Map 
mapPreferences) {
-this.mapPreferences = mapPreferences;
-}
-
-public String getMode() {
-return (String) getProperty(Property.MODE);
-}
-
-public void setMode(String mode) {
-updatePreferences(Property.MODE, mode);
-}
-
-public String getSubclassTemplate() {
-return (String) getProperty(Property.SUBCLASS_TEMPLATE);
-}
-
-public void setSubclassTemplate(String subclassTemplate) {
-updatePreferences(Property.SUBCLASS_TEMPLATE, subclassTemplate);
-}
-
-public String getSuperclassTemplate() {
-return (String) getProperty(Property.SUPERCLASS_TEMPLATE);
-}
-
-public void setSuperclassTemplate(String superclassTemplate) {
-updatePreferences(Property.SUPERCLASS_TEMPLATE, superclassTemplate);
-}
-
-public Boolean getOverwrite() {
-return (Boolean) getProperty(Property.OVERWRITE);
-}
-
-public void setOverwrite(Boolean overwrite) {
-updatePreferences(Property.OVERWRITE, overwrite);
-}
-
-public Boolean getPairs() {
-return (Boolean) getProperty(Property.PAIRS);
-}
-
-public void setPairs(Boolean pairs) {
-updatePreferences(Property.PAIRS, pairs);
-}
-
-public Boolean getUsePackagePath() {
-return (Boolean) getProperty(Property.USE_PACKAGE_PATH);
-}
-
-public void setUsePackagePath(Boolean usePackagePath) {
-updatePreferences(Property.USE_PACKAGE_PATH, usePackagePath);
-}
-
-public String getOutputPattern() {
-return (String) getProperty(Property.OUTPUT_PATTERN);
-}
-
-public void setOutputPattern(String outputPattern) {
-updatePreferences(Property.OUTPUT_PATTERN, outputPattern);
-}
-
-public Boolean getCreatePropertyNames() {
-return (Boolean) getProperty(Property.CREATE_PROPERTY_NAMES);
-}
-
-public void setCreatePropertyNames(Boolean createPropertyNames) {
-updatePreferences(Property.CREATE_PROPERTY_NAMES, createPropertyNames);
-}
-
-public Boolean getCreatePKProperties() {
-return (Boolean) getProperty(Property.CREATE_PK_PROPERTIES);
-}
-
-public void setCreatePKProperties(Boolean 

[12/32] cayenne git commit: Add cgen tab.

2018-11-14 Thread ntimofeev
http://git-wip-us.apache.org/repos/asf/cayenne/blob/6a43436a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/cgen/CgenGlobalController.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/cgen/CgenGlobalController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/cgen/CgenGlobalController.java
deleted file mode 100644
index 9242f21..000
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/cgen/CgenGlobalController.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- /
-package org.apache.cayenne.modeler.dialog.codegen.cgen;
-
-import org.apache.cayenne.modeler.util.CayenneController;
-import org.apache.cayenne.swing.BindingBuilder;
-
-import java.awt.Component;
-
-/**
- * @since 4.1
- */
-public class CgenGlobalController extends CayenneController{
-
-protected CgenDialog view;
-
-private CgenGlobalPanelController globalPanelController;
-
-public CgenGlobalController(CayenneController parent){
-super(parent);
-
-globalPanelController = new CgenGlobalPanelController(this);
-}
-
-public void startup(){
-this.view = new CgenDialog(globalPanelController.getView());
-initBindings();
-
-view.pack();
-view.setModal(true);
-centerView();
-makeCloseableOnEscape();
-view.setVisible(true);
-}
-
-protected void initBindings() {
-BindingBuilder builder = new BindingBuilder(
-getApplication().getBindingFactory(),
-this);
-
-builder.bindToAction(view.getCancelButton(), "cancelAction()");
-}
-
-public void cancelAction() {
-view.dispose();
-}
-
-@Override
-public Component getView() {
-return view;
-}
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6a43436a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/cgen/CgenGlobalPanel.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/cgen/CgenGlobalPanel.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/cgen/CgenGlobalPanel.java
deleted file mode 100644
index c234d70..000
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/cgen/CgenGlobalPanel.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- /
-package org.apache.cayenne.modeler.dialog.codegen.cgen;
-
-import com.jgoodies.forms.builder.DefaultFormBuilder;
-import com.jgoodies.forms.layout.FormLayout;
-import org.apache.cayenne.modeler.ProjectController;
-
-import javax.swing.JButton;
-import javax.swing.JCheckBox;
-import javax.swing.JComboBox;
-import javax.swing.JPanel;
-import javax.swing.JTextField;
-import java.awt.BorderLayout;
-
-/**
- * @since 4.1
- */
-public class CgenGlobalPanel extends JPanel {
-
-private 

[16/32] cayenne git commit: Cgen tab, cgen configuration, cgen in maven, ant, gradle.

2018-11-14 Thread ntimofeev
http://git-wip-us.apache.org/repos/asf/cayenne/blob/52ea45b5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClientModeController.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClientModeController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClientModeController.java
index 9e3897e..0225d3b 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClientModeController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClientModeController.java
@@ -1,81 +1,81 @@
-/*
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- /
-
-package org.apache.cayenne.modeler.dialog.codegen;
-
-import org.apache.cayenne.gen.ClassGenerationAction;
-import org.apache.cayenne.gen.ClientClassGenerationAction;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.ObjEntity;
-import org.apache.cayenne.modeler.pref.DataMapDefaults;
-import org.apache.cayenne.validation.BeanValidationFailure;
-import org.apache.cayenne.validation.ValidationResult;
-
-import java.util.ArrayList;
-import java.util.TreeMap;
-
-public class ClientModeController extends StandardModeController {
-
-public ClientModeController(CodeGeneratorControllerBase parent) {
-super(parent);
-}
-
-public void validateEntity(ValidationResult validationBuffer, ObjEntity 
entity) {
-if (!entity.isClientAllowed()) {
-validationBuffer.addFailure(new BeanValidationFailure(
-entity.getName(),
-"clientAllowed",
-"Not a client entity"));
-} else {
-super.validateEntity(validationBuffer, entity, true);
-}
-}
-
-protected void createDefaults() {
-TreeMap map = new TreeMap();
-ArrayList dataMaps = (ArrayList) 
getParentController().getDataMaps();
-for (DataMap dataMap : dataMaps) {
-DataMapDefaults preferences = getApplication()
-.getFrameController()
-.getProjectController()
-
.getDataMapPreferences(this.getClass().getName().replace(".", "/"), dataMap);
-
-preferences.setSuperclassPackage("");
-preferences.updateSuperclassPackage(dataMap, true);
-
-map.put(dataMap, preferences);
-
-if (getOutputPath() == null) {
-setOutputPath(preferences.getOutputPath());
-}
-}
-
-setMapPreferences(map);
-}
-
-protected GeneratorControllerPanel createView() {
-this.view = new StandardModePanel();
-return view;
-}
-
-@Override
-protected ClassGenerationAction newGenerator() {
-return new ClientClassGenerationAction();
-}
-}
\ No newline at end of file
+///*
+// *   Licensed to the Apache Software Foundation (ASF) under one
+// *  or more contributor license agreements.  See the NOTICE file
+// *  distributed with this work for additional information
+// *  regarding copyright ownership.  The ASF licenses this file
+// *  to you under the Apache License, Version 2.0 (the
+// *  "License"); you may not use this file except in compliance
+// *  with the License.  You may obtain a copy of the License at
+// *
+// *http://www.apache.org/licenses/LICENSE-2.0
+// *
+// *  Unless required by applicable law or agreed to in writing,
+// *  software distributed under the License is distributed on an
+// *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// *  KIND, either express or implied.  See the License for the
+// *  specific language governing permissions and limitations
+// *  under the License.
+// /
+//
+//package org.apache.cayenne.modeler.dialog.codegen;
+//
+//import org.apache.cayenne.gen.ClassGenerationAction;

[31/32] cayenne git commit: Generation all selection fix

2018-11-14 Thread ntimofeev
Generation all selection fix


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/d20a03f8
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/d20a03f8
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/d20a03f8

Branch: refs/heads/master
Commit: d20a03f88c3b0f40d12644ae2a66d9a93aadb63e
Parents: 51803e4
Author: Arseni Bulatski 
Authored: Wed Nov 14 17:09:44 2018 +0300
Committer: Arseni Bulatski 
Committed: Wed Nov 14 17:09:44 2018 +0300

--
 .../apache/cayenne/modeler/editor/cgen/CustomModeController.java | 4 
 .../apache/cayenne/modeler/editor/cgen/GeneratorController.java  | 4 
 2 files changed, 4 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/d20a03f8/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 07f7828..e2d8408 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
@@ -177,10 +177,6 @@ public class CustomModeController extends 
GeneratorController {
 view.getOverwrite().setSelected(cgenConfiguration.isOverwrite());
 
view.getCreatePropertyNames().setSelected(cgenConfiguration.isCreatePropertyNames());
 
view.getPkProperties().setSelected(cgenConfiguration.isCreatePKProperties());
-
if(cgenConfiguration.getArtifactsGenerationMode().equalsIgnoreCase("all")) {
-((CodeGeneratorControllerBase) 
parent).setCurrentClass(cgenConfiguration.getDataMap());
-((CodeGeneratorControllerBase) parent).setSelected(true);
-}
 updateComboBoxes();
 getParentController().setInitFromModel(false);
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d20a03f8/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 1b49a46..58bc85e 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
@@ -74,6 +74,10 @@ public abstract class GeneratorController extends 
CayenneController {
 protected void initForm(CgenConfiguration cgenConfiguration) {
 this.cgenConfiguration = cgenConfiguration;
 
((GeneratorControllerPanel)getView()).getOutputFolder().setText(cgenConfiguration.buildPath().toString());
+
if(cgenConfiguration.getArtifactsGenerationMode().equalsIgnoreCase("all")) {
+((CodeGeneratorControllerBase) 
parent).setCurrentClass(cgenConfiguration.getDataMap());
+((CodeGeneratorControllerBase) parent).setSelected(true);
+}
 }
 
 public abstract void updateConfiguration(CgenConfiguration 
cgenConfiguration);



[20/32] cayenne git commit: Cgen task refactoring

2018-11-14 Thread ntimofeev
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b30e5eb5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardModePanel.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardModePanel.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardModePanel.java
deleted file mode 100644
index 81bd599..000
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardModePanel.java
+++ /dev/null
@@ -1,42 +0,0 @@
-///*
-// *   Licensed to the Apache Software Foundation (ASF) under one
-// *  or more contributor license agreements.  See the NOTICE file
-// *  distributed with this work for additional information
-// *  regarding copyright ownership.  The ASF licenses this file
-// *  to you under the Apache License, Version 2.0 (the
-// *  "License"); you may not use this file except in compliance
-// *  with the License.  You may obtain a copy of the License at
-// *
-// *http://www.apache.org/licenses/LICENSE-2.0
-// *
-// *  Unless required by applicable law or agreed to in writing,
-// *  software distributed under the License is distributed on an
-// *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// *  KIND, either express or implied.  See the License for the
-// *  specific language governing permissions and limitations
-// *  under the License.
-// /
-//
-//package org.apache.cayenne.modeler.dialog.codegen;
-//
-//import com.jgoodies.forms.builder.DefaultFormBuilder;
-//import com.jgoodies.forms.layout.FormLayout;
-//
-//import java.awt.BorderLayout;
-//
-//public class StandardModePanel extends GeneratorControllerPanel {
-//
-//private DefaultFormBuilder builder;
-//
-//public StandardModePanel() {
-//FormLayout layout = new FormLayout(
-//"right:77dlu, 1dlu, fill:100:grow, 1dlu, left:80dlu, 1dlu", 
"");
-//
-//builder = new DefaultFormBuilder(layout);
-//builder.append("Output Directory:", outputFolder, 
selectOutputFolder);
-//builder.nextLine();
-//
-//setLayout(new BorderLayout());
-//add(builder.getPanel(), BorderLayout.CENTER);
-//}
-//}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b30e5eb5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardPanelComponent.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardPanelComponent.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardPanelComponent.java
deleted file mode 100644
index c900728..000
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardPanelComponent.java
+++ /dev/null
@@ -1,81 +0,0 @@
-///*
-// *   Licensed to the Apache Software Foundation (ASF) under one
-// *  or more contributor license agreements.  See the NOTICE file
-// *  distributed with this work for additional information
-// *  regarding copyright ownership.  The ASF licenses this file
-// *  to you under the Apache License, Version 2.0 (the
-// *  "License"); you may not use this file except in compliance
-// *  with the License.  You may obtain a copy of the License at
-// *
-// *http://www.apache.org/licenses/LICENSE-2.0
-// *
-// *  Unless required by applicable law or agreed to in writing,
-// *  software distributed under the License is distributed on an
-// *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// *  KIND, either express or implied.  See the License for the
-// *  specific language governing permissions and limitations
-// *  under the License.
-// /
-//
-//package org.apache.cayenne.modeler.dialog.codegen;
-//
-//import com.jgoodies.forms.builder.DefaultFormBuilder;
-//import com.jgoodies.forms.layout.FormLayout;
-//import org.apache.cayenne.map.DataMap;
-//import org.apache.cayenne.modeler.pref.DataMapDefaults;
-//
-//import javax.swing.JComponent;
-//import javax.swing.JLabel;
-//import javax.swing.JTextField;
-//import java.awt.BorderLayout;
-//
-//public class StandardPanelComponent extends JComponent {
-//
-//private DataMap dataMap;
-//private DataMapDefaults preferences;
-//private JLabel dataMapName;
-//private JTextField superclassPackage;
-//private DefaultFormBuilder builder;
-//
-//public StandardPanelComponent() {
-//super();
-//dataMapName = new JLabel();
-//dataMapName.setFont(dataMapName.getFont().deriveFont(1));
-//

[14/32] cayenne git commit: Cgen tab, cgen configuration, cgen in maven, ant, gradle.

2018-11-14 Thread ntimofeev
http://git-wip-us.apache.org/repos/asf/cayenne/blob/52ea45b5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardModePanel.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardModePanel.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardModePanel.java
index cbb3f35..81bd599 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardModePanel.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardModePanel.java
@@ -1,42 +1,42 @@
-/*
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- /
-
-package org.apache.cayenne.modeler.dialog.codegen;
-
-import com.jgoodies.forms.builder.DefaultFormBuilder;
-import com.jgoodies.forms.layout.FormLayout;
-
-import java.awt.BorderLayout;
-
-public class StandardModePanel extends GeneratorControllerPanel {
-
-private DefaultFormBuilder builder;
-
-public StandardModePanel() {
-FormLayout layout = new FormLayout(
-"right:77dlu, 1dlu, fill:100:grow, 1dlu, left:80dlu, 1dlu", 
"");
-
-builder = new DefaultFormBuilder(layout);
-builder.append("Output Directory:", outputFolder, selectOutputFolder);
-builder.nextLine();
-
-setLayout(new BorderLayout());
-add(builder.getPanel(), BorderLayout.CENTER);
-}
-}
\ No newline at end of file
+///*
+// *   Licensed to the Apache Software Foundation (ASF) under one
+// *  or more contributor license agreements.  See the NOTICE file
+// *  distributed with this work for additional information
+// *  regarding copyright ownership.  The ASF licenses this file
+// *  to you under the Apache License, Version 2.0 (the
+// *  "License"); you may not use this file except in compliance
+// *  with the License.  You may obtain a copy of the License at
+// *
+// *http://www.apache.org/licenses/LICENSE-2.0
+// *
+// *  Unless required by applicable law or agreed to in writing,
+// *  software distributed under the License is distributed on an
+// *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// *  KIND, either express or implied.  See the License for the
+// *  specific language governing permissions and limitations
+// *  under the License.
+// /
+//
+//package org.apache.cayenne.modeler.dialog.codegen;
+//
+//import com.jgoodies.forms.builder.DefaultFormBuilder;
+//import com.jgoodies.forms.layout.FormLayout;
+//
+//import java.awt.BorderLayout;
+//
+//public class StandardModePanel extends GeneratorControllerPanel {
+//
+//private DefaultFormBuilder builder;
+//
+//public StandardModePanel() {
+//FormLayout layout = new FormLayout(
+//"right:77dlu, 1dlu, fill:100:grow, 1dlu, left:80dlu, 1dlu", 
"");
+//
+//builder = new DefaultFormBuilder(layout);
+//builder.append("Output Directory:", outputFolder, 
selectOutputFolder);
+//builder.nextLine();
+//
+//setLayout(new BorderLayout());
+//add(builder.getPanel(), BorderLayout.CENTER);
+//}
+//}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/52ea45b5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardPanelComponent.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardPanelComponent.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardPanelComponent.java
index 425a0f2..c900728 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardPanelComponent.java
+++ 

[18/32] cayenne git commit: Cgen tab, cgen configuration, cgen in maven, ant, gradle.

2018-11-14 Thread ntimofeev
Cgen tab, cgen configuration, cgen in maven, ant, gradle.


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/52ea45b5
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/52ea45b5
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/52ea45b5

Branch: refs/heads/master
Commit: 52ea45b5d72b5a6b1466e7779e03753c74ebaf3b
Parents: 6a43436
Author: Arseni Bulatski 
Authored: Wed Oct 31 16:33:52 2018 +0300
Committer: Arseni Bulatski 
Committed: Thu Nov 8 17:08:08 2018 +0300

--
 .../cayenne/tools/CayenneGeneratorTask.java |  141 ++-
 .../cayenne/tools/CgenWithConfigTest.java   |   41 +-
 cayenne-ant/src/test/resources/cgenTest.map.xml |   19 +-
 .../apache/cayenne/gen/CgenConfiguration.java   |  363 ++
 .../cayenne/gen/ClassGenerationAction.java  |  669 +++
 .../gen/ClientClassGenerationAction.java|   39 +-
 .../cayenne/gen/xml/CgenConfigHandler.java  |   32 +-
 .../cayenne/gen/xml/CgenSaverDelegate.java  |   14 +-
 .../CayenneGeneratorEmbeddableFilterAction.java |   29 +
 .../CayenneGeneratorEntityFilterAction.java |   22 +-
 .../cayenne/gen/ClassGenerationActionTest.java  |   37 +-
 .../java/org/apache/cayenne/tools/CgenTask.java |  137 ++-
 .../org/apache/cayenne/tools/CgenTaskIT.java|   60 +-
 .../org/apache/cayenne/tools/CgenTaskTest.java  |   43 +-
 .../cayenne/tools/CgenTaskWithConfigIT.java |   71 --
 .../org/apache/cayenne/tools/cgenConfig.map.xml |   22 +
 .../org/apache/cayenne/tools/cgenMap.map.xml|   19 +-
 .../cayenne/tools/cgen_with_config.gradle   |3 +-
 .../cayenne/tools/cgen_with_configs.gradle  |   32 +
 .../cayenne/tools/CayenneGeneratorMojo.java |  135 ++-
 .../cayenne/tools/CayenneGeneratorMojoTest.java |   48 +
 .../cayenne/tools/CgenWithConfigMojoTest.java   |   51 -
 .../resources/cgen/project-to-test/cgen-pom.xml |2 -
 .../cgen/project-to-test/datamap-and-pom.xml|   54 +
 .../src/test/resources/cgen/testCgen.map.xml|   22 +
 .../src/test/resources/cgen/testCgenMap.map.xml |   19 +-
 .../modeler/action/GenerateCodeAction.java  |   12 +-
 .../dialog/codegen/ClassesTabController.java|  406 +++
 .../modeler/dialog/codegen/ClassesTabPanel.java |  282 ++---
 .../dialog/codegen/ClientModeController.java|  162 +--
 .../dialog/codegen/CodeGeneratorController.java |  338 +++---
 .../codegen/CodeGeneratorControllerBase.java|  760 ++--
 .../dialog/codegen/CodeGeneratorDialog.java |  198 +--
 .../dialog/codegen/CustomModeController.java|  470 
 .../modeler/dialog/codegen/CustomModePanel.java |  274 ++---
 .../codegen/CustomPreferencesUpdater.java   |  418 +++
 .../dialog/codegen/GeneratorController.java | 1123 +-
 .../codegen/GeneratorControllerPanel.java   |  110 +-
 .../dialog/codegen/GeneratorTabController.java  |  230 ++--
 .../dialog/codegen/GeneratorTabPanel.java   |  130 +-
 .../dialog/codegen/StandardModeController.java  |  164 +--
 .../dialog/codegen/StandardModePanel.java   |   84 +-
 .../dialog/codegen/StandardPanelComponent.java  |  162 +--
 .../modeler/editor/DataDomainTabbedView.java|  183 +--
 .../modeler/editor/DataMapTabbedView.java   |   12 +-
 .../editor/cgen/ClientModeController.java   |   12 +-
 .../editor/cgen/CodeGeneratorController.java|   51 +-
 .../cgen/CodeGeneratorControllerBase.java   |   37 +-
 .../editor/cgen/CustomModeController.java   |   58 +-
 .../editor/cgen/GeneratorController.java|   88 +-
 .../editor/cgen/GeneratorControllerPanel.java   |6 +-
 .../editor/cgen/GeneratorTabController.java |   51 +-
 .../editor/cgen/StandardModeController.java |   17 +-
 .../modeler/editor/cgen/domain/CgenPanel.java   |   59 +
 .../modeler/editor/cgen/domain/CgenTab.java |   89 ++
 .../editor/cgen/domain/CgenTabController.java   |  197 +++
 .../cayenne/modeler/util/ModelerUtil.java   |   43 +
 57 files changed, 4547 insertions(+), 3803 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/52ea45b5/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
--
diff --git 
a/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java 
b/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
index a82931e..02cc0bf 100644
--- 
a/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
+++ 
b/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
@@ -24,6 +24,7 @@ import org.apache.cayenne.dbsync.filter.NamePatternMatcher;
 import org.apache.cayenne.dbsync.reverse.configuration.ToolsModule;
 import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Injector;

[28/32] cayenne git commit: Relativize problem fix

2018-11-14 Thread ntimofeev
Relativize problem fix


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/c19f2358
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/c19f2358
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/c19f2358

Branch: refs/heads/master
Commit: c19f235874d345f440e254e789c53cf0cd6aaed1
Parents: 3225c39
Author: Arseni Bulatski 
Authored: Tue Nov 13 17:57:32 2018 +0300
Committer: Arseni Bulatski 
Committed: Tue Nov 13 17:57:32 2018 +0300

--
 .../main/java/org/apache/cayenne/gen/xml/CgenSaverDelegate.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/c19f2358/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenSaverDelegate.java
--
diff --git 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenSaverDelegate.java 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenSaverDelegate.java
index b31a8b0..92453c7 100644
--- 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenSaverDelegate.java
+++ 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenSaverDelegate.java
@@ -61,8 +61,8 @@ public class CgenSaverDelegate extends BaseSaverDelegate{
 resourcePath = resourcePath.getParent();
 }
 cgenConfiguration.setRootPath(resourcePath);
-if(prevPath != null && resourcePath.compareTo(prevPath) != 0) {
-Path relPath = resourcePath.relativize(prevPath);
+if(prevPath != null) {
+Path relPath = resourcePath.relativize(prevPath).normalize();
 cgenConfiguration.setRelPath(relPath);
 }
 }



[21/32] cayenne git commit: Cgen task refactoring

2018-11-14 Thread ntimofeev
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b30e5eb5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorController.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorController.java
deleted file mode 100644
index a5ac549..000
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorController.java
+++ /dev/null
@@ -1,169 +0,0 @@
-///*
-// *   Licensed to the Apache Software Foundation (ASF) under one
-// *  or more contributor license agreements.  See the NOTICE file
-// *  distributed with this work for additional information
-// *  regarding copyright ownership.  The ASF licenses this file
-// *  to you under the Apache License, Version 2.0 (the
-// *  "License"); you may not use this file except in compliance
-// *  with the License.  You may obtain a copy of the License at
-// *
-// *http://www.apache.org/licenses/LICENSE-2.0
-// *
-// *  Unless required by applicable law or agreed to in writing,
-// *  software distributed under the License is distributed on an
-// *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// *  KIND, either express or implied.  See the License for the
-// *  specific language governing permissions and limitations
-// *  under the License.
-// /
-//
-//package org.apache.cayenne.modeler.dialog.codegen;
-//
-//import org.apache.cayenne.gen.ClassGenerationAction;
-//import org.apache.cayenne.map.DataMap;
-//import org.apache.cayenne.modeler.dialog.ErrorDebugDialog;
-//import org.apache.cayenne.modeler.util.CayenneController;
-//import org.apache.cayenne.swing.BindingBuilder;
-//import org.slf4j.Logger;
-//import org.slf4j.LoggerFactory;
-//
-//import javax.swing.JOptionPane;
-//import java.awt.Component;
-//import java.util.Collection;
-//import java.util.function.Predicate;
-//
-///**
-// * A controller for the class generator dialog.
-// */
-//public class CodeGeneratorController extends CodeGeneratorControllerBase {
-///**
-// * Logger to print stack traces
-// */
-//private static Logger logObj = 
LoggerFactory.getLogger(ErrorDebugDialog.class);
-//
-//protected CodeGeneratorDialog view;
-//
-//protected ClassesTabController classesSelector;
-//protected GeneratorTabController generatorSelector;
-//
-//public CodeGeneratorController(CayenneController parent, 
Collection dataMaps) {
-//super(parent, dataMaps);
-//
-//this.classesSelector = new ClassesTabController(this, dataMaps);
-//this.generatorSelector = new GeneratorTabController(this);
-//}
-//
-//@Override
-//public Component getView() {
-//return view;
-//}
-//
-//public void startup() {
-//// show dialog even on empty DataMap, as custom generation may still 
take
-//// advantage of it
-//
-//view = new CodeGeneratorDialog(generatorSelector.getView(), 
classesSelector.getView());
-//initBindings();
-//
-//view.pack();
-//view.setModal(true);
-//centerView();
-//makeCloseableOnEscape();
-//view.setVisible(true);
-//}
-//
-//protected void initBindings() {
-//BindingBuilder builder = new BindingBuilder(
-//getApplication().getBindingFactory(),
-//this);
-//
-//builder.bindToAction(view.getCancelButton(), "cancelAction()");
-//builder.bindToAction(view.getGenerateButton(), "generateAction()");
-//builder.bindToAction(this, "classesSelectedAction()", 
SELECTED_PROPERTY);
-//builder.bindToAction(generatorSelector, "generatorSelectedAction()",
-//GeneratorTabController.GENERATOR_PROPERTY);
-//
-//generatorSelectedAction();
-//}
-//
-//public void generatorSelectedAction() {
-//GeneratorController controller = 
generatorSelector.getGeneratorController();
-//validate(controller);
-//
-//Predicate predicate = controller != null
-//? controller.getDefaultClassFilter()
-//: o -> false;
-//
-//updateSelection(predicate);
-//classesSelector.classSelectedAction();
-//}
-//
-//public void classesSelectedAction() {
-//int size = getSelectedEntitiesSize();
-//String label;
-//
-//if (size == 0) {
-//label = "No entities selected";
-//}
-//else if (size == 1) {
-//label = "One entity selected";
-//}
-//else {
-//label = size + " entities selected";
-//}
-//
-//label = label.concat("; ");
-//
-//int sizeEmb 

[GitHub] cayenne pull request #342: CAY-2493 Save cgen configuration with datamap XML

2018-11-14 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/cayenne/pull/342


---


[23/32] cayenne git commit: Cleanup

2018-11-14 Thread ntimofeev
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 
Authored: Mon Nov 12 13:28:09 2018 +0300
Committer: Arseni Bulatski 
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
+  * and 
* 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)


[10/32] cayenne git commit: Update cgen dialog

2018-11-14 Thread ntimofeev
Update cgen dialog


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/aa22c93c
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/aa22c93c
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/aa22c93c

Branch: refs/heads/master
Commit: aa22c93c536a6ee82e1bdd4e364113473f77135f
Parents: 93da6be
Author: Arseni Bulatski 
Authored: Fri Jul 6 15:59:27 2018 +0300
Committer: Arseni Bulatski 
Committed: Wed Oct 24 13:47:32 2018 +0300

--
 .../dialog/codegen/ClassesTabController.java |  9 -
 .../modeler/dialog/codegen/ClassesTabPanel.java  | 13 ++---
 .../codegen/CodeGeneratorControllerBase.java | 10 +++---
 .../dialog/codegen/CodeGeneratorDialog.java  | 15 ++-
 .../dialog/codegen/CustomModeController.java | 17 -
 .../modeler/dialog/codegen/CustomModePanel.java  |  7 +++
 .../dialog/codegen/GeneratorController.java  | 19 +++
 .../dialog/codegen/GeneratorTabController.java   |  2 +-
 .../dialog/codegen/StandardModeController.java   |  2 +-
 .../dialog/codegen/StandardModePanel.java|  2 +-
 10 files changed, 36 insertions(+), 60 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/aa22c93c/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabController.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabController.java
index acd94d7..3e61094 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabController.java
@@ -26,6 +26,13 @@ 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 java.util.*;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
 import javax.swing.JCheckBox;
 import javax.swing.JLabel;
 import javax.swing.JTable;
@@ -97,7 +104,7 @@ public class ClassesTabController extends CayenneController {
 Boolean.TRUE);
 
 tableBuilder.addColumn(
-"Class",
+"Entity",
 "parent.getItemName(#item)",
 JLabel.class,
 false,

http://git-wip-us.apache.org/repos/asf/cayenne/blob/aa22c93c/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabPanel.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabPanel.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabPanel.java
index f1a8132..3c6e53d 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabPanel.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabPanel.java
@@ -22,13 +22,12 @@ package org.apache.cayenne.modeler.dialog.codegen;
 import org.apache.cayenne.map.DataMap;
 
 import javax.swing.BoxLayout;
-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 javax.swing.*;
+import javax.swing.border.EmptyBorder;
+import java.awt.*;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
 import javax.swing.border.EmptyBorder;
 import java.awt.BorderLayout;
 import java.awt.Component;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/aa22c93c/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java
index 5d1201d..6e6084c 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java
@@ -27,14 +27,10 @@ import org.apache.cayenne.modeler.util.CellRenderers;
 import 

[07/32] cayenne git commit: Add merge pom config with dataMap config

2018-11-14 Thread ntimofeev
Add merge pom config with dataMap config


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/b10cd803
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/b10cd803
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/b10cd803

Branch: refs/heads/master
Commit: b10cd803a005065ed55f07ba57eb9dce3b5addbf
Parents: e41f1e4
Author: Arseni Bulatski 
Authored: Tue Jun 26 13:45:41 2018 +0300
Committer: Arseni Bulatski 
Committed: Wed Oct 24 13:42:16 2018 +0300

--
 .../java/org/apache/cayenne/gen/CgenModule.java | 13 
 .../cayenne/gen/ClassGenerationAction.java  | 46 -
 .../cayenne/tools/CayenneGeneratorMojo.java | 69 +++-
 .../editor/cgen/CustomModeController.java   |  1 +
 4 files changed, 82 insertions(+), 47 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/b10cd803/cayenne-cgen/src/main/java/org/apache/cayenne/gen/CgenModule.java
--
diff --git a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/CgenModule.java 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/CgenModule.java
new file mode 100644
index 000..79e411e
--- /dev/null
+++ b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/CgenModule.java
@@ -0,0 +1,13 @@
+package org.apache.cayenne.gen;
+
+import org.apache.cayenne.di.Binder;
+import org.apache.cayenne.di.Module;
+import org.apache.cayenne.gen.xml.CgenExtension;
+import org.apache.cayenne.project.ProjectModule;
+
+public class CgenModule implements Module{
+@Override
+public void configure(Binder binder) {
+ProjectModule.contributeExtensions(binder).add(CgenExtension.class);
+}
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b10cd803/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
--
diff --git 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
index 5b10a07..afd58e0 100644
--- 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
+++ 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
@@ -91,29 +91,39 @@ public class ClassGenerationAction implements Serializable, 
XMLSerializable {
protected VelocityContext context;
protected Map templateCache;
 
+
public ClassGenerationAction() {
-   this.outputPattern = "*.java";
-   this.timestamp = 0L;
-   this.usePkgPath = true;
-   this.makePairs = true;
-   this.context = new VelocityContext();
-   this.templateCache = new HashMap<>(5);
+this.outputPattern = "*.java";
+this.timestamp = 0L;
+this.usePkgPath = true;
+this.makePairs = true;
+this.context = new VelocityContext();
+this.templateCache = new HashMap<>(5);
 
-   this.template = SUBCLASS_TEMPLATE;
-   this.superTemplate = SUPERCLASS_TEMPLATE;
+this.artifacts = new ArrayList<>();
+this.entityArtifacts = new ArrayList<>();
+this.embeddableArtifacts = new ArrayList<>();
+   }
 
-   this.embeddableTemplate = EMBEDDABLE_SUBCLASS_TEMPLATE;
-   this.embeddableSuperTemplate = EMBEDDABLE_SUPERCLASS_TEMPLATE;
+   public void setDefaults() {
+this.outputPattern = "*.java";
+this.timestamp = 0L;
+this.usePkgPath = true;
+this.makePairs = true;
+this.context = new VelocityContext();
+this.templateCache = new HashMap<>(5);
 
-   this.queryTemplate = DATAMAP_SUBCLASS_TEMPLATE;
-   this.querySuperTemplate = DATAMAP_SUPERCLASS_TEMPLATE;
+this.template = SUBCLASS_TEMPLATE;
+this.superTemplate = SUPERCLASS_TEMPLATE;
 
-   this.artifactsGenerationMode = ArtifactsGenerationMode.ENTITY;
+this.embeddableTemplate = EMBEDDABLE_SUBCLASS_TEMPLATE;
+this.embeddableSuperTemplate = EMBEDDABLE_SUPERCLASS_TEMPLATE;
 
-   this.artifacts = new ArrayList<>();
-   this.entityArtifacts = new ArrayList<>();
-   this.embeddableArtifacts = new ArrayList<>();
-   }
+this.queryTemplate = DATAMAP_SUBCLASS_TEMPLATE;
+this.querySuperTemplate = DATAMAP_SUPERCLASS_TEMPLATE;
+
+this.artifactsGenerationMode = ArtifactsGenerationMode.ENTITY;
+}
 
protected String defaultTemplateName(TemplateType type) {
switch (type) {
@@ -704,6 +714,8 @@ public class ClassGenerationAction implements Serializable, 
XMLSerializable {
return destDir.getAbsolutePath();
}
 
+   public 

[30/32] cayenne git commit: Rel path for template bug fix

2018-11-14 Thread ntimofeev
Rel path for template bug fix


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/51803e43
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/51803e43
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/51803e43

Branch: refs/heads/master
Commit: 51803e43be67029f97c47a0d03ae395795ed0d07
Parents: 5128e66
Author: Arseni Bulatski 
Authored: Wed Nov 14 16:52:10 2018 +0300
Committer: Arseni Bulatski 
Committed: Wed Nov 14 16:52:10 2018 +0300

--
 .../java/org/apache/cayenne/gen/xml/CgenSaverDelegate.java   | 8 
 .../java/org/apache/cayenne/modeler/CodeTemplateManager.java | 8 ++--
 .../apache/cayenne/modeler/editor/cgen/CustomModePanel.java  | 6 --
 3 files changed, 18 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/51803e43/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenSaverDelegate.java
--
diff --git 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenSaverDelegate.java 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenSaverDelegate.java
index 92453c7..5f381ea 100644
--- 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenSaverDelegate.java
+++ 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenSaverDelegate.java
@@ -64,6 +64,14 @@ public class CgenSaverDelegate extends BaseSaverDelegate{
 if(prevPath != null) {
 Path relPath = resourcePath.relativize(prevPath).normalize();
 cgenConfiguration.setRelPath(relPath);
+Path templatePath = Paths.get(cgenConfiguration.getTemplate());
+if(templatePath.isAbsolute()) {
+
cgenConfiguration.setTemplate(resourcePath.relativize(templatePath).normalize().toString());
+}
+Path superTemplatePath = 
Paths.get(cgenConfiguration.getSuperTemplate());
+if(superTemplatePath.isAbsolute()) {
+
cgenConfiguration.setSuperTemplate(resourcePath.relativize(superTemplatePath).normalize().toString());
+}
 }
 }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/51803e43/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
index a5d2fb6..76dd2b2 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
@@ -22,6 +22,7 @@ package org.apache.cayenne.modeler;
 import org.apache.cayenne.gen.ClassGenerationAction;
 import org.apache.cayenne.gen.ClientClassGenerationAction;
 import org.apache.cayenne.modeler.pref.FSPath;
+import org.apache.cayenne.resource.Resource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -157,10 +158,13 @@ public class CodeTemplateManager {
// TODO: andrus, 12/5/2007 - this should also take a "pairs" parameter 
to
// correctly
// assign standard templates
-   public String getTemplatePath(String name, Path rootPath) {
+   public String getTemplatePath(String name, Resource rootPath) {
Object value = customTemplates.get(name);
if (value != null) {
-   value = rootPath.relativize(Paths.get((String)value));
+   if(rootPath != null) {
+   Path path = 
Paths.get(rootPath.getURL().getPath()).getParent();
+   value = path.relativize(Paths.get((String) 
value));
+   }
return value.toString();
}
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/51803e43/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 ea5f1ce..18a1929 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
@@ -55,7 +55,8 @@ public class CustomModePanel extends GeneratorControllerPanel 
{
 @Override
 protected void 

[04/32] cayenne git commit: Create global cgen action.

2018-11-14 Thread ntimofeev
Create global cgen action.


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/b85a0900
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/b85a0900
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/b85a0900

Branch: refs/heads/master
Commit: b85a090025c21e1cbe781f47c58737fefb67e892
Parents: d489f2a
Author: Arseni Bulatski 
Authored: Wed Jun 20 10:50:42 2018 +0300
Committer: Arseni Bulatski 
Committed: Wed Oct 24 13:40:57 2018 +0300

--
 .../cayenne/gen/ClassGenerationAction.java  | 45 ++---
 .../cayenne/gen/xml/CgenConfigHandler.java  | 46 +-
 .../cayenne/modeler/CayenneModelerFrame.java| 96 +++-
 .../cayenne/modeler/CodeTemplateManager.java| 29 ++
 .../cayenne/modeler/action/CgenAction.java  | 53 +++
 .../modeler/action/DefaultActionManager.java|  5 +-
 .../editor/cgen/ClassesTabController.java   |  2 +-
 .../editor/cgen/CodeGeneratorController.java|  1 +
 .../editor/cgen/CustomModeController.java   | 82 +++--
 .../modeler/editor/cgen/CustomModePanel.java| 44 -
 .../editor/cgen/GeneratorController.java| 23 +
 .../editor/cgen/GeneratorTabController.java |  2 +-
 12 files changed, 258 insertions(+), 170 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/b85a0900/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
--
diff --git 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
index 423fb92..35e34cf 100644
--- 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
+++ 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
@@ -89,7 +89,6 @@ public class ClassGenerationAction implements Serializable, 
XMLSerializable {
protected Map templateCache;
 
public ClassGenerationAction() {
-// this.destDir = new File(System.getProperty("user.dir"));
this.outputPattern = "*.java";
this.timestamp = 0L;
this.usePkgPath = true;
@@ -99,6 +98,10 @@ public class ClassGenerationAction implements Serializable, 
XMLSerializable {
 
this.template = SUBCLASS_TEMPLATE;
this.superTemplate = SUPERCLASS_TEMPLATE;
+
+   this.embeddableTemplate = EMBEDDABLE_SUBCLASS_TEMPLATE;
+   this.embeddableSuperTemplate = EMBEDDABLE_SUPERCLASS_TEMPLATE;
+
this.artifactsGenerationMode = ArtifactsGenerationMode.ENTITY;
 
this.artifacts = new ArrayList<>();
@@ -253,6 +256,7 @@ public class ClassGenerationAction implements Serializable, 
XMLSerializable {
}
 
public void prepareArtifacts(){
+// resetArtifacts();
if(!entityArtifacts.isEmpty()) {
for(String name : entityArtifacts) {
ObjEntity objEntity = 
dataMap.getObjEntity(name);
@@ -621,18 +625,6 @@ public class ClassGenerationAction implements 
Serializable, XMLSerializable {
}
}
 
-   public String getArtifactsGenerationMode(){
-   return artifactsGenerationMode.getLabel();
-   }
-
-   public boolean isForce() {
-   return force;
-   }
-
-   public void setForce(boolean force) {
-   this.force = force;
-   }
-
/**
 * @since 4.1
 */
@@ -719,6 +711,30 @@ public class ClassGenerationAction implements 
Serializable, XMLSerializable {
return embeddableArtifacts;
}
 
+   public String getArtifactsGenerationMode(){
+   return artifactsGenerationMode.getLabel();
+   }
+
+   public boolean isForce() {
+   return force;
+   }
+
+   public void setForce(boolean force) {
+   this.force = force;
+   }
+
+   public String getEncoding() {
+   return encoding;
+   }
+
+   public String getEmbeddableTemplate() {
+   return embeddableTemplate;
+   }
+
+   public String getEmbeddableSuperTemplate() {
+   return embeddableSuperTemplate;
+   }
+
@Override
public void encodeAsXML(XMLEncoder encoder, ConfigurationNodeVisitor 
delegate) {
encoder.start("cgen")
@@ -729,12 +745,15 @@ public class ClassGenerationAction implements 
Serializable, XMLSerializable {
.simpleTag("generationMode", 
this.artifactsGenerationMode.getLabel())
.simpleTag("subclassTemplate", this.template)

[22/32] cayenne git commit: Cgen task refactoring

2018-11-14 Thread ntimofeev
Cgen task refactoring


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/b30e5eb5
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/b30e5eb5
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/b30e5eb5

Branch: refs/heads/master
Commit: b30e5eb5d9e22f7ff0c7d3e8763d9b990bd8cb4d
Parents: a5c2ceb
Author: Arseni Bulatski 
Authored: Fri Nov 9 15:23:06 2018 +0300
Committer: Arseni Bulatski 
Committed: Fri Nov 9 16:40:51 2018 +0300

--
 RELEASE-NOTES.txt   |   1 +
 .../cayenne/tools/CayenneGeneratorTask.java |  42 +-
 .../cayenne/tools/CgenWithConfigTest.java   |   4 +-
 .../apache/cayenne/gen/CgenConfiguration.java   |  71 ++-
 .../cayenne/gen/ClassGenerationAction.java  |  24 +-
 .../apache/cayenne/gen/EmbeddableArtifact.java  |  12 +-
 .../org/apache/cayenne/gen/EntityArtifact.java  |  12 +-
 .../cayenne/gen/xml/CgenConfigHandler.java  |  14 +
 .../cayenne/gen/xml/CgenSaverDelegate.java  |   2 +-
 .../CayenneGeneratorEmbeddableFilterAction.java |   5 +
 .../CayenneGeneratorEntityFilterAction.java |  13 -
 .../java/org/apache/cayenne/tools/CgenTask.java |  44 +-
 .../org/apache/cayenne/tools/BaseTaskIT.java|  15 +
 .../org/apache/cayenne/tools/CgenTaskIT.java|  12 +-
 .../apache/cayenne/tools/DbGenerateTaskIT.java  |   4 +-
 .../apache/cayenne/tools/GradlePluginIT.java|   2 +-
 .../org/apache/cayenne/tools/cgenConfig.map.xml |  22 -
 .../cayenne/tools/cgen_with_config.map.xml  |  22 +
 .../cayenne/project/CompoundSaverDelegate.java  |  13 +-
 .../main/java/org/apache/cayenne/util/Util.java |  33 +-
 .../org/apache/cayenne/schema/10/cgen.xsd   |  47 ++
 .../cayenne/tools/CayenneGeneratorMojo.java |  46 +-
 .../cayenne/tools/CayenneGeneratorMojoTest.java |   2 +-
 .../cayenne/modeler/CayenneModelerFrame.java|  79 ++-
 .../dialog/codegen/ClassesTabController.java| 203 ---
 .../modeler/dialog/codegen/ClassesTabPanel.java | 141 -
 .../dialog/codegen/ClientModeController.java|  81 ---
 .../dialog/codegen/CodeGeneratorController.java | 169 --
 .../codegen/CodeGeneratorControllerBase.java| 380 -
 .../dialog/codegen/CodeGeneratorDialog.java |  99 
 .../dialog/codegen/CustomModeController.java| 235 
 .../modeler/dialog/codegen/CustomModePanel.java | 137 -
 .../codegen/CustomPreferencesUpdater.java   | 209 ---
 .../dialog/codegen/GeneratorController.java | 561 ---
 .../codegen/GeneratorControllerPanel.java   |  55 --
 .../dialog/codegen/GeneratorTabController.java  | 115 
 .../dialog/codegen/GeneratorTabPanel.java   |  65 ---
 .../dialog/codegen/StandardModeController.java  |  82 ---
 .../dialog/codegen/StandardModePanel.java   |  42 --
 .../dialog/codegen/StandardPanelComponent.java  |  81 ---
 .../modeler/editor/DataDomainTabbedView.java|   4 +-
 .../modeler/editor/DataMapTabbedView.java   |  40 +-
 .../editor/cgen/ClassesTabController.java   |  11 +-
 .../editor/cgen/ClientModeController.java   |   7 +-
 .../editor/cgen/CodeGeneratorController.java|  21 +-
 .../cgen/CodeGeneratorControllerBase.java   |  82 +++
 .../editor/cgen/CustomModeController.java   |  28 +-
 .../modeler/editor/cgen/CustomModePanel.java|  17 +-
 .../editor/cgen/GeneratorController.java|  69 +--
 .../editor/cgen/GeneratorControllerPanel.java   |  10 +-
 .../editor/cgen/GeneratorTabController.java |   7 +-
 .../modeler/editor/cgen/GeneratorTabPanel.java  |   1 +
 .../editor/cgen/StandardModeController.java |   8 +-
 .../modeler/editor/cgen/StandardModePanel.java  |   4 +-
 .../editor/cgen/StandardPanelComponent.java |  63 ---
 .../modeler/editor/cgen/domain/CgenPanel.java   |  19 +
 .../modeler/editor/cgen/domain/CgenTab.java |  19 +
 .../editor/cgen/domain/CgenTabController.java   |  28 +-
 .../cayenne/modeler/util/ModelerUtil.java   |   3 +
 59 files changed, 592 insertions(+), 3045 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/b30e5eb5/RELEASE-NOTES.txt
--
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index fd08cdc..d701e29 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -25,6 +25,7 @@ CAY-2485 Compact Slf4j Logger
 CAY-2487 Removed usage of CayenneException.
 CAY-2489 Add validation to the case of not to PK relationships
 CAY-2491 Remaster Db Import View
+CAY-2493 Save cgen configuration with datamap XML
 
 Bug Fixes:
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b30e5eb5/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
--
diff --git 

[09/32] cayenne git commit: Create tests for maven, ant and gradle

2018-11-14 Thread ntimofeev
Create tests for maven, ant and gradle


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/93da6be1
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/93da6be1
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/93da6be1

Branch: refs/heads/master
Commit: 93da6be17b9b8cd5ad9c4cb5184565b426991393
Parents: d9db6e3
Author: Arseni Bulatski 
Authored: Fri Jun 29 13:42:55 2018 +0300
Committer: Arseni Bulatski 
Committed: Wed Oct 24 13:44:26 2018 +0300

--
 .../cayenne/tools/CgenWithConfigTest.java   | 91 
 cayenne-ant/src/test/resources/cgenTest.map.xml | 27 ++
 .../cayenne/tools/CgenTaskWithConfigIT.java | 71 +++
 .../org/apache/cayenne/tools/cgenMap.map.xml| 27 ++
 .../cayenne/tools/cgen_with_config.gradle   | 28 ++
 .../cayenne/tools/CayenneGeneratorMojo.java |  2 +
 .../cayenne/tools/CgenWithConfigMojoTest.java   | 51 +++
 .../resources/cgen/project-to-test/cgen-pom.xml | 48 +++
 .../src/test/resources/cgen/testCgenMap.map.xml | 27 ++
 9 files changed, 372 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/93da6be1/cayenne-ant/src/test/java/org/apache/cayenne/tools/CgenWithConfigTest.java
--
diff --git 
a/cayenne-ant/src/test/java/org/apache/cayenne/tools/CgenWithConfigTest.java 
b/cayenne-ant/src/test/java/org/apache/cayenne/tools/CgenWithConfigTest.java
new file mode 100644
index 000..cdccd49
--- /dev/null
+++ b/cayenne-ant/src/test/java/org/apache/cayenne/tools/CgenWithConfigTest.java
@@ -0,0 +1,91 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ /
+package org.apache.cayenne.tools;
+
+import org.apache.cayenne.test.file.FileUtil;
+import org.apache.cayenne.test.resource.ResourceUtil;
+import org.apache.tools.ant.Location;
+import org.apache.tools.ant.Project;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.File;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @since 4.1
+ */
+public class CgenWithConfigTest {
+
+private static final File baseDir;
+private static final File map;
+
+static {
+baseDir = FileUtil.baseTestDirectory();
+map = new File(baseDir, "antmap-cgen.xml");
+
+ResourceUtil.copyResourceToFile("cgenTest.map.xml", map);
+}
+
+protected CayenneGeneratorTask task;
+
+@Before
+public void setUp() {
+
+Project project = new Project();
+project.setBaseDir(baseDir);
+
+task = new CayenneGeneratorTask();
+task.setProject(project);
+task.setTaskName("Test");
+task.setLocation(Location.UNKNOWN_LOCATION);
+}
+
+@Test
+public void testCgen() throws Exception {
+File mapDir = new File(baseDir, "cgenConfigTest");
+assertTrue(mapDir.mkdirs());
+
+task.setDestDir(mapDir);
+task.setMap(map);
+task.setMode("entity");
+
+// run task
+task.execute();
+
+// check results
+File entity = new File(mapDir, convertPath("ObjEntity1.txt"));
+assertTrue(entity.isFile());
+
+File datamap = new File(mapDir, convertPath("TestCgenMap.txt"));
+assertFalse(datamap.exists());
+
+File notIncludedEntity = new File(mapDir, "ObjEntity.txt");
+assertFalse(notIncludedEntity.exists());
+
+File notIncludeSuperDatamap = new File("_TestCgenMap.txt");
+assertFalse(notIncludeSuperDatamap.exists());
+}
+
+private String convertPath(String unixPath) {
+return unixPath.replace('/', File.separatorChar);
+}
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/93da6be1/cayenne-ant/src/test/resources/cgenTest.map.xml
--
diff --git 

[25/32] cayenne git commit: Add saver of advance mode. Relativize custom template's path

2018-11-14 Thread ntimofeev
Add saver of advance mode. Relativize custom template's path


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/c813e767
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/c813e767
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/c813e767

Branch: refs/heads/master
Commit: c813e7679de1b4d1f65758dee2faa2b52eaaf583
Parents: ac6819f
Author: Arseni Bulatski 
Authored: Mon Nov 12 17:41:56 2018 +0300
Committer: Arseni Bulatski 
Committed: Mon Nov 12 17:41:56 2018 +0300

--
 .../cayenne/gen/xml/CgenConfigHandler.java  |  2 +-
 .../cayenne/modeler/CodeTemplateManager.java|  9 +++--
 .../editor/cgen/CodeGeneratorController.java| 12 ++-
 .../editor/cgen/CustomModeController.java   | 16 +++
 .../modeler/editor/cgen/CustomModePanel.java| 21 
 .../editor/cgen/GeneratorTabController.java |  4 
 6 files changed, 48 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/c813e767/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 2384f10..c73e24b 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
@@ -40,7 +40,7 @@ public class CgenConfigHandler extends 
NamespaceAwareNestedTagHandler{
 private static final String OUTPUT_DIRECTORY_TAG = "destDir";
 private static final String GENERATION_MODE_TAG = "mode";
 private static final String SUBCLASS_TEMPLATE_TAG = "template";
-private static final String SUPERCLASS_TEMPLATE_TAG = "superclassTemplate";
+private static final String SUPERCLASS_TEMPLATE_TAG = "superTemplate";
 private static final String OUTPUT_PATTERN_TAG = "outputPattern";
 private static final String MAKE_PAIRS_TAG = "makePairs";
 private static final String USE_PKG_PATH_TAG = "usePkgPath";

http://git-wip-us.apache.org/repos/asf/cayenne/blob/c813e767/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
index 98f0dc9..ccb4980 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
@@ -56,6 +56,7 @@ public class CodeTemplateManager {
private List standardSubclassTemplates;
private List standardSuperclassTemplates;
private Map customTemplates;
+   private Map reverseCustomTemplate;
private Map standardTemplates;
 
private List standartEmbeddableTemplates;
@@ -98,6 +99,10 @@ public class CodeTemplateManager {

standartDataMapSuperclassTemplates.add(STANDART_DATAMAP_SUPERCLASS);
 
updateCustomTemplates(getTemplatePreferences(application));
+   reverseCustomTemplate = new HashMap<>();
+   for(Map.Entry entry : 
customTemplates.entrySet()){
+   reverseCustomTemplate.put(entry.getValue(), 
entry.getKey());
+   }
 
standardTemplates = new HashMap<>();
standardTemplates.put(STANDARD_SERVER_SUPERCLASS, 
ClassGenerationAction.SUPERCLASS_TEMPLATE);
@@ -161,8 +166,8 @@ public class CodeTemplateManager {
}
 
public String getNameByPath(String name) {
-   if(customTemplates.containsKey(name)){
-   return customTemplates.get(name).toString();
+   if(reverseCustomTemplate.containsKey(name)){
+   return reverseCustomTemplate.get(name);
} else {
Object value = reverseStandartTemplates.get(name);
return value != null ? value.toString() : null;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/c813e767/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 1244178..0785820 100644
--- 

[03/32] cayenne git commit: Cgen. Create saver and loader for dataMaps.

2018-11-14 Thread ntimofeev
Cgen. Create saver and loader for dataMaps.


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/d489f2a5
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/d489f2a5
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/d489f2a5

Branch: refs/heads/master
Commit: d489f2a5b45be473ffd7a07a6a18bc971940e1bc
Parents: 8119ffa
Author: Arseni Bulatski 
Authored: Mon Jun 18 15:04:56 2018 +0300
Committer: Arseni Bulatski 
Committed: Wed Oct 24 13:40:16 2018 +0300

--
 .../cayenne/gen/ClassGenerationAction.java  | 178 ++--
 .../org/apache/cayenne/gen/DataMapArtifact.java |   1 +
 .../apache/cayenne/gen/EmbeddableArtifact.java  |  12 +-
 .../org/apache/cayenne/gen/EntityArtifact.java  |  11 +-
 .../cayenne/gen/xml/CgenConfigHandler.java  | 206 +-
 .../apache/cayenne/gen/xml/CgenExtension.java   |   5 +-
 .../cayenne/gen/xml/CgenLoaderDelegate.java |   6 +-
 .../cayenne/gen/xml/CgenSaverDelegate.java  |   6 +-
 .../cayenne/gen/xml/EmbeddableHandler.java  |  49 +
 .../cayenne/gen/xml/ObjEntityHandler.java   |  48 +
 .../cayenne/modeler/CodeTemplateManager.java|  19 ++
 .../editor/cgen/ClassesTabController.java   |  22 +-
 .../editor/cgen/CodeGeneratorController.java|  15 +-
 .../cgen/CodeGeneratorControllerBase.java   |  70 +--
 .../editor/cgen/CustomModeController.java   | 209 ++-
 .../modeler/editor/cgen/CustomModePanel.java|  64 --
 .../editor/cgen/GeneratorController.java| 110 --
 .../editor/cgen/GeneratorControllerPanel.java   |  13 +-
 .../editor/cgen/GeneratorTabController.java |   3 +-
 .../editor/cgen/StandardPanelComponent.java |  79 ---
 20 files changed, 782 insertions(+), 344 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/d489f2a5/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
--
diff --git 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
index 0eaf66b..423fb92 100644
--- 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
+++ 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
@@ -20,26 +20,20 @@
 package org.apache.cayenne.gen;
 
 import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.Embeddable;
-import org.apache.cayenne.map.ObjEntity;
-import org.apache.cayenne.map.QueryDescriptor;
+import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
+import org.apache.cayenne.gen.xml.CgenExtension;
+import org.apache.cayenne.map.*;
+import org.apache.cayenne.util.XMLEncoder;
+import org.apache.cayenne.util.XMLSerializable;
 import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.app.VelocityEngine;
 import org.slf4j.Logger;
 
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-public class ClassGenerationAction {
+import java.io.*;
+import java.util.*;
+
+public class ClassGenerationAction implements Serializable, XMLSerializable {
static final String TEMPLATES_DIR_NAME = "templates/v4_1/";
 
public static final String SINGLE_CLASS_TEMPLATE = TEMPLATES_DIR_NAME + 
"singleclass.vm";
@@ -59,6 +53,9 @@ public class ClassGenerationAction {
 
protected Collection artifacts;
 
+   protected Collection entityArtifacts;
+   protected Collection embeddableArtifacts;
+
protected String superPkg;
protected DataMap dataMap;
 
@@ -92,6 +89,7 @@ public class ClassGenerationAction {
protected Map templateCache;
 
public ClassGenerationAction() {
+// this.destDir = new File(System.getProperty("user.dir"));
this.outputPattern = "*.java";
this.timestamp = 0L;
this.usePkgPath = true;
@@ -99,7 +97,13 @@ public class ClassGenerationAction {
this.context = new VelocityContext();
this.templateCache = new HashMap<>(5);
 
+   this.template = SUBCLASS_TEMPLATE;
+   this.superTemplate = SUPERCLASS_TEMPLATE;
+   this.artifactsGenerationMode = ArtifactsGenerationMode.ENTITY;
+
this.artifacts = new ArrayList<>();
+   this.entityArtifacts = new ArrayList<>();
+   this.embeddableArtifacts = new ArrayList<>();
}
 
protected String 

[06/32] cayenne git commit: Create global cgen config

2018-11-14 Thread ntimofeev
Create global cgen config


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/e41f1e44
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/e41f1e44
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/e41f1e44

Branch: refs/heads/master
Commit: e41f1e44e801ff80640983fa621c84f0049a1113
Parents: 0e19c96
Author: Arseni Bulatski 
Authored: Fri Jun 22 15:56:59 2018 +0300
Committer: Arseni Bulatski 
Committed: Wed Oct 24 13:41:41 2018 +0300

--
 .../cayenne/gen/ClassGenerationAction.java  |  12 +-
 .../cayenne/tools/CayenneGeneratorMojo.java |   4 +-
 .../cayenne/modeler/action/CgenAction.java  |  54 ++--
 .../modeler/dialog/codegen/cgen/CgenDialog.java |  44 +++
 .../codegen/cgen/CgenGlobalController.java  |  47 +++
 .../dialog/codegen/cgen/CgenGlobalPanel.java| 274 ++
 .../codegen/cgen/CgenGlobalPanelController.java | 285 +++
 .../editor/cgen/CodeGeneratorController.java|   1 +
 .../modeler/editor/cgen/CustomModePanel.java|   2 +-
 9 files changed, 687 insertions(+), 36 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/e41f1e44/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
--
diff --git 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
index f56f81e..5b10a07 100644
--- 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
+++ 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
@@ -219,16 +219,18 @@ public class ClassGenerationAction implements 
Serializable, XMLSerializable {
artifact.postInitContext(context);
}
 
+   public void prepareArtifacts() {
+resetArtifacts();
+addAllEntities();
+addAllEmbeddables();
+addQueries(dataMap.getQueryDescriptors());
+}
+
/**
 * Executes class generation once per each artifact.
 */
public void execute() throws Exception {
 
-   resetArtifacts();
-   addAllEntities();
-   addAllEmbeddables();
-   addQueries(dataMap.getQueryDescriptors());
-
validateAttributes();
 
try {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e41f1e44/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java
--
diff --git 
a/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java
 
b/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java
index 10cd860..d043c30 100644
--- 
a/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java
+++ 
b/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java
@@ -26,13 +26,13 @@ import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.gen.ClassGenerationAction;
 import org.apache.cayenne.gen.ClientClassGenerationAction;
 import org.apache.cayenne.map.DataMap;
-import org.slf4j.Logger;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugins.annotations.LifecyclePhase;
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
+import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.File;
@@ -288,7 +288,7 @@ public class CayenneGeneratorMojo extends AbstractMojo {
action.setEmbeddableSuperTemplate(embeddableSuperTemplate);
action.setEmbeddableTemplate(embeddableTemplate);
action.setUsePkgPath(usePkgPath);
-action.setCreatePropertyNames(createPropertyNames);
+   action.setCreatePropertyNames(createPropertyNames);
 action.setCreatePKProperties(createPKProperties);
 
return action;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e41f1e44/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CgenAction.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CgenAction.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CgenAction.java
index 2cd3012..b197991 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CgenAction.java
+++ 

[27/32] cayenne git commit: Some fixes

2018-11-14 Thread ntimofeev
Some fixes


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/3225c39e
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/3225c39e
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/3225c39e

Branch: refs/heads/master
Commit: 3225c39e18631e663395fea5a59b399d6fbc77d0
Parents: 397d29f
Author: Arseni Bulatski 
Authored: Tue Nov 13 17:20:53 2018 +0300
Committer: Arseni Bulatski 
Committed: Tue Nov 13 17:20:53 2018 +0300

--
 .../java/org/apache/cayenne/modeler/CodeTemplateManager.java | 2 +-
 .../apache/cayenne/modeler/editor/cgen/CustomModeController.java | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/3225c39e/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
index 7579d5d..a5d2fb6 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
@@ -169,7 +169,7 @@ public class CodeTemplateManager {
}
 
public String getNameByPath(String name, Path rootPath) {
-   String fullPath = rootPath.resolve(Paths.get(name)).toString();
+   String fullPath = 
rootPath.resolve(Paths.get(name)).normalize().toString();
if(reverseCustomTemplate.containsKey(fullPath)){
return reverseCustomTemplate.get(fullPath);
} else {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/3225c39e/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 a6be13b..07f7828 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
@@ -103,8 +103,8 @@ public class CustomModeController extends 
GeneratorController {
 cgenConfiguration.getTemplate(), 
cgenConfiguration.getRootPath());
 String superTemplateName = 
getApplication().getCodeTemplateManager().getNameByPath(
 cgenConfiguration.getSuperTemplate(), 
cgenConfiguration.getRootPath());
-String path = 
cgenConfiguration.getRootPath().resolve(Paths.get(cgenConfiguration.getTemplate())).toString();
-String superPath = 
cgenConfiguration.getRootPath().resolve(Paths.get(cgenConfiguration.getSuperTemplate())).toString();
+String path = 
cgenConfiguration.getRootPath().resolve(Paths.get(cgenConfiguration.getTemplate())).normalize().toString();
+String superPath = 
cgenConfiguration.getRootPath().resolve(Paths.get(cgenConfiguration.getSuperTemplate())).normalize().toString();
 if(templateName == null && superTemplateName == null) {
 view.getSubclassTemplate().setItem(null);
 view.getSuperclassTemplate().setItem(null);



[29/32] cayenne git commit: Selection bug fix

2018-11-14 Thread ntimofeev
Selection bug fix


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/5128e66e
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/5128e66e
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/5128e66e

Branch: refs/heads/master
Commit: 5128e66e36433839ec288296b8cb22d80cb90845
Parents: c19f235
Author: Arseni Bulatski 
Authored: Wed Nov 14 16:07:07 2018 +0300
Committer: Arseni Bulatski 
Committed: Wed Nov 14 16:07:07 2018 +0300

--
 .../apache/cayenne/gen/CgenConfiguration.java   | 34 +---
 .../dialog/db/load/ModelerDbImportAction.java   |  3 +
 .../editor/cgen/CodeGeneratorController.java| 75 ++--
 .../cgen/CodeGeneratorControllerBase.java   | 91 
 4 files changed, 150 insertions(+), 53 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/5128e66e/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 1277baa..e03598e 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
@@ -30,9 +30,7 @@ import org.apache.cayenne.util.XMLSerializable;
 import java.io.Serializable;
 import java.nio.file.Path;
 import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -45,9 +43,9 @@ import java.util.stream.Collectors;
 public class CgenConfiguration implements Serializable, XMLSerializable {
 
 private Collection artifacts;
-private Collection entityArtifacts;
+private Set entityArtifacts;
 private Collection excludeEntityArtifacts;
-private Collection embeddableArtifacts;
+private Set embeddableArtifacts;
 private Collection excludeEmbeddableArtifacts;
 
 private String superPkg;
@@ -87,9 +85,9 @@ public class CgenConfiguration implements Serializable, 
XMLSerializable {
 setArtifactsGenerationMode("entity");
 
 this.artifacts = new ArrayList<>();
-this.entityArtifacts = new ArrayList<>();
+this.entityArtifacts = new HashSet<>();
 this.excludeEntityArtifacts = new ArrayList<>();
-this.embeddableArtifacts = new ArrayList<>();
+this.embeddableArtifacts = new HashSet<>();
 this.excludeEmbeddableArtifacts = new ArrayList<>();
 this.artifactsGenerationMode = ArtifactsGenerationMode.ENTITY;
 
@@ -286,11 +284,11 @@ public class CgenConfiguration implements Serializable, 
XMLSerializable {
 return artifacts;
 }
 
-public Collection getEntities() {
+public Set getEntities() {
 return entityArtifacts;
 }
 
-public Collection getEmbeddables() {
+public Set getEmbeddables() {
 return embeddableArtifacts;
 }
 
@@ -310,8 +308,10 @@ public class CgenConfiguration implements Serializable, 
XMLSerializable {
return rootPath != null ? relPath != null ? 
rootPath.resolve(relPath).toAbsolutePath().normalize() : rootPath : relPath;
}
 
-public void loadEntity(String name) {
-entityArtifacts.add(name);
+public void loadEntity(ObjEntity entity) {
+if(!entity.isGeneric()) {
+entityArtifacts.add(entity.getName());
+}
 }
 
 public void loadEmbeddable(String name) {
@@ -349,7 +349,7 @@ public class CgenConfiguration implements Serializable, 
XMLSerializable {
.stream()
.filter(entity -> 
!excludeEntityArtifacts.contains(entity.getName()))
.map(ObjEntity::getName)
-   .collect(Collectors.toList());
+   .collect(Collectors.toSet());
}
 
public void resolveExcludeEmbeddables() {
@@ -357,9 +357,17 @@ public class CgenConfiguration implements Serializable, 
XMLSerializable {
.stream()
.filter(embeddable -> 
!excludeEmbeddableArtifacts.contains(embeddable.getClassName()))
.map(Embeddable::getClassName)
-   .collect(Collectors.toList());
+   .collect(Collectors.toSet());
}
 
+   public Collection getExcludeEntityArtifacts() {
+return excludeEntityArtifacts;
+}
+
+public Collection getExcludeEmbeddableArtifacts() {
+return excludeEmbeddableArtifacts;
+}
+
 @Override
 public void encodeAsXML(XMLEncoder encoder, 

[19/32] cayenne git commit: Cgen

2018-11-14 Thread ntimofeev
Cgen


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/a5c2ceb9
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/a5c2ceb9
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/a5c2ceb9

Branch: refs/heads/master
Commit: a5c2ceb9a010c9376e81d7d13352127fcf301315
Parents: 8f6cfd7 52ea45b
Author: Arseni Bulatski 
Authored: Thu Nov 8 17:26:08 2018 +0300
Committer: Arseni Bulatski 
Committed: Thu Nov 8 17:26:08 2018 +0300

--
 .../cayenne/tools/CayenneGeneratorTask.java |  154 ++-
 .../cayenne/tools/CgenWithConfigTest.java   |  124 ++
 cayenne-ant/src/test/resources/cgenTest.map.xml |   22 +
 .../cayenne/gen/ArtifactsGenerationMode.java|2 +-
 .../apache/cayenne/gen/CgenConfiguration.java   |  363 ++
 .../java/org/apache/cayenne/gen/CgenModule.java |   34 +
 .../cayenne/gen/ClassGenerationAction.java  |  490 +++-
 .../gen/ClientClassGenerationAction.java|   44 +-
 .../apache/cayenne/gen/EmbeddableArtifact.java  |   12 +-
 .../org/apache/cayenne/gen/EntityArtifact.java  |   11 +-
 .../cayenne/gen/xml/CgenConfigHandler.java  |  279 +
 .../apache/cayenne/gen/xml/CgenExtension.java   |   54 +
 .../cayenne/gen/xml/CgenLoaderDelegate.java |   49 +
 .../cayenne/gen/xml/CgenSaverDelegate.java  |   70 ++
 .../CayenneGeneratorEmbeddableFilterAction.java |   29 +
 .../CayenneGeneratorEntityFilterAction.java |   22 +-
 .../cayenne/gen/ClassGenerationActionTest.java  |   37 +-
 .../java/org/apache/cayenne/tools/CgenTask.java |  182 ++-
 .../org/apache/cayenne/tools/CgenTaskIT.java|   60 +-
 .../org/apache/cayenne/tools/CgenTaskTest.java  |   50 +-
 .../org/apache/cayenne/tools/cgenConfig.map.xml |   22 +
 .../org/apache/cayenne/tools/cgenMap.map.xml|   22 +
 .../cayenne/tools/cgen_with_config.gradle   |   27 +
 .../cayenne/tools/cgen_with_configs.gradle  |   32 +
 .../cayenne/project/CompoundSaverDelegate.java  |   28 +-
 .../cayenne/project/FileProjectSaver.java   |2 +
 .../project/extension/BaseSaverDelegate.java|   13 +
 .../project/extension/SaverDelegate.java|4 +
 .../main/java/org/apache/cayenne/util/Util.java |   33 +-
 .../cayenne/tools/CayenneGeneratorMojo.java |  187 ++-
 .../cayenne/tools/CayenneGeneratorMojoTest.java |   48 +
 .../resources/cgen/project-to-test/cgen-pom.xml |   46 +
 .../cgen/project-to-test/datamap-and-pom.xml|   54 +
 .../src/test/resources/cgen/testCgen.map.xml|   22 +
 .../src/test/resources/cgen/testCgenMap.map.xml |   22 +
 .../cayenne/modeler/CayenneModelerFrame.java|   95 +-
 .../cayenne/modeler/CodeTemplateManager.java|   82 +-
 .../modeler/action/GenerateCodeAction.java  |   12 +-
 .../dialog/codegen/ClassesTabController.java|  406 +++
 .../modeler/dialog/codegen/ClassesTabPanel.java |  282 ++---
 .../dialog/codegen/ClientModeController.java|  162 +--
 .../dialog/codegen/CodeGeneratorController.java |  338 +++---
 .../codegen/CodeGeneratorControllerBase.java|  760 ++--
 .../dialog/codegen/CodeGeneratorDialog.java |  198 +--
 .../dialog/codegen/CustomModeController.java|  470 
 .../modeler/dialog/codegen/CustomModePanel.java |  274 ++---
 .../codegen/CustomPreferencesUpdater.java   |  418 +++
 .../dialog/codegen/GeneratorController.java | 1124 +-
 .../codegen/GeneratorControllerPanel.java   |  110 +-
 .../dialog/codegen/GeneratorTabController.java  |  230 ++--
 .../dialog/codegen/GeneratorTabPanel.java   |  130 +-
 .../dialog/codegen/StandardModeController.java  |  164 +--
 .../dialog/codegen/StandardModePanel.java   |   84 +-
 .../dialog/codegen/StandardPanelComponent.java  |  162 +--
 .../modeler/editor/DataDomainTabbedView.java|  183 +--
 .../modeler/editor/DataMapTabbedView.java   |   38 +-
 .../cayenne/modeler/editor/EditorView.java  |3 +-
 .../editor/cgen/ClassesTabController.java   |  123 ++
 .../modeler/editor/cgen/ClassesTabPanel.java|   80 ++
 .../editor/cgen/ClientModeController.java   |   44 +
 .../editor/cgen/CodeGeneratorController.java|  176 +++
 .../cgen/CodeGeneratorControllerBase.java   |  366 ++
 .../modeler/editor/cgen/CodeGeneratorPane.java  |   46 +
 .../editor/cgen/CustomModeController.java   |  155 +++
 .../modeler/editor/cgen/CustomModePanel.java|  169 +++
 .../editor/cgen/GeneratorController.java|  448 +++
 .../editor/cgen/GeneratorControllerPanel.java   |   68 ++
 .../editor/cgen/GeneratorTabController.java |  112 ++
 .../modeler/editor/cgen/GeneratorTabPanel.java  |   95 ++
 .../editor/cgen/StandardModeController.java |   60 +
 .../modeler/editor/cgen/StandardModePanel.java  |   42 +
 .../editor/cgen/StandardPanelComponent.java |   63 +
 .../modeler/editor/cgen/domain/CgenPanel.java   |   59 +
 .../modeler/editor/cgen/domain/CgenTab.java

[24/32] cayenne git commit: Add replacement to datamap generation mode.

2018-11-14 Thread ntimofeev
Add replacement to datamap generation mode.


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/ac6819f3
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/ac6819f3
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/ac6819f3

Branch: refs/heads/master
Commit: ac6819f330415205cb6ccacc6bdf3013937ef13e
Parents: 3ae4973
Author: Arseni Bulatski 
Authored: Mon Nov 12 15:58:58 2018 +0300
Committer: Arseni Bulatski 
Committed: Mon Nov 12 16:01:26 2018 +0300

--
 UPGRADE.txt |  4 --
 .../cayenne/tools/CayenneGeneratorTask.java | 22 +---
 .../cayenne/tools/CgenWithConfigTest.java   | 38 +-
 .../java/org/apache/cayenne/tools/CgenTask.java | 23 ++---
 .../org/apache/cayenne/tools/CgenTaskIT.java| 35 +
 .../tools/cgen_replaceDatamapMode.gradle| 31 
 .../cayenne/tools/CayenneGeneratorMojo.java | 22 +---
 .../cayenne/tools/CayenneGeneratorMojoTest.java | 26 +-
 .../cgen/project-to-test/datamap-and-pom.xml|  1 -
 .../project-to-test/replaceDatamapMode-pom.xml  | 53 
 10 files changed, 227 insertions(+), 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/ac6819f3/UPGRADE.txt
--
diff --git a/UPGRADE.txt b/UPGRADE.txt
index 83bcc5a..bd660d3 100644
--- a/UPGRADE.txt
+++ b/UPGRADE.txt
@@ -4,10 +4,6 @@ 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
-  * and 
* patterns.
 
 UPGRADING TO 4.1.M2
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ac6819f3/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
--
diff --git 
a/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java 
b/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
index 6291a6d..8d5a151 100644
--- 
a/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
+++ 
b/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
@@ -24,6 +24,7 @@ import org.apache.cayenne.dbsync.filter.NamePatternMatcher;
 import org.apache.cayenne.dbsync.reverse.configuration.ToolsModule;
 import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Injector;
+import org.apache.cayenne.gen.ArtifactsGenerationMode;
 import org.apache.cayenne.gen.CgenConfiguration;
 import org.apache.cayenne.gen.CgenModule;
 import org.apache.cayenne.gen.ClassGenerationAction;
@@ -108,17 +109,16 @@ public class CayenneGeneratorTask extends CayenneTask {
 
 loadAction.setMainDataMapFile(map);
 loadAction.setAdditionalDataMapFiles(additionalMaps);
-
-CayenneGeneratorEntityFilterAction filterEntityAction = new 
CayenneGeneratorEntityFilterAction();
-filterEntityAction.setNameFilter(NamePatternMatcher.build(logger, 
includeEntitiesPattern, excludeEntitiesPattern));
-
-CayenneGeneratorEmbeddableFilterAction filterEmbeddableAction = new 
CayenneGeneratorEmbeddableFilterAction();
-filterEmbeddableAction.setNameFilter(NamePatternMatcher.build(logger, 
null, excludeEmbeddablesPattern));
 try {
 
 DataMap dataMap = loadAction.getMainDataMap();
 
 ClassGenerationAction generatorAction = createGenerator(dataMap);
+CayenneGeneratorEntityFilterAction filterEntityAction = new 
CayenneGeneratorEntityFilterAction();
+filterEntityAction.setNameFilter(NamePatternMatcher.build(logger, 
includeEntitiesPattern, excludeEntitiesPattern));
+
+CayenneGeneratorEmbeddableFilterAction filterEmbeddableAction = 
new CayenneGeneratorEmbeddableFilterAction();
+
filterEmbeddableAction.setNameFilter(NamePatternMatcher.build(logger, null, 
excludeEmbeddablesPattern));
 
filterEntityAction.setClient(generatorAction.getCgenConfiguration().isClient());
 generatorAction.setLogger(logger);
 if(force) {
@@ -177,6 +177,9 @@ public class CayenneGeneratorTask extends CayenneTask {
 cgenConfiguration.setRelPath(destDir != null ? destDir.toPath() : 
cgenConfiguration.getRelPath());
 cgenConfiguration.setEncoding(encoding != null ? encoding : 
cgenConfiguration.getEncoding());
 cgenConfiguration.setMakePairs(makepairs != null ? makepairs : 
cgenConfiguration.isMakePairs());
+if(mode != null && 

[32/32] cayenne git commit: Merge PR #342

2018-11-14 Thread ntimofeev
Merge PR #342


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/b580bdad
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/b580bdad
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/b580bdad

Branch: refs/heads/master
Commit: b580bdad32875bec793b6d46bed3a75ac661641f
Parents: 1edb4ee d20a03f
Author: Nikita Timofeev 
Authored: Wed Nov 14 17:12:29 2018 +0300
Committer: Nikita Timofeev 
Committed: Wed Nov 14 17:12:29 2018 +0300

--
 RELEASE-NOTES.txt   |   1 +
 UPGRADE.txt |   1 +
 .../cayenne/tools/CayenneGeneratorTask.java | 174 --
 .../cayenne/tools/CgenWithConfigTest.java   | 158 ++
 cayenne-ant/src/test/resources/cgenTest.map.xml |  22 +
 .../cayenne/gen/ArtifactsGenerationMode.java|   2 +-
 .../apache/cayenne/gen/CgenConfiguration.java   | 392 +
 .../java/org/apache/cayenne/gen/CgenModule.java |  34 ++
 .../cayenne/gen/ClassGenerationAction.java  | 480 ++--
 .../gen/ClientClassGenerationAction.java|  44 +-
 .../org/apache/cayenne/gen/EntityArtifact.java  |   1 -
 .../cayenne/gen/xml/CgenConfigHandler.java  | 257 +
 .../apache/cayenne/gen/xml/CgenExtension.java   |  54 ++
 .../cayenne/gen/xml/CgenLoaderDelegate.java |  49 ++
 .../cayenne/gen/xml/CgenSaverDelegate.java  |  78 +++
 .../CayenneGeneratorEmbeddableFilterAction.java |  34 ++
 .../CayenneGeneratorEntityFilterAction.java |  29 +-
 .../cayenne/gen/ClassGenerationActionTest.java  |  37 +-
 .../java/org/apache/cayenne/tools/CgenTask.java | 207 +--
 .../org/apache/cayenne/tools/BaseTaskIT.java|  15 +
 .../org/apache/cayenne/tools/CgenTaskIT.java|  99 +++-
 .../org/apache/cayenne/tools/CgenTaskTest.java  |  50 +-
 .../apache/cayenne/tools/DbGenerateTaskIT.java  |   4 +-
 .../apache/cayenne/tools/GradlePluginIT.java|   2 +-
 .../org/apache/cayenne/tools/cgenMap.map.xml|  22 +
 .../tools/cgen_replaceDatamapMode.gradle|  31 +
 .../cayenne/tools/cgen_with_config.gradle   |  27 +
 .../cayenne/tools/cgen_with_config.map.xml  |  22 +
 .../cayenne/tools/cgen_with_configs.gradle  |  32 ++
 .../cayenne/project/CompoundSaverDelegate.java  |  15 +-
 .../cayenne/project/FileProjectSaver.java   |   2 +
 .../project/extension/BaseSaverDelegate.java|  13 +
 .../project/extension/SaverDelegate.java|   4 +
 .../org/apache/cayenne/schema/10/cgen.xsd   |  47 ++
 .../cayenne/tools/CayenneGeneratorMojo.java | 201 +--
 .../cayenne/tools/CayenneGeneratorMojoTest.java |  70 +++
 .../resources/cgen/project-to-test/cgen-pom.xml |  46 ++
 .../cgen/project-to-test/datamap-and-pom.xml|  53 ++
 .../project-to-test/replaceDatamapMode-pom.xml  |  53 ++
 .../src/test/resources/cgen/testCgen.map.xml|  22 +
 .../src/test/resources/cgen/testCgenMap.map.xml |  22 +
 .../cayenne/modeler/CayenneModelerFrame.java|  60 +-
 .../cayenne/modeler/CodeTemplateManager.java|  97 +++-
 .../modeler/action/GenerateCodeAction.java  |  12 +-
 .../modeler/dialog/cgen/TemplateDialog.java |  87 +++
 .../modeler/dialog/cgen/TemplateDialogView.java | 136 +
 .../dialog/codegen/ClassesTabController.java| 203 ---
 .../modeler/dialog/codegen/ClassesTabPanel.java | 141 -
 .../dialog/codegen/ClientModeController.java|  81 ---
 .../dialog/codegen/CodeGeneratorController.java | 169 --
 .../codegen/CodeGeneratorControllerBase.java| 380 -
 .../dialog/codegen/CodeGeneratorDialog.java |  99 
 .../dialog/codegen/CustomModeController.java| 235 
 .../modeler/dialog/codegen/CustomModePanel.java | 137 -
 .../codegen/CustomPreferencesUpdater.java   | 209 ---
 .../dialog/codegen/GeneratorController.java | 563 ---
 .../codegen/GeneratorControllerPanel.java   |  55 --
 .../dialog/codegen/GeneratorTabController.java  | 115 
 .../dialog/codegen/GeneratorTabPanel.java   |  65 ---
 .../dialog/codegen/StandardModeController.java  |  82 ---
 .../dialog/codegen/StandardModePanel.java   |  42 --
 .../dialog/codegen/StandardPanelComponent.java  |  81 ---
 .../dialog/db/load/ModelerDbImportAction.java   |   3 +
 .../modeler/dialog/pref/PreferenceDialog.java   |  18 +-
 .../dialog/pref/TemplatePreferences.java|  37 +-
 .../modeler/editor/DataDomainTabbedView.java| 183 +++---
 .../modeler/editor/DataMapTabbedView.java   |  55 +-
 .../cayenne/modeler/editor/EditorView.java  |   3 +-
 .../editor/cgen/ClassesTabController.java   | 135 +
 .../modeler/editor/cgen/ClassesTabPanel.java|  85 +++
 .../editor/cgen/ClientModeController.java   |  42 ++
 .../editor/cgen/CodeGeneratorController.java| 255 +
 .../cgen/CodeGeneratorControllerBase.java   | 492 
 

[02/32] cayenne git commit: cgen. create ui

2018-11-14 Thread ntimofeev
cgen. create ui


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/8119ffaa
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/8119ffaa
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/8119ffaa

Branch: refs/heads/master
Commit: 8119ffaa88f70787590df6b23bc86c031337b921
Parents: 831442c
Author: Arseni Bulatski 
Authored: Thu Jun 14 16:57:22 2018 +0300
Committer: Arseni Bulatski 
Committed: Wed Oct 24 13:39:05 2018 +0300

--
 .../cayenne/gen/xml/CgenConfigHandler.java  |  23 +
 .../apache/cayenne/gen/xml/CgenExtension.java   |  32 ++
 .../cayenne/gen/xml/CgenLoaderDelegate.java |  28 +
 .../cayenne/gen/xml/CgenSaverDelegate.java  |  20 +
 .../modeler/editor/DataMapTabbedView.java   |  10 +-
 .../cayenne/modeler/editor/EditorView.java  |   3 +-
 .../editor/cgen/ClassesTabController.java   | 123 
 .../modeler/editor/cgen/ClassesTabPanel.java|  84 +++
 .../editor/cgen/CodeGeneratorController.java| 146 +
 .../cgen/CodeGeneratorControllerBase.java   | 289 ++
 .../modeler/editor/cgen/CodeGeneratorPane.java  |  76 +++
 .../editor/cgen/CustomModeController.java   | 238 
 .../modeler/editor/cgen/CustomModePanel.java| 189 ++
 .../editor/cgen/CustomPreferencesUpdater.java   | 193 +++
 .../editor/cgen/GeneratorController.java| 568 +++
 .../editor/cgen/GeneratorControllerPanel.java   |  53 ++
 .../editor/cgen/GeneratorTabController.java |  71 +++
 .../modeler/editor/cgen/GeneratorTabPanel.java  |  33 ++
 .../editor/cgen/StandardPanelComponent.java |  79 +++
 .../modeler/init/CayenneModelerModule.java  |   4 +-
 20 files changed, 2256 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/8119ffaa/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
new file mode 100644
index 000..23f0ff3
--- /dev/null
+++ 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenConfigHandler.java
@@ -0,0 +1,23 @@
+package org.apache.cayenne.gen.xml;
+
+import org.apache.cayenne.configuration.xml.DataChannelMetaData;
+import org.apache.cayenne.configuration.xml.NamespaceAwareNestedTagHandler;
+import org.apache.cayenne.dbsync.xml.DbImportExtension;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
+public class CgenConfigHandler extends NamespaceAwareNestedTagHandler{
+
+private DataChannelMetaData metaData;
+
+CgenConfigHandler(NamespaceAwareNestedTagHandler parentHandler, 
DataChannelMetaData metaData) {
+super(parentHandler);
+this.metaData = metaData;
+this.targetNamespace = DbImportExtension.NAMESPACE;
+}
+
+@Override
+protected boolean processElement(String namespaceURI, String localName, 
Attributes attributes) throws SAXException {
+return false;
+}
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/8119ffaa/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenExtension.java
--
diff --git 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenExtension.java 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenExtension.java
new file mode 100644
index 000..619bffc
--- /dev/null
+++ b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenExtension.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.gen.xml;
+
+import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
+import org.apache.cayenne.configuration.xml.DataChannelMetaData;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.project.Project;
+import org.apache.cayenne.project.extension.LoaderDelegate;
+import org.apache.cayenne.project.extension.ProjectExtension;
+import org.apache.cayenne.project.extension.SaverDelegate;
+
+public class CgenExtension implements ProjectExtension {
+
+public static final String NAMESPACE = "http://cayenne.apache.org/schema/; 
+ Project.VERSION + "/cgen";
+
+@Inject
+private DataChannelMetaData metaData;
+
+@Override
+public LoaderDelegate createLoaderDelegate() {
+return null;
+}
+
+@Override
+public SaverDelegate createSaverDelegate() {
+return new CgenSaverDelegate(metaData);
+}
+
+@Override
+public ConfigurationNodeVisitor createNamingDelegate() {
+return null;
+}
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/8119ffaa/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenLoaderDelegate.java

[13/32] cayenne git commit: Add cgen tab.

2018-11-14 Thread ntimofeev
Add cgen tab.


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/6a43436a
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/6a43436a
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/6a43436a

Branch: refs/heads/master
Commit: 6a43436ab12017594762210c18dd508e2f2ded9d
Parents: aa22c93
Author: Arseni Bulatski 
Authored: Wed Oct 31 10:51:32 2018 +0300
Committer: Arseni Bulatski 
Committed: Wed Oct 31 10:51:32 2018 +0300

--
 .../cayenne/gen/ArtifactsGenerationMode.java|   2 +-
 .../cayenne/gen/ClassGenerationAction.java  | 499 ++-
 .../gen/ClientClassGenerationAction.java|   7 +-
 .../cayenne/gen/xml/CgenConfigHandler.java  | 117 ++---
 .../cayenne/gen/xml/CgenSaverDelegate.java  |  23 +
 .../cayenne/gen/xml/EmbeddableHandler.java  |  70 ---
 .../cayenne/gen/xml/ObjEntityHandler.java   |  69 ---
 .../cayenne/project/CompoundSaverDelegate.java  |  28 +-
 .../cayenne/project/FileProjectSaver.java   |   2 +
 .../project/extension/BaseSaverDelegate.java|  13 +
 .../project/extension/SaverDelegate.java|   4 +
 .../main/java/org/apache/cayenne/util/Util.java |  33 +-
 .../cayenne/tools/CayenneGeneratorMojo.java |   5 +-
 .../cayenne/modeler/CayenneModelerFrame.java|  81 +--
 .../cayenne/modeler/action/CgenAction.java  |  27 -
 .../modeler/action/DefaultActionManager.java|   5 +-
 .../dialog/codegen/ClassesTabController.java|  13 +-
 .../modeler/dialog/codegen/ClassesTabPanel.java |  15 +-
 .../dialog/codegen/ClientModeController.java|   2 +-
 .../dialog/codegen/CodeGeneratorController.java |   4 +-
 .../codegen/CodeGeneratorControllerBase.java|  18 +-
 .../dialog/codegen/CodeGeneratorDialog.java |  17 +-
 .../dialog/codegen/CustomModeController.java|  19 +-
 .../modeler/dialog/codegen/CustomModePanel.java |   9 +-
 .../dialog/codegen/GeneratorController.java |  26 +-
 .../codegen/GeneratorControllerPanel.java   |   4 +-
 .../dialog/codegen/GeneratorTabController.java  |   2 +-
 .../dialog/codegen/GeneratorTabPanel.java   |   2 +-
 .../dialog/codegen/StandardModeController.java  |   6 +-
 .../dialog/codegen/StandardModePanel.java   |   2 +-
 .../dialog/codegen/StandardPanelComponent.java  |   2 +-
 .../modeler/dialog/codegen/cgen/CgenDialog.java |  74 ---
 .../codegen/cgen/CgenGlobalController.java  |  68 ---
 .../dialog/codegen/cgen/CgenGlobalPanel.java| 293 ---
 .../codegen/cgen/CgenGlobalPanelController.java | 306 
 .../modeler/editor/DataMapTabbedView.java   |  25 +-
 .../editor/cgen/ClassesTabController.java   |  13 +-
 .../modeler/editor/cgen/ClassesTabPanel.java|  12 +-
 .../editor/cgen/ClientModeController.java   |  40 ++
 .../editor/cgen/CodeGeneratorController.java|  48 +-
 .../cgen/CodeGeneratorControllerBase.java   | 112 +++--
 .../modeler/editor/cgen/CodeGeneratorPane.java  |  45 +-
 .../editor/cgen/CustomModeController.java   |  83 +--
 .../modeler/editor/cgen/CustomModePanel.java| 137 +
 .../editor/cgen/GeneratorController.java| 157 +++---
 .../editor/cgen/GeneratorControllerPanel.java   |  30 +-
 .../editor/cgen/GeneratorTabController.java |  64 ++-
 .../modeler/editor/cgen/GeneratorTabPanel.java  |  70 ++-
 .../editor/cgen/StandardModeController.java |  61 +++
 .../modeler/editor/cgen/StandardModePanel.java  |  42 ++
 .../editor/cgen/StandardPanelComponent.java |  63 +++
 51 files changed, 1027 insertions(+), 1842 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/6a43436a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ArtifactsGenerationMode.java
--
diff --git 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ArtifactsGenerationMode.java
 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ArtifactsGenerationMode.java
index e76c172..98aca33 100644
--- 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ArtifactsGenerationMode.java
+++ 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ArtifactsGenerationMode.java
@@ -26,7 +26,7 @@ package org.apache.cayenne.gen;
 public enum ArtifactsGenerationMode {
 
 // TODO: andrus 12/9/2007 - label names are old... need to call it 
something else...
-DATAMAP("datamap"), ENTITY("entity"), ALL("all");
+ENTITY("entity"), ALL("all");
 
 private String label;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6a43436a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
--
diff --git 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java

[01/32] cayenne git commit: cgen. create ui

2018-11-14 Thread ntimofeev
Repository: cayenne
Updated Branches:
  refs/heads/master 1edb4ee4c -> b580bdad3


http://git-wip-us.apache.org/repos/asf/cayenne/blob/8119ffaa/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
new file mode 100644
index 000..c3fff72
--- /dev/null
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabController.java
@@ -0,0 +1,71 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ /
+
+package org.apache.cayenne.modeler.editor.cgen;
+
+import org.apache.cayenne.gen.ClassGenerationAction;
+import org.apache.cayenne.map.DataMap;
+import org.apache.cayenne.modeler.util.CayenneController;
+import org.apache.cayenne.pref.PreferenceDetail;
+
+import java.awt.*;
+import java.util.Collection;
+
+/**
+ */
+public class GeneratorTabController extends CayenneController {
+
+public static final String GENERATOR_PROPERTY = "generator";
+
+protected GeneratorTabPanel view;
+protected PreferenceDetail preferences;
+
+protected CustomModeController customModeController;
+
+public GeneratorTabController(CodeGeneratorControllerBase parent) {
+super(parent);
+customModeController = new CustomModeController(parent);
+this.view = new GeneratorTabPanel(customModeController.getView());
+}
+
+public void startup(DataMap dataMap){
+customModeController.startup(dataMap);
+}
+
+public Component getView() {
+return view;
+}
+
+protected CodeGeneratorControllerBase getParentController() {
+return (CodeGeneratorControllerBase) getParent();
+}
+
+public PreferenceDetail getPreferences() {
+return preferences;
+}
+
+public GeneratorController getGeneratorController() {
+return customModeController;
+}
+
+public Collection getGenerator() {
+GeneratorController modeController = getGeneratorController();
+return (modeController != null) ? modeController.createGenerator() : 
null;
+}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/8119ffaa/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
new file mode 100644
index 000..40249f4
--- /dev/null
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabPanel.java
@@ -0,0 +1,33 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ /
+
+package org.apache.cayenne.modeler.editor.cgen;
+
+import javax.swing.*;
+import java.awt.*;
+
+/**
+ */
+public 

[11/32] cayenne git commit: Add cgen tab.

2018-11-14 Thread ntimofeev
http://git-wip-us.apache.org/repos/asf/cayenne/blob/6a43436a/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 2824685..ef290a6 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
@@ -21,25 +21,47 @@ package org.apache.cayenne.modeler.editor.cgen;
 
 import org.apache.cayenne.gen.ClassGenerationAction;
 import org.apache.cayenne.modeler.util.CayenneController;
+import org.apache.cayenne.pref.CayenneProjectPreferences;
 import org.apache.cayenne.pref.PreferenceDetail;
+import org.apache.cayenne.swing.BindingBuilder;
+import org.apache.cayenne.util.Util;
 
-import java.awt.Component;
+import java.awt.*;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  */
 public class GeneratorTabController extends CayenneController {
 
+private static final String STANDARD_OBJECTS_MODE = "Standard Persistent 
Objects";
+private static final String CLIENT_OBJECTS_MODE = "Client Persistent 
Objects";
+private static final String ADVANCED_MODE = "Advanced";
+
 public static final String GENERATOR_PROPERTY = "generator";
 
+private static final String[] GENERATION_MODES = new String[] {
+STANDARD_OBJECTS_MODE, CLIENT_OBJECTS_MODE, ADVANCED_MODE
+};
+
 protected GeneratorTabPanel view;
+protected Map controllers;
 protected PreferenceDetail preferences;
 
-protected CustomModeController customModeController;
-
 public GeneratorTabController(CodeGeneratorControllerBase parent) {
 super(parent);
-customModeController = new CustomModeController(parent);
-this.view = new GeneratorTabPanel(customModeController.getView());
+this.controllers = new HashMap<>(3);
+controllers.put(STANDARD_OBJECTS_MODE, new 
StandardModeController(parent));
+controllers.put(CLIENT_OBJECTS_MODE, new ClientModeController(parent));
+controllers.put(ADVANCED_MODE, new CustomModeController(parent));
+Component[] modePanels = new Component[GENERATION_MODES.length];
+for (int i = 0; i < GENERATION_MODES.length; i++) {
+modePanels[i] = controllers.get(GENERATION_MODES[i])
+.getView();
+}
+this.view = new GeneratorTabPanel(GENERATION_MODES, modePanels);
+initBindings();
+view.setPreferredSize(new Dimension(600, 480));
 }
 
 public Component getView() {
@@ -54,8 +76,36 @@ public class GeneratorTabController extends 
CayenneController {
 return preferences;
 }
 
-public GeneratorController getGeneratorController() {
-return customModeController;
+protected void initBindings() {
+
+// bind actions
+BindingBuilder builder = new BindingBuilder(
+getApplication().getBindingFactory(),
+this);
+
+CayenneProjectPreferences cayPrPref = 
application.getCayenneProjectPreferences();
+
+this.preferences = (PreferenceDetail) cayPrPref.getProjectDetailObject(
+PreferenceDetail.class,
+getViewPreferences().node("controller"));
+
+if (Util.isEmptyString(preferences.getProperty("mode"))) {
+preferences.setProperty("mode", STANDARD_OBJECTS_MODE);
+}
+
+builder.bindToComboSelection(
+view.getGenerationMode(),
+"preferences.property['mode']").updateView();
+
+view.getGenerationMode().addActionListener(action -> {
+String name = (String)view.getGenerationMode().getSelectedItem();
+controllers.get(name).initForm(getGenerator());
+});
+}
+
+GeneratorController getGeneratorController() {
+String name = (String)view.getGenerationMode().getSelectedItem();
+return controllers.get(name);
 }
 
 public ClassGenerationAction getGenerator() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6a43436a/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 ab25218..9cfd542 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabPanel.java
+++ 

[05/32] cayenne git commit: Cgen. Refactoring, changes

2018-11-14 Thread ntimofeev
Cgen. Refactoring, changes


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/0e19c961
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/0e19c961
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/0e19c961

Branch: refs/heads/master
Commit: 0e19c96147992fcbd10d285d13d3b029cc013f7d
Parents: b85a090
Author: Arseni Bulatski 
Authored: Thu Jun 21 16:55:07 2018 +0300
Committer: Arseni Bulatski 
Committed: Wed Oct 24 13:41:33 2018 +0300

--
 .../cayenne/gen/ClassGenerationAction.java  | 110 +
 .../org/apache/cayenne/gen/DataMapArtifact.java |   1 -
 .../cayenne/gen/xml/CgenConfigHandler.java  |  55 -
 .../apache/cayenne/gen/xml/CgenExtension.java   |  21 ++
 .../cayenne/gen/xml/CgenLoaderDelegate.java |  21 ++
 .../cayenne/gen/xml/CgenSaverDelegate.java  |  21 ++
 .../cayenne/gen/xml/EmbeddableHandler.java  |  21 ++
 .../cayenne/gen/xml/ObjEntityHandler.java   |  21 ++
 .../cayenne/modeler/CodeTemplateManager.java|  44 +++-
 .../editor/cgen/ClassesTabController.java   |   9 +-
 .../modeler/editor/cgen/ClassesTabPanel.java|  17 +-
 .../editor/cgen/CodeGeneratorController.java|   2 +-
 .../cgen/CodeGeneratorControllerBase.java   |  26 +-
 .../editor/cgen/CustomModeController.java   | 188 ---
 .../modeler/editor/cgen/CustomModePanel.java| 238 ---
 .../editor/cgen/CustomPreferencesUpdater.java   | 193 ---
 .../editor/cgen/GeneratorController.java|  29 +--
 .../editor/cgen/GeneratorControllerPanel.java   |  34 ++-
 .../editor/cgen/GeneratorTabController.java |   5 -
 .../modeler/editor/cgen/GeneratorTabPanel.java  |   1 +
 .../cayenne/modeler/util/ComboBoxAdapter.java   |  72 ++
 21 files changed, 575 insertions(+), 554 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/0e19c961/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
--
diff --git 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
index 35e34cf..f56f81e 100644
--- 
a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
+++ 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
@@ -22,7 +22,10 @@ package org.apache.cayenne.gen;
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
 import org.apache.cayenne.gen.xml.CgenExtension;
-import org.apache.cayenne.map.*;
+import org.apache.cayenne.map.DataMap;
+import org.apache.cayenne.map.Embeddable;
+import org.apache.cayenne.map.ObjEntity;
+import org.apache.cayenne.map.QueryDescriptor;
 import org.apache.cayenne.util.XMLEncoder;
 import org.apache.cayenne.util.XMLSerializable;
 import org.apache.velocity.Template;
@@ -102,6 +105,9 @@ public class ClassGenerationAction implements Serializable, 
XMLSerializable {
this.embeddableTemplate = EMBEDDABLE_SUBCLASS_TEMPLATE;
this.embeddableSuperTemplate = EMBEDDABLE_SUPERCLASS_TEMPLATE;
 
+   this.queryTemplate = DATAMAP_SUBCLASS_TEMPLATE;
+   this.querySuperTemplate = DATAMAP_SUPERCLASS_TEMPLATE;
+
this.artifactsGenerationMode = ArtifactsGenerationMode.ENTITY;
 
this.artifacts = new ArrayList<>();
@@ -218,6 +224,11 @@ public class ClassGenerationAction implements 
Serializable, XMLSerializable {
 */
public void execute() throws Exception {
 
+   resetArtifacts();
+   addAllEntities();
+   addAllEmbeddables();
+   addQueries(dataMap.getQueryDescriptors());
+
validateAttributes();
 
try {
@@ -255,26 +266,6 @@ public class ClassGenerationAction implements 
Serializable, XMLSerializable {
}
}
 
-   public void prepareArtifacts(){
-// resetArtifacts();
-   if(!entityArtifacts.isEmpty()) {
-   for(String name : entityArtifacts) {
-   ObjEntity objEntity = 
dataMap.getObjEntity(name);
-   if(objEntity != null) {
-   artifacts.add(new 
EntityArtifact(objEntity));
-   }
-   }
-   }
-   if(!embeddableArtifacts.isEmpty()) {
-   for(String name : embeddableArtifacts) {
-   Embeddable embeddable = 
dataMap.getEmbeddable(name);
-   if(embeddable != null) {
-   artifacts.add(new 

[08/32] cayenne git commit: Add loading cgen config loading from datamap to maven, ant and gradle plugins

2018-11-14 Thread ntimofeev
Add loading cgen config loading from datamap to maven, ant and gradle plugins


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/d9db6e31
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/d9db6e31
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/d9db6e31

Branch: refs/heads/master
Commit: d9db6e3123eae9e2863058c88d455837a244821c
Parents: b10cd80
Author: Arseni Bulatski 
Authored: Thu Jun 28 15:00:26 2018 +0300
Committer: Arseni Bulatski 
Committed: Wed Oct 24 13:44:24 2018 +0300

--
 .../cayenne/tools/CayenneGeneratorTask.java | 73 ---
 .../java/org/apache/cayenne/gen/CgenModule.java | 21 +
 .../cayenne/gen/ClassGenerationAction.java  | 55 ++-
 .../java/org/apache/cayenne/tools/CgenTask.java | 99 +---
 .../org/apache/cayenne/tools/CgenTaskTest.java  |  9 +-
 .../cayenne/tools/CayenneGeneratorMojo.java | 44 +
 .../cayenne/modeler/CayenneModelerFrame.java| 80 +++-
 .../cayenne/modeler/action/CgenAction.java  | 24 -
 .../modeler/dialog/codegen/cgen/CgenDialog.java | 36 ++-
 .../codegen/cgen/CgenGlobalController.java  | 25 -
 .../dialog/codegen/cgen/CgenGlobalPanel.java| 77 +--
 .../codegen/cgen/CgenGlobalPanelController.java | 43 ++---
 .../modeler/editor/DataMapTabbedView.java   |  3 +-
 .../editor/cgen/ClassesTabController.java   |  4 +-
 .../modeler/editor/cgen/ClassesTabPanel.java| 19 +++-
 .../editor/cgen/CodeGeneratorController.java|  4 +-
 .../modeler/editor/cgen/CodeGeneratorPane.java  | 13 ++-
 .../editor/cgen/CustomModeController.java   | 16 ++--
 .../modeler/editor/cgen/CustomModePanel.java| 79 
 .../editor/cgen/GeneratorController.java| 15 ++-
 .../editor/cgen/GeneratorControllerPanel.java   |  4 +-
 .../editor/cgen/GeneratorTabController.java |  2 +-
 .../modeler/editor/cgen/GeneratorTabPanel.java  |  5 +-
 .../cayenne/modeler/util/ComboBoxAdapter.java   | 14 +--
 24 files changed, 511 insertions(+), 253 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/d9db6e31/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
--
diff --git 
a/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java 
b/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
index 3d600b1..a82931e 100644
--- 
a/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
+++ 
b/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
@@ -19,11 +19,12 @@
 package org.apache.cayenne.tools;
 
 import foundrylogic.vpp.VPPConfig;
+import org.apache.cayenne.configuration.xml.DataChannelMetaData;
 import org.apache.cayenne.dbsync.filter.NamePatternMatcher;
 import org.apache.cayenne.dbsync.reverse.configuration.ToolsModule;
 import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Injector;
-import org.apache.cayenne.gen.ArtifactsGenerationMode;
+import org.apache.cayenne.gen.CgenModule;
 import org.apache.cayenne.gen.ClassGenerationAction;
 import org.apache.cayenne.gen.ClientClassGenerationAction;
 import org.apache.cayenne.map.DataMap;
@@ -50,10 +51,10 @@ public class CayenneGeneratorTask extends CayenneTask {
 protected boolean client;
 protected File destDir;
 protected String encoding;
-protected boolean makepairs;
+protected Boolean makepairs;
 protected String mode;
 protected String outputPattern;
-protected boolean overwrite;
+protected Boolean overwrite;
 protected String superpkg;
 protected String supertemplate;
 protected String template;
@@ -61,8 +62,10 @@ public class CayenneGeneratorTask extends CayenneTask {
 protected String embeddablesupertemplate;
 protected String querytemplate;
 protected String querysupertemplate;
-protected boolean usepkgpath;
-protected boolean createpropertynames;
+protected Boolean usepkgpath;
+protected Boolean createpropertynames;
+
+private transient Injector injector;
 
 /**
  * Create PK attributes as Properties
@@ -72,10 +75,6 @@ public class CayenneGeneratorTask extends CayenneTask {
 protected boolean createpkproperties;
 
 public CayenneGeneratorTask() {
-this.makepairs = true;
-this.mode = ArtifactsGenerationMode.ENTITY.getLabel();
-this.outputPattern = "*.java";
-this.usepkgpath = true;
 }
 
 protected VelocityContext getVppContext() {
@@ -83,27 +82,33 @@ public class CayenneGeneratorTask extends CayenneTask {
 return vppConfig.getVelocityContext();
 }
 
-protected ClassGenerationAction createGeneratorAction() {
-

[GitHub] cayenne pull request #346: Bugfix/wrong table behaviour

2018-11-14 Thread const1993
GitHub user const1993 opened a pull request:

https://github.com/apache/cayenne/pull/346

Bugfix/wrong table behaviour



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/const1993/cayenne bugfix/wrong-table-behaviour

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/cayenne/pull/346.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #346


commit 8e3d8c5c6204960f476abd2cfe1ad7ccd9c89ecd
Author: kkomyak 
Date:   2018-11-14T08:08:49Z

CAY-2496 Added selection color for CayenneTable same as used for trees.

commit 60c5a6a681d8306e913daa275643afed4330d57e
Author: kkomyak 
Date:   2018-11-14T12:25:46Z

CAY-2496 Fixed cleanup DBAttribute Path cell after selection.

commit a40e8eb69f40607615b0fa2031888c309b015f36
Author: kkomyak 
Date:   2018-11-14T12:35:19Z

CAY-2496 Attache DB_ATTRIBUTE_PATH_COLUMN constant to 
ObjAttributeTableModel.DB_ATTRIBUTE constant.




---


[jira] [Created] (CAY-2496) Wrong table behaviour.

2018-11-14 Thread Konstantin (JIRA)
Konstantin created CAY-2496:
---

 Summary: Wrong table behaviour.
 Key: CAY-2496
 URL: https://issues.apache.org/jira/browse/CAY-2496
 Project: Cayenne
  Issue Type: Bug
Affects Versions: 4.1.M3
Reporter: Konstantin
 Fix For: 4.1.M3


* Table cell should not cleanup after focus. It should just make current text 
editable.
 * Selection color in table should be the same as in ProjectTreeView.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)