package jalview.util; import java.util.*; import jalview.datamodel.*; public class DBRefUtils { /** * Utilities for handling DBRef objects and their collections. */ /** * * @param dbrefs Vector of DBRef objects to search * @param sources String[] array of source DBRef IDs to retrieve * @return Vector */ public static Vector selectRefs(java.util.Vector dbrefs, String[] sources) { if (dbrefs==null) return null; if (sources==null) return dbrefs; Hashtable srcs = new Hashtable(); Vector res=new Vector(); for (int i=0; i0) return res; res = null; // there are probable memory leaks in the hashtable! return null; } /** * isDasCoordinateSystem * * @param string String * @param dBRefEntry DBRefEntry * @return boolean true if Source DBRefEntry is compatible with DAS CoordinateSystem name */ public static Hashtable DasCoordinateSystemsLookup = null; public static boolean isDasCoordinateSystem(String string, DBRefEntry dBRefEntry) { if (DasCoordinateSystemsLookup==null) { // Initialise DasCoordinateSystemsLookup = new Hashtable(); DasCoordinateSystemsLookup.put("pdbresnum", jalview.datamodel.DBRefSource.PDB); DasCoordinateSystemsLookup.put("uniprot", jalview.datamodel.DBRefSource.UNIPROT); } String coordsys = (String) DasCoordinateSystemsLookup.get(string.toLowerCase()); if (coordsys!=null) return coordsys.equals(dBRefEntry.getSource()); return false; } }