diff options
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java | 58 |
1 files changed, 14 insertions, 44 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java b/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java index c240c5d5..d9c9bee1 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java @@ -3,9 +3,6 @@ package org.openslx.dozmod.filetransfer; import java.io.File; import java.io.IOException; -import javax.swing.JOptionPane; -import javax.swing.SwingWorker; - import org.apache.log4j.Logger; import org.openslx.filetransfer.UploadStatusCallback; import org.openslx.filetransfer.Uploader; @@ -17,7 +14,7 @@ import org.openslx.filetransfer.Uploader; * @author www.codejava.net * */ -public class UploadTask extends SwingWorker<Void, Void> { +public class UploadTask implements Runnable { /** * Logger instance for this class. @@ -32,7 +29,6 @@ public class UploadTask extends SwingWorker<Void, Void> { private final int port; private final String uploadToken; private final File uploadFile; - private boolean success = false; public UploadTask(String host, int port, String uploadToken, File uploadFile) { // TODO: SSL @@ -47,7 +43,7 @@ public class UploadTask extends SwingWorker<Void, Void> { * Executed in background thread */ @Override - protected Void doInBackground() { + public void run() { Uploader upload = null; try { @@ -58,9 +54,8 @@ public class UploadTask extends SwingWorker<Void, Void> { final long fileSize = Image.Filesize = uploadFile.length(); BROKEN CODE - FIXME class imports */ final long fileSize = 1000000; - - - firePropertyChange("filesize", 0, fileSize); // Updates GUI + + LOGGER.debug("Filesize: " + fileSize); final boolean ret = upload.upload(uploadFile.getAbsolutePath(), new UploadStatusCallback() { // progress counter @@ -77,11 +72,9 @@ public class UploadTask extends SwingWorker<Void, Void> { final long now = System.currentTimeMillis(); if (lastUpdate + UPDATE_INTERVAL_MS < now) { final int percentCompleted = (int) ((totalBytesRead * 100) / fileSize); - setProgress(percentCompleted); lastBytes = (lastBytes * 2 + currentBytes) / 3; final double speed = lastBytes / UPDATE_INTERVAL_SECONDS; - firePropertyChange("speed", 0, speed / BYTES_PER_MIB); - firePropertyChange("bytesread", 0, totalBytesRead); + LOGGER.debug(percentCompleted + "% complete (speed: " + speed/BYTES_PER_MIB + ", total: " + totalBytesRead + ")"); lastUpdate = now; currentBytes = 0; } @@ -89,47 +82,24 @@ public class UploadTask extends SwingWorker<Void, Void> { @Override public void uploadError(String message) { - JOptionPane.showMessageDialog(null, "Error uploading file: " + message, "Error", - JOptionPane.ERROR_MESSAGE); - ul.close(null); + LOGGER.error("Upload error: " + message); + //Gui.showMessageBox(null, message, MessageType.ERROR, LOGGER, null); } }); // if the upload succeeded, set the progress to 100% manually again here to make // sure the GUI knows about it. - if (ret) { - setProgress(100); - firePropertyChange("bytesread", 0, uploadFile.length()); - firePropertyChange("success", false, true); - success = true; - } + + if (ret) + LOGGER.info("Upload completed."); + else + LOGGER.info("Upload failed."); } catch (IOException e) { - JOptionPane.showMessageDialog(null, "Error uploading file: " + e.getMessage(), "Error", - JOptionPane.ERROR_MESSAGE); - LOGGER.error("Upload of " + uploadFile.getAbsolutePath() + " failed!", e); + LOGGER.error("Upload of " + uploadFile.getAbsolutePath() + " failed: ", e); } finally { if (upload != null) upload.close(null); } - - return null; - } - - /** - * Executed in Swing's event dispatching thread - */ - @Override - protected void done() { - if (isCancelled()) - return; - if (success) { - LOGGER.info("Datei erfolgreich hochgeladen."); - JOptionPane.showMessageDialog(null, "Datei erfolgreich hochgeladen.", "Message", - JOptionPane.INFORMATION_MESSAGE); - } else { - LOGGER.error("Datei wurde unvollständig hochgeladen."); - JOptionPane.showMessageDialog(null, "Datei wurde unvollständig hochgeladen. Bitte wiederholen.", - "Message", JOptionPane.INFORMATION_MESSAGE); - } + return; } } |