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