示例#1
0
 public void filter(Collection list) throws Exception {
   resetStorage();
   initializeStorage(new Vector());
   Iterator i, j;
   Metadata data;
   MetadataBase newData;
   String criteria;
   i = list.iterator();
   while (i.hasNext()) {
     data = (Metadata) i.next();
     criteria = defineCriteria(data);
     if (null != criteria) {
       agent.setCriteria(criteria);
       agent.search();
       if (0 == agent.getResults().size()) store(data);
       else {
         j = agent.getResults().iterator();
         while (j.hasNext()) {
           newData = new MetadataBase();
           newData.setOrigin(data.getOrigin());
           newData.setName(data.getName());
           newData.merge(agent.getName(), (Metadata) j.next());
           newData.merge(data);
           store(newData);
         }
       }
     }
   }
 }
示例#2
0
 public boolean hasBeenRenumbered(Origin sourceOrigin) {
   try {
     SynchronizationService s = SynchronizationClient.getClient();
     Origin lastSynchronization =
         s.lastSynchronization(
             sourceOrigin.getDomainName(),
             sourceOrigin.getServerName(),
             sourceOrigin.getRepositoryName(),
             sourceOrigin.getName());
     if (null == lastSynchronization) return false;
     Collection c = s.findAllSynchronizationOrigins(lastSynchronization);
     Iterator i = c.iterator();
     Origin t;
     Repository targetRepository = getPenPolicy().getTargetRepository();
     while (i.hasNext()) {
       t = (Origin) i.next();
       if (!t.getDomainName().equals(targetRepository.getDomainName())) continue;
       else if (!t.getServerName().equals(targetRepository.getServerName())) continue;
       else if (!t.getRepositoryName().equals(targetRepository.getRepositoryName())) continue;
       else {
         Metadata txData = lookupTxMetadata(getCurrentItem());
         if (t.getName().equalsIgnoreCase(txData.getName())) return false;
         else return true;
       }
     }
   } catch (Exception e) {
     e.printStackTrace();
     return false;
   }
   return false;
 }