List of usage examples for com.amazonaws.services.glacier.transfer UploadResult getArchiveId
public String getArchiveId()
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.Uploader.java
private void sendActualBackupToGlacier() { BackupMetadata backupMetadata = new BackupMetadata(); backupMetadata.setLocalFilePath(configuration.filePath()); backupMetadata.setVaultName(configuration.vaultName()); backupMetadata.setDescription(configuration.fileDescription()); store.save(backupMetadata);/*from w ww . j a v a 2 s.c o m*/ UploadResult uploadFile = glacierManager.uploadFile(backupMetadata); backupMetadata.setArchiveId(uploadFile.getArchiveId()); backupMetadata.setStatus(BackupMetadata.Status.UPLOADED); store.update(backupMetadata); System.out.println("Archive ID: " + backupMetadata.getArchiveId()); }
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);// w w w . j av 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(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 va2 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(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 ava 2 s. 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.leverno.ysbos.archive.AwsArchiver.java
License:Open Source License
@Override public List<String> archive(List<File> filesToArchive) { List<String> result = new ArrayList<String>(); for (File file : filesToArchive) { UploadResult uploadResult = uploadFileToGlacier(file); result.add(uploadResult.getArchiveId()); }/* w w w . jav a 2 s .c om*/ return result; }
From source file:com.leverno.ysbos.Ysbos.java
License:Open Source License
private void run() throws NotDirectoryException { final String pathToBackup = new String("/home/vern/Pictures/aws_test"); final String jsonFilePath = new String("/home/vern/.ysbos/ysbox.json"); File jsonFile = new File(jsonFilePath); ItemDao itemDao = new ItemDaoJson(jsonFile); System.out.print("loading history..."); List<Item> items = itemDao.readItems(); System.out.println("done"); ItemStore.getInstance().addAll(items); //harvest file info from file system FileHarvester harvester = new FileHarvester(); Collection<File> files = harvester.getFilesFor(pathToBackup); //Convert to list of string paths List<String> fileNamesToBackup = new ArrayList<String>(); for (File file : files) { fileNamesToBackup.add(file.getAbsolutePath()); }/* w w w. ja v a2 s.com*/ //remove files that's already backed-up List<Item> currentItems = ItemStore.getInstance().findAll(new NoBackupPredicate()); for (Item item : currentItems) { fileNamesToBackup.remove(item.getOriginalPath()); } //upload to aws AwsArchiver awsArchiver = new AwsArchiver(); for (String fileName : fileNamesToBackup) { System.out.println("fileName to upload = " + fileName); UploadResult uploadResult = awsArchiver.uploadFileToGlacier(new File(fileName)); //update Item Item item = ItemStore.getInstance().getItem(fileName); item.setReference(uploadResult.getArchiveId()); System.out.println("item = " + item); itemDao.updateItems(ItemStore.getInstance().findAll()); } //Serialise ItemStore itemDao.updateItems(ItemStore.getInstance().findAll()); }
From source file:com.splunk.shuttl.archiver.filesystem.glacier.GlacierClient.java
License:Apache License
/** * Uploads a file to glacier and stores the of the transfer archiveId in * memory.// ww w .ja v a 2 s . c o m */ public void upload(File file, String dst) throws AmazonServiceException, AmazonClientException, FileNotFoundException { logger.info(will("Use amazon glacier ArchiveTransferManager" + " to transfer file to a vault", "file", file, "vault", vault, "destination", dst)); UploadResult result = transferManager.upload(vault, dst, file); logger.info(done("Uploading file to glacier.")); putArchiveId(dst, result.getArchiveId()); }
From source file:nl.nekoconeko.glaciercmd.Entry.java
License:Open Source License
public static void main(String[] args) { CommandLine cli = Configuration.parseCli(ModeType.ROOT, args); if (cli.hasOption("config")) { Configuration.loadFile(cli.getOptionValue("config")); }/*from ww w . j a v a 2s. c om*/ Configuration.load(cli); if (Configuration.getMode() == ModeType.HELP) { if (Configuration.hasHelpType()) { ConfigModes.printConfigModeHelp(Configuration.getHelpType()); } else { ConfigModes.printConfigModeHelp(ModeType.ROOT); } System.exit(0); } if (Configuration.getMode() == ModeType.VERSION) { Formatter.printHeader(); System.exit(0); } if (!Configuration.hasKey() || !Configuration.hasSecret() || !Configuration.hasRegion()) { Formatter.printErrorLine("Make sure key, secret and region are set!"); System.exit(-1); } GlacierClient gc = new GlacierClient(Configuration.getKey(), Configuration.getSecret()); gc.setEndpoint(Configuration.getRegion().getEndpoint()); if (Configuration.getMode() == ModeType.LIST) { Configuration.load(ModeType.LIST, args); if (!Configuration.hasListType()) { Formatter.printErrorLine("Make sure you specify a list type!"); System.exit(-1); } switch (Configuration.getListType()) { case VAULT: List<DescribeVaultOutput> vaults = gc.getVaults(); for (DescribeVaultOutput vault : vaults) { Formatter.printInfoLine(String.format("[%s] %d items, %d bytes, %s last checked", vault.getVaultName(), vault.getNumberOfArchives(), vault.getSizeInBytes(), vault.getLastInventoryDate())); } break; case ARCHIVE: if (!Configuration.hasVault()) { Formatter.printErrorLine("A vault has to be specified to list archives"); System.exit(-1); } DescribeVaultResult vault = gc.describeVault(Configuration.getVault()); Formatter.printInfoLine( String.format("[%s] %d items, %d bytes, %s last checked", vault.getVaultName(), vault.getNumberOfArchives(), vault.getSizeInBytes(), vault.getLastInventoryDate())); break; default: Formatter.printErrorLine("Invalid list type selected"); System.exit(-1); } } else if (Configuration.getMode() == ModeType.INITIATEINVENTORY) { Configuration.load(ModeType.INITIATEINVENTORY, args); Formatter.printInfoLine("Requesting an inventory from AWS Glacier..."); Formatter.printInfoLine(String.format("Job has been created with id: %s", gc.initiateRetrieveVaultInventory(Configuration.getVault()))); } else if (Configuration.getMode() == ModeType.GETINVENTORY) { Configuration.load(ModeType.GETINVENTORY, args); Formatter.printInfoLine( String.format("Retrieving inventory with id %s from AWS Glacier...", Configuration.getJobId())); VaultInventory inv = null; try { inv = gc.retrieveVaultInventoryJob(Configuration.getVault(), Configuration.getJobId()); } catch (InterruptedException e) { e.printStackTrace(); System.exit(-1); } Formatter.printInfoLine(String.format("Vault ARN: %s", inv.VaultARN)); Formatter.printInfoLine(String.format("Last Inventory Date: %s", inv.InventoryDate.toString())); Formatter.printInfoLine(String.format("Vault contains %d archives:", inv.ArchiveList.size())); for (Archive arch : inv.ArchiveList) { StringBuilder a = new StringBuilder(); a.append(String.format("Archive ID: %s\n", arch.ArchiveId)); a.append(String.format("Archive Description: %s\n", arch.ArchiveDescription)); a.append(String.format("Archive Size: %d bytes\n", arch.Size)); a.append(String.format("Creation Date: %s\n", arch.CreationDate.toString())); a.append(String.format("SHA256 Hash: %s\n", arch.SHA256TreeHash)); Formatter.printBorderedInfo(a.toString()); } } else if (Configuration.getMode() == ModeType.UPLOAD) { Configuration.load(ModeType.UPLOAD, args); Formatter.printInfoLine(String.format("Uploading '%s' to vault '%s'", Configuration.getInputFile(), Configuration.getVault())); UploadResult res = gc.uploadFile(Configuration.getVault(), Configuration.getInputFile(), Configuration.getDescription()); Formatter.printInfoLine(String.format("Upload completed, archive has ID: %s", res.getArchiveId())); } else if (Configuration.getMode() == ModeType.DOWNLOAD) { Configuration.load(ModeType.DOWNLOAD, args); Formatter.printInfoLine(String.format("Download '%s' from vault '%s', saving as '%s'", Configuration.getArchive(), Configuration.getVault(), Configuration.getOutputFile())); Formatter.printInfoLine("Note that this will take several hours, please be patient..."); gc.downloadFile(Configuration.getVault(), Configuration.getArchive(), Configuration.getOutputFile()); Formatter.printInfoLine("Download completed"); } else if (Configuration.getMode() == ModeType.INITIATEDOWNLOAD) { Configuration.load(ModeType.INITIATEDOWNLOAD, args); Formatter.printInfoLine(String.format("Requesting download of archive '%s' from vault '%s'...", Configuration.getArchive(), Configuration.getVault())); Formatter.printInfoLine(String.format("Job has been created with id: %s", gc.initiateDownload(Configuration.getVault(), Configuration.getArchive()))); } else if (Configuration.getMode() == ModeType.GETDOWNLOAD) { Configuration.load(ModeType.GETDOWNLOAD, args); Formatter.printInfoLine( String.format("Retrieving download with '%s' from AWS Glacier, and saving it to '%s'...", Configuration.getJobId(), Configuration.getOutputFile())); try { gc.retrieveDownloadJob(Configuration.getVault(), Configuration.getJobId(), Configuration.getOutputFile()); } catch (InterruptedException e) { e.printStackTrace(); System.exit(-1); } Formatter.printInfoLine("Download completed"); } else if (Configuration.getMode() == ModeType.DELETEARCHIVE) { Configuration.load(ModeType.DELETEARCHIVE, args); Formatter.printInfoLine(String.format("Deleting archive with id '%s' from vault '%s'", Configuration.getArchive(), Configuration.getVault())); gc.deleteArchive(Configuration.getVault(), Configuration.getArchive()); } else { Formatter.printErrorLine("WHA-HUH!?"); System.exit(-1); } }
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 . jav a 2 s.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; }