summaryrefslogtreecommitdiffstats
path: root/Dozentenmodul/src/downloader/DownloadTask.java
diff options
context:
space:
mode:
authorunknown2014-02-25 11:04:51 +0100
committerunknown2014-02-25 11:04:51 +0100
commit2a3ec0fbda66ed07adcdc968a9365096ecd54f40 (patch)
tree187af202e5a404a15c31f0915e73cb23bf5b7900 /Dozentenmodul/src/downloader/DownloadTask.java
parentProblem der herumspringenden Fenster entfernt (diff)
downloadtutor-module-2a3ec0fbda66ed07adcdc968a9365096ecd54f40.tar.gz
tutor-module-2a3ec0fbda66ed07adcdc968a9365096ecd54f40.tar.xz
tutor-module-2a3ec0fbda66ed07adcdc968a9365096ecd54f40.zip
Kommunikation von BwLehrpool Suite zu BwLehrpool Suite Server läuft nun über Thrift
Diffstat (limited to 'Dozentenmodul/src/downloader/DownloadTask.java')
-rw-r--r--Dozentenmodul/src/downloader/DownloadTask.java111
1 files changed, 0 insertions, 111 deletions
diff --git a/Dozentenmodul/src/downloader/DownloadTask.java b/Dozentenmodul/src/downloader/DownloadTask.java
deleted file mode 100644
index 9cae23ed..00000000
--- a/Dozentenmodul/src/downloader/DownloadTask.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package downloader;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.InputStream;
-
-import javax.swing.JOptionPane;
-import javax.swing.SwingWorker;
-import GUI.FTPDownloader_GUI;
-
-/**
- * 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;
-
- @SuppressWarnings("unused")
- private FTPDownloader_GUI gui;
-
- public DownloadTask(String host, int port, String username,
- String password, String downloadPath, String saveDir,
- FTPDownloader_GUI gui) {
- this.host = host;
- this.port = port;
- this.username = username;
- this.password = password;
- this.downloadPath = downloadPath;
- this.saveDir = saveDir;
- this.gui = gui;
-
- }
-
- /**
- * 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;
- int 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()) {
- JOptionPane.showMessageDialog(null,
- "File has been downloaded successfully!", "Message",
- JOptionPane.INFORMATION_MESSAGE);
- }
- }
-} \ No newline at end of file