Example usage for com.amazonaws.services.glacier.transfer ArchiveTransferManager upload

List of usage examples for com.amazonaws.services.glacier.transfer ArchiveTransferManager upload

Introduction

In this page you can find the example usage for com.amazonaws.services.glacier.transfer ArchiveTransferManager upload.

Prototype

public UploadResult upload(final String vaultName, final String archiveDescription, final File file)
        throws AmazonServiceException, AmazonClientException, FileNotFoundException 

Source Link

Document

Uploads the specified file to Amazon Glacier for archival storage in the specified vault for the user's current account.

Usage

From source file:ai.serotonin.backup.Backup.java

License:Mozilla Public License

private void copyToGlacier(final File file) throws Exception {
    final String vaultName = getVaultName();
    final ArchiveTransferManager atm = new ArchiveTransferManager(client, credentials);
    final UploadResult result = atm.upload(vaultName, file.getName(), file);
    LOG.info("Upload archive ID: " + result.getArchiveId());
}

From source file:com.brianmcmichael.sagu.SimpleGlacierUploader.java

License:Open Source License

@Override
public void actionPerformed(ActionEvent e) {

    String accessString = getAccessField();
    String secretString = getSecretField();
    String vaultString = getVaultField();
    int regionInt = getServerRegion();

    if (e.getSource() == newVaultButton && checkAWSFields()) {
        AmazonGlacierClient newVaultClient = makeClient(accessString, secretString, regionInt);
        AddVaultFrame avf = new AddVaultFrame(newVaultClient, regionInt);
        avf.setVisible(true);/*  www. j a  v a 2  s  . c om*/
    }
    if (e.getSource() == vaultSelector) {
        if (vaultSelector.getSelectedItem() != null) {
            if (vaultSelector.getSelectedIndex() == 0) {
                vaultField.setText("");
            } else {
                vaultField.setText(vaultSelector.getSelectedItem().toString());
            }
        }
    }
    if (e.getSource() == loginButton) {
        repopulateVaults(accessString, secretString);
    }
    if (e.getSource() == exitApplicationMnu) {
        System.exit(0);
    }
    if (e.getSource() == updateMnu || e.getSource() == checkUpdateButton) {
        JHyperlinkLabel.OpenURI(URL_STRING);
    }
    if (e.getSource() == saveFileMnu) {
        FileDialog fd = new FileDialog(new Frame(), "Save...", FileDialog.SAVE);
        fd.setFile("Glacier.txt");
        fd.setDirectory(curDir);
        fd.setLocation(50, 50);
        fd.setVisible(true);
        String filePath = "" + fd.getDirectory() + System.getProperty("file.separator") + fd.getFile();

        File outFile = new File(filePath);

        if (!outFile.equals("") && !outFile.equals("null")) {

            try {
                FileReader fr = new FileReader(getLogFilenamePath(0));
                BufferedReader br = new BufferedReader(fr);

                FileWriter saveFile = new FileWriter(outFile.toString());

                int count = 0;
                boolean moreLines = true;

                String ln1;
                String ln2;
                String ln3;

                while (moreLines) {
                    ln1 = br.readLine();
                    ln2 = br.readLine();
                    ln3 = br.readLine();

                    if (ln1 == null) {
                        ln1 = "";
                    }
                    if (ln2 == null) {
                        ln2 = "";
                    }
                    if (ln3 == null) {
                        ln3 = "";
                    }

                    saveFile.write(ln1);
                    saveFile.write("\r\n");
                    saveFile.write(ln2);
                    saveFile.write("\r\n");
                    saveFile.write(ln3);
                    saveFile.write("\r\n");

                    count++;

                    if (ln3.equals("")) {
                        moreLines = false;
                        br.close();
                        saveFile.close();
                        JOptionPane.showMessageDialog(null,
                                "Successfully exported " + count + " archive records to " + outFile.toString(),
                                "Export", JOptionPane.INFORMATION_MESSAGE);
                    }
                }
            } catch (FileNotFoundException e1) {
                JOptionPane.showMessageDialog(null, "Unable to locate Glacier.log", "Error",
                        JOptionPane.ERROR_MESSAGE);
                e1.printStackTrace();
            } catch (IOException e1) {
                e1.printStackTrace();
            }
        }
    }

    if (e.getSource() == viewLog || e.getSource() == logButton) {
        File f = SimpleGlacierUploader.getLogFilenamePath(getLogFileType());
        if (f.exists()) {
            JHyperlinkLabel.OpenURI("" + f.toURI());
        } else {
            JOptionPane.showMessageDialog(null, "Log file " + f.getName() + " does not exist.", "Error",
                    JOptionPane.ERROR_MESSAGE);
        }
    }
    if (e.getSource() == deleteArchiveMnu) {
        if (checkAllFields()) {
            AmazonGlacierClient newDeleteClient = makeClient(accessString, secretString, regionInt);
            DeleteArchiveFrame daf = new DeleteArchiveFrame(newDeleteClient, vaultString, regionInt);
            daf.setVisible(true);
        }
    }
    if (e.getSource() == inventoryRequestButton) {
        if (checkAllFields()) {
            AmazonGlacierClient newInventoryClient = makeClient(accessString, secretString, regionInt);
            InventoryRequest ir = new InventoryRequest(newInventoryClient, vaultString, regionInt);
            ir.setVisible(true);
        }
    }
    if (e.getSource() == downloadRequestButton || e.getSource() == downloadFileMnu) {
        if (checkAllFields()) {
            AmazonGlacierClient newDownloadClient = makeClient(accessString, secretString, regionInt);
            BasicAWSCredentials credentials = new BasicAWSCredentials(accessString, secretString);
            AmazonDownloadRequest adr = new AmazonDownloadRequest(newDownloadClient, vaultString, regionInt,
                    credentials);
            adr.setVisible(true);
        }
    }

    if (e.getSource() == aboutMnu) {
        JOptionPane.showMessageDialog(null, ABOUT_WINDOW_STRING, "About", JOptionPane.INFORMATION_MESSAGE);
    }

    if (e.getSource() == clearButton) {
        ddText.setText("");
        uploadButton.setText("Select Files");
        multiFiles = null;
    }

    if (e.getSource() == locationChoice) {
        repopulateVaults(accessString, secretString);
    }

    if (e.getSource() == selectFileButton) {
        int returnVal = fc.showOpenDialog(SimpleGlacierUploader.this);

        if (returnVal == JFileChooser.APPROVE_OPTION) {
            if (fc.getSelectedFile().isFile()) {
                File[] thisFile = new File[1];
                thisFile[0] = fc.getSelectedFile();
                try {
                    ddText.append(thisFile[0].getCanonicalPath() + "\n");
                } catch (java.io.IOException f) {
                }
                if (multiFiles != null) {
                    multiFiles = concatFileArray(multiFiles, thisFile);
                } else {
                    multiFiles = thisFile;
                }
            } else {
                JOptionPane.showMessageDialog(null, NO_DIRECTORIES_ERROR, "Error", JOptionPane.ERROR_MESSAGE);
            }
        }

    }

    if (e.getSource() == uploadButton) {
        if ((checkAllFields()) && (checkForFile())) {

            SaveCurrentProperties(accessString, secretString, vaultString, locationChoice.getSelectedIndex());

            SwingWorker uploadWorker = new SwingWorker() {

                @Override
                protected Object doInBackground() throws Exception {
                    String accessString = getAccessField();
                    String secretString = getSecretField();
                    String vaultName = getVaultField();
                    File[] uploadFileBatch = multiFiles;

                    // work out exactly how much we are going to upload
                    // so we can support a second total upload progress bar
                    long totalSize = 0;
                    long uploadedSize = 0;
                    for (File f : uploadFileBatch) {
                        totalSize += f.length();
                    }

                    int locInt = locationChoice.getSelectedIndex();
                    multiFiles = null;
                    clearFile();
                    UploadWindow uw = new UploadWindow();

                    if (uploadFileBatch.length > 0) {

                        ArrayList<String> uploadList = new ArrayList<String>();

                        for (int i = 0; i < uploadFileBatch.length; i++) {
                            // Save Current Settings to properties

                            try {
                                Thread.sleep(100L);
                            } catch (InterruptedException e1) {
                                e1.printStackTrace();
                            }

                            ClientConfiguration config = new ClientConfiguration();
                            config.setSocketTimeout(SOCKET_TIMEOUT);
                            config.setMaxErrorRetry(MAX_RETRIES);

                            BasicAWSCredentials credentials = new BasicAWSCredentials(accessString,
                                    secretString);
                            client = new AmazonGlacierClient(credentials, config);
                            final Endpoint endpoint = Endpoint.getByIndex(locInt);
                            client.setEndpoint(endpoint.getGlacierEndpoint());
                            String locationUpped = endpoint.name();
                            String thisFile = uploadFileBatch[i].getCanonicalPath();
                            String cleanFile = regexClean(thisFile);

                            try {

                                ArchiveTransferManager atm = new ArchiveTransferManager(client, credentials);

                                String fileLength = Long.toString(uploadFileBatch[i].length());

                                uw.setTitle("(" + (i + 1) + "/" + uploadFileBatch.length + ")" + " Uploading: "
                                        + thisFile);

                                UploadResult result = atm.upload(vaultName, cleanFile, uploadFileBatch[i]);

                                uw.addToLog("Done: " + thisFile + "\n");

                                uploadedSize += uploadFileBatch[i].length();

                                int percentage = (int) (((double) uploadedSize / totalSize) * 100);

                                uw.updateProgress(percentage);

                                Writer plainOutputLog = null;
                                Writer plainOutputTxt = null;
                                Writer plainOutputCsv = null;
                                Writer plainOutputYaml = null;

                                // write to file
                                if (logCheckMenuItem.isSelected()) {
                                    String treeHash = TreeHashGenerator.calculateTreeHash(uploadFileBatch[i]);

                                    try {
                                        plainOutputLog = new BufferedWriter(
                                                new FileWriter(getLogFilenamePath(0), true));
                                        plainOutputTxt = new BufferedWriter(
                                                new FileWriter(getLogFilenamePath(1), true));
                                        plainOutputCsv = new BufferedWriter(
                                                new FileWriter(getLogFilenamePath(2), true));
                                        plainOutputYaml = new BufferedWriter(
                                                new FileWriter(getLogFilenamePath(3), true));

                                    } catch (IOException ex) {
                                        JOptionPane.showMessageDialog(null, LOG_CREATION_ERROR, "IO Error",
                                                JOptionPane.ERROR_MESSAGE);
                                        uw.dispose();
                                        System.exit(1);
                                    }

                                    try {

                                        Date d = new Date();

                                        String thisResult = result.getArchiveId();

                                        plainOutputLog.write(System.getProperty("line.separator"));
                                        plainOutputLog.write(" | ArchiveID: " + thisResult + " ");
                                        plainOutputLog.write(System.getProperty("line.separator"));
                                        plainOutputLog.write(" | File: " + thisFile + " ");
                                        plainOutputLog.write(" | Bytes: " + fileLength + " ");
                                        plainOutputLog.write(" | Vault: " + vaultName + " ");
                                        plainOutputLog.write(" | Location: " + locationUpped + " ");
                                        plainOutputLog.write(" | Date: " + d.toString() + " ");
                                        plainOutputLog.write(" | Hash: " + treeHash + " ");
                                        plainOutputLog.write(System.getProperty("line.separator"));
                                        plainOutputLog.close();

                                        plainOutputTxt.write(System.getProperty("line.separator"));
                                        plainOutputTxt.write(" | ArchiveID: " + thisResult + " ");
                                        plainOutputTxt.write(System.getProperty("line.separator"));
                                        plainOutputTxt.write(" | File: " + thisFile + " ");
                                        plainOutputTxt.write(" | Bytes: " + fileLength + " ");
                                        plainOutputTxt.write(" | Vault: " + vaultName + " ");
                                        plainOutputTxt.write(" | Location: " + locationUpped + " ");
                                        plainOutputTxt.write(" | Date: " + d.toString() + " ");
                                        plainOutputTxt.write(" | Hash: " + treeHash + " ");
                                        plainOutputTxt.write(System.getProperty("line.separator"));
                                        plainOutputTxt.close();

                                        plainOutputCsv.write("" + thisResult + ",");
                                        plainOutputCsv.write("" + thisFile + ",");
                                        plainOutputCsv.write("" + fileLength + ",");
                                        plainOutputCsv.write("" + vaultName + ",");
                                        plainOutputCsv.write("" + locationUpped + ",");
                                        plainOutputCsv.write("" + d.toString() + ",");
                                        plainOutputCsv.write("" + treeHash + ",");
                                        plainOutputCsv.write(System.getProperty("line.separator"));
                                        plainOutputCsv.close();

                                        plainOutputYaml.write(System.getProperty("line.separator"));
                                        plainOutputYaml.write("-  ArchiveID: \"" + thisResult + "\""
                                                + System.getProperty("line.separator"));
                                        plainOutputYaml.write("   File:      \"" + thisFile + "\""
                                                + System.getProperty("line.separator"));
                                        plainOutputYaml.write("   Bytes:     \"" + fileLength + "\""
                                                + System.getProperty("line.separator"));
                                        plainOutputYaml.write("   Vault:     \"" + vaultName + "\""
                                                + System.getProperty("line.separator"));
                                        plainOutputYaml.write("   Location:  \"" + locationUpped + "\""
                                                + System.getProperty("line.separator"));
                                        plainOutputYaml.write("   Date:      \"" + d.toString() + "\""
                                                + System.getProperty("line.separator"));
                                        plainOutputYaml.write("   Hash:      \"" + treeHash + "\""
                                                + System.getProperty("line.separator"));
                                        plainOutputYaml.close();

                                        uploadList.add("Successfully uploaded " + thisFile + " to vault "
                                                + vaultName + " at " + locationUpped + ". Bytes: " + fileLength
                                                + ". ArchiveID Logged.\n");
                                    }

                                    catch (IOException c) {
                                        JOptionPane.showMessageDialog(null, LOG_WRITE_ERROR, "IO Error",
                                                JOptionPane.ERROR_MESSAGE);
                                        uw.dispose();
                                        System.exit(1);
                                    }

                                } else {
                                    JOptionPane.showMessageDialog(null, "Upload Complete!\nArchive ID: "
                                            + result.getArchiveId()
                                            + "\nIt may take some time for Amazon to update the inventory.",
                                            "Uploaded", JOptionPane.INFORMATION_MESSAGE);
                                    multiFiles = null;
                                    uw.dispose();
                                }

                                clearFile();

                            } catch (Exception h) {
                                if (logCheckMenuItem.isSelected()) {
                                    writeToErrorLog(h, thisFile);
                                }
                                JOptionPane.showMessageDialog(null, "" + h, "Error", JOptionPane.ERROR_MESSAGE);
                                uw.dispose();

                            }

                        }
                        StringBuilder sb = new StringBuilder();
                        for (int j = 0; j < uploadFileBatch.length; j++) {
                            sb.append(uploadList.get(j));
                        }
                        uw.dispose();

                        // Move the actual results string to a JTextArea
                        JTextArea uploadCompleteMsg = new JTextArea("Upload Complete! \n" + sb);
                        uploadCompleteMsg.setLineWrap(true);
                        uploadCompleteMsg.setWrapStyleWord(true);
                        uploadCompleteMsg.setEditable(false);

                        // Put the JTextArea in a JScollPane and present that in the JOptionPane
                        JScrollPane uploadCompleteScroll = new JScrollPane(uploadCompleteMsg);
                        uploadCompleteScroll.setPreferredSize(new Dimension(500, 400));
                        JOptionPane.showMessageDialog(null, uploadCompleteScroll, "Uploaded",
                                JOptionPane.INFORMATION_MESSAGE);
                        // Close the JProgressBar
                        multiFiles = null;
                        clearFile();
                    } else {
                        JOptionPane.showMessageDialog(null, "This wasn't supposed to happen.", "Bug!",
                                JOptionPane.ERROR_MESSAGE);
                        uw.dispose();

                    }

                    return null;
                }

                private void writeToErrorLog(Exception h, String thisFile) {
                    String thisError = h.toString();

                    Writer errorOutputLog = null;
                    try {
                        errorOutputLog = new BufferedWriter(new FileWriter(getLogFilenamePath(4), true));
                    } catch (Exception badLogCreate) {
                        JOptionPane.showMessageDialog(null, LOG_CREATION_ERROR, "IO Error",
                                JOptionPane.ERROR_MESSAGE);
                        System.exit(1);
                    }
                    try {
                        Date d = new Date();

                        errorOutputLog.write(System.getProperty("line.separator"));
                        errorOutputLog.write("" + d.toString() + ": \"" + thisFile + "\" *ERROR* " + thisError);
                        errorOutputLog.write(System.getProperty("line.separator"));

                    } catch (Exception badLogWrite) {
                        JOptionPane.showMessageDialog(null, LOG_WRITE_ERROR, "IO Error",
                                JOptionPane.ERROR_MESSAGE);
                        System.exit(1);
                    }
                }
            };
            uploadWorker.execute();
        }
    }
}

