import java.util.Collection;
import java.util.Enumeration;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
List<SOURCE> dassources = sources.getSOURCE();
ArrayList<jalviewSourceI> dsrc = new ArrayList<jalviewSourceI>();
+ HashMap<String,Integer> latests=new HashMap<String, Integer>();
+ Integer latest;
for (SOURCE src : dassources)
{
- dsrc.add(new JalviewSource(src, false));
+ JalviewSource jsrc=new JalviewSource(src, false);
+ latest=latests.get(jsrc.getSourceURL());
+ if (latest!=null)
+ {
+ if (jsrc.isNewerThan(dsrc.get(latest.intValue())))
+ {
+ dsrc.set(latest.intValue(), jsrc);
+ } else {
+ System.out.println("Debug: Ingored older source "+jsrc.getTitle());
+ }
+ } else {
+ latests.put(jsrc.getSourceURL(), Integer.valueOf(dsrc.size()));
+ dsrc.add(jsrc);
+ }
}
return dsrc;
} catch (Exception ex)