summaryrefslogtreecommitdiffstats
path: root/Dozentenmodul/src/gui/image/FTPEditUploader_GUI.java
diff options
context:
space:
mode:
Diffstat (limited to 'Dozentenmodul/src/gui/image/FTPEditUploader_GUI.java')
-rw-r--r--Dozentenmodul/src/gui/image/FTPEditUploader_GUI.java460
1 files changed, 253 insertions, 207 deletions
diff --git a/Dozentenmodul/src/gui/image/FTPEditUploader_GUI.java b/Dozentenmodul/src/gui/image/FTPEditUploader_GUI.java
index c8a23428..9e60e788 100644
--- a/Dozentenmodul/src/gui/image/FTPEditUploader_GUI.java
+++ b/Dozentenmodul/src/gui/image/FTPEditUploader_GUI.java
@@ -18,7 +18,6 @@ import java.io.File;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
-
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
@@ -35,30 +34,27 @@ import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.EmptyBorder;
import models.Image;
import models.person;
-//import models.person;
-
import org.apache.thrift.TException;
-
import server.Server.Client;
import thrift.ThriftConnection;
import ftp.UploadTask;
import gui.intro.MainMenue_GUI;
-
@SuppressWarnings("serial")
-public class FTPEditUploader_GUI extends JFrame implements PropertyChangeListener {
+public class FTPEditUploader_GUI extends JFrame implements
+ PropertyChangeListener {
@SuppressWarnings("unused")
private JPanel contentPane;
private final JPanel contentPanel = new JPanel();
- JLabel lblNewLabel;
+ JLabel lblPath;
JProgressBar progressBar;
- String host="141.79.128.121";
- int port=21;
+ String host = "141.79.128.121";
+ int port = 21;
server.User user;
- String filename="";
+ String filename = "";
File uploadFile;
- static String arg="";
+ static String arg = "";
UploadTask task;
JLabel UpSpeed;
JLabel labelfertig;
@@ -68,9 +64,16 @@ public class FTPEditUploader_GUI extends JFrame implements PropertyChangeListene
long filesize;
double speed;
long bytesread;
- boolean taskrun=false;
- ThriftConnection thrift=new ThriftConnection();
- Client client=thrift.getThriftConnection();
+ boolean taskrun = false;
+ int progress = 0;
+ ThriftConnection thrift = new ThriftConnection();
+ Client client = thrift.getThriftConnection();
+ JButton btnUploadStarten = new JButton("Upload auf Server starten");
+ JButton btnSpeicherortAuswhlen = new JButton("Image ausw\u00E4hlen");
+ JButton btnCopyFileTo = new JButton("Copy File to Prod");
+ JButton finishButton = new JButton("Fertigstellen");
+ JButton btnZurck = new JButton("Zur\u00FCck");
+
/**
* Launch the application.
*/
@@ -94,24 +97,21 @@ public class FTPEditUploader_GUI extends JFrame implements PropertyChangeListene
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent arg0) {
- if(taskrun==true)
- {
+ if (taskrun == true) {
try {
-
+
client.DeleteFtpUser(user.userName);
} catch (TException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
- task.cancel(true);
+ task.cancel(true);
}
}
});
setResizable(false);
- //setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
-
-
-
+ // setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
+
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException
@@ -120,309 +120,355 @@ public class FTPEditUploader_GUI extends JFrame implements PropertyChangeListene
e.printStackTrace();
}
- //filename=name;
+ // filename=name;
setBackground(Color.WHITE);
setTitle("Dozentenmodul *Prototyp*");
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
- int top=(screenSize.height - 722) / 2;
- int left=(screenSize.width - 603) / 2;
+ int top = (screenSize.height - 722) / 2;
+ int left = (screenSize.width - 603) / 2;
setBounds(left, top, 603, 722);
- //setBounds(100, 100, 603, 250);
+ // setBounds(100, 100, 603, 250);
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("VMDK ausw\u00E4hlen");
+
btnSpeicherortAuswhlen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
- JFileChooser fc=new JFileChooser();
+ JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
-
+
fc.showOpenDialog(getParent());
- File dir=fc.getSelectedFile();
- uploadFile=dir;
- filename=uploadFile.getName();
- lblNewLabel.setText(dir.getAbsolutePath());
+ File file = fc.getSelectedFile();
+ // check if a file is selected and exists
+ if (file != null) {
+ System.out.println("File to upload exists");
+ uploadFile = file;
+ filename = uploadFile.getName();
+ lblPath.setText(file.getAbsolutePath());
+ } else {
+ System.out.println("No file selected");
+ lblPath.setText("");
+ }// end if
}
});
- btnSpeicherortAuswhlen.setBounds(10, 124, 141, 23);
+ btnSpeicherortAuswhlen.setBounds(102, 124, 173, 23);
btnSpeicherortAuswhlen.setVerticalAlignment(SwingConstants.TOP);
- btnSpeicherortAuswhlen.setHorizontalAlignment(SwingConstants.LEFT);
contentPanel.add(btnSpeicherortAuswhlen);
}
-
- lblNewLabel = new JLabel("");
- lblNewLabel.setBounds(184, 124, 255, 23);
- contentPanel.add(lblNewLabel);
-
- JButton btnDownloadStarten = new JButton("Upload starten");
- btnDownloadStarten.addActionListener(new ActionListener() {
+
+ lblPath = new JLabel("");
+ lblPath.addPropertyChangeListener(new PropertyChangeListener() {
+ public void propertyChange(PropertyChangeEvent arg0) {
+ if (lblPath.getText().isEmpty()) {
+ // wenn leer, dann upload button nicht freigeben
+ btnUploadStarten.setEnabled(false);
+ btnUploadStarten.setText("Bitte warten");
+ } else {
+ // wenn leer, dann upload button nicht freigeben
+ btnUploadStarten.setEnabled(true);
+ btnUploadStarten.setText("Upload auf Server starten");
+ }
+ }
+ });
+ lblPath.setBounds(102, 158, 485, 23);
+ contentPanel.add(lblPath);
+
+ btnUploadStarten.setEnabled(false);
+ btnUploadStarten.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
buttonUploadActionPerformed(arg0);
-
+
}
});
- btnDownloadStarten.setBounds(10, 330, 141, 23);
- contentPanel.add(btnDownloadStarten);
-
- progressBar = new JProgressBar(0,100);
+ btnUploadStarten.setBounds(102, 200, 173, 23);
+ contentPanel.add(btnUploadStarten);
+
+ progressBar = new JProgressBar(0, 100);
progressBar.setStringPainted(true);
-
- progressBar.setBounds(10, 158, 577, 30);
+ progressBar.setBounds(102, 234, 485, 30);
contentPanel.add(progressBar);
-
- JLabel label = new JLabel("Downloadgeschwindigkeit:");
- label.setBounds(10, 199, 141, 14);
- contentPanel.add(label);
-
+
+ JLabel lblUploadgeschwindigkeit = new JLabel("Uploadgeschwindigkeit:");
+ lblUploadgeschwindigkeit.setBounds(102, 275, 141, 14);
+ contentPanel.add(lblUploadgeschwindigkeit);
+
JLabel label_1 = new JLabel("Fertig:");
- label_1.setBounds(10, 249, 46, 14);
+ label_1.setBounds(102, 325, 46, 14);
contentPanel.add(label_1);
-
+
labelfertig = new JLabel("0");
- labelfertig.setBounds(66, 249, 108, 14);
+ labelfertig.setBounds(183, 325, 108, 14);
contentPanel.add(labelfertig);
-
+
UpSpeed = new JLabel("0");
- UpSpeed.setBounds(329, 199, 95, 14);
+ UpSpeed.setBounds(374, 275, 117, 14);
contentPanel.add(UpSpeed);
-
+
JLabel label_4 = new JLabel("von:");
- label_4.setBounds(184, 249, 46, 14);
+ label_4.setBounds(318, 325, 46, 14);
contentPanel.add(label_4);
-
+
labelfilesize = new JLabel("0");
- labelfilesize.setBounds(240, 249, 108, 14);
+ labelfilesize.setBounds(374, 325, 117, 14);
contentPanel.add(labelfilesize);
-
+
JLabel label_6 = new JLabel("Verbleibend:");
- label_6.setBounds(10, 274, 71, 14);
+ label_6.setBounds(102, 350, 71, 14);
contentPanel.add(label_6);
-
+
JLabel label_7 = new JLabel("Gesch\u00E4tzte Verbleibende Zeit:");
- label_7.setBounds(10, 224, 150, 14);
+ label_7.setBounds(102, 300, 150, 14);
contentPanel.add(label_7);
-
+
labelZeit = new JLabel("0");
- labelZeit.setBounds(329, 224, 117, 14);
+ labelZeit.setBounds(374, 300, 117, 14);
contentPanel.add(labelZeit);
-
+
labelverbleibend = new JLabel("0");
- labelverbleibend.setBounds(91, 274, 108, 14);
+ labelverbleibend.setBounds(183, 350, 108, 14);
contentPanel.add(labelverbleibend);
-
+
JPanel panel = new JPanel();
panel.setLayout(null);
panel.setBackground(SystemColor.menu);
panel.setBounds(10, 11, 577, 57);
contentPanel.add(panel);
-
- JLabel label_2 = new JLabel("Eingabe Ihrer Daten");
- label_2.setFont(new Font("Tahoma", Font.BOLD, 18));
- label_2.setBounds(10, 11, 509, 22);
- panel.add(label_2);
-
- JTextPane textPane = new JTextPane();
- textPane.setText("Geben Sie hier bitte einen sprechenden Imagename sowie Ihre Kontaktdaten an");
- textPane.setEditable(false);
- textPane.setBackground(SystemColor.menu);
- textPane.setBounds(10, 36, 509, 32);
- panel.add(textPane);
-
+
+ JLabel lblUploadIhresImage = new JLabel("Upload Ihres Image");
+ lblUploadIhresImage.setFont(new Font("Tahoma", Font.BOLD, 18));
+ lblUploadIhresImage.setBounds(10, 11, 509, 22);
+ panel.add(lblUploadIhresImage);
+
+ JTextPane txtpnFhreSieBitte = new JTextPane();
+ txtpnFhreSieBitte
+ .setText("F\u00FChre 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\u00FC");
lblNewLabel_1.setForeground(Color.BLUE);
lblNewLabel_1.setBounds(20, 88, 61, 20);
contentPanel.add(lblNewLabel_1);
-
+
JLabel label_3 = new JLabel(">");
label_3.setBounds(80, 91, 14, 14);
contentPanel.add(label_3);
-
+
JLabel lblVlimage = new JLabel("VL-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/Bearbeiten");
+
+ JLabel lblNeubearbeiten = new JLabel("Bearbeiten");
lblNeubearbeiten.setBounds(149, 91, 108, 14);
contentPanel.add(lblNeubearbeiten);
-
+
JSeparator separator_1 = new JSeparator();
separator_1.setBounds(0, 627, 597, 2);
contentPanel.add(separator_1);
-
- JButton btnCopyFileTo = new JButton("Copy File to Prod");
+
+ btnCopyFileTo.setEnabled(false);
btnCopyFileTo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
- client.startFileCopy(user.path+"/"+uploadFile.getName());
+ client.startFileCopy(user.path + "/" + uploadFile.getName());
} catch (TException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
- btnCopyFileTo.setBounds(10, 375, 264, 23);
+ btnCopyFileTo.setBounds(102, 375, 173, 23);
contentPanel.add(btnCopyFileTo);
+
+ 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 label = new JLabel("Schritt 3:");
+ label.setBounds(20, 423, 57, 14);
+ contentPanel.add(label);
+
+ JLabel label_2 = new JLabel("Klicken Sie auf \"Fertigstellen\".");
+ label_2.setBounds(98, 423, 241, 14);
+ contentPanel.add(label_2);
{
JPanel buttonPane = new JPanel();
buttonPane.setBackground(UIManager.getColor("Button.background"));
buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
getContentPane().add(buttonPane, BorderLayout.SOUTH);
{
- JButton ButtonReady = new JButton("Abschlie\u00DFen");
- ButtonReady.addActionListener(new ActionListener() {
+
+ finishButton.setEnabled(false);
+ finishButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
-
+
updateData();
dispose();
- MainMenue_GUI m=new MainMenue_GUI();
+ MainMenue_GUI m = new MainMenue_GUI();
m.setVisible(true);
-
- if(taskrun==true)
- {
- try {
- client.DeleteFtpUser(user.userName);
-
- } catch (TException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- task.cancel(true);
+
+ if (taskrun == true) {
+ try {
+ client.DeleteFtpUser(user.userName);
+
+ } catch (TException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ task.cancel(true);
}
thrift.closeThriftConnection();
}
});
-
- JButton buttonCancel = new JButton("Schlie\u00DFen");
- buttonCancel.setActionCommand("Cancel");
- buttonPane.add(buttonCancel);
- ButtonReady.setActionCommand("Cancel");
- buttonPane.add(ButtonReady);
+ btnZurck.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent arg0) {
+ dispose();
+ EditImageTechnisch_GUI ei = new EditImageTechnisch_GUI();
+ ei.setVisible(true);
+ }
+ });
+
+ btnZurck.setActionCommand("Cancel");
+ buttonPane.add(btnZurck);
+ finishButton.setActionCommand("Cancel");
+ buttonPane.add(finishButton);
}
}
-
+
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
-
+
JMenu mnHillfe = new JMenu("Hillfe");
menuBar.add(mnHillfe);
setVisible(true);
-
+
}
-
- private void buttonUploadActionPerformed(ActionEvent event) {
- // File (or directory) with old name
- // File file = new File(lblNewLabel.getText());
-
- // File (or directory) with new name
- //System.out.println(file.getAbsolutePath().substring(0,file.getAbsolutePath().lastIndexOf("\\"))+"\\"+vm.vl.getLaborname()+".vmdk");
- //File file2 = new File(file.getAbsoluteFile()+"\\"+vm.vl.getLaborname()+".vmdk");
-
-
- // Rename file (or directory)
- //boolean success = file.renameTo(file2);
- //if (!success) {
- // File was not successfully renamed
- //System.out.println("Not OK");
- //}
- //else
- //{
- //System.out.println("OK");
- //}
- progressBar.setValue(0);
-
- try {
- user=client.getFtpUser();
- System.out.println("name"+user.userName);
- System.out.println("path"+user.path);
- System.out.println("pass"+user.password);
+
+ private void buttonUploadActionPerformed(ActionEvent event) {
+
+ progressBar.setValue(0);
+ btnUploadStarten.setEnabled(false); // verhindert einen weiteren klick
+ btnUploadStarten.setText("Bitte warten");
+
+ try {
+ user = client.getFtpUser();
+ System.out.println("name" + user.userName);
+ System.out.println("path" + user.path);
+ System.out.println("pass" + user.password);
} catch (TException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
- DateFormat formatter = new SimpleDateFormat("yyyMMddhhmmss");
+ DateFormat formatter = new SimpleDateFormat("yyyMMddhhmmss");
Image.image.setNewName(formatter.format(new Date()) + "_"
+ person.verantwortlicher.getHochschule() + "_"
+ person.verantwortlicher.getUsername() + "_"
+ Image.image.getImagename() + ".vmdk");
- task=new UploadTask(host,port,user.userName,user.password,user.path, uploadFile);
-
- task.addPropertyChangeListener(this);
- task.execute();
- taskrun=true;
-
- //createXML();
- //TransferToSatellit();
-
-
- }
+ task = new UploadTask(host, port, user.userName, user.password,
+ user.path, uploadFile);
+
+ task.addPropertyChangeListener(this);
+ task.execute();
+ taskrun = true;
+
+ }
public void propertyChange(PropertyChangeEvent arg0) {
- if ("progress" == arg0.getPropertyName()) {
- int progress = (Integer) arg0.getNewValue();
- progressBar.setValue(progress);
- }
- if("speed"==arg0.getPropertyName()){
- speed=(double)arg0.getNewValue();
- //if(speed<=1){
-
- UpSpeed.setText(String.valueOf(speed).substring(0,String.valueOf(speed).lastIndexOf(".")+3)+" MB/s");
-
- // }else
- //{
- //double MBSpeed=speed/1024;
- //downspeed.setText(String.valueOf((MBSpeed)).substring(0, String.valueOf(MBSpeed).indexOf(".")));
- //}
-
- }
- 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");
-
-
- }
- if("filesize"==arg0.getPropertyName())
- {
- filesize=(long)arg0.getNewValue();
- labelfilesize.setText((filesize/1024/1024)+" MB");
-
- }
-
- }
-
- public boolean updateData(){
-
- try {
-
-
- System.out.println("Start Update");
- client.updateImageData(Image.image.getImagename(),Image.image.getNewName(), Image.image.isLicensed(), Image.image.isInternet(), Image.image.getRam(), Image.image.getCpu(),Image.image.getImageId(),Image.image.getVersion());
- } catch (TException e) {
+ if ("progress" == arg0.getPropertyName()) {
+ progress = (Integer) arg0.getNewValue();
+ progressBar.setValue(progress);
+
+ }
+
+ // Button zum Fertigstellen freischalten, wenn 100% erreicht sind
+ if (progress == 0 || progress == 100) {
+ // not uploading currently
+ btnZurck.setEnabled(true);
+ } else {
+ // currently uploading, don't let user interact
+ btnZurck.setEnabled(false);
+ }
+
+ // Fertigstellen erlauben wenn upload abgeschlossen
+ if (progress == 100) {
+ finishButton.setEnabled(true);
+ } else {
+ finishButton.setEnabled(false);
+ }
+
+ if ("speed" == arg0.getPropertyName()) {
+ speed = (double) arg0.getNewValue();
+ // if(speed<=1){
+
+ UpSpeed.setText(String.valueOf(speed).substring(0,
+ String.valueOf(speed).lastIndexOf(".") + 3)
+ + " MB/s");
+
+ }
+ 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");
+
+ }
+ if ("filesize" == arg0.getPropertyName()) {
+ filesize = (long) arg0.getNewValue();
+ labelfilesize.setText((filesize / 1024 / 1024) + " MB");
+
+ }
+
+ }
+
+ public boolean updateData() {
+
+ try {
+
+ System.out.println("Start Update");
+ client.updateImageData(Image.image.getImagename(),
+ Image.image.getNewName(), Image.image.isLicensed(),
+ Image.image.isInternet(), Image.image.getRam(),
+ Image.image.getCpu(), Image.image.getImageId(),
+ Image.image.getVersion());
+ } catch (TException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
return true;
-
-
- }
+
+ }
} \ No newline at end of file