summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java
diff options
context:
space:
mode:
authorJonathan Bauer2015-06-22 13:40:02 +0200
committerJonathan Bauer2015-06-22 13:40:02 +0200
commitbb09d09546c00fe8b0c21d525af31c87097367d4 (patch)
tree61fd648989bcde8ed32b3bf426870d9846e948cb /dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java
parent[server] Implement getOperatingSystems and getVirtualizers (diff)
downloadtutor-module-bb09d09546c00fe8b0c21d525af31c87097367d4.tar.gz
tutor-module-bb09d09546c00fe8b0c21d525af31c87097367d4.tar.xz
tutor-module-bb09d09546c00fe8b0c21d525af31c87097367d4.zip
[client] rebasing the whole app...
Diffstat (limited to 'dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java')
-rw-r--r--dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java489
1 files changed, 0 insertions, 489 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java
deleted file mode 100644
index 11aed0f9..00000000
--- a/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java
+++ /dev/null
@@ -1,489 +0,0 @@
-package gui.image;
-
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.FlowLayout;
-import java.awt.Font;
-import java.awt.SystemColor;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.io.File;
-
-import javax.swing.JButton;
-import javax.swing.JFileChooser;
-import javax.swing.JFrame;
-import javax.swing.JInternalFrame;
-import javax.swing.JLabel;
-import javax.swing.JMenuBar;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JProgressBar;
-import javax.swing.JSeparator;
-import javax.swing.JTextPane;
-import javax.swing.SwingConstants;
-import javax.swing.UIManager;
-import javax.swing.border.EmptyBorder;
-import javax.swing.event.InternalFrameAdapter;
-import javax.swing.event.InternalFrameEvent;
-
-import models.Image;
-import models.SessionData;
-import models.person;
-
-import org.apache.log4j.Logger;
-import org.apache.thrift.TException;
-import org.openslx.sat.thrift.iface.TransferInformation;
-import org.openslx.thrifthelper.ThriftManager;
-
-import util.GuiManager;
-import util.OpenLinks;
-import config.Config;
-import ftp.DownloadTask;
-import gui.intro.MainMenue_GUI;
-
-@SuppressWarnings("serial")
-public class FTPEditDownloader_GUI extends JInternalFrame implements PropertyChangeListener {
-
- /**
- * Logger instance for this class.
- */
- private final static Logger LOGGER = Logger.getLogger(FTPEditDownloader_GUI.class);
-
- private final JPanel contentPanel = new JPanel();
- private JLabel lblPath;
- private JLabel lblDownSpeed;
- private JProgressBar progressBar;
- private String host = SessionData.serverAdress;
- private DownloadTask task;
- private JLabel lblFertig;
- private JLabel lblFilesize;
- private JLabel lblVerbleibend;
- private JFileChooser fc;
- private long filesize;
- private double speed;
- private int progress = 0; // progress of download
- private long bytesread;
- private JLabel lblZeit;
- private boolean taskrun = false;
- private JButton btnZurck = new JButton("Zurück");
- private JButton btnDownloadStarten = new JButton("Download starten");
- private JButton btnDownloadStoppen = new JButton("Download abbrechen");
- private JLabel lblAnleitung;
- private boolean isCurrentlyLoading = false; // currently up or downloading file
- private boolean isAborted = false; // down- or upload was manually aborted
- private TransferInformation transferInfo = null;
- public static final String HELP_MESSAGE = "<html><div align=\"center\">"
- + "Hier können Sie Images herunterladen.<br />"
- + "Klicken Sie anschließend auf \"Zurück\", um zu Ihrer vorherigen Auswahl zurückzugelangen.<br />"
- + "</div></html>";
-
- /**
- * Create the frame.
- */
- public FTPEditDownloader_GUI() {
-
- final String[] options = { "Beenden", "Abbrechen" };
-
- addInternalFrameListener(new InternalFrameAdapter() {
- @Override
- public void internalFrameClosing(InternalFrameEvent arg0) {
- if (taskrun == true) {
- // check if user wants to quit.
- int choice = JOptionPane.showOptionDialog(
- null,
- "Aktuell ist ein Download aktiv. Wollen Sie diesen Abbrechen und das Programm beenden?",
- "Upload aktiv", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE,
- null, options, options[1]);
- // 0=beenden, 1=abbrechen
- if (choice == 0) {
- try {
- ThriftManager.getSatClient().cancelDownload(transferInfo.token);
- ThriftManager.getSatClient().setSessionInvalid(SessionData.authToken);
- } catch (TException e1) {
- LOGGER.error("Error cancelling download..", e1);
- }
- task.cancel(true);
- System.exit(0);
- }// end if coice
- }
- }
- });
- setResizable(false);
-
- setBackground(Color.WHITE);
- setTitle("Dozentenmodul - Image herunterladen - " + person.verantwortlicher.getUserID());
- // Aktion die beim Schliessen durchgefuehrt werden soll
- setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
-
- setBounds(0, 0, 603, 722);
-
- getContentPane().setLayout(new BorderLayout());
- contentPanel.setBackground(SystemColor.menu);
- contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
- getContentPane().add(contentPanel, BorderLayout.CENTER);
- contentPanel.setLayout(null);
- {
- JButton btnSpeicherortAuswhlen = new JButton("Speicherort auswählen");
- btnSpeicherortAuswhlen.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent arg0) {
-
- fc = new JFileChooser(Config.getLastDownloadPath());
- fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
- fc.showOpenDialog(getParent());
-
- File dir = fc.getSelectedFile();
- // check if directory is selected
- if (dir != null) {
- // is selected
- // create dir if it does not exists.
- if (!dir.exists())
- dir.mkdirs();
- lblPath.setText(dir.getAbsolutePath());
- } else {
- // no directory selected
- lblPath.setText("");
- }// end if
- }
- });
-
- btnSpeicherortAuswhlen.setBounds(102, 124, 173, 23);
- btnSpeicherortAuswhlen.setVerticalAlignment(SwingConstants.TOP);
- contentPanel.add(btnSpeicherortAuswhlen);
- }
-
- lblPath = new JLabel("");
- lblPath.setText(Config.getLastDownloadPath());
-
- lblPath.addPropertyChangeListener(new PropertyChangeListener() {
- @Override
- public void propertyChange(PropertyChangeEvent arg0) {
- if (lblPath.getText().trim().isEmpty()) {
- // wenn leer, dann upload button nicht freigeben
- btnDownloadStarten.setEnabled(false);
- btnDownloadStarten.setText("Bitte warten");
- } else {
- // wenn NICHT leer, dann upload button freigeben
- btnDownloadStarten.setEnabled(true);
- btnDownloadStarten.setText("Download starten");
- }
- }
- });
- lblPath.setBounds(102, 158, 485, 23);
- contentPanel.add(lblPath);
-
- btnDownloadStarten.setEnabled(false);
- btnDownloadStarten.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- buttonDownloadActionPerformed(arg0);
- }
- });
-
- btnDownloadStarten.setBounds(102, 200, 173, 23);
- contentPanel.add(btnDownloadStarten);
-
- progressBar = new JProgressBar(0, 100);
- progressBar.setStringPainted(true);
-
- progressBar.setBounds(102, 234, 485, 30);
- contentPanel.add(progressBar);
-
- JLabel lblDownloadgeschwindigkeit = new JLabel("Downloadgeschwindigkeit:");
- lblDownloadgeschwindigkeit.setBounds(102, 275, 141, 14);
- contentPanel.add(lblDownloadgeschwindigkeit);
-
- lblDownSpeed = new JLabel("0");
- lblDownSpeed.setBounds(374, 275, 117, 14);
- contentPanel.add(lblDownSpeed);
-
- JLabel lblFertig_1 = new JLabel("Fertig:");
- lblFertig_1.setBounds(102, 325, 46, 14);
- contentPanel.add(lblFertig_1);
-
- lblFertig = new JLabel("0");
- lblFertig.setBounds(183, 325, 108, 14);
- contentPanel.add(lblFertig);
-
- JLabel lblVon = new JLabel("von:");
- lblVon.setBounds(318, 325, 46, 14);
- contentPanel.add(lblVon);
-
- lblFilesize = new JLabel("0");
- lblFilesize.setBounds(374, 325, 117, 14);
- contentPanel.add(lblFilesize);
-
- JLabel lblMbVerbleibend = new JLabel("Verbleibend:");
- lblMbVerbleibend.setBounds(102, 350, 71, 14);
- contentPanel.add(lblMbVerbleibend);
-
- lblVerbleibend = new JLabel("0");
- lblVerbleibend.setBounds(183, 350, 108, 14);
- contentPanel.add(lblVerbleibend);
-
- JLabel lblGeschtzteVerbleibendeZeit = new JLabel("Geschätzte Verbleibende Zeit:");
- lblGeschtzteVerbleibendeZeit.setBounds(102, 300, 150, 14);
- contentPanel.add(lblGeschtzteVerbleibendeZeit);
-
- lblZeit = new JLabel("0");
- lblZeit.setBounds(374, 300, 117, 14);
- contentPanel.add(lblZeit);
-
- JPanel panel = new JPanel();
- panel.setLayout(null);
- panel.setBackground(SystemColor.menu);
- panel.setBounds(10, 24, 577, 57);
- contentPanel.add(panel);
-
- JLabel lblImageDownloader = new JLabel("Image Downloader");
- lblImageDownloader.setFont(new Font("Tahoma", Font.BOLD, 18));
- lblImageDownloader.setBounds(10, 11, 509, 22);
- panel.add(lblImageDownloader);
-
- JTextPane txtpnWhlenSieEinen = new JTextPane();
- txtpnWhlenSieEinen.setText("Wählen Sie einen Ort aus, um das von Ihnen gewählte Image herunterzuladen.");
- txtpnWhlenSieEinen.setEditable(false);
- txtpnWhlenSieEinen.setBackground(SystemColor.menu);
- txtpnWhlenSieEinen.setBounds(10, 36, 509, 32);
- panel.add(txtpnWhlenSieEinen);
-
- JSeparator separator = new JSeparator();
- separator.setBounds(0, 88, 597, 2);
- contentPanel.add(separator);
-
- JLabel label_1 = new JLabel("Hauptmenü");
- label_1.setForeground(Color.BLUE);
- label_1.setBounds(20, 92, 61, 20);
- contentPanel.add(label_1);
- label_1.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent arg0) {
- // oeffnet das Hauptmenue
- GuiManager.show(new MainMenue_GUI());
- }
- });
-
- JLabel label_2 = new JLabel(">");
- label_2.setBounds(80, 95, 14, 14);
- contentPanel.add(label_2);
-
- JLabel label_3 = new JLabel("Image");
- label_3.setForeground(Color.BLUE);
- label_3.setBounds(91, 92, 46, 20);
- contentPanel.add(label_3);
-
- JLabel label_4 = new JLabel(">");
- label_4.setBounds(139, 95, 14, 14);
- contentPanel.add(label_4);
-
- JLabel lblNeuBearbeiten = new JLabel("Bearbeiten");
- lblNeuBearbeiten.setBounds(149, 95, 155, 14);
- contentPanel.add(lblNeuBearbeiten);
-
- JSeparator separator_1 = new JSeparator();
- separator_1.setBounds(-10, 648, 597, 2);
- contentPanel.add(separator_1);
-
- JLabel lblSchritt = new JLabel("Schritt 1:");
- lblSchritt.setBounds(24, 128, 57, 14);
- contentPanel.add(lblSchritt);
-
- JLabel lblSchritt_1 = new JLabel("Schritt 2:");
- lblSchritt_1.setBounds(24, 204, 57, 14);
- contentPanel.add(lblSchritt_1);
-
- JLabel lblSchritt_3 = new JLabel("Schritt 3:");
- lblSchritt_3.setBounds(20, 423, 57, 14);
- contentPanel.add(lblSchritt_3);
-
- JLabel lblKlickenSieAuf = new JLabel("Klicken Sie auf \"Zurück\".");
- lblKlickenSieAuf.setBounds(102, 423, 241, 14);
- contentPanel.add(lblKlickenSieAuf);
-
- JMenuBar menuBar = new JMenuBar();
- menuBar.setBounds(0, 0, 597, 21);
- contentPanel.add(menuBar);
-
- lblAnleitung = new JLabel(
- "<HTML><U>Anleitung zum Erstellen einer virtuellen Maschine herunterladen</U></HTML>");
- lblAnleitung.setForeground(Color.BLUE);
- lblAnleitung.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent arg0) {
- OpenLinks.openWebpage("intro");
- }
- });
- lblAnleitung.setBounds(102, 448, 311, 14);
- contentPanel.add(lblAnleitung);
- btnDownloadStoppen.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
-
- isAborted = true; // set flag
- try {
- ThriftManager.getSatClient().cancelDownload(transferInfo.token);
- } catch (TException e1) {
- }
- task.cancel(true);
- resetValues();
-
- // reset buttons
- resetButtons();
- }
- });
-
- btnDownloadStoppen.setEnabled(false);
- btnDownloadStoppen.setBounds(305, 200, 173, 23);
- contentPanel.add(btnDownloadStoppen);
- {
- JPanel buttonPane = new JPanel();
- buttonPane.setBackground(UIManager.getColor("Button.background"));
- buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
- getContentPane().add(buttonPane, BorderLayout.SOUTH);
- {
- btnZurck.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- // check if loading file or not
- if (isCurrentlyLoading() == true) {
- int choice = JOptionPane.showOptionDialog(null,
- "Nicht abgeschlossene Uploads werden beendet. Trotzdem zurück gehen?",
- "Warnung", JOptionPane.YES_NO_CANCEL_OPTION,
- JOptionPane.QUESTION_MESSAGE, null, options, options[1]);
- // 0=beenden, 1=abbrechen
- if (choice == 0) {
- task.cancel(true);
- try {
- ThriftManager.getSatClient().cancelDownload(transferInfo.token);
- } catch (TException e1) {
- }
-
- // go back one page
- GuiManager.show(new SearchEditImage_GUI());
- }// end choice
-
- } else {
-
- // go back one page
- GuiManager.show(new SearchEditImage_GUI());
-
- }// end else
- // always save download path
- File f = new File(lblPath.getText().trim().trim());
- if (f.isDirectory()) {
- Config.setLastDownloadPath(f.toString());
- } else if (f.getParentFile().isDirectory()) {
- Config.setLastDownloadPath(f.getParentFile().toString());
- }
- Config.store();
-
- }
- });
- btnZurck.setActionCommand("Cancel");
- buttonPane.add(btnZurck);
- }
- }
- setVisible(true);
-
- }
-
- private void buttonDownloadActionPerformed(ActionEvent event) {
-
- isAborted = false;
- progressBar.setValue(0);
- btnDownloadStarten.setEnabled(false); // verhindert schnellen zweiten
- // Klick
- btnDownloadStarten.setText("Bitte warten");
- try {
- transferInfo = ThriftManager.getSatClient().requestDownload(SessionData.authToken, Image.ImageId);
- } catch (TException e) {
- transferInfo = null;
- JOptionPane.showMessageDialog(null, e.getCause() + "\n" + e.getStackTrace(), "Debug-Message",
- JOptionPane.ERROR_MESSAGE);
- }
-
- task = new DownloadTask(host, transferInfo.plainPort, transferInfo.token, lblPath.getText().trim(), Image.Filesize);
- task.addPropertyChangeListener(this);
- task.execute();
- taskrun = true;
-
- }
-
- @Override
- public void propertyChange(PropertyChangeEvent arg0) {
-
- if (isAborted)
- return;
- progress = 0;
- if ("progress".equals(arg0.getPropertyName())) {
- progress = (Integer) arg0.getNewValue();
- progressBar.setValue(progress);
- }
-
- if ("speed".equals(arg0.getPropertyName())) {
- speed = (double) arg0.getNewValue();
- lblDownSpeed.setText(String.format("%.2f", speed) + " MB/s");
- }
-
- // Button zum Fertigstellen freischalten, wenn 100% erreicht sind
- if (isCurrentlyLoading() == false || progressBar.getPercentComplete() == 1.0) {
- // no download
- btnDownloadStoppen.setEnabled(false);
- } else {
- // currently uploading, don't let user interact
- btnDownloadStoppen.setEnabled(true);
- }
-
- if (arg0.getPropertyName().equals("bytesread")) {
- bytesread = (long) arg0.getNewValue();
- lblFertig.setText((bytesread / 1024 / 1024) + " MB");
- lblVerbleibend.setText(((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) + " MB");
-
- lblZeit.setText(String.valueOf(
- ((((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) / speed) / 60) + 1).substring(
- 0,
- String.valueOf((((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) / speed) / 60)
- .lastIndexOf("."))
- + " Minuten");
-
- }
- if (arg0.getPropertyName().equals("filesize")) {
- filesize = (long) arg0.getNewValue();
- lblFilesize.setText((filesize / 1024 / 1024) + " MB");
-
- }
-
- }// end PropertyChange()
-
- private boolean isCurrentlyLoading() {
- isCurrentlyLoading = false;
-
- if (lblVerbleibend.getText().trim().equals("0 MB") || lblVerbleibend.getText().trim().equals("0")) {
- isCurrentlyLoading = false;
- } else {
- isCurrentlyLoading = true;
- }
- return isCurrentlyLoading;
- }// end isCurrentlyLoading()
-
- private void resetValues() {
- lblDownSpeed.setText("0");
- lblZeit.setText("0");
- lblFertig.setText("0");
- lblFilesize.setText("0");
- lblVerbleibend.setText("0");
- progressBar.setValue(0);
- }// end resetValues
-
- private void resetButtons() {
- btnDownloadStarten.setEnabled(true);
- btnDownloadStarten.setText("Download starten");
- btnDownloadStoppen.setEnabled(false);
-
- }// end resetButtons
-
-}// end class