From bb09d09546c00fe8b0c21d525af31c87097367d4 Mon Sep 17 00:00:00 2001
From: Jonathan Bauer
Date: Mon, 22 Jun 2015 13:40:02 +0200
Subject: [client] rebasing the whole app...
---
.../main/java/gui/image/FTPCreateUploader_GUI.java | 586 ---------------------
1 file changed, 586 deletions(-)
delete mode 100644 dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java
(limited to 'dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java')
diff --git a/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java
deleted file mode 100644
index ee0de205..00000000
--- a/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java
+++ /dev/null
@@ -1,586 +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.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 javax.swing.filechooser.FileNameExtensionFilter;
-
-import models.Image;
-import models.RightsManagement;
-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 config.Config;
-import ftp.UploadTask;
-import gui.intro.MainMenue_GUI;
-import gui.lecture.CreateLectureAllgemein_GUI;
-
-@SuppressWarnings("serial")
-public class FTPCreateUploader_GUI extends JInternalFrame implements PropertyChangeListener {
-
- /**
- * Logger instance for this class.
- */
- private final static Logger LOGGER = Logger.getLogger(FTPCreateUploader_GUI.class);
-
- private final JPanel contentPanel = new JPanel();
-
- private JLabel lblPath;
- private JProgressBar progressBar;
- private final String host = SessionData.serverAdress;
- private File uploadFile;
- private UploadTask task;
- private JLabel lblUpSpeed;
- private JLabel lblFertig;
- private JLabel lblFilesize;
- private JLabel lblZeit;
- private JLabel lblVerbleibend;
- private JFileChooser fc;
- private long filesize;
- private double speed;
- private long bytesread;
- private boolean taskrun = false;
- private JButton btnFinish = new JButton("Fertigstellen");
- private JButton btnUploadStarten = new JButton("Upload auf Server starten");
- private JButton btnZurck = new JButton("Zurück");
- private JButton btnUploadStoppen = new JButton("Upload abbrechen");
- private int progress = 0; // progress of upload
- 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 = "
"
- + "Laden Sie hier Ihre .vmdk-Datei hoch, die dann als virtuelles Labor geladen werden kann.
"
- + "Wichtig ist, dass Sie zum Schluss auf \"Fertigstellen\" klicken, damit die Daten übernommen werden.
"
- + "Wenn Sie die Datei hochgeladen haben, dann aber auf \"zurück\" klicken, oder die Anwendung beenden,
"
- + "werden die Daten NICHT übernommen und auch die .vmdk-Datei wird nicht aktiv geschaltet."
- + "
";
-
- /**
- * Create the frame.
- */
- public FTPCreateUploader_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 Upload 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) {
- task.cancel(true);
- // TODO: Generic exit callback?
- System.exit(0);
- }// end if choice
- }
- }
- });
-
- setResizable(false);
-
- // filename=name;
- setBackground(Color.WHITE);
- setTitle("Dozentenmodul - Image erzeugen - " + 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("Image auswählen");
- btnSpeicherortAuswhlen.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
-
- fc = new JFileChooser(Config.getLastUploadPath());
- FileNameExtensionFilter filter = new FileNameExtensionFilter("VMDK-Container", "vmdk");
- fc.setFileFilter(filter);
- fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
-
- fc.showOpenDialog(getParent());
- File file = fc.getSelectedFile();
- // check if a file is selected and exists
- if (file != null) {
- // file selected
- uploadFile = file;
- uploadFile.getName();
- lblPath.setText(file.getAbsolutePath());
- } else {
- // no file selected
- lblPath.setText("");
- }// end if
- }
- });
-
- btnSpeicherortAuswhlen.setBounds(102, 124, 173, 23);
- btnSpeicherortAuswhlen.setVerticalAlignment(SwingConstants.TOP);
- contentPanel.add(btnSpeicherortAuswhlen);
- }
- lblPath = new JLabel("");
- lblPath.setText(Config.getLastUploadPath());
-
- lblPath.addPropertyChangeListener(new PropertyChangeListener() {
- public void propertyChange(PropertyChangeEvent arg0) {
- if (lblPath.getText().trim() == null || !lblPath.getText().trim().endsWith(".vmdk")) {
- // Keine Auswahl oder Auswahl ist keine vmdk
- btnUploadStarten.setEnabled(false);
- btnUploadStarten.setText("Kein Image!");
- } else {
- // ok, enable it
- btnUploadStarten.setEnabled(true);
- btnUploadStarten.setText("Upload starten");
- }
- }
- });
- lblPath.setHorizontalAlignment(SwingConstants.LEFT);
- lblPath.setBounds(102, 158, 485, 23);
- contentPanel.add(lblPath);
-
- btnUploadStarten.setEnabled(false);
-
- btnUploadStarten.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- buttonUploadActionPerformed(arg0);
-
- }
- });
-
- btnUploadStarten.setBounds(102, 200, 173, 23);
- contentPanel.add(btnUploadStarten);
-
- progressBar = new JProgressBar(0, 100);
- progressBar.setStringPainted(true);
-
- progressBar.setBounds(102, 234, 485, 30);
- contentPanel.add(progressBar);
-
- JLabel lblUploadgeschwindigkeit = new JLabel("Uploadgeschwindigkeit:");
- lblUploadgeschwindigkeit.setBounds(102, 275, 141, 14);
- contentPanel.add(lblUploadgeschwindigkeit);
-
- JLabel label_1 = new JLabel("Fertig:");
- label_1.setBounds(102, 325, 46, 14);
- contentPanel.add(label_1);
-
- lblFertig = new JLabel("0");
- lblFertig.setHorizontalAlignment(SwingConstants.LEFT);
- lblFertig.setBounds(183, 325, 108, 14);
- contentPanel.add(lblFertig);
-
- lblUpSpeed = new JLabel("0");
- lblUpSpeed.setHorizontalAlignment(SwingConstants.LEFT);
- lblUpSpeed.setBounds(374, 275, 117, 14);
- contentPanel.add(lblUpSpeed);
-
- JLabel label_4 = new JLabel("von:");
- label_4.setBounds(318, 325, 46, 14);
- contentPanel.add(label_4);
-
- lblFilesize = new JLabel("0");
- lblFilesize.setHorizontalAlignment(SwingConstants.LEFT);
- lblFilesize.setBounds(374, 325, 117, 14);
- contentPanel.add(lblFilesize);
-
- JLabel label_6 = new JLabel("Verbleibend:");
- label_6.setBounds(102, 350, 71, 14);
- contentPanel.add(label_6);
-
- JLabel lblGeschtzteVerbleibendeZeit = new JLabel("Geschätzte verbleibende Zeit:");
- lblGeschtzteVerbleibendeZeit.setBounds(102, 300, 150, 14);
- contentPanel.add(lblGeschtzteVerbleibendeZeit);
-
- lblZeit = new JLabel("0");
- lblZeit.setHorizontalAlignment(SwingConstants.LEFT);
- lblZeit.setBounds(374, 300, 117, 14);
- contentPanel.add(lblZeit);
-
- lblVerbleibend = new JLabel("0");
- lblVerbleibend.setHorizontalAlignment(SwingConstants.LEFT);
- lblVerbleibend.setBounds(183, 350, 108, 14);
- contentPanel.add(lblVerbleibend);
-
- JPanel panel = new JPanel();
- panel.setLayout(null);
- panel.setBackground(SystemColor.menu);
- panel.setBounds(10, 11, 577, 57);
- contentPanel.add(panel);
-
- JLabel lblUploadIhresImage = new JLabel("Upload Ihres Images");
- lblUploadIhresImage.setFont(new Font("Tahoma", Font.BOLD, 18));
- lblUploadIhresImage.setBounds(10, 11, 509, 22);
- panel.add(lblUploadIhresImage);
-
- JTextPane txtpnFhreSieBitte = new JTextPane();
- txtpnFhreSieBitte.setText("Führen Sie bitte die folgenden 3 Schritte aus um Ihr Image auf unseren Server zu laden.");
- txtpnFhreSieBitte.setEditable(false);
- txtpnFhreSieBitte.setBackground(SystemColor.menu);
- txtpnFhreSieBitte.setBounds(10, 36, 509, 32);
- panel.add(txtpnFhreSieBitte);
-
- JSeparator separator = new JSeparator();
- separator.setBounds(0, 79, 597, 2);
- contentPanel.add(separator);
-
- JLabel lblNewLabel_1 = new JLabel("Hauptmenü");
- lblNewLabel_1.setForeground(Color.BLUE);
- lblNewLabel_1.setBounds(20, 88, 61, 20);
- contentPanel.add(lblNewLabel_1);
- lblNewLabel_1.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent arg0) {
- // oeffnet das Hauptmenue
- GuiManager.show(new MainMenue_GUI());
- }
- });
-
- JLabel label_3 = new JLabel(">");
- label_3.setBounds(80, 91, 14, 14);
- contentPanel.add(label_3);
-
- JLabel lblVlimage = new JLabel("Image");
- lblVlimage.setForeground(Color.BLUE);
- lblVlimage.setBounds(91, 88, 46, 20);
- contentPanel.add(lblVlimage);
-
- JLabel label_5 = new JLabel(">");
- label_5.setBounds(139, 91, 14, 14);
- contentPanel.add(label_5);
-
- JLabel lblNeubearbeiten = new JLabel("Neu");
- lblNeubearbeiten.setBounds(149, 91, 155, 14);
- contentPanel.add(lblNeubearbeiten);
-
- JSeparator separator_1 = new JSeparator();
- separator_1.setBounds(0, 627, 597, 2);
- contentPanel.add(separator_1);
-
- JLabel lblSchritt_1 = new JLabel("Schritt 1:");
- lblSchritt_1.setBounds(24, 128, 57, 14);
- contentPanel.add(lblSchritt_1);
-
- JLabel lblSchritt_2 = new JLabel("Schritt 2:");
- lblSchritt_2.setBounds(24, 204, 57, 14);
- contentPanel.add(lblSchritt_2);
-
- 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 \"Fertigstellen\".");
- lblKlickenSieAuf.setBounds(98, 423, 241, 14);
- contentPanel.add(lblKlickenSieAuf);
-
- btnUploadStoppen = new JButton("Upload abbrechen");
- btnUploadStoppen.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
-
- isAborted = true; // set flag
- cancelUpload();
- resetValues();
-
- // reset buttons
- resetButtons();
-
- }
- });
- btnUploadStoppen.setEnabled(false);
- btnUploadStoppen.setBounds(307, 200, 173, 23);
- contentPanel.add(btnUploadStoppen);
- {
- JPanel buttonPane = new JPanel();
- buttonPane.setBackground(UIManager.getColor("Button.background"));
- buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
- getContentPane().add(buttonPane, BorderLayout.SOUTH);
- {
- btnFinish.setEnabled(false);
- btnFinish.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
-
- // save data
- boolean success = writeData();
- if (success == true) {
- LOGGER.info("Neues Image '" + Image.Imagename + "' erfolgreich gespeichert.");
- JOptionPane.showMessageDialog(null, "Die Daten wurden erfolgreich gespeichert.",
- "Daten gespeichert", JOptionPane.INFORMATION_MESSAGE);
- } else {
- LOGGER.info("Neues Image '" + Image.Imagename
- + "' konnte nicht gespeichert werden.");
- JOptionPane.showMessageDialog(null,
- "Die Daten konnten nicht gespeichert werden.", "Fehler",
- JOptionPane.ERROR_MESSAGE);
- }
-
- File f = new File(lblPath.getText().trim());
- if (f.isDirectory()) {
- // shouldn't be a directory, but let's check that
- // case anyway
- Config.setLastUploadPath(f.toString());
- } else if (f.getParentFile().isDirectory()) {
- Config.setLastUploadPath(f.getParentFile().toString());
- }
-
- // save configuration
- Config.store();
-
- if (taskrun == true) {
- cancelUpload();
- }
-
- // Erstellung Array vom Datentyp Object, Hinzufügen der
- // Optionen
- Object[] options = { "Neue Veranstaltung erstellen", "Zum Hauptmenü zurückkehren" };
-
- int choice = JOptionPane.showOptionDialog(
- null,
- "Möchten Sie eine neue Veranstaltung zu diesem Image erstellen oder in das Hauptmenü zurückkehren?",
- "Alternativen", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE,
- null, options, options[0]);
-
- // 0=New Lecture, 1=Main Menu
- if (choice == 0) {
- GuiManager.show(new CreateLectureAllgemein_GUI());
- } else {
- GuiManager.show(new MainMenue_GUI());
- }
- }
- });
-
- btnZurck.addActionListener(new ActionListener() {
- 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) {
- cancelUpload();
- // not loading files, go back one page
- dispose();
- }// end if choice
- } else {
-
- int selectedOption = JOptionPane.showConfirmDialog(
- null,
- "Achtung: Alle Änderungen gehen verloren!
Klicken Sie auf fertigstellen, wenn Sie die Änderungen dauerhaft speichern möchten.
Möchten Sie jetzt abbrechen und zurück?",
- "Abbrechen und zurück", JOptionPane.YES_NO_OPTION);
- if (selectedOption == JOptionPane.YES_OPTION) {
- GuiManager.show(new PermissionCreateImage_GUI());
- } else {
- // for actions if "no" is selected. tbd.
- }
-
- }// end else
- }// end action
- });
- btnZurck.setActionCommand("Cancel");
- buttonPane.add(btnZurck);
- btnFinish.setActionCommand("Cancel");
- buttonPane.add(btnFinish);
- }
- }
-
- }
-
- protected void cancelUpload() {
- try {
- ThriftManager.getSatClient().cancelUpload(transferInfo.token);
- } catch (TException e1) {
- // Don't care if it fails, will time out eventually....
- }
- task.cancel(true);
- transferInfo = null;
- }
-
- private void buttonUploadActionPerformed(ActionEvent event) {
-
- isAborted = false;
- progressBar.setValue(0);
- btnUploadStarten.setEnabled(false); // verhindert einen weiteren klick
- btnUploadStarten.setText("Bitte warten");
-
- try {
- transferInfo = ThriftManager.getSatClient().requestUpload(SessionData.authToken,
- uploadFile.length(), null);
- LOGGER.info("Received FTP user.");
- } catch (TException e) {
-
- LOGGER.error("Konnte vom Satellit kein upload token erhalten!");
- e.printStackTrace();
- JOptionPane.showMessageDialog(null, "Konnte vom Satellit kein upload token erhalten!",
- "Debug-Message", JOptionPane.ERROR_MESSAGE);
- transferInfo = null;
- return;
- }
-
- LOGGER.info("Uploading to host: " + host);
-
- task = new UploadTask(host, transferInfo.plainPort, transferInfo.token, uploadFile);
-
- task.addPropertyChangeListener(this);
- task.execute();
- taskrun = true;
-
- }
-
- public void propertyChange(PropertyChangeEvent arg0) {
-
- if (isAborted == false) {
- progress = 0;
- if ("progress" == arg0.getPropertyName()) {
- progress = (Integer) arg0.getNewValue();
- progressBar.setValue(progress);
-
- }
-
- // Fertigstellen erlauben wenn upload abgeschlossen und abbrechen
- // erlauben wenn kein load aktiv ist
- if (isCurrentlyLoading() == false || progressBar.getPercentComplete() == 1.0) {
- // no upload
- btnUploadStoppen.setEnabled(false);
- btnFinish.setEnabled(true);
- } else {
- // upload
- btnUploadStoppen.setEnabled(true);
- btnFinish.setEnabled(false);
- }
-
- if ("speed".equals(arg0.getPropertyName())) {
- speed = (double) arg0.getNewValue();
- lblUpSpeed.setText(String.format("%.2f", speed) + " MB/s");
-
- }
- 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 if(isAborted==false)
- }// end propertyChange
-
- public boolean writeData() {
-
- try {
-
- Image.ImageId = ThriftManager.getSatClient().finishImageUpload(Image.Imagename, Image.Desc,
- Image.Licensed, Image.Internet, Image.Filesize, Image.ShareMode, Image.OS,
- transferInfo.token);
-
- if (Image.ImageId == null) {
- // Should never happen, but let's handle it
- throw new TException("no image id returned");
- }
-
- ThriftManager.getSatClient().writeImageRights(Image.ImageId, SessionData.authToken,
- person.verantwortlicher.getRole(), person.verantwortlicher.getHochschule(),
- person.verantwortlicher.getUserID());
-
- for (int i = 0; i < RightsManagement.rightsManagement.getPermittedUserList().size(); i++) {
- ThriftManager.getSatClient().writeAdditionalImageRights(Image.ImageId,
- RightsManagement.rightsManagement.getPermittedUserList().get(i).getUserID(),
- RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageRead(),
- RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageWrite(),
- RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageLinkAllowed(),
- RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageAdmin(),
- SessionData.authToken);
-
- }// end for
-
- } catch (TException e) {
-
- e.printStackTrace();
- JOptionPane.showMessageDialog(null, e.getCause() + "\n" + e.getStackTrace(), "Debug-Message",
- JOptionPane.ERROR_MESSAGE);
- return false;
- }
- return true;
-
- }// end writeData()
-
- public 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()
-
- public void resetValues() {
- lblUpSpeed.setText("0");
- lblZeit.setText("0");
- lblFertig.setText("0");
- lblFilesize.setText("0");
- lblVerbleibend.setText("0");
- progressBar.setValue(0);
- }// end resetValues
-
- public void resetButtons() {
- btnFinish.setEnabled(false);
- btnUploadStarten.setEnabled(true);
- btnUploadStarten.setText("Upload starten");
- btnUploadStoppen.setEnabled(false);
-
- }// end resetButtons
-}// end class
\ No newline at end of file
--
cgit v1.2.3-55-g7522