{
updateDbrefMappings(dna, seq, xrfs, retrieved, cf);
+ SequenceIdMatcher matcher = new SequenceIdMatcher(
+ dataset.getSequences());
+ matcher.addAll(addedPeers);
List<SequenceFeature> copiedFeatures = new ArrayList<SequenceFeature>();
CrossRef me = new CrossRef();
for (int rs = 0; rs < retrieved.length; rs++)
{
if (map.getTo() != null && map.getMap() != null)
{
- // should search the local dataset to find any existing
- // candidates for To !
+ SequenceI matched = matcher
+ .findIdMatch(map.getTo());
+ if (matched != null)
+ {
+ map.setTo(matched);
+ }
+ else
+ {
+ matcher.add(map.getTo());
+ }
try
{
// compare ms with dss and replace with dss in mapping
}
else
{
- addedPeers.add(map.getTo());
+ if (!addedPeers.contains(map.getTo()))
+ {
+ addedPeers.add(map.getTo());
+ }
cf.addMap(retrieved[rs].getDatasetSequence(),
map.getTo(), map.getMap());
}