From source file:com.brianmcmichael.SimpleGlacierUploader.SimpleGlacierUploader.java

License:Open Source License

@Override
public void actionPerformed(ActionEvent e) {

    String accessString = getAccessField();
    String secretString = getSecretField();
    String vaultString = getVaultField();
    int regionInt = getServerRegion();

    if (e.getSource() == newVaultButton && checkAWSFields()) {
        AmazonGlacierClient newVaultClient = new AmazonGlacierClient();
        newVaultClient = makeClient(accessString, secretString, regionInt);
        AddVaultFrame avf = new AddVaultFrame(newVaultClient, regionInt);
        avf.setVisible(true);//  w w w .j  a  v  a2s . co m

    }
    if (e.getSource() == vaultSelector) {
        if (vaultSelector.getSelectedItem() != null) {
            if (vaultSelector.getSelectedIndex() == 0) {
                vaultField.setText("");
            } else {
                vaultField.setText(vaultSelector.getSelectedItem().toString());
            }
        } else {
        }
    }
    if (e.getSource() == loginButton) {
        repopulateVaults(accessString, secretString, regionInt);
    }
    if (e.getSource() == exitApplicationMnu) {
        System.exit(0);
    }
    if (e.getSource() == updateMnu || e.getSource() == checkUpdateButton) {
        JHyperlinkLabel.OpenURI(URL_STRING);
    }
    if (e.getSource() == saveFileMnu) {
        FileDialog fd = new FileDialog(new Frame(), "Save...", FileDialog.SAVE);
        fd.setFile("Glacier.txt");
        fd.setDirectory(curDir);
        fd.setLocation(50, 50);
        fd.setVisible(true);
        // fd.show();
        String filePath = "" + fd.getDirectory() + System.getProperty("file.separator") + fd.getFile();

        File outFile = new File(filePath);

        if ((outFile.equals("") == false) && (outFile.equals("null") == false)
                && ((outFile == null) == false)) {

            try {
                FileReader fr = new FileReader(getLogFilenamePath(0));
                BufferedReader br = new BufferedReader(fr);

                FileWriter saveFile = new FileWriter(outFile.toString());

                int count = 0;
                boolean moreLines = true;

                String ln1 = "";
                String ln2 = "";
                String ln3 = "";

                while (moreLines == true) {
                    ln1 = br.readLine();
                    ln2 = br.readLine();
                    ln3 = br.readLine();

                    if (ln1 == null) {
                        ln1 = "";
                    }
                    if (ln2 == null) {
                        ln2 = "";
                    }
                    if (ln3 == null) {
                        ln3 = "";
                    }

                    saveFile.write(ln1);
                    saveFile.write("\r\n");
                    saveFile.write(ln2);
                    saveFile.write("\r\n");
                    saveFile.write(ln3);
                    saveFile.write("\r\n");

                    count++;

                    if (ln3.equals("")) {
                        moreLines = false;
                        br.close();
                        saveFile.close();
                        JOptionPane.showMessageDialog(null,
                                "Successfully exported " + count + " archive records to " + outFile.toString(),
                                "Export", JOptionPane.INFORMATION_MESSAGE);
                    }
                }
            } catch (FileNotFoundException e1) {
                JOptionPane.showMessageDialog(null, "Unable to locate Glacier.log", "Error",
                        JOptionPane.ERROR_MESSAGE);
                e1.printStackTrace();
            } catch (IOException e1) {
                e1.printStackTrace();
            }
        }
    }

    if (e.getSource() == viewLog || e.getSource() == logButton) {
        JHyperlinkLabel.OpenURI("" + SimpleGlacierUploader.getLogFilenamePath(getLogFileType()).toURI());
    }
    if (e.getSource() == deleteArchiveMnu) {
        if (checkAllFields()) {
            AmazonGlacierClient newDeleteClient = new AmazonGlacierClient();
            newDeleteClient = makeClient(accessString, secretString, regionInt);
            DeleteArchiveFrame daf = new DeleteArchiveFrame(newDeleteClient, vaultString, regionInt);
            daf.setVisible(true);
        }
    }
    if (e.getSource() == inventoryRequestButton) {
        if (checkAllFields()) {
            AmazonGlacierClient newInventoryClient = new AmazonGlacierClient();
            newInventoryClient = makeClient(accessString, secretString, regionInt);
            InventoryRequest ir = new InventoryRequest(newInventoryClient, vaultString, regionInt);
            ir.setVisible(true);
        }
    }
    if (e.getSource() == downloadRequestButton || e.getSource() == downloadFileMnu) {
        if (checkAllFields()) {
            AmazonGlacierClient newDownloadClient = new AmazonGlacierClient();
            newDownloadClient = makeClient(accessString, secretString, regionInt);
            BasicAWSCredentials credentials = new BasicAWSCredentials(accessString, secretString);
            AmazonDownloadRequest adr = new AmazonDownloadRequest(newDownloadClient, vaultString, regionInt,
                    credentials);
            adr.setVisible(true);
        }
    }

    if (e.getSource() == aboutMnu) {
        JOptionPane.showMessageDialog(null, ABOUT_WINDOW_STRING, "About", JOptionPane.INFORMATION_MESSAGE);
    }

    if (e.getSource() == clearButton) {
        ddText.setText("");
        uploadButton.setText("Select Files");
        multiFiles = null;
    }

    if (e.getSource() == locationChoice) {
        repopulateVaults(accessString, secretString, regionInt);
    }

    if (e.getSource() == selectFileButton) {
        int returnVal = fc.showOpenDialog(SimpleGlacierUploader.this);

        if (returnVal == JFileChooser.APPROVE_OPTION) {
            if (fc.getSelectedFile().isFile()) {
                /*
                 * Removed for v. 0.72 if (fc.getSelectedFile().length() >
                 * max_file_size == true) {
                 * JOptionPane.showMessageDialog(null,
                 * FILE_TOO_BIG_ERROR,"Error",JOptionPane.ERROR_MESSAGE);
                 * try { //ddText.setForeground(rc); ddText.append(
                 * "Unable to upload: " +
                 * fc.getSelectedFile().getCanonicalPath() + "\n" ); } //
                 * end try catch( java.io.IOException g ) {} } else {
                 */
                File[] thisFile = new File[1];
                thisFile[0] = fc.getSelectedFile();
                try {
                    ddText.append(thisFile[0].getCanonicalPath() + "\n");
                } // end try
                catch (java.io.IOException f) {
                }
                if (multiFiles != null) {
                    multiFiles = concatFileArray(multiFiles, thisFile);
                } else {
                    multiFiles = thisFile;
                }

                // }
            } else {
                JOptionPane.showMessageDialog(null, NO_DIRECTORIES_ERROR, "Error", JOptionPane.ERROR_MESSAGE);
            }
        } else {
        }

    }

    if (e.getSource() == uploadButton) {
        if ((checkAllFields()) && (checkForFile())) {

            SaveCurrentProperties(accessString, secretString, vaultString, locationChoice.getSelectedIndex());

            SwingWorker uploadWorker = new SwingWorker() {

                @Override
                protected Object doInBackground() throws Exception {
                    String accessString = getAccessField();
                    String secretString = getSecretField();
                    // String vaultString = getVaultField();
                    String vaultName = getVaultField();
                    File[] uploadFileBatch = multiFiles;

                    // work out exactly how much we are going to upload
                    // so we can support a second total upload progress bar
                    long totalSize = 0;
                    long uploadedSize = 0;
                    for (File f : uploadFileBatch) {
                        totalSize += f.length();
                    }

                    int locInt = locationChoice.getSelectedIndex();
                    multiFiles = null;
                    clearFile();
                    UploadWindow uw = new UploadWindow();

                    if (uploadFileBatch.length > 0) {

                        ArrayList<String> uploadList = new ArrayList<String>();

                        for (int i = 0; i < uploadFileBatch.length; i++) {
                            // Save Current Settings to properties

                            try {
                                Thread.sleep(100L);
                            } catch (InterruptedException e1) {
                                e1.printStackTrace();
                            }

                            ClientConfiguration config = new ClientConfiguration();
                            config.setSocketTimeout(SOCKET_TIMEOUT);
                            config.setMaxErrorRetry(MAX_RETRIES);

                            BasicAWSCredentials credentials = new BasicAWSCredentials(accessString,
                                    secretString);
                            client = new AmazonGlacierClient(credentials, config);
                            Endpoints ep = new Endpoints(locInt);
                            // String endpointUrl = ep.Endpoint(locInt);
                            client.setEndpoint(ep.Endpoint());
                            String locationUpped = ep.Location();
                            String thisFile = uploadFileBatch[i].getCanonicalPath();
                            String cleanFile = regexClean(thisFile);

                            // char emptyChar = 0xFFFA;
                            // String thisCleanFile =
                            // thisFile.valueOf(emptyChar).replaceAll("\\p{C}",
                            // "?");

                            try {

                                ArchiveTransferManager atm = new ArchiveTransferManager(client, credentials);

                                String fileLength = Long.toString(uploadFileBatch[i].length());

                                uw.setTitle("(" + (i + 1) + "/" + uploadFileBatch.length + ")" + " Uploading: "
                                        + thisFile);

                                UploadResult result = atm.upload(vaultName, cleanFile, uploadFileBatch[i]);

                                uw.addToLog("Done: " + thisFile + "\n");

                                uploadedSize += uploadFileBatch[i].length();

                                int percentage = (int) (((double) uploadedSize / totalSize) * 100);

                                uw.updateProgress(percentage);

                                Writer plainOutputLog = null;
                                Writer plainOutputTxt = null;
                                Writer plainOutputCsv = null;

                                // write to file
                                if (logCheckMenuItem.isSelected()) {
                                    String treeHash = TreeHashGenerator.calculateTreeHash(uploadFileBatch[i]);

                                    try {
                                        plainOutputLog = new BufferedWriter(
                                                new FileWriter(getLogFilenamePath(0), true));
                                        plainOutputTxt = new BufferedWriter(
                                                new FileWriter(getLogFilenamePath(1), true));
                                        plainOutputCsv = new BufferedWriter(
                                                new FileWriter(getLogFilenamePath(2), true));

                                    } catch (IOException ex) {
                                        JOptionPane.showMessageDialog(null, LOG_CREATION_ERROR, "IO Error",
                                                JOptionPane.ERROR_MESSAGE);
                                        uw.dispose();
                                        System.exit(1);
                                    }

                                    try {

                                        Date d = new Date();

                                        String thisResult = result.getArchiveId();

                                        plainOutputLog.write(System.getProperty("line.separator"));
                                        plainOutputLog.write(" | ArchiveID: " + thisResult + " ");
                                        plainOutputLog.write(System.getProperty("line.separator"));
                                        plainOutputLog.write(" | File: " + thisFile + " ");
                                        plainOutputLog.write(" | Bytes: " + fileLength + " ");
                                        plainOutputLog.write(" | Vault: " + vaultName + " ");
                                        plainOutputLog.write(" | Location: " + locationUpped + " ");
                                        plainOutputLog.write(" | Date: " + d.toString() + " ");
                                        plainOutputLog.write(" | Hash: " + treeHash + " ");
                                        plainOutputLog.write(System.getProperty("line.separator"));
                                        plainOutputLog.close();

                                        plainOutputTxt.write(System.getProperty("line.separator"));
                                        plainOutputTxt.write(" | ArchiveID: " + thisResult + " ");
                                        plainOutputTxt.write(System.getProperty("line.separator"));
                                        plainOutputTxt.write(" | File: " + thisFile + " ");
                                        plainOutputTxt.write(" | Bytes: " + fileLength + " ");
                                        plainOutputTxt.write(" | Vault: " + vaultName + " ");
                                        plainOutputTxt.write(" | Location: " + locationUpped + " ");
                                        plainOutputTxt.write(" | Date: " + d.toString() + " ");
                                        plainOutputTxt.write(" | Hash: " + treeHash + " ");
                                        plainOutputTxt.write(System.getProperty("line.separator"));
                                        plainOutputTxt.close();

                                        plainOutputCsv.write("" + thisResult + ",");
                                        plainOutputCsv.write("" + thisFile + ",");
                                        plainOutputCsv.write("" + fileLength + ",");
                                        plainOutputCsv.write("" + vaultName + ",");
                                        plainOutputCsv.write("" + locationUpped + ",");
                                        plainOutputCsv.write("" + d.toString() + ",");
                                        plainOutputCsv.write("" + treeHash + ",");
                                        plainOutputCsv.write(System.getProperty("line.separator"));
                                        plainOutputCsv.close();

                                        uploadList.add("Successfully uploaded " + thisFile + " to vault "
                                                + vaultName + " at " + locationUpped + ". Bytes: " + fileLength
                                                + ". ArchiveID Logged.\n");
                                    }

                                    // v0.4 logging code
                                    // output.writeUTF("ArchiveID: " +
                                    // thisResult + " ");
                                    // output.writeUTF(" | File: " +
                                    // thisFile + " ");
                                    // output.writeUTF(" | Vault: "
                                    // +vaultName + " ");
                                    // output.writeUTF(" | Location: " +
                                    // locationUpped + " ");
                                    // output.writeUTF(" | Date: "+d.toString()+"\n\n");
                                    catch (IOException c) {
                                        JOptionPane.showMessageDialog(null, LOG_WRITE_ERROR, "IO Error",
                                                JOptionPane.ERROR_MESSAGE);
                                        uw.dispose();
                                        System.exit(1);
                                    }

                                } else {
                                    JOptionPane.showMessageDialog(null, "Upload Complete!\nArchive ID: "
                                            + result.getArchiveId()
                                            + "\nIt may take some time for Amazon to update the inventory.",
                                            "Uploaded", JOptionPane.INFORMATION_MESSAGE);
                                    multiFiles = null;
                                    uw.dispose();
                                }

                                clearFile();

                            } catch (Exception h) {
                                if (logCheckMenuItem.isSelected()) {
                                    writeToErrorLog(h, thisFile);
                                }
                                JOptionPane.showMessageDialog(null, "" + h, "Error", JOptionPane.ERROR_MESSAGE);
                                uw.dispose();

                            }

                        }
                        StringBuilder sb = new StringBuilder();
                        for (int j = 0; j < uploadFileBatch.length; j++) {
                            sb.append(uploadList.get(j));
                        }
                        uw.dispose();

                        JOptionPane.showMessageDialog(null, "Upload Complete! \n" + sb, "Uploaded",
                                JOptionPane.INFORMATION_MESSAGE);
                        // Close the JProgressBar
                        multiFiles = null;
                        clearFile();
                    } else {
                        JOptionPane.showMessageDialog(null, "This wasn't supposed to happen.", "Bug!",
                                JOptionPane.ERROR_MESSAGE);
                        uw.dispose();

                    }

                    return null;
                }

                private void writeToErrorLog(Exception h, String thisFile) {
                    String thisError = h.toString();

                    Writer errorOutputLog = null;
                    try {
                        errorOutputLog = new BufferedWriter(new FileWriter(getLogFilenamePath(3), true));
                    } catch (Exception badLogCreate) {
                        JOptionPane.showMessageDialog(null, LOG_CREATION_ERROR, "IO Error",
                                JOptionPane.ERROR_MESSAGE);
                        System.exit(1);
                    }
                    try {
                        Date d = new Date();

                        errorOutputLog.write(System.getProperty("line.separator"));
                        errorOutputLog.write("" + d.toString() + ": \"" + thisFile + "\" *ERROR* " + thisError);
                        errorOutputLog.write(System.getProperty("line.separator"));

                    } catch (Exception badLogWrite) {
                        JOptionPane.showMessageDialog(null, LOG_WRITE_ERROR, "IO Error",
                                JOptionPane.ERROR_MESSAGE);
                        System.exit(1);
                    }
                }

            };
            uploadWorker.execute();

        }

    } else {
    }
}

