agave-apps/apps-core/src/main/java/org/iplantc/service/apps/queue/actions/PublishAction.java
/**
     * Reliably transfers the zipped {@link Software} archive to the remote {@link StorageSystem} and
     * sets the checksum of the file for future reference.
     * 
     * @param publishedSoftwareDataClient the {@link RemoteDataClient} pointing to the system where the archive is published
     * @param zippedFile the file to archive
     * @throws FileNotFoundException
     * @throws IOException
     * @throws RemoteDataException
     * @throws TransferException
     */
Reliably transfers the zipped  Software archive to the remote  StorageSystem and
sets the checksum of the file for future reference.


Reliably transfers the zipped Software archive to the remote StorageSystem and sets the checksum of the file for future reference .
private void copyPublicAppArchiveToDeploymentSystem(RemoteDataClient publishedSoftwareDataClient, File zippedFile)
    throws FileNotFoundException, IOException, RemoteDataException, TransferException 
    {
        TransferTask transferTask = new TransferTask(
                "agave://" + getEntity().getStorageSystem().getSystemId() + "/" + getEntity().getDeploymentPath(), 
                "agave://" + publishedSoftware.getStorageSystem().getSystemId() + "/" + publishedSoftware.getDeploymentPath(), 
                publishingUsername, 
                null, null);
        TransferTaskDao.persist(transferTask);
        try {
            this.urlCopy = new URLCopy(new Local(), publishedSoftwareDataClient);
            transferTask = urlCopy.copy(zippedFile.getAbsolutePath(), publishedSoftware.getDeploymentPath(), transferTask);
        } catch (Exception e) {
            throw new SoftwareException("Failed to copy public application assets to the default public storage system, " 
                    + publishedSoftware.getStorageSystem().getSystemId(), e);
        }
    }
private void copyPublicAppArchiveToDeploymentSystem ( RemoteDataClient publishedSoftwareDataClient , File zippedFile ) throws FileNotFoundException , IOException , RemoteDataException , TransferException { TransferTask transferTask = new TransferTask ( "agave://" + getEntity ( ) . getStorageSystem ( ) . getSystemId ( ) + "/" + getEntity ( ) . getDeploymentPath ( ) , "agave://" + publishedSoftware . getStorageSystem ( ) . getSystemId ( ) + "/" + publishedSoftware . getDeploymentPath ( ) , publishingUsername , null , null ) ; TransferTaskDao . persist ( transferTask ) ; try { this . urlCopy = new URLCopy ( new Local ( ) , publishedSoftwareDataClient ) ; transferTask = urlCopy . copy ( zippedFile . getAbsolutePath ( ) , publishedSoftware . getDeploymentPath ( ) , transferTask ) ; } catch ( Exception e ) { throw new SoftwareException ( "Failed to copy public application assets to the default public storage system, " + publishedSoftware . getStorageSystem ( ) . getSystemId ( ) , e ) ; } }
Reliably transfers the zipped {@link Software} archive to the remote {@link StorageSystem} and
 sets the checksum of the file for future reference.
Reliably transfers the zipped { @link Software } archive to the remote { @link StorageSystem } and sets the checksum of the file for future reference .