Package org.sonatype.nexus.plugins.p2.repository.proxy

Examples of org.sonatype.nexus.plugins.p2.repository.proxy.P2ProxyRepositoryConfigurator


    this.repositoryRegistry = checkNotNull(repositoryRegistry);
  }

  @Override
  protected P2RepositoryAggregatorConfiguration createConfig(final Map<String, String> properties) throws Exception {
    return new P2RepositoryAggregatorConfiguration(properties);
  }
View Full Code Here


    configurations.remove(checkNotNull(configuration).repositoryId());
  }

  @Override
  public void updateP2Artifacts(final StorageItem item) {
    final P2RepositoryAggregatorConfiguration configuration = getConfiguration(item.getRepositoryId());
    if (configuration == null) {
      return;
    }
    logger.debug("Updating P2 repository artifacts (update) for [{}:{}]", item.getRepositoryId(), item.getPath());
    try {
      final Repository repository = repositories.getRepository(configuration.repositoryId());
      final RepositoryItemUid p2RepoUid = repository.createUid(P2_REPOSITORY_ROOT_PATH);
      File destinationP2Repository = null;
      try {
        p2RepoUid.getLock().lock(Action.update);

        // copy repository artifacts to a temporary location
        destinationP2Repository = createTemporaryP2Repository();
        final File artifacts = getP2Artifacts(configuration, repository);
        final File tempArtifacts = new File(destinationP2Repository, artifacts.getName());
        FileUtils.copyFile(artifacts, tempArtifacts);

        updateP2Artifacts(repository, retrieveFile(repository, item.getPath()), destinationP2Repository);

        // copy repository artifacts back to exposed location
        FileUtils.copyFile(tempArtifacts, artifacts);
      }
      finally {
        p2RepoUid.getLock().unlock();
        FileUtils.deleteDirectory(destinationP2Repository);
      }
    }
    catch (final Exception e) {
      logger.warn(
          String.format("Could not update P2 repository [%s:%s] with [%s] due to [%s]",
              configuration.repositoryId(), P2_REPOSITORY_ROOT_PATH, item.getPath(), e.getMessage()),
          e);
    }
  }
View Full Code Here

    }
  }

  @Override
  public void removeP2Artifacts(final StorageItem item) {
    final P2RepositoryAggregatorConfiguration configuration = getConfiguration(item.getRepositoryId());
    if (configuration == null) {
      return;
    }
    logger.debug("Updating P2 repository artifacts (remove) for [{}:{}]", item.getRepositoryId(), item.getPath());
    try {
      final Repository repository = repositories.getRepository(configuration.repositoryId());
      final RepositoryItemUid p2RepoUid = repository.createUid(P2_REPOSITORY_ROOT_PATH);
      File sourceP2Repository = null;
      File destinationP2Repository = null;
      try {
        p2RepoUid.getLock().lock(Action.update);

        // copy repository artifacts to a temporary location
        destinationP2Repository = createTemporaryP2Repository();
        final File artifacts = getP2Artifacts(configuration, repository);
        final File tempArtifacts = new File(destinationP2Repository, artifacts.getName());
        FileUtils.copyFile(artifacts, tempArtifacts);

        // copy item artifacts to a temp location
        sourceP2Repository = createTemporaryP2Repository();
        FileUtils.copyFile(retrieveFile(repository, item.getPath()), new File(sourceP2Repository,
            "artifacts.xml"));

        artifactRepository.remove(sourceP2Repository.toURI(), destinationP2Repository.toURI());

        // copy repository artifacts back to exposed location
        FileUtils.copyFile(tempArtifacts, artifacts);
      }
      finally {
        p2RepoUid.getLock().unlock();
        FileUtils.deleteDirectory(sourceP2Repository);
        FileUtils.deleteDirectory(destinationP2Repository);
      }
    }
    catch (final Exception e) {
      logger.warn(
          String.format("Could not update P2 repository [%s:%s] with [%s] due to [%s]",
              configuration.repositoryId(), P2_REPOSITORY_ROOT_PATH, item.getPath(), e.getMessage()),
          e);
    }
  }
View Full Code Here

    }
  }

  @Override
  public void updateP2Metadata(final StorageItem item) {
    final P2RepositoryAggregatorConfiguration configuration = getConfiguration(item.getRepositoryId());
    if (configuration == null) {
      return;
    }
    logger.debug("Updating P2 repository metadata (update) for [{}:{}]", item.getRepositoryId(), item.getPath());
    try {
      final Repository repository = repositories.getRepository(configuration.repositoryId());
      final RepositoryItemUid p2RepoUid = repository.createUid(P2_REPOSITORY_ROOT_PATH);
      File destinationP2Repository = null;
      try {
        p2RepoUid.getLock().lock(Action.update);

        // copy repository content to a temporary location
        destinationP2Repository = createTemporaryP2Repository();
        final File content = getP2Content(configuration, repository);
        final File tempContent = new File(destinationP2Repository, content.getName());
        FileUtils.copyFile(content, tempContent);

        updateP2Metadata(repository, retrieveFile(repository, item.getPath()), destinationP2Repository);

        // copy repository content back to exposed location
        FileUtils.copyFile(tempContent, content);
      }
      finally {
        p2RepoUid.getLock().unlock();
        FileUtils.deleteDirectory(destinationP2Repository);
      }
    }
    catch (final Exception e) {
      logger.warn(
          String.format("Could not update P2 repository [%s:%s] with [%s] due to [%s]",
              configuration.repositoryId(), P2_REPOSITORY_ROOT_PATH, item.getPath(), e.getMessage()),
          e);
    }
  }