From source file:com.github.abhinavmishra14.aws.glacier.service.impl.GlacierArchiveServiceImpl.java

License:Open Source License

@Override
public UploadResult archive(final String vaultName, final InputStream inputStream,
        final String archiveDescription) throws AmazonServiceException, AmazonClientException, IOException {
    LOGGER.info("Uploading archive to vault: {} with archiveDescription: {}", vaultName, archiveDescription);
    File tempFile = null;/*from  w ww.  j  av a  2s .c o m*/
    UploadResult uploadResult = null;
    try {
        // Create temporary file from stream to avoid 'out of memory' exception
        tempFile = AWSUtil.createTempFileFromStream(inputStream);
        final ArchiveTransferManager archiveTrMgr = new ArchiveTransferManager(glacierClient, sqsClient,
                snsClient);
        uploadResult = archiveTrMgr.upload(vaultName, archiveDescription, tempFile);
    } finally {
        AWSUtil.deleteTempFile(tempFile); // Delete the temporary file once uploaded
    }
    return uploadResult;
}

From source file:com.github.abhinavmishra14.aws.glacier.service.impl.GlacierArchiveServiceImpl.java

License:Open Source License

@Override
public UploadResult archive(final String vaultName, final File inputFile, final String archiveDescription)
        throws AmazonServiceException, AmazonClientException, FileNotFoundException {
    LOGGER.info("Uploading archive file: {} to vault: {} with archiveDescription: {}",
            inputFile.getAbsolutePath(), vaultName, archiveDescription);
    final ArchiveTransferManager archiveTrMgr = new ArchiveTransferManager(glacierClient, sqsClient, snsClient);
    return archiveTrMgr.upload(vaultName, archiveDescription, inputFile);
}

