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/29 13:44:26 UTC

[cayenne] branch master updated: Fix NullPointerException in DataMap event handlers

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 acd5934  Fix NullPointerException in DataMap event handlers
acd5934 is described below

commit acd5934a33d1069ea58144cbf8de58d02d5950cb
Author: Nikita Timofeev <st...@gmail.com>
AuthorDate: Mon Jun 29 16:44:08 2020 +0300

    Fix NullPointerException in DataMap event handlers
---
 .../editor/cgen/CodeGeneratorController.java       | 24 +++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

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 81a8e1b..d292ac2 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
@@ -340,7 +340,9 @@ public class CodeGeneratorController extends CayenneController implements ObjEnt
     void addEntity(DataMap dataMap, ObjEntity objEntity) {
         prepareClasses(dataMap);
         selectionModel.addSelectedEntity(objEntity.getName());
-        cgenConfiguration.loadEntity(objEntity);
+        if(cgenConfiguration != null) {
+            cgenConfiguration.loadEntity(objEntity);
+        }
         checkCgenConfigDirty();
     }
 
@@ -384,7 +386,9 @@ public class CodeGeneratorController extends CayenneController implements ObjEnt
     @Override
     public void objEntityRemoved(EntityEvent e) {
         selectionModel.removeFromSelectedEntities((ObjEntity) e.getEntity());
-        cgenConfiguration.getEntities().remove(e.getEntity().getName());
+        if(cgenConfiguration != null) {
+            cgenConfiguration.getEntities().remove(e.getEntity().getName());
+        }
         checkCgenConfigDirty();
     }
 
@@ -396,23 +400,29 @@ public class CodeGeneratorController extends CayenneController implements ObjEnt
         prepareClasses(map);
         String embeddableClassName = e.getEmbeddable().getClassName();
         selectionModel.addSelectedEmbeddable(embeddableClassName);
-        cgenConfiguration.loadEmbeddable(embeddableClassName);
+        if(cgenConfiguration != null) {
+            cgenConfiguration.loadEmbeddable(embeddableClassName);
+        }
         checkCgenConfigDirty();
     }
 
     @Override
     public void embeddableRemoved(EmbeddableEvent e, DataMap map) {
         selectionModel.removeFromSelectedEmbeddables(e.getEmbeddable());
-        cgenConfiguration.getEmbeddables().remove(e.getEmbeddable().getClassName());
+        if(cgenConfiguration != null) {
+            cgenConfiguration.getEmbeddables().remove(e.getEmbeddable().getClassName());
+        }
         checkCgenConfigDirty();
     }
 
     @Override
     public void dataMapChanged(DataMapEvent e) {
         if(e.getSource() instanceof DbImportController) {
-            for(ObjEntity objEntity : e.getDataMap().getObjEntities()) {
-                if(!cgenConfiguration.getExcludeEntityArtifacts().contains(objEntity.getName())) {
-                    addEntity(cgenConfiguration.getDataMap(), objEntity);
+            if(cgenConfiguration != null) {
+                for (ObjEntity objEntity : e.getDataMap().getObjEntities()) {
+                    if (!cgenConfiguration.getExcludeEntityArtifacts().contains(objEntity.getName())) {
+                        addEntity(cgenConfiguration.getDataMap(), objEntity);
+                    }
                 }
             }
             checkCgenConfigDirty();