[jira] [Closed] (CAY-2493) Save cgen configuration with datamap XML
[ 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
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
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
[ 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.
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.
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.
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.
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.
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
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
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.
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.
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
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
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
Github user asfgit closed the pull request at: https://github.com/apache/cayenne/pull/342 ---
[23/32] cayenne git commit: Cleanup
Cleanup Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/3ae49734 Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/3ae49734 Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/3ae49734 Branch: refs/heads/master Commit: 3ae49734b044f611912a0bea5c69b0dd4d2705d4 Parents: b30e5eb Author: Arseni Bulatski 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
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
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
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.
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
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
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
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.
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
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
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
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
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.
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
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
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.
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
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.
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
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
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
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.
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)