From f5b720fb401d1afe8740232b054ab67704acf4ff Mon Sep 17 00:00:00 2001
From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04>
Date: Fri, 19 Mar 2010 17:20:23 +0000
Subject: [PATCH] fixes

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@13534 ee4ac58c-ac51-4696-9907-e4b3aa274f04
---
 .../genebuilder/cv/AbstractCvBox.java         | 22 ++++++-------------
 1 file changed, 7 insertions(+), 15 deletions(-)

diff --git a/uk/ac/sanger/artemis/components/genebuilder/cv/AbstractCvBox.java b/uk/ac/sanger/artemis/components/genebuilder/cv/AbstractCvBox.java
index 70381ab2d..8a0a7f093 100644
--- a/uk/ac/sanger/artemis/components/genebuilder/cv/AbstractCvBox.java
+++ b/uk/ac/sanger/artemis/components/genebuilder/cv/AbstractCvBox.java
@@ -69,30 +69,22 @@ abstract class AbstractCvBox
    */
   protected static String getFieldIgnoreSeparator(final String fieldName, final String qualifierString)
   {
-    String[] parts = qualifierString.split("=");
+    String[] completeValues = qualifierString.split(";[\\S&&[^;=]]+=");   
     StringBuffer buff = null;
-    for(int i=0; i<parts.length; i++)
+    for(int i=0; i<completeValues.length; i++)
     {
-      if(parts[i].endsWith(fieldName) && i<parts.length-1)
+      if(qualifierString.indexOf(fieldName+"="+completeValues[i])>-1)
       {
         if(buff == null)
           buff = new StringBuffer();
         else
           buff.append("; ");
-        
-        String part = parts[i+1];
-        if(i<parts.length-2)
-        {
-          int ind = part.lastIndexOf(';');
-          buff.append(part.substring(0, ind));
-        }
-        else
-          buff.append(part);
+        buff.append(completeValues[i]);
       }
     }
-    if(buff != null)
-      return buff.toString();
-    return getField(fieldName, qualifierString);
+    if(buff == null)
+      return getField(fieldName, qualifierString);
+    return buff.toString();
   }
   
   /**
-- 
GitLab