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

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

Introduction

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

Prototype

public ArchiveTransferManager(AmazonGlacierClient glacier, AWSCredentials credentials) 

Source Link

Document

Constructs a new ArchiveTransferManager, using the specified Amazon Glacier client and AWS credentials.

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:co.upet.extensions.glacierbkuploader.glacier.GlacierManager.java

@Inject
public GlacierManager(Configuration conf) {
    BasicAWSCredentials awsCreds = new BasicAWSCredentials(conf.awsAccessKey(), conf.awsSecretKey());
    glacierClient = new AmazonGlacierClient(awsCreds);
    glacierClient.setEndpoint(conf.glacierEndPoint());
    transferManager = new ArchiveTransferManager(glacierClient, awsCreds);
}

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

License:Open Source License

@Override
public void actionPerformed(ActionEvent e) {

    String accessString = getAccessKey();
    String secretString = getSecretKey();
    String vaultString = getVaultName();
    int regionInt = getServerRegion();

    if (e.getSource() == newVaultButton && checkAWSFields()) {
        AmazonGlacierClient newVaultClient = makeClient(accessString, secretString, regionInt);
        AddVaultFrame avf = new AddVaultFrame(newVaultClient, regionInt);
        avf.setVisible(true);// ww  w  . j  a va  2 s  .co m
    }
    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(appProperties.getDir());
        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(getLogFile(0, appProperties));
                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 = getLogFile(logTypes.getSelectedIndex(), appProperties);
        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, format(ABOUT_PATTERN, versionNumber), "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(SAGU.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 = SAGUUtils.concatFileArrays(multiFiles, thisFile);
                } else {
                    multiFiles = thisFile;
                }
            } else {
                JOptionPane.showMessageDialog(null, NO_DIRECTORIES_ERROR, "Error", JOptionPane.ERROR_MESSAGE);
            }
        }

    }

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

            SwingWorker<Object, Void> uploadWorker = new SwingWorker<Object, Void>() {

                @Override
                protected Object doInBackground() throws Exception {
                    String accessString = getAccessKey();
                    String secretString = getSecretKey();
                    String vaultName = getVaultName();
                    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 = getServerRegion();
                    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++) {

                            try {
                                Thread.sleep(100L); // why?
                            } 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();
                            final String description = SAGUUtils.pathToDescription(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(null, vaultName, description,
                                        uploadFileBatch[i],
                                        new OneFileProgressListener(uw, uploadFileBatch[i].length()));

                                uw.addToFinishedFiles(thisFile + "\n");

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

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

                                uw.updateAllFilesProgress(percentage);

                                final LogWriter logWriter;

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

                                    try {
                                        logWriter = new LogWriter(appProperties);

                                        try {
                                            String thisResult = result.getArchiveId();

                                            logWriter.logUploadedFile(vaultName, locationUpped, thisFile,
                                                    fileLength, treeHash, thisResult);

                                            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);
                                        }

                                    } catch (IOException ex) {
                                        JOptionPane.showMessageDialog(null, LOG_CREATION_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(getLogFile(4, appProperties), 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.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);//from w w w  .  j a  v  a  2  s. c  o m
    }
    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);//from www  . ja  v a2s .  c  o 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.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 ww.j ava  2 s.  c  om*/
    try {
        upload = atm.upload(Constants.vault, getArchiveDescription(archiveFile), archiveFile);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return upload;
}

From source file:com.splunk.shuttl.archiver.filesystem.glacier.GlacierClient.java

License:Apache License

public static GlacierClient create(AWSCredentialsImpl credentials) {
    AmazonGlacierClient amazonGlacierClient = new AmazonGlacierClient(credentials);
    amazonGlacierClient.setEndpoint(credentials.getGlacierEndpoint());
    return new GlacierClient(new ArchiveTransferManager(amazonGlacierClient, credentials),
            credentials.getGlacierVault());
}

From source file:com.vrane.metaGlacier.Archive.java

private ArchiveTransferManager getATM() {
    return new ArchiveTransferManager(GlacierFrame.getClient(), Main.frame);
}

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.  ja  va 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.GlacierArchiveDownloader.java

License:Open Source License

public void download(final URL endpointUrl, final String vaultName, final String archiveId) {
    System.out.println("Downloading archive " + archiveId + " from vault " + vaultName + "...");
    client.setEndpoint(endpointUrl.toExternalForm());

    try {//ww w.  j a  v a2  s.c om
        final File downloadFile = File.createTempFile("glacier-", ".dl");
        final ArchiveTransferManager atm = new ArchiveTransferManager(client, credentials);
        atm.download(vaultName, archiveId, downloadFile);
        System.out.println("Archive downloaded to " + downloadFile);
    } catch (final IOException e) {
        System.err.println("Can not download archive " + archiveId + " from vault " + vaultName + ".");
        e.printStackTrace();
    }
}