From ada3843019835ece215d1c291572d32733d04821 Mon Sep 17 00:00:00 2001
From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04>
Date: Tue, 29 Mar 2011 09:58:46 +0000
Subject: [PATCH] cache info parts in getInfoValue()

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@15834 ee4ac58c-ac51-4696-9907-e4b3aa274f04
---
 uk/ac/sanger/artemis/components/variant/VCFRecord.java | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/uk/ac/sanger/artemis/components/variant/VCFRecord.java b/uk/ac/sanger/artemis/components/variant/VCFRecord.java
index 38af5972c..7a05c30d2 100644
--- a/uk/ac/sanger/artemis/components/variant/VCFRecord.java
+++ b/uk/ac/sanger/artemis/components/variant/VCFRecord.java
@@ -42,6 +42,7 @@ class VCFRecord
   private float quality;
   private String filter;
   private String info;
+  private String infos[];
   private String format;
   private String data[][];
   private short synFlag = -1;
@@ -111,10 +112,11 @@ class VCFRecord
    */
   protected String getInfoValue(String key)
   {
-    String parts[] = SEMICOLON_PATTERN.split(info);
-    for(int i=0; i<parts.length; i++)
-      if(parts[i].startsWith(key+"="))
-        return parts[i].substring(key.length()+1);
+    if(infos == null)
+      infos = SEMICOLON_PATTERN.split(info);
+    for(int i=0; i<infos.length; i++)
+      if(infos[i].startsWith(key+"="))
+        return infos[i].substring(key.length()+1);
     return null;
   }
   
-- 
GitLab