From 09c8d323107302cff22027d0f12b32285422e4a9 Mon Sep 17 00:00:00 2001
From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04>
Date: Tue, 15 Mar 2011 12:24:22 +0000
Subject: [PATCH] catch NullPointerException from TabixReader

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@15721 ee4ac58c-ac51-4696-9907-e4b3aa274f04
---
 .../artemis/components/variant/IOUtils.java   | 25 ++++++++++++-------
 1 file changed, 16 insertions(+), 9 deletions(-)

diff --git a/uk/ac/sanger/artemis/components/variant/IOUtils.java b/uk/ac/sanger/artemis/components/variant/IOUtils.java
index 1de636c8f..601d55471 100644
--- a/uk/ac/sanger/artemis/components/variant/IOUtils.java
+++ b/uk/ac/sanger/artemis/components/variant/IOUtils.java
@@ -234,7 +234,7 @@ class IOUtils
     {
       e.printStackTrace();
     }
-    
+
     if(!view)
       new MessageDialog (null, "Saved Files", fastaFiles, false);
     else
@@ -565,15 +565,22 @@ class IOUtils
     }
     else
     {
-      TabixReader.Iterator iter = 
-        (((TabixReader) reader).query(chr+":"+sbeg+"-"+send)); // get the iterator
-      String s;
-      while ((s = iter.next()) != null)
+      try
       {
-        VCFRecord record = VCFRecord.parse(s);
-        int basePosition = record.getPos() + vcfView.getSequenceOffset(record.getChrom());
-        if(vcfView.showVariant(record, features, basePosition, vcf_v4) )
-          basesStr = getSeqsVariation(record, basesStr, sbeg, isFwd, vcf_v4);
+        TabixReader.Iterator iter = 
+          (((TabixReader) reader).query(chr+":"+sbeg+"-"+send)); // get the iterator
+        String s;
+        while (iter != null && (s = iter.next()) != null)
+        {
+          VCFRecord record = VCFRecord.parse(s);
+          int basePosition = record.getPos() + vcfView.getSequenceOffset(record.getChrom());
+          if(vcfView.showVariant(record, features, basePosition, vcf_v4) )
+            basesStr = getSeqsVariation(record, basesStr, sbeg, isFwd, vcf_v4);
+        }
+      }
+      catch(NullPointerException e)
+      {
+        System.err.println(chr+":"+sbeg+"-"+send+"\n"+e.getMessage());
       }
     }
     return basesStr;
-- 
GitLab