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