summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java
diff options
context:
space:
mode:
authorMichael Wilson2014-10-01 11:45:19 +0200
committerMichael Wilson2014-10-01 11:45:49 +0200
commit054cba81150b8c1a03e19a7493ba7a7e943a8b93 (patch)
tree1da5cb8dd4afe05b19ad960669a0af9660c88f0b /dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java
parentcheck auf desc.lenghth (diff)
downloadtutor-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.java232
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