diff options
author | Michael Wilson | 2014-10-01 11:45:19 +0200 |
---|---|---|
committer | Michael Wilson | 2014-10-01 11:45:49 +0200 |
commit | 054cba81150b8c1a03e19a7493ba7a7e943a8b93 (patch) | |
tree | 1da5cb8dd4afe05b19ad960669a0af9660c88f0b /dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java | |
parent | check auf desc.lenghth (diff) | |
download | tutor-module-054cba81150b8c1a03e19a7493ba7a7e943a8b93.tar.gz tutor-module-054cba81150b8c1a03e19a7493ba7a7e943a8b93.tar.xz tutor-module-054cba81150b8c1a03e19a7493ba7a7e943a8b93.zip |
FTP Up- und Downloads können jetzt mit einem neuen Button abgebrochen
werden
Diffstat (limited to 'dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java')
-rw-r--r-- | dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java | 232 |
1 files changed, 144 insertions, 88 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java index a2825d54..754a5d63 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java @@ -66,11 +66,13 @@ public class FTPCreateUploader_GUI extends JFrame implements /** * Logger instance for this class. */ - private final static Logger LOGGER = Logger.getLogger(FTPCreateUploader_GUI.class); - + private final static Logger LOGGER = Logger + .getLogger(FTPCreateUploader_GUI.class); + @SuppressWarnings("unused") private JPanel contentPane; private final JPanel contentPanel = new JPanel(); + JLabel lblPath; JProgressBar progressBar; String host = SessionData.session.getServerAdress(); @@ -80,11 +82,11 @@ public class FTPCreateUploader_GUI extends JFrame implements File uploadFile; static String arg = ""; UploadTask task; - JLabel UpSpeed; - JLabel labelfertig; - JLabel labelfilesize; - JLabel labelZeit; - JLabel labelverbleibend; + JLabel lblUpSpeed; + JLabel lblFertig; + JLabel lblFilesize; + JLabel lblZeit; + JLabel lblVerbleibend; JFileChooser fc; long filesize; double speed; @@ -92,12 +94,14 @@ public class FTPCreateUploader_GUI extends JFrame implements boolean taskrun = false; ThriftConnection con = new ThriftConnection(); Client client = models.Client.clientcon.getClient(); - JButton finishButton = new JButton("Fertigstellen"); + JButton btnFinish = new JButton("Fertigstellen"); JButton btnUploadStarten = new JButton("Upload auf Server starten"); JButton btnZurck = new JButton("Zurück"); + JButton btnUploadStoppen = new JButton("Upload abbrechen"); 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 /** * Create the frame. @@ -170,9 +174,10 @@ public class FTPCreateUploader_GUI extends JFrame implements 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"); + FileNameExtensionFilter filter = new FileNameExtensionFilter( + "VMDK-Container", "vmdk"); fc.setFileFilter(filter); fc.setFileSelectionMode(JFileChooser.FILES_ONLY); @@ -200,7 +205,8 @@ public class FTPCreateUploader_GUI extends JFrame implements lblPath.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent arg0) { - if (lblPath.getText() == null || !lblPath.getText().endsWith(".vmdk")) { + if (lblPath.getText() == null + || !lblPath.getText().endsWith(".vmdk")) { // Keine Auswahl oder Auswahl ist keine vmdk btnUploadStarten.setEnabled(false); btnUploadStarten.setText("Kein Image!"); @@ -241,42 +247,43 @@ public class FTPCreateUploader_GUI extends JFrame implements label_1.setBounds(102, 325, 46, 14); contentPanel.add(label_1); - labelfertig = new JLabel("0"); - labelfertig.setHorizontalAlignment(SwingConstants.LEFT); - labelfertig.setBounds(183, 325, 108, 14); - contentPanel.add(labelfertig); + lblFertig = new JLabel("0"); + lblFertig.setHorizontalAlignment(SwingConstants.LEFT); + lblFertig.setBounds(183, 325, 108, 14); + contentPanel.add(lblFertig); - UpSpeed = new JLabel("0"); - UpSpeed.setHorizontalAlignment(SwingConstants.LEFT); - UpSpeed.setBounds(374, 275, 117, 14); - contentPanel.add(UpSpeed); + 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); - labelfilesize = new JLabel("0"); - labelfilesize.setHorizontalAlignment(SwingConstants.LEFT); - labelfilesize.setBounds(374, 325, 117, 14); - contentPanel.add(labelfilesize); + 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:"); + JLabel lblGeschtzteVerbleibendeZeit = new JLabel( + "Geschätzte verbleibende Zeit:"); lblGeschtzteVerbleibendeZeit.setBounds(102, 300, 150, 14); contentPanel.add(lblGeschtzteVerbleibendeZeit); - labelZeit = new JLabel("0"); - labelZeit.setHorizontalAlignment(SwingConstants.LEFT); - labelZeit.setBounds(374, 300, 117, 14); - contentPanel.add(labelZeit); + lblZeit = new JLabel("0"); + lblZeit.setHorizontalAlignment(SwingConstants.LEFT); + lblZeit.setBounds(374, 300, 117, 14); + contentPanel.add(lblZeit); - labelverbleibend = new JLabel("0"); - labelverbleibend.setHorizontalAlignment(SwingConstants.LEFT); - labelverbleibend.setBounds(183, 350, 108, 14); - contentPanel.add(labelverbleibend); + lblVerbleibend = new JLabel("0"); + lblVerbleibend.setHorizontalAlignment(SwingConstants.LEFT); + lblVerbleibend.setBounds(183, 350, 108, 14); + contentPanel.add(lblVerbleibend); JPanel panel = new JPanel(); panel.setLayout(null); @@ -343,27 +350,53 @@ public class FTPCreateUploader_GUI extends JFrame implements "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 + try { + client.DeleteFtpUser(user.userName); + LOGGER.info("Deleted FTP user."); + } catch (TException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + task.cancel(true); + resetValues(); + + //reset buttons + resetButtons(); + + } + }); + btnUploadStoppen.setEnabled(false); + btnUploadStoppen.setBounds(318, 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); { - finishButton.setEnabled(false); - finishButton.addActionListener(new ActionListener() { + btnFinish.setEnabled(false); + btnFinish.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { writeData(); File f = new File(lblPath.getText()); if (f.isDirectory()) { - // shouldn't be a directory, but let's check that case anyway + // 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()); + Config.setLastUploadPath(f.getParentFile() + .toString()); } // save configuration Config.store(); - + dispose(); MainMenue_GUI m = new MainMenue_GUI(); m.setVisible(true); @@ -423,8 +456,8 @@ public class FTPCreateUploader_GUI extends JFrame implements }); btnZurck.setActionCommand("Cancel"); buttonPane.add(btnZurck); - finishButton.setActionCommand("Cancel"); - buttonPane.add(finishButton); + btnFinish.setActionCommand("Cancel"); + buttonPane.add(btnFinish); } } @@ -438,7 +471,7 @@ public class FTPCreateUploader_GUI extends JFrame implements menuItem.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { - //OpenLinks open = new OpenLinks(); + // OpenLinks open = new OpenLinks(); URI windows; try { windows = new URI(Links.getFAQ()); @@ -483,6 +516,7 @@ public class FTPCreateUploader_GUI extends JFrame implements private void buttonUploadActionPerformed(ActionEvent event) { + isAborted = false; progressBar.setValue(0); btnUploadStarten.setEnabled(false); // verhindert einen weiteren klick btnUploadStarten.setText("Bitte warten"); @@ -498,13 +532,13 @@ public class FTPCreateUploader_GUI extends JFrame implements LOGGER.error("Konnte vom Satellit keinen FTP-User erhalten!"); e.printStackTrace(); JOptionPane.showMessageDialog(null, - "Konnte vom Satellit keinen FTP-User erhalten!", "Debug-Message", - JOptionPane.ERROR_MESSAGE); + "Konnte vom Satellit keinen FTP-User erhalten!", + "Debug-Message", JOptionPane.ERROR_MESSAGE); } DateFormat formatter = new SimpleDateFormat("yyyMMddhhmmss"); - LOGGER.info("Setting new name: " + formatter.format(new Date()) - + "_" + person.verantwortlicher.getHochschule() + "_" + LOGGER.info("Setting new name: " + formatter.format(new Date()) + "_" + + person.verantwortlicher.getHochschule() + "_" + person.verantwortlicher.getUsername() + "_" + Image.image.getImagename() + ".vmdk"); Image.image.setNewName(formatter.format(new Date()) + "_" @@ -523,56 +557,61 @@ public class FTPCreateUploader_GUI extends JFrame implements } public void propertyChange(PropertyChangeEvent arg0) { - progress = 0; - if ("progress" == arg0.getPropertyName()) { - progress = (Integer) arg0.getNewValue(); - progressBar.setValue(progress); - } + if (isAborted == false) { + progress = 0; + if ("progress" == arg0.getPropertyName()) { + progress = (Integer) arg0.getNewValue(); + progressBar.setValue(progress); - // Fertigstellen erlauben wenn upload abgeschlossen - if (isCurrentlyLoading() == false) { - // isCurrentlyLoading(); - finishButton.setEnabled(true); - } else { - finishButton.setEnabled(false); - } + } - if ("speed" == arg0.getPropertyName()) { - speed = (double) arg0.getNewValue(); - // if(speed<=1){ + // Fertigstellen erlauben wenn upload abgeschlossen und abbrechen + // erlauben wenn kein load aktiv ist + if (isCurrentlyLoading() == false) { + // no upload + btnUploadStoppen.setEnabled(false); + btnFinish.setEnabled(true); + } else { + // upload + btnUploadStoppen.setEnabled(true); + btnFinish.setEnabled(false); + } - UpSpeed.setText(String.valueOf(speed).substring(0, - String.valueOf(speed).lastIndexOf(".") + 3) - + " MB/s"); + if ("speed" == arg0.getPropertyName()) { + speed = (double) arg0.getNewValue(); + // if(speed<=1){ - } - if ("bytesread" == arg0.getPropertyName()) { - bytesread = (long) arg0.getNewValue(); - labelfertig.setText((bytesread / 1024 / 1024) + " MB"); - labelverbleibend - .setText(((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) - + " MB"); - - labelZeit - .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"); + lblUpSpeed.setText(String.valueOf(speed).substring(0, + String.valueOf(speed).lastIndexOf(".") + 3) + + " MB/s"); - } - if ("filesize" == arg0.getPropertyName()) { - filesize = (long) arg0.getNewValue(); - labelfilesize.setText((filesize / 1024 / 1024) + " MB"); + } + if ("bytesread" == arg0.getPropertyName()) { + 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 ("filesize" == arg0.getPropertyName()) { + filesize = (long) arg0.getNewValue(); + lblFilesize.setText((filesize / 1024 / 1024) + " MB"); - } + } + } //end if(isAborted==false) + }//end propertyChange public boolean writeData() { @@ -617,8 +656,8 @@ public class FTPCreateUploader_GUI extends JFrame implements public boolean isCurrentlyLoading() { isCurrentlyLoading = false; - if (labelverbleibend.getText().equals("0 MB") - || labelverbleibend.getText().equals("0")) { + if (lblVerbleibend.getText().equals("0 MB") + || lblVerbleibend.getText().equals("0")) { isCurrentlyLoading = false; } else { isCurrentlyLoading = true; @@ -627,4 +666,21 @@ public class FTPCreateUploader_GUI extends JFrame implements 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 |