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 2017/02/07 14:14:10 UTC

cayenne git commit: CAY-2202 NPE closing the project

Repository: cayenne
Updated Branches:
  refs/heads/master 29428fcb5 -> 47d5eaa02


CAY-2202 NPE closing the project


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

Branch: refs/heads/master
Commit: 47d5eaa022a42740127be5fef9cb7710a3948412
Parents: 29428fc
Author: Nikita Timofeev <st...@gmail.com>
Authored: Tue Feb 7 17:13:58 2017 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Tue Feb 7 17:13:58 2017 +0300

----------------------------------------------------------------------
 .../util/state/AttributeDisplayEventType.java    | 17 ++++++++---------
 .../modeler/util/state/DisplayEventType.java     |  3 +++
 .../util/state/EntityDisplayEventType.java       |  4 ++--
 .../util/state/RelationshipDisplayEventType.java | 19 +++++++++----------
 4 files changed, 22 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/47d5eaa0/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/AttributeDisplayEventType.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/AttributeDisplayEventType.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/AttributeDisplayEventType.java
index 4fb2659..54ce52b 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/AttributeDisplayEventType.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/AttributeDisplayEventType.java
@@ -35,7 +35,7 @@ import java.util.List;
 
 class AttributeDisplayEventType extends EntityDisplayEventType {
 
-    public AttributeDisplayEventType(ProjectController controller) {
+    AttributeDisplayEventType(ProjectController controller) {
         super(controller);
     }
 
@@ -90,18 +90,17 @@ class AttributeDisplayEventType extends EntityDisplayEventType {
     }
 
     protected Attribute[] getLastEntityAttributes(Entity entity) {
-        List<Attribute> attributeList = new ArrayList<Attribute>();
-        Attribute[] attributes = new Attribute[0];
-
-        String attrs = (entity instanceof ObjEntity)
-                ? preferences.getObjAttrs()
-                : preferences.getDbAttrs();
+        List<Attribute> attributeList = new ArrayList<>();
 
+        String attrs = (entity instanceof ObjEntity) ? preferences.getObjAttrs() : preferences.getDbAttrs();
         for (String attrName : attrs.split(",")) {
-            attributeList.add(entity.getAttribute(attrName));
+            Attribute attr = entity.getAttribute(attrName);
+            if(attr != null) {
+                attributeList.add(attr);
+            }
         }
 
-        return attributeList.toArray(attributes);
+        return attributeList.toArray(new Attribute[0]);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/47d5eaa0/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/DisplayEventType.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/DisplayEventType.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/DisplayEventType.java
index 73ba690..27e4789 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/DisplayEventType.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/DisplayEventType.java
@@ -67,6 +67,9 @@ public abstract class DisplayEventType {
 
         StringBuilder sb = new StringBuilder();
         for (CayenneMapEntry entry : array) {
+            if(entry == null) {
+                continue;
+            }
             sb.append(entry.getName()).append(",");
         }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/47d5eaa0/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/EntityDisplayEventType.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/EntityDisplayEventType.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/EntityDisplayEventType.java
index 1559fa1..c57a76f 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/EntityDisplayEventType.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/EntityDisplayEventType.java
@@ -30,7 +30,7 @@ import org.apache.cayenne.modeler.event.EntityDisplayEvent;
 
 class EntityDisplayEventType extends DisplayEventType {
 
-    public EntityDisplayEventType(ProjectController controller) {
+    EntityDisplayEventType(ProjectController controller) {
         super(controller);
     }
 
@@ -76,7 +76,7 @@ class EntityDisplayEventType extends DisplayEventType {
         }
     }
 
-    protected Entity getLastEntity(DataMap dataMap) {
+    Entity getLastEntity(DataMap dataMap) {
         return !preferences.getObjEntity().isEmpty()
                 ? dataMap.getObjEntity(preferences.getObjEntity())
                 : dataMap.getDbEntity(preferences.getDbEntity());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/47d5eaa0/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/RelationshipDisplayEventType.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/RelationshipDisplayEventType.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/RelationshipDisplayEventType.java
index 854fe3a..e166231 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/RelationshipDisplayEventType.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/RelationshipDisplayEventType.java
@@ -35,7 +35,7 @@ import java.util.List;
 
 class RelationshipDisplayEventType extends EntityDisplayEventType {
 
-    public RelationshipDisplayEventType(ProjectController controller) {
+    RelationshipDisplayEventType(ProjectController controller) {
         super(controller);
     }
 
@@ -89,19 +89,18 @@ class RelationshipDisplayEventType extends EntityDisplayEventType {
         }
     }
 
-    protected Relationship[] getLastEntityRelationships(Entity entity) {
-        List<Relationship> relationshipList = new ArrayList<Relationship>();
-        Relationship[] relationships = new Relationship[0];
-
-        String rels = (entity instanceof ObjEntity)
-                ? preferences.getObjRels()
-                : preferences.getDbRels();
+    private Relationship[] getLastEntityRelationships(Entity entity) {
+        List<Relationship> relationshipList = new ArrayList<>();
 
+        String rels = (entity instanceof ObjEntity) ? preferences.getObjRels() : preferences.getDbRels();
         for (String objRelName : rels.split(",")) {
-            relationshipList.add(entity.getRelationship(objRelName));
+            Relationship rel = entity.getRelationship(objRelName);
+            if(rel != null) {
+                relationshipList.add(rel);
+            }
         }
 
-        return relationshipList.toArray(relationships);
+        return relationshipList.toArray(new Relationship[0]);
     }
 
 }