summaryrefslogtreecommitdiffstats
path: root/Dozentenmodul/src/main/java/ftp
diff options
context:
space:
mode:
authorJonathan Bauer2014-09-11 15:00:28 +0200
committerJonathan Bauer2014-09-11 15:00:28 +0200
commitafd4abcd1902971384f14515fe97646947b66f94 (patch)
tree4ad51b4af5a7a8384d9a1ce8dcc8fae0f177f563 /Dozentenmodul/src/main/java/ftp
parentOS dependent path for config file (diff)
downloadtutor-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.java117
-rw-r--r--Dozentenmodul/src/main/java/ftp/FTPException.java8
-rw-r--r--Dozentenmodul/src/main/java/ftp/FTPUtility.java199
-rw-r--r--Dozentenmodul/src/main/java/ftp/UploadTask.java108
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