From 6cd840e6176f8ebb4a48e89c8095d71cf3652058 Mon Sep 17 00:00:00 2001
From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04>
Date: Thu, 28 Jul 2005 09:27:05 +0000
Subject: [PATCH] chado update qualifiers

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@3304 ee4ac58c-ac51-4696-9907-e4b3aa274f04
---
 uk/ac/sanger/artemis/chado/ChadoTransaction.java   | 14 ++++++++++++--
 .../artemis/chado/ChadoTransactionManager.java     |  8 ++++----
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/uk/ac/sanger/artemis/chado/ChadoTransaction.java b/uk/ac/sanger/artemis/chado/ChadoTransaction.java
index ea8bf6ebd..befeca708 100644
--- a/uk/ac/sanger/artemis/chado/ChadoTransaction.java
+++ b/uk/ac/sanger/artemis/chado/ChadoTransaction.java
@@ -28,6 +28,7 @@ import java.util.Properties;
 import java.util.Hashtable;
 import java.util.Vector;
 import java.util.Enumeration;
+import java.util.StringTokenizer;
 
 /**
 *
@@ -141,8 +142,17 @@ public class ChadoTransaction
         if(enum_prop.hasMoreElements())
           sqlBuff.append(" , ");
       }
-      sqlBuff.append(" WHERE feature.feature_id="+chadoTable+".feature_id AND feature.uniquename='");
-      sqlBuff.append(uniquename+"'");
+      sqlBuff.append(" WHERE feature.feature_id="+chadoTable+".feature_id AND (");
+    
+      StringTokenizer tok = new StringTokenizer(uniquename,",");
+      while(tok.hasMoreTokens())
+      {
+        sqlBuff.append(" feature.uniquename='" + tok.nextToken()+"' ");
+        if(tok.hasMoreTokens())
+          sqlBuff.append("OR");
+      }
+
+      sqlBuff.append(")");
 
       if(constraint != null)
       {
diff --git a/uk/ac/sanger/artemis/chado/ChadoTransactionManager.java b/uk/ac/sanger/artemis/chado/ChadoTransactionManager.java
index c5e8a5086..99319e276 100644
--- a/uk/ac/sanger/artemis/chado/ChadoTransactionManager.java
+++ b/uk/ac/sanger/artemis/chado/ChadoTransactionManager.java
@@ -173,15 +173,15 @@ public class ChadoTransactionManager
           tsn = new ChadoTransaction(ChadoTransaction.UPDATE,
                                      feature_id, "featureprop");
 
-          final StringVector qualifier_strings =
+          final StringVector new_qualifier_strings =
                        StreamQualifier.toStringVector(null, this_qualifier);
 
           String cvterm_id = DatabaseDocument.getCvtermID(name).toString();
-          
-          for(int value_index = 0; value_index < qualifier_strings.size();
+
+          for(int value_index = 0; value_index < new_qualifier_strings.size();
               ++value_index)
           {
-            String qualifier_string = qualifier_strings.elementAt(value_index);
+            String qualifier_string = new_qualifier_strings.elementAt(value_index);
             int index = qualifier_string.indexOf("=");
             if(index > -1)
               qualifier_string = qualifier_string.substring(index+1);
-- 
GitLab