View Full Code Here

    }
  }

  @Override
  public void removeP2Metadata(final StorageItem item) {
    final P2RepositoryAggregatorConfiguration configuration = getConfiguration(item.getRepositoryId());
    if (configuration == null) {
      return;
    }
    logger.debug("Updating P2 repository metadata (remove) for [{}:{}]", item.getRepositoryId(), item.getPath());
    try {
      final Repository repository = repositories.getRepository(configuration.repositoryId());
      final RepositoryItemUid p2RepoUid = repository.createUid(P2_REPOSITORY_ROOT_PATH);
      File sourceP2Repository = null;
      File destinationP2Repository = null;
      try {
        p2RepoUid.getLock().lock(Action.update);

        // copy repository content to a temporary location
        destinationP2Repository = createTemporaryP2Repository();
        final File content = getP2Content(configuration, repository);
        final File tempContent = new File(destinationP2Repository, content.getName());
        FileUtils.copyFile(content, tempContent);

        // copy item content to a temp location
        sourceP2Repository = createTemporaryP2Repository();
        FileUtils.copyFile(retrieveFile(repository, item.getPath()), new File(sourceP2Repository,
            "content.xml"));

        metadataRepository.remove(sourceP2Repository.toURI(), destinationP2Repository.toURI());

        // copy repository content back to exposed location
        FileUtils.copyFile(tempContent, content);
      }
      finally {
        p2RepoUid.getLock().unlock();
        FileUtils.deleteDirectory(sourceP2Repository);
        FileUtils.deleteDirectory(destinationP2Repository);
      }
    }
    catch (final Exception e) {
      logger.warn(
          String.format("Could not update P2 repository [%s:%s] with [%s] due to [%s]",
              configuration.repositoryId(), P2_REPOSITORY_ROOT_PATH, item.getPath(), e.getMessage()),
          e);
    }
  }
View Full Code Here

  @Override
  public void scanAndRebuild(final String repositoryId) {
    logger.debug("Rebuilding P2 repository for repository [{}]", repositoryId);

    final P2RepositoryAggregatorConfiguration configuration = getConfiguration(repositoryId);
    if (configuration == null) {
      logger.warn(
          "Rebuilding P2 repository for [{}] not executed as P2 Repository Generator capability is not enabled for this repository",
          repositoryId);
      return;
View Full Code Here

  public void on(final RepositoryEventExpireNotFoundCaches e) {
    inspect(e);
  }

  protected void inspect(final Event<?> evt) {
    final UpdateSiteProxyRepository updateSite =
        ((RepositoryEvent) evt).getRepository().adaptToFacet(UpdateSiteProxyRepository.class);

    if (updateSite != null
        && (evt instanceof RepositoryEventExpireNotFoundCaches ||
        ((RepositoryConfigurationUpdatedEvent) evt).isRemoteUrlChanged())) {
View Full Code Here

  @AllowConcurrentEvents
  public void inspect(final RepositoryRegistryEventAdd evt) {
    if (!systemStatusProvider.get().isNexusStarted()) {
      return;
    }
    final UpdateSiteProxyRepository updateSite =
        ((RepositoryRegistryEventAdd) evt).getRepository().adaptToFacet(UpdateSiteProxyRepository.class);

    if (updateSite != null) {
      updateSite.setExposed(false);
      final ScheduledTask<?> mirrorTask = UpdateSiteMirrorTask.submit(scheduler, updateSite, true);
      log.debug("Submitted " + mirrorTask.getName());
    }
  }
View Full Code Here

    repo.setProviderHint(providerHint);

    final Xpp3Dom ex = new Xpp3Dom(DefaultCRepository.EXTERNAL_CONFIGURATION_NODE_NAME);
    repo.setExternalConfiguration(ex);

    final P2GroupRepositoryConfiguration exConf = new P2GroupRepositoryConfiguration(ex);

    repo.externalConfigurationImple = exConf;

    repo.setWritePolicy(RepositoryWritePolicy.READ_ONLY.name());

    final CRepositoryCoreConfiguration result =
        new CRepositoryCoreConfiguration(getTemplateProvider().getApplicationConfiguration(), repo,
            new CRepositoryExternalConfigurationHolderFactory<P2GroupRepositoryConfiguration>()
            {
              @Override
              public P2GroupRepositoryConfiguration createExternalConfigurationHolder(final CRepository config) {
                return new P2GroupRepositoryConfiguration((Xpp3Dom) config.getExternalConfiguration());
              }
            });

    return result;
  }
View Full Code Here

    final Xpp3Dom[] artifactRepositories = dom.getChildren("repository");
    for (final Xpp3Dom artifactRepositoryDom : artifactRepositories) {
      final String repositoryUri = artifactRepositoryDom.getAttribute("uri");

      final Map<String, ArtifactPath> artifactPaths = new LinkedHashMap<String, ArtifactPath>();
      final ArtifactMapping artifactMapping = new ArtifactMapping(repositoryUri, artifactPaths);
      for (final Xpp3Dom artifactDom : artifactRepositoryDom.getChildren("artifact")) {
        artifactPaths.put(artifactDom.getAttribute("remotePath"),
            new ArtifactPath(artifactDom.getAttribute("remotePath"), artifactDom.getAttribute("md5")));
      }
      tempRemoteArtifactMappings.put(repositoryUri, artifactMapping);
View Full Code Here

TOP

Related Classes of org.sonatype.nexus.plugins.p2.repository.proxy.P2ProxyRepositoryConfigurator

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.