Package org.sonatype.nexus.proxy.repository

Examples of org.sonatype.nexus.proxy.repository.ProxyRepository


      throws ConfigurationException
  {
    super.doApplyConfiguration(repository, configuration, coreConfiguration);

    if (repository.getRepositoryKind().isFacetAvailable(ProxyRepository.class)) {
      ProxyRepository proxy = repository.adaptToFacet(ProxyRepository.class);

      proxy.getItemContentValidators().put("checksum", checksumValidator);
      proxy.getItemContentValidators().put("filetypevalidator", fileTypeItemContentValidator);
    }
  }
View Full Code Here


    RemoteStorageContext remoteStorageContext = applicationConfiguration.getGlobalRemoteStorageContext();
    String actualProtocolHint = protocolHint;
    String actualHost = host;
    String actualPort = port;
    if (repositoryId != null) {
      final ProxyRepository repository = repositoryRegistry.getRepositoryWithFacet(
          repositoryId, ProxyRepository.class
      );
      final URL url = new URL(repository.getRemoteUrl());
      actualHost = url.getHost();
      actualPort = String.valueOf(url.getPort() == -1 ? url.getDefaultPort() : url.getPort());
      remoteStorageContext = repository.getRemoteStorageContext();
      if (actualProtocolHint == null) {
        actualProtocolHint = "https";
      }
    }
    if (actualHost != null) {
View Full Code Here

            repository.setSearchable(model.isIndexable());

            repository.setNotFoundCacheTimeToLive(model.getNotFoundCacheTTL());

            if (repository.getRepositoryKind().isFacetAvailable(ProxyRepository.class)) {
              ProxyRepository proxyRepo = repository.adaptToFacet(ProxyRepository.class);

              try {
                proxyRepo.setRemoteUrl(model.getRemoteStorage().getRemoteStorageUrl());
              }
              catch (RemoteStorageException e) {
                ValidationResponse vr = new ApplicationValidationResponse();
                ValidationMessage error = new ValidationMessage("remoteStorageUrl", e.getMessage(), e.getMessage());
                vr.addValidationError(error);
                throw new InvalidConfigurationException(vr);
              }
              String oldPasswordForRemoteStorage = null;
              if (proxyRepo.getRemoteAuthenticationSettings() != null
                  && UsernamePasswordRemoteAuthenticationSettings.class.isInstance(proxyRepo
                  .getRemoteAuthenticationSettings())) {
                oldPasswordForRemoteStorage =
                    ((UsernamePasswordRemoteAuthenticationSettings) proxyRepo
                        .getRemoteAuthenticationSettings()).getPassword();
              }

              RemoteAuthenticationSettings remoteAuth =
                  getAuthenticationInfoConverter().convertAndValidateFromModel(
                      this.convertAuthentication(model.getRemoteStorage().getAuthentication(),
                          oldPasswordForRemoteStorage));
              RemoteConnectionSettings remoteConnSettings =
                  getGlobalRemoteConnectionSettings().convertAndValidateFromModel(
                      this.convertRemoteConnectionSettings(model.getRemoteStorage()
                          .getConnectionSettings()));

              if (remoteAuth != null) {
                proxyRepo.setRemoteAuthenticationSettings(remoteAuth);
              }
              else {
                proxyRepo.getRemoteStorageContext().removeRemoteAuthenticationSettings();
              }

              if (remoteConnSettings != null) {
                proxyRepo.setRemoteConnectionSettings(remoteConnSettings);
              }
              else {
                proxyRepo.getRemoteStorageContext().removeRemoteConnectionSettings();
              }

              // set auto block
              proxyRepo.setAutoBlockActive(((RepositoryProxyResource) model).isAutoBlockActive());

              // set type validation
              proxyRepo.setFileTypeValidation(((RepositoryProxyResource) model).isFileTypeValidation());

            }

            if (repository.getRepositoryKind().isFacetAvailable(MavenRepository.class)) {
              RepositoryPolicy repoPolicy =
View Full Code Here

      resource.setFormat(repo.getRepositoryContentClass().getId());

      resource.setLocalStatus(repo.getLocalStatus().toString());

      if (repo.getRepositoryKind().isFacetAvailable(ProxyRepository.class)) {
        ProxyRepository prepo = repo.adaptToFacet(ProxyRepository.class);

        resource.setRemoteStatus(getRestRepoRemoteStatus(prepo, request, response));

        resource.setProxyMode(prepo.getProxyMode().toString());
      }

      result = new RepositoryStatusResourceResponse();

      result.setData(resource);
View Full Code Here

   * The repository is capable of remote access for indexing purposes.
   *
   * @since 2.7.0
   */
  private boolean REMOTEACCESSALLOWED(Repository repository) {
    final ProxyRepository proxyRepository = repository.adaptToFacet(ProxyRepository.class);
    if (proxyRepository != null) {
      return proxyRepository.getProxyMode().shouldProxy();
    }
    else {
      return false;
    }
  }
View Full Code Here

      throws Exception
  {
    Maven2ProxyRepositoryTemplate t =
        (Maven2ProxyRepositoryTemplate) lookup(TemplateManager.class).getTemplate(RepositoryTemplate.class, "default_proxy_snapshot");
    t.getConfigurableRepository().setId("invalidUrlRepo");
    ProxyRepository r = t.create().adaptToFacet(ProxyRepository.class);
    r.setRemoteUrl("http://repository.sonatyp.org/content/repositories/snapshots");

    nexusConfiguration().saveConfiguration();

    indexerManager.reindexRepository("/", r.getId(), true);
  }
View Full Code Here

  }

  @AllowConcurrentEvents
  @Subscribe
  public void on(RepositoryItemEventCache itemEvent) {
    final ProxyRepository repository = itemEvent.getRepository().adaptToFacet(ProxyRepository.class);
    StorageItem item = itemEvent.getItem();
    if (repository != null && item.getPath().toLowerCase().equals("/" + Yum.PATH_OF_REPOMD_XML)) {
      try {
        log.debug("Resetting processed flag... ({}:{} cached)", repository.getId(), item.getPath());
        item.getRepositoryItemAttributes().remove(YumProxy.PROCESSED);
        repository.getAttributesHandler().storeAttributes(item);
      }
      catch (IOException e) {
        log.warn("Failed to reset processing flag for {}:{}", repository.getId(), item.getPath(), e);
      }

      log.debug("Marking group repositories as dirty... ({}:{} cached)", repository.getId(), item.getPath());
      List<GroupRepository> groups = repositoryRegistryProvider.get().getGroupsOfRepository(repository);
      for (GroupRepository group : groups) {
        Yum yum = yumRegistryProvider.get().get(group.getId());
        if (yum != null && yum instanceof YumGroup) {
          ((YumGroup) yum).markDirty();
        }
      }

      try {
        log.debug("Removing obsolete metadata files... ({}:{} cached)", repository.getId(), item.getPath());
        RepoMD repoMD = new RepoMD(((StorageFileItem) item).getInputStream());
        final Collection<String> locations = repoMD.getLocations();
        ResourceStoreRequest request = new ResourceStoreRequest("/" + Yum.PATH_OF_REPODATA);
        request.getRequestContext().put(AccessManager.REQUEST_AUTHORIZED, Boolean.TRUE);
        DefaultWalkerContext context = new DefaultWalkerContext(repository, request);
        context.getProcessors().add(new AbstractFileWalkerProcessor()
        {
          @Override
          protected void processFileItem(final WalkerContext context, final StorageFileItem item) throws Exception {
            if (!item.getPath().equals("/" + Yum.PATH_OF_REPOMD_XML)
                && !locations.contains(item.getPath().substring(1))) {
              log.trace("Removing obsolete {}:{}", repository.getId(), item.getPath());
              repository.deleteItem(true, item.getResourceStoreRequest());
            }
          }
        });
        walkerProvider.get().walk(context);
      }
View Full Code Here

      throws ConfigurationException
  {
    super.doApplyConfiguration(repository, configuration, coreConfiguration);

    if (repository.getRepositoryKind().isFacetAvailable(ProxyRepository.class)) {
      final ProxyRepository proxy = repository.adaptToFacet(ProxyRepository.class);

      proxy.getItemContentValidators().put("checksum", checksumValidator);
      proxy.getItemContentValidators().put("filetypevalidator", fileTypeItemContentValidator);
    }
  }
View Full Code Here

  @Test
  public void deleteCollectionWithSiblings()
      throws Exception
  {
    final ProxyRepository repo1 = getRepositoryRegistry().getRepositoryWithFacet("repo1", ProxyRepository.class);
    repo1.retrieveItem(new ResourceStoreRequest("/org/slf4j/slf4j-api/1.4.3/slf4j-api-1.4.3.pom"));

    // install listener
    final DeleteEventsListener listener = new DeleteEventsListener();
    eventBus().register(listener);

    // perform delete
    repo1.deleteItem(new ResourceStoreRequest("/org"));

    // 3 events: the actual collection being deleted + 2 non-collections discovered by diving in recursively (POM +
    // SHA1)
    assertThat(listener.getDeleteEvents().size(), equalTo(3));
View Full Code Here

  @Test
  public void deleteEmptyCollection()
      throws Exception
  {
    final ProxyRepository repo1 = getRepositoryRegistry().getRepositoryWithFacet("repo1", ProxyRepository.class);
    repo1.retrieveItem(new ResourceStoreRequest("/org/slf4j/slf4j-api/1.4.3/slf4j-api-1.4.3.pom"));

    // perform delete a bit lower
    repo1.deleteItem(new ResourceStoreRequest("/org/slf4j"));

    // install listener
    final DeleteEventsListener listener = new DeleteEventsListener();
    eventBus().register(listener);

    // perform delete
    repo1.deleteItem(new ResourceStoreRequest("/org"));

    // 1 events: the actual collection being deleted
    assertThat(listener.getDeleteEvents().size(), equalTo(1));
    assertThat(listener.getDeleteEvents().get(0).getClass().getName(),
        equalTo(RepositoryItemEventDeleteRoot.class.getName()));
View Full Code Here

TOP

Related Classes of org.sonatype.nexus.proxy.repository.ProxyRepository

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.