From source file:com.leverno.ysbos.archive.AwsArchiver.java

License:Open Source License

public UploadResult uploadFileToGlacier(File archiveFile) {
    ArchiveTransferManager atm = new ArchiveTransferManager(client, credentials);

    UploadResult upload = null;/*from  w  w  w. j  av a2  s.  com*/
    try {
        upload = atm.upload(Constants.vault, getArchiveDescription(archiveFile), archiveFile);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return upload;
}

From source file:de.kopis.glacier.CommandLineGlacierUploader.java

License:Open Source License

public void upload(URL endpointUrl, String vaultName, File uploadFile) {
    try {/*from w  w  w. j a  v  a  2  s.  c  o m*/
        System.out.println("Using endpoint " + endpointUrl);
        client.setEndpoint(endpointUrl.toString());

        System.out.println("Starting upload of " + uploadFile);
        final ArchiveTransferManager atm = new ArchiveTransferManager(client, credentials);
        final String archiveId = atm.upload(vaultName, uploadFile.getName(), uploadFile).getArchiveId();
        System.out.println("Uploaded archive " + archiveId);
    } catch (IOException e) {
        System.err.println("Something went wrong while uploading " + uploadFile + ".");
        e.printStackTrace();
    }
}

From source file:de.kopis.glacier.commands.UploadArchiveCommand.java

License:Open Source License

public void upload(final String vaultName, final File uploadFile) {
    log.info("Starting to upload " + uploadFile + " to vault " + vaultName + "...");
    try {//  w w  w  .j  a v  a2s . c  o m
        final ArchiveTransferManager atm = new ArchiveTransferManager(client, sqs, sns);
        final String archiveId = atm.upload(vaultName, uploadFile.getName(), uploadFile).getArchiveId();
        log.info("Uploaded archive " + archiveId);
    } catch (final IOException e) {
        log.error("Something went wrong while uploading " + uploadFile + vaultName + "to vault " + ".", e);
    }
}

From source file:nl.nekoconeko.glaciercmd.GlacierClient.java

License:Open Source License

protected UploadResult uploadFile(String vault, String filename, String description) {
    ArchiveTransferManager atm = new ArchiveTransferManager(this.client, this.credentials);
    UploadResult res = null;/*ww  w . j  av  a 2  s . c o m*/
    try {
        res = atm.upload(vault, description, new File(filename));
    } catch (AmazonServiceException e) {
        System.err.println("An error occured at Amazon AWS: " + e.getLocalizedMessage());
        System.exit(1);
    } catch (AmazonClientException e) {
        System.err.println("An error occured while executing the request: " + e.getLocalizedMessage());
        System.exit(1);
    } catch (FileNotFoundException e) {
        System.err.println("File does not exist: " + filename);
        System.exit(1);
    }
    return res;
}

From source file:opendap.aws.glacier.Vault.java

License:Open Source License

public String put(String resourceId, File uploadFile) throws FileNotFoundException {
    AmazonGlacierClient client = new AmazonGlacierClient(getCredentials());
    client.setEndpoint(getEndpoint());/*from  w  w  w .j  a  v a2s .c  o m*/

    ArchiveTransferManager atm = new ArchiveTransferManager(client, getCredentials());

    _log.info("Transferring cache file content to Glacier. vault: " + getVaultName() + "  description: "
            + resourceId);
    UploadResult uploadResult = atm.upload(getVaultName(), resourceId, uploadFile);

    String archiveId = uploadResult.getArchiveId();

    _log.info("Upload Successful. archiveId: {} resourceId: {}", archiveId, resourceId);

    return archiveId;

}