diff --git a/uk/ac/sanger/artemis/chado/ChadoTransaction.java b/uk/ac/sanger/artemis/chado/ChadoTransaction.java index ea8bf6ebd8bf1d94efebb2a020df7b133bb860bf..befeca70858e8a64d7abcdd4aa7736c9cde55abb 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 c5e8a5086630688e48b5f989bfeb1f0e1ec20c7f..99319e276f61048aaf9b52bd52b2d10f9a446615 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);