Пример #1
0
  private boolean hasBeenSynchronized(Collection targetSynchronizations) {
    // See if this origin is already synchronized to the target repository
    boolean hasBeenSynchronized = false;
    Repository trgRep = getPenPolicy().getTargetRepository();
    String repDomain, repServer, repName;
    repDomain = trgRep.getDomainName();
    repServer = trgRep.getServerName();
    repName = trgRep.getName();
    Iterator i = targetSynchronizations.iterator();

    Origin trgOrigin = null;
    String trgDomain, trgServer, trgRepository;
    while (i.hasNext() && !hasBeenSynchronized) {
      trgOrigin = (Origin) i.next();
      trgDomain = trgOrigin.getDomainName();
      trgServer = trgOrigin.getServerName();
      trgRepository = trgOrigin.getDatasourceName();
      if (trgDomain.equalsIgnoreCase(repDomain)
          && trgServer.equalsIgnoreCase(repServer)
          && trgRepository.equalsIgnoreCase(repName)) {
        hasBeenSynchronized = true;
      }
    }
    return hasBeenSynchronized;
  }
Пример #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;
 }
Пример #3
0
  public void execute() throws Exception {
    Map ecoTableCopy = getPenData().getECOReferenceTableCopy();
    if (null == ecoTableCopy) return;
    String key = null;
    ECO eco = null;
    Repository targetRepository = null;
    RepositoryECOTarget ecoTarget = null;

    Iterator itr = ecoTableCopy.keySet().iterator();
    while (itr.hasNext()) {
      key = (String) itr.next();
      eco = (ECO) ecoTableCopy.get(key);
      targetRepository = getPenPolicy().getTargetRepository();
      ecoTarget = targetRepository.materializeECOTarget();
      ecoTarget.deleteEmptyECO(getQxCtx(), eco.getNumber(), isHardDelete(), getAuthentication());
      RecorderUtil.logActivity(getQxCtx(), "Examined  ECO to delete", eco.getNumber());
    }
  }
Пример #4
0
 private boolean hasBeenModified(Origin sourceOrigin) throws Exception {
   // if an earlier version was previously published
   boolean hasBeenModified = false;
   String name = sourceOrigin.getName();
   String srcDomain = sourceOrigin.getDomainName();
   String srcServer = sourceOrigin.getServerName();
   String srcRepository = sourceOrigin.getRepositoryName();
   Repository trgRep = getPenPolicy().getTargetRepository();
   String repDomain, repServer, repRepository;
   repDomain = trgRep.getDomainName();
   repServer = trgRep.getServerName();
   repRepository = trgRep.getName();
   // Get the synch records for this name
   SynchronizationService r = SynchronizationClient.getClient();
   Collection c = r.findNameSynchronization(srcDomain, srcServer, srcRepository, name);
   if (null == c || c.isEmpty()) return false;
   SynchronizationRecord rec = null;
   Iterator i = c.iterator();
   Origin o1, oa;
   Origin trgOrigin = null;
   String trgDomain, trgServer, trgRepository;
   while (i.hasNext() && !hasBeenModified) {
     rec = (SynchronizationRecord) i.next();
     o1 = rec.getOrigin0();
     oa = rec.getOriginA();
     // identify which origin is the target
     if (sourceOrigin.isFromSameDatasource(o1)) trgOrigin = oa;
     else if (sourceOrigin.isFromSameDatasource(oa)) trgOrigin = o1;
     else continue; // does not come from same source as sourceOrigin
     // see if the target origin for this name matches the target repository
     trgDomain = trgOrigin.getDomainName();
     trgServer = trgOrigin.getServerName();
     trgRepository = trgOrigin.getDatasourceName();
     if (trgDomain.equalsIgnoreCase(repDomain)
         && trgServer.equalsIgnoreCase(repServer)
         && trgRepository.equalsIgnoreCase(repRepository)) {
       hasBeenModified = true;
     }
   }
   return hasBeenModified;
 }