diff options
| author | Jonathan Bauer | 2014-09-11 15:00:28 +0200 |
|---|---|---|
| committer | Jonathan Bauer | 2014-09-11 15:00:28 +0200 |
| commit | afd4abcd1902971384f14515fe97646947b66f94 (patch) | |
| tree | 4ad51b4af5a7a8384d9a1ce8dcc8fae0f177f563 /Dozentenmodul/src/main/java/ftp | |
| parent | OS dependent path for config file (diff) | |
| download | tutor-module-afd4abcd1902971384f14515fe97646947b66f94.tar.gz tutor-module-afd4abcd1902971384f14515fe97646947b66f94.tar.xz tutor-module-afd4abcd1902971384f14515fe97646947b66f94.zip | |
lower case names for folder please
Diffstat (limited to 'Dozentenmodul/src/main/java/ftp')
| -rw-r--r-- | Dozentenmodul/src/main/java/ftp/DownloadTask.java | 117 | ||||
| -rw-r--r-- | Dozentenmodul/src/main/java/ftp/FTPException.java | 8 | ||||
| -rw-r--r-- | Dozentenmodul/src/main/java/ftp/FTPUtility.java | 199 | ||||
| -rw-r--r-- | Dozentenmodul/src/main/java/ftp/UploadTask.java | 108 |
4 files changed, 0 insertions, 432 deletions
diff --git a/Dozentenmodul/src/main/java/ftp/DownloadTask.java b/Dozentenmodul/src/main/java/ftp/DownloadTask.java deleted file mode 100644 index 5592adba..00000000 --- a/Dozentenmodul/src/main/java/ftp/DownloadTask.java +++ /dev/null @@ -1,117 +0,0 @@ -package ftp; - -import gui.image.FTPEditDownloader_GUI; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.InputStream; - -import javax.swing.JOptionPane; -import javax.swing.SwingWorker; - -/** - * Execute file download in a background thread and update the progress. - * - * @author www.codejava.net - * - */ -public class DownloadTask extends SwingWorker<Void, Void> { - - private static final int BUFFER_SIZE = 4096; - - private String host; - private int port; - private String username; - private String password; - private String downloadPath; - private String saveDir; - private int percentCompleted; - - public DownloadTask(String host, int port, String username, - String password, String downloadPath, String saveDir) { - this.host = host; - this.port = port; - this.username = username; - this.password = password; - this.downloadPath = downloadPath; - this.saveDir = saveDir; - - } - - /** - * Executed in background thread - */ - @Override - protected Void doInBackground() throws Exception { - FTPUtility util = new FTPUtility(host, port, username, password); - try { - util.connect(); - - byte[] buffer = new byte[BUFFER_SIZE]; - int bytesRead = -1; - long totalBytesRead = 0; - percentCompleted = 0; - long start = System.nanoTime(); - final double NANOS_PER_SECOND = 1000000000.0; - final double BYTES_PER_MIB = 1024 * 1024; - long fileSize = util.getFileSize(downloadPath); - // gui.setFileSize(fileSize); - - String fileName = new File(downloadPath).getName(); - - File downloadFile = new File(saveDir + File.separator + fileName); - FileOutputStream outputStream = new FileOutputStream(downloadFile); - - util.downloadFile(downloadPath); - InputStream inputStream = util.getInputStream(); - - while ((bytesRead = inputStream.read(buffer)) != -1 - && isCancelled() == false) { - outputStream.write(buffer, 0, bytesRead); - totalBytesRead += bytesRead; - // System.out.println(totalBytesRead); - double speed = NANOS_PER_SECOND / BYTES_PER_MIB - * totalBytesRead / (System.nanoTime() - start + 1); - percentCompleted = (int) (totalBytesRead * 100 / fileSize); - setProgress(percentCompleted); - firePropertyChange("speed", 0, speed); - firePropertyChange("filesize", 0, fileSize); - firePropertyChange("bytesread", 0, totalBytesRead); - - } - - outputStream.close(); - - util.finish(); - } catch (FTPException ex) { - JOptionPane.showMessageDialog(null, - "Error downloading file: " + ex.getMessage(), "Error", - JOptionPane.ERROR_MESSAGE); - ex.printStackTrace(); - setProgress(0); - cancel(true); - } finally { - util.disconnect(); - } - - return null; - } - - /** - * Executed in Swing's event dispatching thread - */ - @Override - protected void done() { - if (!isCancelled() && percentCompleted==100) { - System.out.println("Datei erfolgreich heruntergeladen"); - JOptionPane.showMessageDialog(null, - "Datei erfolgreich heruntergeladen.", "Message", - JOptionPane.INFORMATION_MESSAGE); - } else if(!isCancelled() && percentCompleted != 100){ - System.out.println("Datein wurde unvollständig heruntergeladen"); - JOptionPane.showMessageDialog(null, - "Datei wurde unvollständig heruntergeladen. Bitte wiederholen.", "Message", - JOptionPane.INFORMATION_MESSAGE); - } - } -}
\ No newline at end of file diff --git a/Dozentenmodul/src/main/java/ftp/FTPException.java b/Dozentenmodul/src/main/java/ftp/FTPException.java deleted file mode 100644 index bc3193e0..00000000 --- a/Dozentenmodul/src/main/java/ftp/FTPException.java +++ /dev/null @@ -1,8 +0,0 @@ -package ftp; - -@SuppressWarnings("serial") -public class FTPException extends Exception { - public FTPException(String message) { - super(message); - } -}
\ No newline at end of file diff --git a/Dozentenmodul/src/main/java/ftp/FTPUtility.java b/Dozentenmodul/src/main/java/ftp/FTPUtility.java deleted file mode 100644 index beae3f34..00000000 --- a/Dozentenmodul/src/main/java/ftp/FTPUtility.java +++ /dev/null @@ -1,199 +0,0 @@ -package ftp; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.SocketException; -import java.security.NoSuchAlgorithmException; - -import javax.swing.JOptionPane; - -import models.Image; - -import org.apache.commons.net.ftp.FTP; -import org.apache.commons.net.ftp.FTPFile; -import org.apache.commons.net.ftp.FTPReply; -import org.apache.commons.net.ftp.FTPSClient; - -/** - * A utility class that provides functionality for downloading files from a FTP - * server. - * - * @author www.codejava.net - * - */ -public class FTPUtility { - - // FTP server information - private String host; - private int port; - private String username; - private String password; - - private FTPSClient ftpClient = new FTPSClient(); - private int replyCode; - - private InputStream inputStream; - private OutputStream outputStream; - - public FTPUtility(String host, int port, String user, String pass) { - this.host = host; - this.port = port; - this.username = user; - this.password = pass; - } - - /** - * Connect and login to the server. - * - * @throws FTPException - * @throws NoSuchAlgorithmException - */ - public void connect() throws FTPException, NoSuchAlgorithmException { - try { - ftpClient.connect(host, port); - replyCode = ftpClient.getReplyCode(); - if (!FTPReply.isPositiveCompletion(replyCode)) { - throw new FTPException("FTP serve refused connection."); - } - - boolean logged = ftpClient.login(username, password); - if (!logged) { - // failed to login - ftpClient.execPROT("P"); - ftpClient.disconnect(); - throw new FTPException("Could not login to the server."); - } - - ftpClient.enterLocalPassiveMode(); - - } catch (IOException ex) { - throw new FTPException("I/O error: " + ex.getMessage()); - } - } - - /** - * Gets size (in bytes) of the file on the server. - * - * @param filePath - * Path of the file on server - * @return file size in bytes - * @throws FTPException - */ - public long getFileSize(String filePath) throws FTPException { - try { - FTPFile file = ftpClient.mlistFile(filePath); - if (file == null) { - throw new FTPException("The file may not exist on the server!"); - } - return file.getSize(); - } catch (IOException ex) { - throw new FTPException("Could not determine size of the file: " - + ex.getMessage()); - } - } - - /** - * Start downloading a file from the server - * - * @param downloadPath - * Full path of the file on the server - * @throws FTPException - * if client-server communication error occurred - */ - public void downloadFile(String downloadPath) throws FTPException { - try { - - boolean success = ftpClient.setFileType(FTP.BINARY_FILE_TYPE); - if (!success) { - throw new FTPException("Could not set binary file type."); - } - - inputStream = ftpClient.retrieveFileStream(downloadPath); - - if (inputStream == null) { - throw new FTPException( - "Could not open input stream. The file may not exist on the server."); - } - } catch (IOException ex) { - throw new FTPException("Error downloading file: " + ex.getMessage()); - } - } - - /** - * Start uploading a file to the server - * - * @param uploadFile - * the file to be uploaded - * @param destDir - * destination directory on the server where the file is stored - * @throws FTPException - * if client-server communication error occurred - */ - public void uploadFile(File uploadFile, String destDir) throws FTPException { - try { - boolean success = ftpClient.changeWorkingDirectory(destDir); - if (!success) { - throw new FTPException("Could not change working directory to " - + destDir + ". The directory may not exist."); - } - - success = ftpClient.setFileType(FTP.BINARY_FILE_TYPE); - if (!success) { - throw new FTPException("Could not set binary file type."); - } - - outputStream = ftpClient.storeFileStream(Image.image.getNewName()); - - // ftpClient.rename(uploadFile.getName(), ); - } catch (IOException ex) { - throw new FTPException("Error uploading file: " + ex.getMessage()); - } - } - - /** - * Write an array of bytes to the output stream. - */ - public void writeFileBytes(byte[] bytes, int offset, int length) - throws IOException { - outputStream.write(bytes, offset, length); - } - - /** - * Complete the download operation. - */ - public void finish() throws IOException { - inputStream.close(); - ftpClient.completePendingCommand(); - } - - /** - * Log out and disconnect from the server - */ - public void disconnect() throws FTPException { - if (ftpClient.isConnected()) { - try { - if (!ftpClient.logout()) { - throw new FTPException("Could not log out from the server"); - } - ftpClient.disconnect(); - } catch (IOException ex) { - throw new FTPException("Error disconnect from the server: " - + ex.getMessage()); - } - } - } - - /** - * Return InputStream of the remote file on the server. - */ - public InputStream getInputStream() { - return inputStream; - } - - public OutputStream getOutputStream() { - return outputStream; - } - -}
\ No newline at end of file diff --git a/Dozentenmodul/src/main/java/ftp/UploadTask.java b/Dozentenmodul/src/main/java/ftp/UploadTask.java deleted file mode 100644 index e7ebe43b..00000000 --- a/Dozentenmodul/src/main/java/ftp/UploadTask.java +++ /dev/null @@ -1,108 +0,0 @@ -package ftp; - -import java.io.File; -import java.io.FileInputStream; - -import javax.swing.JOptionPane; -import javax.swing.SwingWorker; - -import models.Image; - -/** - * Executes the file upload in a background thread and updates progress to - * listeners that implement the java.beans.PropertyChangeListener interface. - * - * @author www.codejava.net - * - */ -public class UploadTask extends SwingWorker<Void, Void> { - private static final int BUFFER_SIZE = 4096; - - private String host; - private int port; - private String username; - private String password; - private String destDir; - private File uploadFile; - private int percentCompleted; - - public UploadTask(String host, int port, String username, String password, - String destDir, File uploadFile) { - this.host = host; - this.port = port; - this.username = username; - this.password = password; - this.destDir = destDir; - this.uploadFile = uploadFile; - - } - - /** - * Executed in background thread - */ - @Override - protected Void doInBackground() throws Exception { - FTPUtility util = new FTPUtility(host, port, username, password); - try { - util.connect(); - util.uploadFile(uploadFile, destDir); - - FileInputStream inputStream = new FileInputStream(uploadFile); - byte[] buffer = new byte[BUFFER_SIZE]; - int bytesRead = -1; - int i = 0; - long totalBytesRead = 0; - percentCompleted = 0; - long fileSize = uploadFile.length(); - Image.image.setFilesize(fileSize); - long start = System.nanoTime(); - final double NANOS_PER_SECOND = 1000000000.0; - final double BYTES_PER_MIB = 1024 * 1024; - while ((bytesRead = inputStream.read(buffer)) != -1 - && isCancelled() == false) { - util.writeFileBytes(buffer, 0, bytesRead); - totalBytesRead += bytesRead; - percentCompleted = (int) (totalBytesRead * 100 / fileSize); - double speed = NANOS_PER_SECOND / BYTES_PER_MIB - * totalBytesRead / (System.nanoTime() - start + 1); - setProgress(percentCompleted); - firePropertyChange("speed", 0, speed); - firePropertyChange("filesize", 0, fileSize); - firePropertyChange("bytesread", 0, totalBytesRead); - } - - inputStream.close(); - - util.finish(); - } catch (FTPException ex) { - JOptionPane.showMessageDialog(null, - "Error uploading file: " + ex.getMessage(), "Error", - JOptionPane.ERROR_MESSAGE); - ex.printStackTrace(); - setProgress(0); - cancel(true); - } finally { - util.disconnect(); - } - - return null; - } - - /** - * Executed in Swing's event dispatching thread - */ - @Override - protected void done() { - if (!isCancelled() && percentCompleted==100) { - System.out.println("Datei erfolgreich hochgeladen"); - JOptionPane.showMessageDialog(null, - "Datei erfolgreich hochgeladen.", "Message", - JOptionPane.INFORMATION_MESSAGE); - } else if(!isCancelled() && percentCompleted != 100){ - System.out.println("Datein wurde unvollständig hochgeladen"); - JOptionPane.showMessageDialog(null, - "Datei wurde unvollständig hochgeladen. Bitte wiederholen.", "Message", - JOptionPane.INFORMATION_MESSAGE); - } - } -}
\ No newline at end of file |
