From 9b51cc56afb95ac30ab924835a54cbc225a25b63 Mon Sep 17 00:00:00 2001
From: tcarver <tjc>
Date: Wed, 16 Jan 2013 10:41:31 +0000
Subject: [PATCH] catch nullpointer

---
 .../chado/ClusterLazyQualifierValue.java      | 20 ++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/uk/ac/sanger/artemis/chado/ClusterLazyQualifierValue.java b/uk/ac/sanger/artemis/chado/ClusterLazyQualifierValue.java
index 8df8d510b..e81ae4f62 100644
--- a/uk/ac/sanger/artemis/chado/ClusterLazyQualifierValue.java
+++ b/uk/ac/sanger/artemis/chado/ClusterLazyQualifierValue.java
@@ -388,17 +388,23 @@ public class ClusterLazyQualifierValue implements LazyQualifierValue
     if(!subjectFeature.getCvTerm().getName().equals("gene") ||
        !subjectFeature.getCvTerm().getName().equals("pseudogene"))
     {
-      Feature parent = getParentFeature(subjectFeature);
-
-      if(parent.getCvTerm().getName().equals("gene") ||
-         parent.getCvTerm().getName().equals("pseudogene"))
-        geneName = parent.getUniqueName();
-      else if(parent != null)
+      Feature parent = getParentFeature(subjectFeature);  
+      try
       {
-        parent = getParentFeature(parent);
         if(parent.getCvTerm().getName().equals("gene") ||
            parent.getCvTerm().getName().equals("pseudogene"))
           geneName = parent.getUniqueName();
+        else if(parent != null)
+        {
+          parent = getParentFeature(parent);
+          if(parent.getCvTerm().getName().equals("gene") ||
+             parent.getCvTerm().getName().equals("pseudogene"))
+            geneName = parent.getUniqueName();
+        }
+      }
+      catch(NullPointerException npe)
+      {
+        System.err.println(geneName+" parent not found"); 
       }
     }
     return geneName;
-- 
GitLab