Package org.sonatype.nexus.proxy.repository

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


    return result;
  }

  public boolean filterArtifactInfo(ArtifactInfo artifactInfo) {
    try {
      Repository repository = this.repositoryRegistry.getRepository(artifactInfo.repository);

      if (MavenRepository.class.isAssignableFrom(repository.getClass())) {
        MavenRepository mr = (MavenRepository) repository;

        Gav gav =
            new Gav(artifactInfo.groupId, artifactInfo.artifactId, artifactInfo.version,
                artifactInfo.classifier, mr.getArtifactPackagingMapper().getExtensionForPackaging(
View Full Code Here


  public RepositoryMetaResourceResponse get(Context context, Request request, Response response, Variant variant)
      throws ResourceException
  {
    String repoId = this.getRepositoryId(request);
    try {
      Repository repository = getRepositoryRegistry().getRepository(repoId);

      RepositoryMetaResource resource = new RepositoryMetaResource();

      resource.setId(repoId);

      resource.setRepoType(getRestRepoType(repository));

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

      for (GroupRepository group : getRepositoryRegistry().getGroupsOfRepository(repository)) {
        resource.addGroup(group.getId());
      }

            /*
            NEXUS-2790 removing as calculation takes too long in certain circumstances
            will eventually be reimplemented
           
            File localPath = org.sonatype.nexus.util.FileUtils.getFileFromUrl( repository.getLocalUrl() );
           
            try
            {
                resource.setSizeOnDisk( FileUtils.sizeOfDirectory( localPath ) );

                resource.setFileCountInRepository( org.sonatype.nexus.util.FileUtils.filesInDirectory( localPath ) );
            }
            catch ( IllegalArgumentException e )
            {
                // the repo is maybe virgin, so the dir is not created until some request needs it
            }
            */

      // mustang is able to get this with File.getUsableFreeSpace();
      resource.setFreeSpaceOnDisk(-1);

      CacheStatistics stats = repository.getNotFoundCache().getStatistics();

      resource.setNotFoundCacheSize(stats.getSize());

      resource.setNotFoundCacheHits(stats.getHits());

View Full Code Here

  }

  public Repository getRepository(String repoId)
      throws NoSuchRepositoryException
  {
    Repository repository = this.defaultRepositoryRegistry.getRepository(repoId);
    this.checkAccessToRepository(repository.getId());
    return repository;
  }
View Full Code Here

    RepositoryResourceResponse result = new RepositoryResourceResponse();

    try {
      RepositoryBaseResource resource = null;

      Repository repository = getRepositoryRegistry().getRepository(repoId);

      if (repository.getRepositoryKind().isFacetAvailable(GroupRepository.class)) {
        // it is a group, not a repo
        throw new ResourceException(Status.CLIENT_ERROR_NOT_FOUND, "Repository Not Found");
      }

      resource = getRepositoryRestModel(request, repository);
View Full Code Here

  public void on(final RepositoryConfigurationUpdatedEvent evt) {
    inspect(evt);
  }

  protected void inspect(final Event<?> evt) {
    Repository repository = null;
    if (evt instanceof RepositoryRegistryRepositoryEvent) {
      repository = ((RepositoryRegistryRepositoryEvent) evt).getRepository();
    }
    else if (evt instanceof RepositoryConfigurationUpdatedEvent) {
      repository = ((RepositoryConfigurationUpdatedEvent) evt).getRepository();
    }

    try {
      // check registry for existence, wont be able to do much
      // if doesn't exist yet
      repoRegistry.getRepositoryWithFacet(repository.getId(), MavenRepository.class);
      inspectForIndexerManager(evt, repository);
    }
    catch (NoSuchRepositoryException e) {
      log.debug("Attempted to handle repository that isn't yet in registry");
    }
View Full Code Here

        }
        else {
          RepositoryResource model = (RepositoryResource) resource;

          try {
            Repository repository = getRepositoryRegistry().getRepository(repoId);

            repository.setName(model.getName());

            repository.setExposed(resource.isExposed());

            // set null to read only
            RepositoryWritePolicy writePolicy =
                (model.getWritePolicy() != null) ? RepositoryWritePolicy.valueOf(model.getWritePolicy())
                    : RepositoryWritePolicy.READ_ONLY;

            repository.setWritePolicy(writePolicy);

            repository.setBrowseable(model.isBrowseable());

            repository.setIndexable(model.isIndexable());
            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 =
                  EnumUtil.valueOf(model.getRepoPolicy(), RepositoryPolicy.class);
              repository.adaptToFacet(MavenRepository.class).setRepositoryPolicy(repoPolicy);

              if (repository.getRepositoryKind().isFacetAvailable(MavenProxyRepository.class)) {
                ChecksumPolicy checksum =
                    EnumUtil.valueOf(model.getChecksumPolicy(), ChecksumPolicy.class);

                MavenProxyRepository pRepository = repository.adaptToFacet(MavenProxyRepository.class);
                pRepository.setChecksumPolicy(checksum);

                pRepository.setDownloadRemoteIndexes(model.isDownloadRemoteIndexes());

                pRepository.setChecksumPolicy(EnumUtil.valueOf(model.getChecksumPolicy(),
                    ChecksumPolicy.class));

                pRepository.setDownloadRemoteIndexes(model.isDownloadRemoteIndexes());

                RepositoryProxyResource proxyModel = (RepositoryProxyResource) model;

                pRepository.setArtifactMaxAge(proxyModel.getArtifactMaxAge());

                pRepository.setMetadataMaxAge(proxyModel.getMetadataMaxAge());

                if (proxyModel.getItemMaxAge() != null) {
                  pRepository.setItemMaxAge(proxyModel.getItemMaxAge());
                }
              }
            }
            else {
              // This is a total hack to be able to retrieve this data from a non core repo if available
              try {
                RepositoryProxyResource proxyModel = (RepositoryProxyResource) model;

                // NXCM-5131 Ask for itemMaxAge first, because it's already introduced in AbstractProxyRepository and
                // may be a superclass for non-maven repositories (e.g. NuGet)
                Method itemMethod =
                    repository.getClass().getMethod("setItemMaxAge", int.class);
                if (itemMethod != null && proxyModel.getItemMaxAge() != null) {
                  itemMethod.invoke(repository, proxyModel.getItemMaxAge());
                }

                Method artifactMethod =
                    repository.getClass().getMethod("setArtifactMaxAge", int.class);
                if (artifactMethod != null) {
                  artifactMethod.invoke(repository, proxyModel.getArtifactMaxAge());
                }

                Method metadataMethod =
                    repository.getClass().getMethod("setMetadataMaxAge", int.class);
                if (metadataMethod != null) {
                  metadataMethod.invoke(repository, proxyModel.getMetadataMaxAge());
                }
              }
              catch (Exception e) {
                // nothing to do here, doesn't support artifactmax age
              }
            }

            repository.setLocalUrl(model.getOverrideLocalStorageUrl());

            getNexusConfiguration().saveConfiguration();
          }
          catch (NoSuchRepositoryAccessException e) {
            getLogger().warn("Repository access denied, id=" + repoId);
View Full Code Here

  }

  private void inspectForIndexerManager(final Event<?> evt) {
    RepositoryItemEvent ievt = (RepositoryItemEvent) evt;

    Repository repository = ievt.getRepository();

    // should we sync at all
    if (repository != null && repository.isIndexable()) {
      try {
        if (ievt instanceof RepositoryItemEventCache || ievt instanceof RepositoryItemEventStore) {
          getIndexerManager().addItemToIndex(repository, ievt.getItem());
        }
        else if (ievt instanceof RepositoryItemEventDelete) {
          getIndexerManager().removeItemFromIndex(repository, ievt.getItem());
        }
      }
      catch (Exception e) // TODO be more specific
      {
        log.error("Could not maintain index for repository {}!", repository.getId(), e);
      }
    }
  }
View Full Code Here

  protected RepositoryGroupResource buildGroupResource(Request request, String groupId)
      throws NoSuchRepositoryException,
             ResourceException
  {
    Repository repo = getRepositoryRegistry().getRepository(groupId);

    if (repo.getRepositoryKind().isFacetAvailable(GroupRepository.class)) {
      return buildGroupResource(request, repo.adaptToFacet(GroupRepository.class));
    }

    return null;
  }
View Full Code Here

  protected MavenRepository getMavenRepository(String id)
      throws ResourceException
  {
    try {
      Repository repository = getUnprotectedRepositoryRegistry().getRepository(id);

      if (!repository.getRepositoryKind().isFacetAvailable(MavenRepository.class)) {
        throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST, "This is not a Maven repository!");
      }

      return repository.adaptToFacet(MavenRepository.class);
    }
    catch (NoSuchRepositoryException e) {
      throw new ResourceException(Status.CLIENT_ERROR_NOT_FOUND, e.getMessage(), e);
    }
  }
View Full Code Here

  protected void inspect(Event<?> evt) {
    if (!systemStatusProvider.get().isNexusStarted()) {
      return;
    }

    Repository repository = null;
    if (evt instanceof RepositoryRegistryRepositoryEvent) {
      repository = ((RepositoryRegistryRepositoryEvent) evt).getRepository();
    }
    else if (evt instanceof RepositoryConfigurationUpdatedEvent) {
      repository = ((RepositoryConfigurationUpdatedEvent) evt).getRepository();
    }

    try {
      // check registry for existance, wont be able to do much
      // if doesn't exist yet
      repoRegistry.getRepositoryWithFacet(repository.getId(), MavenRepository.class);

      inspectForIndexerManager(evt, repository);
    }
    catch (NoSuchRepositoryException e) {
      log.debug("Attempted to handle repository that isn't yet in registry");
View Full Code Here

TOP

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

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.