コード例 #1
0
 @Override
 public boolean storeArtifactStore(
     final ArtifactStore key,
     final ChangeSummary summary,
     final boolean skipIfExists,
     final EventMetadata eventMetadata)
     throws IndyDataException {
   return delegate.storeArtifactStore(key, summary, skipIfExists, new EventMetadata());
 }
コード例 #2
0
  private ArtifactStore getRequestStore(PromoteRequest promoteRequest, String baseUrl)
      throws PromotionValidationException {
    final ArtifactStore store;
    final Logger logger = LoggerFactory.getLogger(getClass());
    if (needTempRepo(promoteRequest)) {
      logger.info(
          "Promotion temporary repo is needed for {}, points to {} ",
          promoteRequest.getSource(),
          baseUrl);
      final PathsPromoteRequest pathsReq = (PathsPromoteRequest) promoteRequest;

      String tempName =
          PROMOTE_REPO_PREFIX
              + "tmp_"
              + pathsReq.getSource().getName()
              + new SimpleDateFormat("yyyyMMdd.hhmmss.SSSZ").format(new Date());

      final RemoteRepository tempRemote = new RemoteRepository(tempName, baseUrl);

      tempRemote.setPathMaskPatterns(pathsReq.getPaths());

      store = tempRemote;
      try {
        storeDataMgr.storeArtifactStore(
            tempRemote,
            new ChangeSummary(ChangeSummary.SYSTEM_USER, "create temp remote repository"));
      } catch (IndyDataException e) {
        throw new PromotionValidationException(
            "Can not store the temp remote repository correctly", e);
      }
    } else {
      logger.info("Promotion temporary repo is not needed for {} ", promoteRequest.getSource());
      try {
        store = storeDataMgr.getArtifactStore(promoteRequest.getSource());
      } catch (IndyDataException e) {
        throw new PromotionValidationException(
            "Failed to retrieve source ArtifactStore: {}. Reason: {}",
            e,
            promoteRequest.getSource(),
            e.getMessage());
      }
    }
    return store;
  }