You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2020/06/03 15:32:58 UTC

[cayenne] branch master updated: CAY-2658 DataChannelMetaData is null during cgen execution

This is an automated email from the ASF dual-hosted git repository.

ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
     new 967f4d3  CAY-2658 DataChannelMetaData is null during cgen execution
967f4d3 is described below

commit 967f4d34387dd13b653813b798220b1a78cf46ef
Author: Nikita Timofeev <st...@gmail.com>
AuthorDate: Wed Jun 3 18:32:20 2020 +0300

    CAY-2658 DataChannelMetaData is null during cgen execution
---
 .../src/main/java/org/apache/cayenne/gen/CgenModule.java    |  5 ++++-
 .../modeler/editor/cgen/CodeGeneratorController.java        | 13 ++++++-------
 2 files changed, 10 insertions(+), 8 deletions(-)

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
index bf0552e..7ac73a7 100644
--- a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/CgenModule.java
+++ b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/CgenModule.java
@@ -32,6 +32,7 @@ import org.apache.cayenne.gen.property.PropertyDescriptorCreator;
 import org.apache.cayenne.gen.property.StringPropertyDescriptorCreator;
 import org.apache.cayenne.gen.xml.CgenExtension;
 import org.apache.cayenne.project.ProjectModule;
+import org.apache.cayenne.project.extension.info.InfoExtension;
 
 /**
  * @since 4.1
@@ -46,7 +47,9 @@ public class CgenModule implements Module {
         binder.bind(ToolsUtilsFactory.class).to(DefaultToolsUtilsFactory.class);
         binder.bind(MetadataUtils.class).to(MetadataUtils.class);
 
-        ProjectModule.contributeExtensions(binder).add(CgenExtension.class);
+        ProjectModule.contributeExtensions(binder)
+                .add(CgenExtension.class)
+                .add(InfoExtension.class); // info extension needed to get comments and other metadata
 
         contributeUserProperties(binder)
                 .add(NumericPropertyDescriptorCreator.class)
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 db214db..81a8e1b 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorController.java
@@ -57,7 +57,7 @@ import org.apache.cayenne.modeler.editor.DbImportController;
 import org.apache.cayenne.modeler.util.CayenneController;
 import org.apache.cayenne.modeler.util.ModelerUtil;
 import org.apache.cayenne.swing.BindingBuilder;
-import org.apache.cayenne.tools.CayenneToolsModuleProvider;
+import org.apache.cayenne.tools.ToolsInjectorBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -164,12 +164,11 @@ public class CodeGeneratorController extends CayenneController implements ObjEnt
 
     @SuppressWarnings("unused")
     public void generateAction() {
-        List<Module> modules = new ModuleLoader()
-                .load(CayenneToolsModuleProvider.class);
-        modules.add(binder -> binder.bind(DataChannelMetaData.class)
-                .toInstance(projectController.getApplication().getMetaData()));
-        ClassGenerationAction generator = DIBootstrap
-                .createInjector(modules)
+        ClassGenerationAction generator = new ToolsInjectorBuilder()
+                .addModule(binder
+                        -> binder.bind(DataChannelMetaData.class)
+                        .toInstance(projectController.getApplication().getMetaData()))
+                .create()
                 .getInstance(ClassGenerationActionFactory.class)
                 .createAction(cgenConfiguration);