summaryrefslogtreecommitdiffstats
path: root/Dozentenmodul/src/gui/FTPEditUploader_GUI.java
diff options
context:
space:
mode:
Diffstat (limited to 'Dozentenmodul/src/gui/FTPEditUploader_GUI.java')
-rw-r--r--Dozentenmodul/src/gui/FTPEditUploader_GUI.java420
1 files changed, 420 insertions, 0 deletions
diff --git a/Dozentenmodul/src/gui/FTPEditUploader_GUI.java b/Dozentenmodul/src/gui/FTPEditUploader_GUI.java
new file mode 100644
index 00000000..0adf2739
--- /dev/null
+++ b/Dozentenmodul/src/gui/FTPEditUploader_GUI.java
@@ -0,0 +1,420 @@
+package gui;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.EventQueue;
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.SystemColor;
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+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.JLabel;
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+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.UnsupportedLookAndFeelException;
+import javax.swing.border.EmptyBorder;
+
+import models.Image;
+import models.person;
+
+import org.apache.thrift.TException;
+
+import server.Server.Client;
+import thrift.ThriftConnection;
+import ftp.UploadTask;
+
+
+@SuppressWarnings("serial")
+public class FTPEditUploader_GUI extends JFrame implements PropertyChangeListener {
+
+ @SuppressWarnings("unused")
+ private JPanel contentPane;
+ private final JPanel contentPanel = new JPanel();
+ JLabel lblNewLabel;
+ JProgressBar progressBar;
+ String host="141.79.128.121";
+ int port=21;
+ server.User user;
+ String filename="";
+ File uploadFile;
+ static String arg="";
+ UploadTask task;
+ JLabel UpSpeed;
+ JLabel labelfertig;
+ JLabel labelfilesize;
+ JLabel labelZeit;
+ JLabel labelverbleibend;
+ long filesize;
+ double speed;
+ long bytesread;
+ boolean taskrun=false;
+ ThriftConnection thrift=new ThriftConnection();
+ Client client=thrift.getThriftConnection();
+ /**
+ * Launch the application.
+ */
+ public static void main(String[] args) {
+ EventQueue.invokeLater(new Runnable() {
+ public void run() {
+ try {
+ FTPEditUploader_GUI frame = new FTPEditUploader_GUI();
+ frame.setVisible(true);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ }
+
+ /**
+ * Create the frame.
+ */
+ public FTPEditUploader_GUI() {
+ addWindowListener(new WindowAdapter() {
+ @Override
+ public void windowClosing(WindowEvent arg0) {
+ if(taskrun==true)
+ {
+ try {
+
+ client.DeleteFtpUser(user.userName);
+ } catch (TException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ task.cancel(true);
+ }
+ }
+ });
+ setResizable(false);
+ //setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
+
+
+
+ try {
+ UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
+ } catch (ClassNotFoundException | InstantiationException
+ | IllegalAccessException | UnsupportedLookAndFeelException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ //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;
+ setBounds(left, top, 603, 722);
+ //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();
+ fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
+
+ fc.showOpenDialog(getParent());
+ File dir=fc.getSelectedFile();
+ uploadFile=dir;
+ filename=uploadFile.getName();
+ lblNewLabel.setText(dir.getAbsolutePath());
+ }
+ });
+
+ btnSpeicherortAuswhlen.setBounds(10, 124, 141, 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() {
+ public void actionPerformed(ActionEvent arg0) {
+ buttonUploadActionPerformed(arg0);
+
+ }
+ });
+
+ btnDownloadStarten.setBounds(10, 330, 141, 23);
+ contentPanel.add(btnDownloadStarten);
+
+ progressBar = new JProgressBar(0,100);
+ progressBar.setStringPainted(true);
+
+
+ progressBar.setBounds(10, 158, 577, 30);
+ contentPanel.add(progressBar);
+
+ JLabel label = new JLabel("Downloadgeschwindigkeit:");
+ label.setBounds(10, 199, 141, 14);
+ contentPanel.add(label);
+
+ JLabel label_1 = new JLabel("Fertig:");
+ label_1.setBounds(10, 249, 46, 14);
+ contentPanel.add(label_1);
+
+ labelfertig = new JLabel("0");
+ labelfertig.setBounds(66, 249, 108, 14);
+ contentPanel.add(labelfertig);
+
+ UpSpeed = new JLabel("0");
+ UpSpeed.setBounds(329, 199, 95, 14);
+ contentPanel.add(UpSpeed);
+
+ JLabel label_4 = new JLabel("von:");
+ label_4.setBounds(184, 249, 46, 14);
+ contentPanel.add(label_4);
+
+ labelfilesize = new JLabel("0");
+ labelfilesize.setBounds(240, 249, 108, 14);
+ contentPanel.add(labelfilesize);
+
+ JLabel label_6 = new JLabel("Verbleibend:");
+ label_6.setBounds(10, 274, 71, 14);
+ contentPanel.add(label_6);
+
+ JLabel label_7 = new JLabel("Gesch\u00E4tzte Verbleibende Zeit:");
+ label_7.setBounds(10, 224, 150, 14);
+ contentPanel.add(label_7);
+
+ labelZeit = new JLabel("0");
+ labelZeit.setBounds(329, 224, 117, 14);
+ contentPanel.add(labelZeit);
+
+ labelverbleibend = new JLabel("0");
+ labelverbleibend.setBounds(91, 274, 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);
+
+ 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");
+ 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.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ try {
+ client.startFileCopy(user.path+"/"+uploadFile.getName());
+ } catch (TException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ }
+ });
+ btnCopyFileTo.setBounds(10, 375, 264, 23);
+ contentPanel.add(btnCopyFileTo);
+ {
+ 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() {
+ public void actionPerformed(ActionEvent e) {
+
+ updateData();
+ dispose();
+ 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);
+ }
+ thrift.closeThriftConnection();
+ }
+ });
+
+ JButton buttonCancel = new JButton("Schlie\u00DFen");
+ buttonCancel.setActionCommand("Cancel");
+ buttonPane.add(buttonCancel);
+ ButtonReady.setActionCommand("Cancel");
+ buttonPane.add(ButtonReady);
+ }
+ }
+
+ 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);
+ } catch (TException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ task=new UploadTask(host,port,user.userName,user.password,user.path, uploadFile);
+
+ task.addPropertyChangeListener(this);
+ task.execute();
+ taskrun=true;
+
+ //createXML();
+ //TransferToSatellit();
+
+
+ }
+
+ 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());
+ } catch (TException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return false;
+ }
+ return true;
+
+
+ }
+} \ No newline at end of file