container/src/main/java/com/streamsets/datacollector/cluster/BaseClusterProvider.java
private void copyBlobstore(List<String> blobStoreResources, File rootDataDir, File pipelineDir) throws IOException {

    if (blobStoreResources == null) {
      return;
    }

    File blobstoreDir = new File(runtimeInfo.getDataDir(), BLOBSTORE_BASE_DIR);
    File stagingBlobstoreDir = new File(rootDataDir, BLOBSTORE_BASE_DIR);
    if (!stagingBlobstoreDir.exists()) {
      if (!stagingBlobstoreDir.mkdirs()) {
        throw new RuntimeException("Failed to create blobstore directory: " + pipelineDir.getPath());
      }
    }
    for (String blobstoreFile: blobStoreResources) {
      File srcFile = new File(blobstoreDir, blobstoreFile);
      if (srcFile.exists()){
        final File dstFile = new File(stagingBlobstoreDir, srcFile.getName());
        if (srcFile.canRead()) { // ignore files which cannot be read
          try (InputStream in = new FileInputStream((srcFile))) {
            try (OutputStream out = new FileOutputStream((dstFile))) {
              IOUtils.copy(in, out);
            }
          }
        }
      }
    }
  }
private void copyBlobstore(List<String> blobStoreResources, File rootDataDir, File pipelineDir) throws IOException {

    if (blobStoreResources == null) {
      return;
    }

    File blobstoreDir = new File(runtimeInfo.getDataDir(), BLOBSTORE_BASE_DIR);
    File stagingBlobstoreDir = new File(rootDataDir, BLOBSTORE_BASE_DIR);
    if (!stagingBlobstoreDir.exists()) {
      if (!stagingBlobstoreDir.mkdirs()) {
        throw new RuntimeException("Failed to create blobstore directory: " + pipelineDir.getPath());
      }
    }
    for (String blobstoreFile: blobStoreResources) {
      File srcFile = new File(blobstoreDir, blobstoreFile);
      if (srcFile.exists()){
        final File dstFile = new File(stagingBlobstoreDir, srcFile.getName());
        if (srcFile.canRead()) { // ignore files which cannot be read
          try (InputStream in = new FileInputStream((srcFile))) {
            try (OutputStream out = new FileOutputStream((dstFile))) {
              IOUtils.copy(in, out);
            }
          }
        }
      }
    }
  }
private void copyBlobstore ( List < String > blobStoreResources , File rootDataDir , File pipelineDir ) throws IOException { if ( blobStoreResources == null ) { return ; } File blobstoreDir = new File ( runtimeInfo . getDataDir ( ) , BLOBSTORE_BASE_DIR ) ; File stagingBlobstoreDir = new File ( rootDataDir , BLOBSTORE_BASE_DIR ) ; if ( ! stagingBlobstoreDir . exists ( ) ) { if ( ! stagingBlobstoreDir . mkdirs ( ) ) { throw new RuntimeException ( "Failed to create blobstore directory: " + pipelineDir . getPath ( ) ) ; } } for ( String blobstoreFile : blobStoreResources ) { File srcFile = new File ( blobstoreDir , blobstoreFile ) ; if ( srcFile . exists ( ) ) { final File dstFile = new File ( stagingBlobstoreDir , srcFile . getName ( ) ) ; if ( srcFile . canRead ( ) ) { // ignore files which cannot be read try ( InputStream in = new FileInputStream ( ( srcFile ) ) ) { try ( OutputStream out = new FileOutputStream ( ( dstFile ) ) ) { IOUtils . copy ( in , out ) ; } } } } } }
Copy BlobStore resources to data directory
Copy BlobStore resources to data directory