+ public boolean updatePDBIds()
+ {
+ if (dbrefs==null || dbrefs.length==0)
+ {
+ return false;
+ }
+ Vector newpdb = new Vector();
+ for (int i=0; i<dbrefs.length;i++)
+ {
+ if (DBRefSource.PDB.equals(dbrefs[i].getSource()))
+ {
+ PDBEntry pdbe = new PDBEntry();
+ pdbe.setId(dbrefs[i].getAccessionId());
+ if (pdbIds==null || pdbIds.size()==0)
+ {
+ newpdb.addElement(pdbe);
+ } else {
+ Enumeration en = pdbIds.elements();
+ boolean matched=false;
+ while (!matched && en.hasMoreElements())
+ {
+ PDBEntry anentry = (PDBEntry) en.nextElement();
+ if (anentry.getId().equals(pdbe.getId()))
+ {
+ matched=true;
+ }
+ }
+ if (!matched)
+ {
+ newpdb.addElement(pdbe);
+ }
+ }
+ }
+ }
+ if (newpdb.size()>0)
+ {
+ Enumeration en = newpdb.elements();
+ while (en.hasMoreElements())
+ {
+ addPDBId((PDBEntry) en.nextElement());
+ }
+ return true;
+ }
+ return false;
+ }
+