Package org.sonatype.nexus.proxy.item

Examples of org.sonatype.nexus.proxy.item.StorageFileItem


  }

  protected StorageFileItem doCacheItem(final StorageFileItem item, final E repository)
      throws LocalStorageException
  {
    StorageFileItem result = null;

    try {
      final RepositoryItemUidLock itemLock = item.getRepositoryItemUid().getLock();
      itemLock.lock(Action.create);
      try {
View Full Code Here


    String primaryChecksum = xPath.compile("/repomd/data[@type='primary']/checksum").evaluate(repoMDDoc);

    DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();

    StorageFileItem primaryItem = (StorageFileItem) repository.retrieveItem(
        false, new ResourceStoreRequest("/" + primaryHref)
    );
    Document doc;
    boolean changed = false;
    try (InputStream primaryIn = new GZIPInputStream(new BufferedInputStream(primaryItem.getInputStream()))) {
      doc = documentBuilder.parse(primaryIn);
      NodeList locations = doc.getElementsByTagName("location");
      if (locations != null) {
        for (int i = 0; i < locations.getLength(); i++) {
          Element location = (Element) locations.item(i);
View Full Code Here

    if (!Objects.equals(primaryPath, primaryHref)) {
      log.debug("Updating 'primary' data entry in {}:repomd.xml", repository.getId());

      Element primaryEl = (Element) xPath.compile("/repomd/data[@type='primary']").evaluate(repoMDDoc, NODE);

      StorageFileItem primaryItem = (StorageFileItem) repository.retrieveItem(
          false, new ResourceStoreRequest("/" + primaryPath)
      );
      try (InputStream in = primaryItem.getInputStream();
           CountingInputStream cis = new CountingInputStream(new GZIPInputStream(new BufferedInputStream(in)))) {
        primaryEl.getElementsByTagName("open-checksum").item(0).setTextContent(String.valueOf(
            getDigest("SHA-256", cis)
        ));
        primaryEl.getElementsByTagName("open-size").item(0).setTextContent(String.valueOf(
            cis.getCount()
        ));
      }

      primaryItem = (StorageFileItem) repository.retrieveItem(
          false, new ResourceStoreRequest("/" + primaryPath)
      );
      try (InputStream in = primaryItem.getInputStream();
           CountingInputStream cis = new CountingInputStream(new BufferedInputStream(in))) {
        primaryEl.getElementsByTagName("checksum").item(0).setTextContent(String.valueOf(
            getDigest("SHA-256", cis)
        ));
        primaryEl.getElementsByTagName("size").item(0).setTextContent(String.valueOf(
View Full Code Here

   * @return parsed repomd.xml
   */
  private static Document parseRepoMD(final Repository repository)
      throws Exception
  {
    StorageFileItem repoMDItem = (StorageFileItem) repository.retrieveItem(
        false, new ResourceStoreRequest("/" + PATH_OF_REPOMD_XML)
    );
    try (InputStream in = repoMDItem.getInputStream()) {
      DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
      DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
      return documentBuilder.parse(in);
    }
  }
View Full Code Here

      }
      catch (final ItemNotFoundException e) {
        // it's okay
      }

      final StorageFileItem siteItem = (StorageFileItem) doRetrieveRemoteItem(request);

      if (!force && oldSha1 != null
          && oldSha1.equals(siteItem.getRepositoryItemAttributes().get(StorageFileItem.DIGEST_SHA1_KEY))) {
        return;
      }
      site = UpdateSite.read(siteItem.getInputStream());
    }
    catch (final Exception e) {
      throw new StorageException("Could not read site.xml", e);
    }
View Full Code Here

    }

    try {
      final RepositoryItemUid siteUID = createUid(P2Constants.SITE_XML);
      final ResourceStoreRequest siteRequest = new ResourceStoreRequest(siteUID.getPath());
      StorageFileItem siteItem;
      try {
        siteItem = (StorageFileItem) getLocalStorage().retrieveItem(this, siteRequest);
      }
      catch (final ItemNotFoundException e) {
        siteItem = (StorageFileItem) getRemoteStorage().retrieveItem(this, siteRequest, getRemoteUrl());
      }

      final Xpp3Dom config = Xpp3DomBuilder.build(new InputStreamReader(siteItem.getInputStream()));

      overwriteRemoteUrl = config.getAttribute("url");
      log.debug("Remote update site does overwrite the remote url " + overwriteRemoteUrl);
    }
    catch (final Exception e) {
View Full Code Here

      ResourceStoreRequest request = new ResourceStoreRequest(path, localOnly, remoteOnly);

      StorageItem item = repository.retrieveItem(false, request);

      if (item instanceof StorageFileItem) {
        StorageFileItem file = (StorageFileItem) item;

        final ByteArrayOutputStream os = new ByteArrayOutputStream();
        try (final InputStream is = file.getInputStream()) {
          StreamSupport.copy(is, os, StreamSupport.BUFFER_SIZE);
        }
        lastReadFile = file;
        return os.toByteArray();
      }
View Full Code Here

        NexusRawTransport nrt = new NexusRawTransport(repository, true, false);

        repositoryMetadataHandler.writeRepositoryMetadata(rm, nrt);

        // "decorate" the file attrs
        StorageFileItem file = nrt.getLastWriteFile();

        file.setContentGeneratorId(NexusRepositoryMetadataContentGenerator.ID);

        repository.getAttributesHandler().storeAttributes(file);
      }
      catch (MetadataHandlerException e) {
        log.info("Could not write repository metadata!", e);
View Full Code Here

    // the file we want to store
    File target = new File(repoBase, "foo/1.0/foo-1.0.txt");
    target.getParentFile().mkdirs();

    final StorageFileItem file = Mockito.mock(StorageFileItem.class);
    Mockito.when(file.getPath()).thenReturn("/foo/1.0/foo-1.0.txt");
    Mockito.when(file.getParentPath()).thenReturn("/foo/1.0");

    // getting hidden target for target
    File hiddenTarget = subject.getHiddenTarget(null, repoBase, target, file);
    assertThat(hiddenTarget, notNullValue());
    assertThat(hiddenTarget, isFile());
View Full Code Here

    // the file we want to store
    File target = new File(repoBase, "archetype-catalog.xml");
    target.getParentFile().mkdirs();

    final StorageFileItem file = Mockito.mock(StorageFileItem.class);
    Mockito.when(file.getPath()).thenReturn("/archetype-catalog.xml");
    Mockito.when(file.getParentPath()).thenReturn("/");

    // getting hidden target for target
    File hiddenTarget = subject.getHiddenTarget(null, repoBase, target, file);
    assertThat(hiddenTarget, notNullValue());
    assertThat(hiddenTarget, isFile());
View Full Code Here

TOP

Related Classes of org.sonatype.nexus.proxy.item.StorageFileItem

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.