Skip to content
Snippets Groups Projects
Commit 22771652 authored by tcarver's avatar tcarver
Browse files

extra check in getQualifierWithoutDuplicateValues() for history

qualifiers
parent 5aee7aff
Branches
Tags
No related merge requests found
...@@ -750,10 +750,19 @@ public class TransferAnnotationTool extends JFrame ...@@ -750,10 +750,19 @@ public class TransferAnnotationTool extends JFrame
{ {
StringVector newValues = qualifier.getValues(); StringVector newValues = qualifier.getValues();
StringVector valuesToAdd = new StringVector(); StringVector valuesToAdd = new StringVector();
for (int k = 0; k < newValues.size(); k++) for (int k = 0; k < newValues.size(); k++)
{ {
if(!values.contains(newValues.get(k))) if(!values.contains(newValues.get(k)))
valuesToAdd.add(newValues.get(k)); {
if(qualifier.getName().equals("history"))
{
if(!uk.ac.sanger.artemis.components.genebuilder.cv.HistoryBox.contains(values, (String)newValues.get(k)))
valuesToAdd.add(newValues.get(k));
}
else
valuesToAdd.add(newValues.get(k));
}
} }
if(valuesToAdd.size() == 0) if(valuesToAdd.size() == 0)
......
...@@ -44,7 +44,7 @@ import uk.ac.sanger.artemis.io.QualifierVector; ...@@ -44,7 +44,7 @@ import uk.ac.sanger.artemis.io.QualifierVector;
import uk.ac.sanger.artemis.util.DatabaseDocument; import uk.ac.sanger.artemis.util.DatabaseDocument;
import uk.ac.sanger.artemis.util.StringVector; import uk.ac.sanger.artemis.util.StringVector;
class HistoryBox extends AbstractCvBox public class HistoryBox extends AbstractCvBox
{ {
private Box xBox; private Box xBox;
private int value_index; private int value_index;
...@@ -164,6 +164,35 @@ class HistoryBox extends AbstractCvBox ...@@ -164,6 +164,35 @@ class HistoryBox extends AbstractCvBox
return false; return false;
} }
public static boolean contains(StringVector oldQualValues, String newQualString)
{
for(int i=0; i<oldQualValues.size(); i++)
{
String oldQualString = (String) oldQualValues.get(i);
String oldStr = getField("term=", oldQualString);
String newStr = getField("term=", newQualString);
if(!oldStr.equals(newStr))
continue;
oldStr = getFieldIgnoreSeparator("qualifier", oldQualString);
newStr = getFieldIgnoreSeparator("qualifier", newQualString);
if(!oldStr.equals(newStr))
continue;
oldStr = getField("date=", oldQualString);
newStr = getField("date=", newQualString);
if(!oldStr.equals(newStr))
continue;
oldStr = getField("curatorName=", oldQualString);
newStr = getField("curatorName=", newQualString);
if(oldStr.equals(newStr))
return true;
}
return false;
}
protected void updateQualifier(QualifierVector qv) protected void updateQualifier(QualifierVector qv)
{ {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment