diff options
| author | unknown | 2014-03-11 10:21:56 +0100 |
|---|---|---|
| committer | unknown | 2014-03-11 10:21:56 +0100 |
| commit | 99538bd2cc35d2580dabdb4b16d68c5cce108e4d (patch) | |
| tree | 43c2b680ba58ab49ff319ff5469cd3820535c207 /Dozentenmodul/src | |
| parent | -Suchfenster verbessert (diff) | |
| download | tutor-module-99538bd2cc35d2580dabdb4b16d68c5cce108e4d.tar.gz tutor-module-99538bd2cc35d2580dabdb4b16d68c5cce108e4d.tar.xz tutor-module-99538bd2cc35d2580dabdb4b16d68c5cce108e4d.zip | |
Es ist nun möglich die Metadaten eines Images über das Dozentenmodul zu updaten
Diffstat (limited to 'Dozentenmodul/src')
22 files changed, 1321 insertions, 338 deletions
diff --git a/Dozentenmodul/src/GUI/EditImageAllgemein_GUI.java b/Dozentenmodul/src/GUI/EditImageAllgemein_GUI.java index 160a7fb4..58cab4ec 100644 --- a/Dozentenmodul/src/GUI/EditImageAllgemein_GUI.java +++ b/Dozentenmodul/src/GUI/EditImageAllgemein_GUI.java @@ -20,7 +20,6 @@ import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; -import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JSeparator; import javax.swing.JTextArea; @@ -31,11 +30,12 @@ import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; -import server.Server.Client; -import thrift.ThriftConnection; +import org.apache.thrift.TException; import models.Image; import models.person; +import server.Server.Client; +import thrift.ThriftConnection; @SuppressWarnings("serial") public class EditImageAllgemein_GUI extends JFrame { @@ -46,11 +46,9 @@ public class EditImageAllgemein_GUI extends JFrame { private JTextField Nachname; private JTextField Hochschule; private JTextField EMail; - private JTextField Tel; - private JTextField Fak; private JTextField imagename; - ThriftConnection thrift=new ThriftConnection(); - Client client=thrift.getThriftConnection(); + ThriftConnection con=new ThriftConnection(); + Client client=con.getThriftConnection(); /** * Create the dialog. @@ -75,13 +73,13 @@ public class EditImageAllgemein_GUI extends JFrame { } //Setzt den Fenstertitel setTitle("bwLehrpool Suite *Prototyp*"); - + //Zentriert das Fenster in der Bildmitte Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); int top=(screenSize.height - 722) / 2; int left=(screenSize.width - 603) / 2; setBounds(left, top, 603, 722); - + initData(); getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -118,76 +116,60 @@ public class EditImageAllgemein_GUI extends JFrame { JLabel label = new JLabel("Vorname: *"); label.setBackground(SystemColor.menu); - label.setBounds(10, 183, 125, 20); + label.setBounds(10, 245, 125, 20); panel_1.add(label); Vorname = new JTextField(); + Vorname.setEditable(false); + Vorname.setEnabled(false); Vorname.setBackground(Color.WHITE); Vorname.setText(person.verantowrtlicher.getVorname()); Vorname.setColumns(10); - Vorname.setBounds(145, 183, 350, 20); + Vorname.setBounds(145, 245, 350, 20); panel_1.add(Vorname); JLabel label_7 = new JLabel("Nachname: *"); label_7.setBackground(SystemColor.menu); - label_7.setBounds(10, 214, 125, 20); + label_7.setBounds(10, 276, 125, 20); panel_1.add(label_7); Nachname = new JTextField(); + Nachname.setEnabled(false); + Nachname.setEditable(false); Nachname.setBackground(Color.WHITE); Nachname.setText(person.verantowrtlicher.getName()); Nachname.setColumns(10); - Nachname.setBounds(145, 214, 350, 20); + Nachname.setBounds(145, 276, 350, 20); panel_1.add(Nachname); JLabel label_8 = new JLabel("Hochschule: *"); label_8.setBackground(SystemColor.menu); - label_8.setBounds(10, 245, 125, 20); + label_8.setBounds(10, 307, 125, 20); panel_1.add(label_8); Hochschule = new JTextField(); + Hochschule.setEnabled(false); + Hochschule.setEditable(false); Hochschule.setBackground(Color.WHITE); Hochschule.setText(person.verantowrtlicher.getHochschule()); Hochschule.setColumns(10); - Hochschule.setBounds(145, 245, 350, 20); + Hochschule.setBounds(145, 307, 350, 20); panel_1.add(Hochschule); JLabel label_9 = new JLabel("E-Mail: *"); label_9.setBackground(SystemColor.menu); - label_9.setBounds(10, 276, 125, 20); + label_9.setBounds(10, 338, 125, 20); panel_1.add(label_9); EMail = new JTextField(); + EMail.setEnabled(false); + EMail.setEditable(false); EMail.setBackground(Color.WHITE); EMail.setText(person.verantowrtlicher.getEMail()); EMail.setColumns(10); - EMail.setBounds(145, 276, 350, 20); + EMail.setBounds(145, 338, 350, 20); panel_1.add(EMail); - JLabel label_10 = new JLabel("Tel.-Nummer:"); - label_10.setBackground(SystemColor.menu); - label_10.setBounds(10, 307, 125, 20); - panel_1.add(label_10); - - Tel = new JTextField(); - Tel.setBackground(Color.WHITE); - Tel.setText(person.verantowrtlicher.getTel()); - Tel.setColumns(10); - Tel.setBounds(145, 307, 350, 20); - panel_1.add(Tel); - - JLabel lblFakulttinstitution = new JLabel("Fakult\u00E4t/Institution:"); - lblFakulttinstitution.setBackground(SystemColor.menu); - lblFakulttinstitution.setBounds(10, 338, 125, 20); - panel_1.add(lblFakulttinstitution); - - Fak = new JTextField(); - Fak.setBackground(Color.WHITE); - Fak.setText(person.verantowrtlicher.getFakultät()); - Fak.setColumns(10); - Fak.setBounds(145, 338, 350, 20); - panel_1.add(Fak); - JLabel lblImagename = new JLabel("Imagename: *"); lblImagename.setBackground(SystemColor.menu); lblImagename.setBounds(10, 31, 125, 20); @@ -261,13 +243,7 @@ public class EditImageAllgemein_GUI extends JFrame { public void actionPerformed(ActionEvent e) { //Setzen der Eingabe im Model, dadurch bleiben die Daten bei einem erneuten Aufruf verfügbar - person.verantowrtlicher.setVorname(Vorname.getText()); - person.verantowrtlicher.setName(Nachname.getText()); - person.verantowrtlicher.setEMail(EMail.getText()); - person.verantowrtlicher.setFakultät(Fak.getText()); - person.verantowrtlicher.setHochschule(Hochschule.getText()); - person.verantowrtlicher.setTel(Tel.getText()); - Image.image.setImagename(imagename.getText()); + //Image.image.setImagename(imagename.getText()); MainMenue_GUI sr=new MainMenue_GUI(); sr.setVisible(true); @@ -283,25 +259,14 @@ public class EditImageAllgemein_GUI extends JFrame { cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //Prüfung ob alle notwendigen Felder ausgefüllt sind - if(Vorname.getText().isEmpty()==false && Nachname.getText().isEmpty()==false && Hochschule.getText().isEmpty()==false&&EMail.getText().isEmpty()==false) - { //Setzen der Eingabe im Model, dadurch bleiben die Daten bei einem erneuten Aufruf verfügbar - person.verantowrtlicher.setVorname(Vorname.getText()); - person.verantowrtlicher.setName(Nachname.getText()); - person.verantowrtlicher.setEMail(EMail.getText()); - person.verantowrtlicher.setFakultät(Fak.getText()); - person.verantowrtlicher.setHochschule(Hochschule.getText()); - person.verantowrtlicher.setTel(Tel.getText()); - Image.image.setImagename(imagename.getText()); + System.out.println(imagename.getText()); + Image.image.setNewName(imagename.getText()); + con.closeThriftConnection(); EditImageTechnisch_GUI ea=new EditImageTechnisch_GUI(); ea.setVisible(true); dispose(); - } - else{ - //Erzeugen einer Fehlermeldung wenn nicht alle notwendigen Felder ausgefüllt sind - JOptionPane.showMessageDialog(null, "Bitte geben Sie alle notwendigen Daten an!", - "Error", JOptionPane.ERROR_MESSAGE); - } + } }); cancelButton.setActionCommand("Cancel"); @@ -331,5 +296,30 @@ public class EditImageAllgemein_GUI extends JFrame { } + public void initData(){ + try { + System.out.println("initdata1:"+Image.image.getImagename()); + Map<String,String> map=client.getImageData(Image.image.getImagename()); + if(map.get("internet").equals("0")){ + Image.image.setInternet(false); + } + else + { + Image.image.setInternet(true); + } + if(map.get("license").equals("0")){ + Image.image.setLicensed(false); + } + else{ + Image.image.setLicensed(true); + } + Image.image.setRam(Integer.parseInt(map.get("ram"))); + Image.image.setCpu(Integer.parseInt(map.get("cpu"))); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } diff --git a/Dozentenmodul/src/GUI/EditImageTechnisch_GUI.java b/Dozentenmodul/src/GUI/EditImageTechnisch_GUI.java index f589a091..d8ab833f 100644 --- a/Dozentenmodul/src/GUI/EditImageTechnisch_GUI.java +++ b/Dozentenmodul/src/GUI/EditImageTechnisch_GUI.java @@ -13,6 +13,8 @@ import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; +import java.util.HashMap; +import java.util.Map; import javax.swing.ButtonGroup; import javax.swing.JButton; @@ -33,6 +35,11 @@ import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; +import org.apache.thrift.TException; + +import server.Server.Client; +import thrift.ThriftConnection; + import models.Image; @SuppressWarnings("serial") @@ -60,6 +67,7 @@ public class EditImageTechnisch_GUI extends JFrame { //Beendet die Anwendung bei Klick auf das X System.exit(0); } + }); //Verhindert das Vergrößern des Fensters setResizable(false); @@ -79,7 +87,8 @@ public class EditImageTechnisch_GUI extends JFrame { int top=(screenSize.height - 722) / 2; int left=(screenSize.width - 603) / 2; setBounds(left, top, 603, 722); - + + getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -106,7 +115,7 @@ public class EditImageTechnisch_GUI extends JFrame { contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); getContentPane().add(contentPanel); contentPanel.setLayout(null); - + JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); panel_1.setBorder(new TitledBorder(null, "Informationen zum Image", TitledBorder.LEADING, TitledBorder.TOP, null, null)); @@ -119,7 +128,6 @@ public class EditImageTechnisch_GUI extends JFrame { panel_1.add(lblNewLabel_2); rdbtnlicenseJa = new JRadioButton("Ja"); - rdbtnlicenseJa.setSelected(true); buttonGrouplicense.add(rdbtnlicenseJa); rdbtnlicenseJa.setBounds(266, 29, 109, 23); panel_1.add(rdbtnlicenseJa); @@ -128,22 +136,37 @@ public class EditImageTechnisch_GUI extends JFrame { buttonGrouplicense.add(rdbtnlicenseNein); rdbtnlicenseNein.setBounds(377, 29, 109, 23); panel_1.add(rdbtnlicenseNein); + if(Image.image.isLicensed()==true){ + rdbtnlicenseJa.setSelected(true); + } + else + { + rdbtnlicenseNein.setSelected(true); + } + + JLabel lblInternetIstInnerhalb = new JLabel("Internet ist innerhalb des Image gesperrt:"); lblInternetIstInnerhalb.setBounds(10, 58, 250, 20); panel_1.add(lblInternetIstInnerhalb); - JRadioButton rdbtnInternetJa = new JRadioButton("Ja"); + rdbtnInternetJa = new JRadioButton("Ja"); buttonGroupInternet.add(rdbtnInternetJa); rdbtnInternetJa.setBounds(266, 57, 109, 23); panel_1.add(rdbtnInternetJa); - JRadioButton rdbtnInternetNein = new JRadioButton("Nein"); + rdbtnInternetNein = new JRadioButton("Nein"); rdbtnInternetNein.setSelected(true); buttonGroupInternet.add(rdbtnInternetNein); rdbtnInternetNein.setBounds(377, 57, 109, 23); panel_1.add(rdbtnInternetNein); - + if(Image.image.isInternet()==true){ + rdbtnInternetJa.setSelected(true); + } + else + { + rdbtnInternetNein.setSelected(true); + } JLabel lblHauptmen = new JLabel("Hauptmen\u00FC"); lblHauptmen.addMouseListener(new MouseAdapter() { @Override @@ -200,6 +223,7 @@ public class EditImageTechnisch_GUI extends JFrame { spinnerRam = new JSpinner(); spinnerRam.setModel(new SpinnerNumberModel(1, 1, 8, 1)); spinnerRam.setBounds(385, 88, 29, 20); + spinnerRam.setValue(Image.image.getRam()); panel_2.add(spinnerRam); JLabel lblGbyte = new JLabel("GByte"); @@ -231,6 +255,7 @@ public class EditImageTechnisch_GUI extends JFrame { spinnerCPU = new JSpinner(); spinnerCPU.setModel(new SpinnerNumberModel(1, 1, 4, 1)); spinnerCPU.setBounds(385, 188, 29, 20); + spinnerCPU.setValue(Image.image.getCpu()); panel_2.add(spinnerCPU); JLabel lblKerne = new JLabel("Kerne"); @@ -249,6 +274,23 @@ public class EditImageTechnisch_GUI extends JFrame { //Setzt die Imagewerte in das Model Image.image.setCpu(Integer.valueOf(spinnerCPU.getValue().toString()).intValue()); Image.image.setRam(Integer.valueOf(spinnerRam.getValue().toString()).intValue()); + if(rdbtnInternetJa.isSelected()==true) + { + Image.image.setInternet(true); + } + else + { + Image.image.setInternet(false); + } + + if(rdbtnlicenseJa.isSelected()==true) + { + Image.image.setLicensed(true); + } + else + { + Image.image.setLicensed(false); + } //Öffnet das vorherige Fenster EingabeImageAllgemein_GUI sr=new EingabeImageAllgemein_GUI(); sr.setVisible(true); @@ -263,8 +305,27 @@ public class EditImageTechnisch_GUI extends JFrame { JButton cancelButton = new JButton("Weiter"); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + Image.image.setCpu(Integer.valueOf(spinnerCPU.getValue().toString()).intValue()); + Image.image.setRam(Integer.valueOf(spinnerRam.getValue().toString()).intValue()); + if(rdbtnInternetJa.isSelected()==true) + { + Image.image.setInternet(true); + } + else + { + Image.image.setInternet(false); + } + + if(rdbtnlicenseJa.isSelected()==true) + { + Image.image.setLicensed(true); + } + else + { + Image.image.setLicensed(false); + } //Öffnet das nächste Fenster - FTPUploader_GUI ea=new FTPUploader_GUI(); + FTPEditUploader_GUI ea=new FTPEditUploader_GUI(); ea.setVisible(true); dispose(); @@ -296,4 +357,8 @@ public class EditImageTechnisch_GUI extends JFrame { mnNewMenu_1.add(mntmOtrs); } -} + + + + } + diff --git a/Dozentenmodul/src/GUI/EingabeImageAllgemein_GUI.java b/Dozentenmodul/src/GUI/EingabeImageAllgemein_GUI.java index bfd4354c..12678e0e 100644 --- a/Dozentenmodul/src/GUI/EingabeImageAllgemein_GUI.java +++ b/Dozentenmodul/src/GUI/EingabeImageAllgemein_GUI.java @@ -44,8 +44,6 @@ public class EingabeImageAllgemein_GUI extends JFrame { private JTextField Nachname; private JTextField Hochschule; private JTextField EMail; - private JTextField Tel; - private JTextField Fak; private JTextField imagename; /** @@ -114,76 +112,60 @@ public class EingabeImageAllgemein_GUI extends JFrame { JLabel label = new JLabel("Vorname: *"); label.setBackground(SystemColor.menu); - label.setBounds(10, 183, 125, 20); + label.setBounds(10, 245, 125, 20); panel_1.add(label); Vorname = new JTextField(); + Vorname.setEnabled(false); + Vorname.setEditable(false); Vorname.setBackground(Color.WHITE); - Vorname.setText((String) null); + Vorname.setText(person.verantowrtlicher.getVorname()); Vorname.setColumns(10); - Vorname.setBounds(145, 183, 350, 20); + Vorname.setBounds(145, 245, 350, 20); panel_1.add(Vorname); JLabel label_7 = new JLabel("Nachname: *"); label_7.setBackground(SystemColor.menu); - label_7.setBounds(10, 214, 125, 20); + label_7.setBounds(10, 276, 125, 20); panel_1.add(label_7); Nachname = new JTextField(); + Nachname.setEnabled(false); + Nachname.setEditable(false); Nachname.setBackground(Color.WHITE); - Nachname.setText((String) null); + Nachname.setText(person.verantowrtlicher.getName()); Nachname.setColumns(10); - Nachname.setBounds(145, 214, 350, 20); + Nachname.setBounds(145, 276, 350, 20); panel_1.add(Nachname); JLabel label_8 = new JLabel("Hochschule: *"); label_8.setBackground(SystemColor.menu); - label_8.setBounds(10, 245, 125, 20); + label_8.setBounds(10, 307, 125, 20); panel_1.add(label_8); Hochschule = new JTextField(); + Hochschule.setEnabled(false); + Hochschule.setEditable(false); Hochschule.setBackground(Color.WHITE); - Hochschule.setText((String) null); + Hochschule.setText(person.verantowrtlicher.getHochschule()); Hochschule.setColumns(10); - Hochschule.setBounds(145, 245, 350, 20); + Hochschule.setBounds(145, 307, 350, 20); panel_1.add(Hochschule); JLabel label_9 = new JLabel("E-Mail: *"); label_9.setBackground(SystemColor.menu); - label_9.setBounds(10, 276, 125, 20); + label_9.setBounds(10, 338, 125, 20); panel_1.add(label_9); EMail = new JTextField(); + EMail.setEnabled(false); + EMail.setEditable(false); EMail.setBackground(Color.WHITE); - EMail.setText((String) null); + EMail.setText(person.verantowrtlicher.getEMail()); EMail.setColumns(10); - EMail.setBounds(145, 276, 350, 20); + EMail.setBounds(145, 338, 350, 20); panel_1.add(EMail); - JLabel label_10 = new JLabel("Tel.-Nummer:"); - label_10.setBackground(SystemColor.menu); - label_10.setBounds(10, 307, 125, 20); - panel_1.add(label_10); - - Tel = new JTextField(); - Tel.setBackground(Color.WHITE); - Tel.setText((String) null); - Tel.setColumns(10); - Tel.setBounds(145, 307, 350, 20); - panel_1.add(Tel); - - JLabel lblFakulttinstitution = new JLabel("Fakult\u00E4t/Institution:"); - lblFakulttinstitution.setBackground(SystemColor.menu); - lblFakulttinstitution.setBounds(10, 338, 125, 20); - panel_1.add(lblFakulttinstitution); - - Fak = new JTextField(); - Fak.setBackground(Color.WHITE); - Fak.setText((String) null); - Fak.setColumns(10); - Fak.setBounds(145, 338, 350, 20); - panel_1.add(Fak); - JLabel lblImagename = new JLabel("Imagename: *"); lblImagename.setBackground(SystemColor.menu); lblImagename.setBounds(10, 31, 125, 20); @@ -255,13 +237,6 @@ public class EingabeImageAllgemein_GUI extends JFrame { JButton okButton = new JButton("Zur\u00FCck"); okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - //schreibt die Daten in das Model - person.verantowrtlicher.setVorname(Vorname.getText()); - person.verantowrtlicher.setName(Nachname.getText()); - person.verantowrtlicher.setEMail(EMail.getText()); - person.verantowrtlicher.setFakultät(Fak.getText()); - person.verantowrtlicher.setHochschule(Hochschule.getText()); - person.verantowrtlicher.setTel(Tel.getText()); Image.image.setImagename(imagename.getText()); MainMenue_GUI sr=new MainMenue_GUI(); sr.setVisible(true); @@ -280,12 +255,6 @@ public class EingabeImageAllgemein_GUI extends JFrame { if(Vorname.getText().isEmpty()==false && Nachname.getText().isEmpty()==false && Hochschule.getText().isEmpty()==false&&EMail.getText().isEmpty()==false) { //Schreibt die Daten in das Model - person.verantowrtlicher.setVorname(Vorname.getText()); - person.verantowrtlicher.setName(Nachname.getText()); - person.verantowrtlicher.setEMail(EMail.getText()); - person.verantowrtlicher.setFakultät(Fak.getText()); - person.verantowrtlicher.setHochschule(Hochschule.getText()); - person.verantowrtlicher.setTel(Tel.getText()); Image.image.setImagename(imagename.getText()); EingabeImageTechnisch_GUI ea=new EingabeImageTechnisch_GUI(); ea.setVisible(true); diff --git a/Dozentenmodul/src/GUI/FTPUploader_GUI.java b/Dozentenmodul/src/GUI/FTPUploader_GUI.java index 1a76b7b3..078f8075 100644 --- a/Dozentenmodul/src/GUI/FTPUploader_GUI.java +++ b/Dozentenmodul/src/GUI/FTPUploader_GUI.java @@ -259,6 +259,20 @@ public class FTPUploader_GUI extends JFrame implements PropertyChangeListener { 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"));
@@ -276,7 +290,7 @@ public class FTPUploader_GUI extends JFrame implements PropertyChangeListener { {
try {
client.DeleteFtpUser(user.userName);
-
+ thrift.closeThriftConnection();
} catch (TException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
@@ -388,6 +402,9 @@ public class FTPUploader_GUI extends JFrame implements PropertyChangeListener { public boolean writeData(){
try {
+
+
+
client.writeVLdata(Image.image.getImagename(), person.verantowrtlicher.getVorname(), person.verantowrtlicher.getName(), person.verantowrtlicher.getHochschule(), person.verantowrtlicher.getEMail(), person.verantowrtlicher.getTel(), person.verantowrtlicher.getFakultät(), Image.image.isLicensed(), Image.image.isInternet(), Image.image.getRam(), Image.image.getCpu());
} catch (TException e) {
// TODO Auto-generated catch block
diff --git a/Dozentenmodul/src/GUI/Login_GUI.java b/Dozentenmodul/src/GUI/Login_GUI.java index 990500db..cc558261 100644 --- a/Dozentenmodul/src/GUI/Login_GUI.java +++ b/Dozentenmodul/src/GUI/Login_GUI.java @@ -4,32 +4,33 @@ package gui; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.Image; +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.io.File; +import java.io.IOException; + import javax.swing.ImageIcon; +import javax.swing.JButton; import javax.swing.JFrame; +import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; +import javax.swing.JPasswordField; +import javax.swing.JTextField; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; -import javax.swing.JLabel; -import javax.swing.JTextField; -import javax.swing.JButton; -import java.awt.event.ActionListener; -import java.awt.event.ActionEvent; -import javax.swing.JPasswordField; -import org.ini4j.InvalidFileFormatException; +import models.person; + import org.ini4j.Wini; import config.config_file; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.awt.SystemColor; -import java.io.File; -import java.io.IOException; - @SuppressWarnings("serial") public class Login_GUI extends JFrame { @@ -45,7 +46,7 @@ public class Login_GUI extends JFrame { EventQueue.invokeLater(new Runnable() { public void run() { try { - + //Prüfe und Erzeuge gegebenfalls Config config_file cf=new config_file(); boolean conf=cf.createConfig(); if(conf==true) @@ -149,6 +150,7 @@ public class Login_GUI extends JFrame { try { Wini ini=new Wini(new File("C:\\Users\\"+System.getProperty("user.name")+"\\AppData\\Roaming\\bwLehrpoolSuite\\config.ini")); + //Prüfe ob Bills Of Rights schon akzeptiert wurden, wenn nicht zeige diese an if(ini.get("main", "BillOfRights",boolean.class)==false){ //Erstellen einer Instanz der Aktionsauswahl BillOfRights_GUI re=new BillOfRights_GUI(); @@ -158,6 +160,7 @@ public class Login_GUI extends JFrame { } else { + //Prüfe ob die Links zu vmware angezeigt werden sollen if(ini.get("main", "vmware",boolean.class)==false){ VmWareLink_GUI vm=new VmWareLink_GUI(); vm.setVisible(true); @@ -165,6 +168,11 @@ public class Login_GUI extends JFrame { } else { + person.verantowrtlicher.setName("Spitzer"); + person.verantowrtlicher.setVorname("Tobias"); + person.verantowrtlicher.setEMail("tspitzer@hs-offenburg.de"); + person.verantowrtlicher.setHochschule("HS Offenburg"); + //Öffne das Hauprmenü MainMenue_GUI main=new MainMenue_GUI(); main.setVisible(true); setVisible(false); diff --git a/Dozentenmodul/src/GUI/MainMenue_GUI.java b/Dozentenmodul/src/GUI/MainMenue_GUI.java index 0f80d372..ddf89269 100644 --- a/Dozentenmodul/src/GUI/MainMenue_GUI.java +++ b/Dozentenmodul/src/GUI/MainMenue_GUI.java @@ -276,7 +276,8 @@ public class MainMenue_GUI extends JFrame { dispose();
} else if(rdbtnImageEdit.isSelected()==true)
{
- SearchImage_GUI si=new SearchImage_GUI();
+
+ SearchEditImage_GUI si=new SearchEditImage_GUI();
si.setVisible(true);
dispose();
}else if(rdbtnImageSearchDownload.isSelected()==true)
diff --git a/Dozentenmodul/src/GUI/SearchImage_GUI.java b/Dozentenmodul/src/GUI/SearchImage_GUI.java index 64b37898..ad474768 100644 --- a/Dozentenmodul/src/GUI/SearchImage_GUI.java +++ b/Dozentenmodul/src/GUI/SearchImage_GUI.java @@ -45,8 +45,6 @@ import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;
-import models.person;
-
import org.apache.thrift.TException;
import server.Server.Client;
@@ -390,7 +388,8 @@ public class SearchImage_GUI extends JFrame { EditImageAllgemein_GUI ea=new EditImageAllgemein_GUI();
ea.setVisible(true);
- dispose();
+ dispose();
+
}
});
cancelButton.setActionCommand("Cancel");
@@ -424,6 +423,7 @@ public class SearchImage_GUI extends JFrame { List<server.Image> images;
try {
//Hole eine Liste der Images
+
images = client.getImageList();
Iterator<server.Image> i=images.iterator();
diff --git a/Dozentenmodul/src/GUI/VmWareLink_GUI.java b/Dozentenmodul/src/GUI/VmWareLink_GUI.java index b803ee44..43df06a6 100644 --- a/Dozentenmodul/src/GUI/VmWareLink_GUI.java +++ b/Dozentenmodul/src/GUI/VmWareLink_GUI.java @@ -23,12 +23,18 @@ import javax.swing.JMenu; import javax.swing.JMenuItem; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.io.File; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JCheckBox; +import javax.swing.event.ChangeListener; +import javax.swing.event.ChangeEvent; + +import org.ini4j.InvalidFileFormatException; +import org.ini4j.Wini; @SuppressWarnings("serial") @@ -36,6 +42,7 @@ public class VmWareLink_GUI extends JFrame { private final JPanel contentPanel = new JPanel(); String[] result; + JCheckBox chckbxNewCheckBox; /** * Launch the application. */ @@ -123,7 +130,25 @@ public class VmWareLink_GUI extends JFrame { lblNewLabel_1.setBounds(10, 93, 499, 14); contentPanel.add(lblNewLabel_1); - JCheckBox chckbxNewCheckBox = new JCheckBox("Diese Benachrichtigung nicht mehr anzeigen."); + chckbxNewCheckBox = new JCheckBox("Diese Benachrichtigung nicht mehr anzeigen."); + chckbxNewCheckBox.addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent arg0) { + if(chckbxNewCheckBox.isSelected()==true) + { + try { + Wini ini=new Wini(new File("C:\\Users\\"+System.getProperty("user.name")+"\\AppData\\Roaming\\bwLehrpoolSuite\\config.ini")); + ini.put("main", "vmware",true); + ini.store(); + } catch (InvalidFileFormatException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + } + } + }); chckbxNewCheckBox.setBounds(6, 472, 555, 23); contentPanel.add(chckbxNewCheckBox); diff --git a/Dozentenmodul/src/auth/Authentification.java b/Dozentenmodul/src/auth/Authentification.java new file mode 100644 index 00000000..cf1a4b04 --- /dev/null +++ b/Dozentenmodul/src/auth/Authentification.java @@ -0,0 +1,5 @@ +package auth; + +public class Authentification { + +} diff --git a/Dozentenmodul/src/auth/Ldap.java b/Dozentenmodul/src/auth/Ldap.java deleted file mode 100644 index b50bfeaa..00000000 --- a/Dozentenmodul/src/auth/Ldap.java +++ /dev/null @@ -1,48 +0,0 @@ -package auth;
-
-import java.util.Hashtable;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import javax.naming.Context;
-import javax.naming.NamingException;
-import javax.naming.directory.DirContext;
-import javax.naming.directory.InitialDirContext;
-import javax.swing.JOptionPane;
-
-
-public class Ldap {
-
- public boolean LdapAuth(String user, String pass)
- {
- String base = "ou=hrz,o=fho";
- String dn = "cn="+user + "," + base;
- String ldapURL = "ldaps://fs3.rz.hs-offenburg.de";
- boolean userok=false;
-
- Hashtable<String, String> environment = new Hashtable<String, String>();
- environment.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
- environment.put(Context.PROVIDER_URL, ldapURL);
- environment.put(Context.SECURITY_AUTHENTICATION, "simple");
- environment.put(Context.SECURITY_PRINCIPAL, dn);
- environment.put(Context.SECURITY_CREDENTIALS, pass);
-
- try {
- @SuppressWarnings("unused")
- DirContext authContext = new InitialDirContext(environment);
- // user is authenticated
-
- userok=true;
-
- } catch (NamingException ex) {
- userok=false;
- //user hat keine Zugriffsrechte
- JOptionPane.showMessageDialog(null,
- ex.toString(), "Message",
- JOptionPane.INFORMATION_MESSAGE);
- Logger.getLogger(Ldap.class.getName()).log(Level.SEVERE, null, ex);
- }
- return userok;
-
- }
-
-}
diff --git a/Dozentenmodul/src/config/config_file.java b/Dozentenmodul/src/config/config_file.java index 31fb5b1d..de8f1483 100644 --- a/Dozentenmodul/src/config/config_file.java +++ b/Dozentenmodul/src/config/config_file.java @@ -8,21 +8,29 @@ public class config_file { public boolean createConfig() throws IOException{ + String config_file="C:\\Users\\"+System.getProperty("user.name")+"\\AppData\\Roaming\\bwLehrpoolSuite"; + //File für den Ordner erzeugen File config=new File(config_file); String file=config_file+"\\config.ini"; + //ini File erzeugen File conf=new File(file); Wini ini; + + //Prüfen ob Ordner schon existiert if(config.exists()==false) { + //Wenn nicht erzeuge Ordner config.mkdir(); - + //Erzeuge eine neue Datei conf.createNewFile(); ini=new Wini(conf); + //Wenn in die Datei geschrieben werden kann if(conf.canWrite()==true) { + //Schreibe Config ini.put("main", "BillOfRights",false); ini.put("main", "vmware", false); ini.store(); @@ -33,14 +41,16 @@ public class config_file { } else { - + //Wenn Ordner schon existiert, prüfe ob Datei existiert if(conf.exists()==false) { + //Wenn nicht, erzeuge diese conf.createNewFile(); ini=new Wini(conf); if(conf.canWrite()==true) { + //Schreibe Konfig in File ini.put("main", "BillOfRights",false); ini.put("main", "vmware", false); ini.store(); diff --git a/Dozentenmodul/src/gui/EditImageAllgemein_GUI.java b/Dozentenmodul/src/gui/EditImageAllgemein_GUI.java index 160a7fb4..58cab4ec 100644 --- a/Dozentenmodul/src/gui/EditImageAllgemein_GUI.java +++ b/Dozentenmodul/src/gui/EditImageAllgemein_GUI.java @@ -20,7 +20,6 @@ import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; -import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JSeparator; import javax.swing.JTextArea; @@ -31,11 +30,12 @@ import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; -import server.Server.Client; -import thrift.ThriftConnection; +import org.apache.thrift.TException; import models.Image; import models.person; +import server.Server.Client; +import thrift.ThriftConnection; @SuppressWarnings("serial") public class EditImageAllgemein_GUI extends JFrame { @@ -46,11 +46,9 @@ public class EditImageAllgemein_GUI extends JFrame { private JTextField Nachname; private JTextField Hochschule; private JTextField EMail; - private JTextField Tel; - private JTextField Fak; private JTextField imagename; - ThriftConnection thrift=new ThriftConnection(); - Client client=thrift.getThriftConnection(); + ThriftConnection con=new ThriftConnection(); + Client client=con.getThriftConnection(); /** * Create the dialog. @@ -75,13 +73,13 @@ public class EditImageAllgemein_GUI extends JFrame { } //Setzt den Fenstertitel setTitle("bwLehrpool Suite *Prototyp*"); - + //Zentriert das Fenster in der Bildmitte Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); int top=(screenSize.height - 722) / 2; int left=(screenSize.width - 603) / 2; setBounds(left, top, 603, 722); - + initData(); getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -118,76 +116,60 @@ public class EditImageAllgemein_GUI extends JFrame { JLabel label = new JLabel("Vorname: *"); label.setBackground(SystemColor.menu); - label.setBounds(10, 183, 125, 20); + label.setBounds(10, 245, 125, 20); panel_1.add(label); Vorname = new JTextField(); + Vorname.setEditable(false); + Vorname.setEnabled(false); Vorname.setBackground(Color.WHITE); Vorname.setText(person.verantowrtlicher.getVorname()); Vorname.setColumns(10); - Vorname.setBounds(145, 183, 350, 20); + Vorname.setBounds(145, 245, 350, 20); panel_1.add(Vorname); JLabel label_7 = new JLabel("Nachname: *"); label_7.setBackground(SystemColor.menu); - label_7.setBounds(10, 214, 125, 20); + label_7.setBounds(10, 276, 125, 20); panel_1.add(label_7); Nachname = new JTextField(); + Nachname.setEnabled(false); + Nachname.setEditable(false); Nachname.setBackground(Color.WHITE); Nachname.setText(person.verantowrtlicher.getName()); Nachname.setColumns(10); - Nachname.setBounds(145, 214, 350, 20); + Nachname.setBounds(145, 276, 350, 20); panel_1.add(Nachname); JLabel label_8 = new JLabel("Hochschule: *"); label_8.setBackground(SystemColor.menu); - label_8.setBounds(10, 245, 125, 20); + label_8.setBounds(10, 307, 125, 20); panel_1.add(label_8); Hochschule = new JTextField(); + Hochschule.setEnabled(false); + Hochschule.setEditable(false); Hochschule.setBackground(Color.WHITE); Hochschule.setText(person.verantowrtlicher.getHochschule()); Hochschule.setColumns(10); - Hochschule.setBounds(145, 245, 350, 20); + Hochschule.setBounds(145, 307, 350, 20); panel_1.add(Hochschule); JLabel label_9 = new JLabel("E-Mail: *"); label_9.setBackground(SystemColor.menu); - label_9.setBounds(10, 276, 125, 20); + label_9.setBounds(10, 338, 125, 20); panel_1.add(label_9); EMail = new JTextField(); + EMail.setEnabled(false); + EMail.setEditable(false); EMail.setBackground(Color.WHITE); EMail.setText(person.verantowrtlicher.getEMail()); EMail.setColumns(10); - EMail.setBounds(145, 276, 350, 20); + EMail.setBounds(145, 338, 350, 20); panel_1.add(EMail); - JLabel label_10 = new JLabel("Tel.-Nummer:"); - label_10.setBackground(SystemColor.menu); - label_10.setBounds(10, 307, 125, 20); - panel_1.add(label_10); - - Tel = new JTextField(); - Tel.setBackground(Color.WHITE); - Tel.setText(person.verantowrtlicher.getTel()); - Tel.setColumns(10); - Tel.setBounds(145, 307, 350, 20); - panel_1.add(Tel); - - JLabel lblFakulttinstitution = new JLabel("Fakult\u00E4t/Institution:"); - lblFakulttinstitution.setBackground(SystemColor.menu); - lblFakulttinstitution.setBounds(10, 338, 125, 20); - panel_1.add(lblFakulttinstitution); - - Fak = new JTextField(); - Fak.setBackground(Color.WHITE); - Fak.setText(person.verantowrtlicher.getFakultät()); - Fak.setColumns(10); - Fak.setBounds(145, 338, 350, 20); - panel_1.add(Fak); - JLabel lblImagename = new JLabel("Imagename: *"); lblImagename.setBackground(SystemColor.menu); lblImagename.setBounds(10, 31, 125, 20); @@ -261,13 +243,7 @@ public class EditImageAllgemein_GUI extends JFrame { public void actionPerformed(ActionEvent e) { //Setzen der Eingabe im Model, dadurch bleiben die Daten bei einem erneuten Aufruf verfügbar - person.verantowrtlicher.setVorname(Vorname.getText()); - person.verantowrtlicher.setName(Nachname.getText()); - person.verantowrtlicher.setEMail(EMail.getText()); - person.verantowrtlicher.setFakultät(Fak.getText()); - person.verantowrtlicher.setHochschule(Hochschule.getText()); - person.verantowrtlicher.setTel(Tel.getText()); - Image.image.setImagename(imagename.getText()); + //Image.image.setImagename(imagename.getText()); MainMenue_GUI sr=new MainMenue_GUI(); sr.setVisible(true); @@ -283,25 +259,14 @@ public class EditImageAllgemein_GUI extends JFrame { cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //Prüfung ob alle notwendigen Felder ausgefüllt sind - if(Vorname.getText().isEmpty()==false && Nachname.getText().isEmpty()==false && Hochschule.getText().isEmpty()==false&&EMail.getText().isEmpty()==false) - { //Setzen der Eingabe im Model, dadurch bleiben die Daten bei einem erneuten Aufruf verfügbar - person.verantowrtlicher.setVorname(Vorname.getText()); - person.verantowrtlicher.setName(Nachname.getText()); - person.verantowrtlicher.setEMail(EMail.getText()); - person.verantowrtlicher.setFakultät(Fak.getText()); - person.verantowrtlicher.setHochschule(Hochschule.getText()); - person.verantowrtlicher.setTel(Tel.getText()); - Image.image.setImagename(imagename.getText()); + System.out.println(imagename.getText()); + Image.image.setNewName(imagename.getText()); + con.closeThriftConnection(); EditImageTechnisch_GUI ea=new EditImageTechnisch_GUI(); ea.setVisible(true); dispose(); - } - else{ - //Erzeugen einer Fehlermeldung wenn nicht alle notwendigen Felder ausgefüllt sind - JOptionPane.showMessageDialog(null, "Bitte geben Sie alle notwendigen Daten an!", - "Error", JOptionPane.ERROR_MESSAGE); - } + } }); cancelButton.setActionCommand("Cancel"); @@ -331,5 +296,30 @@ public class EditImageAllgemein_GUI extends JFrame { } + public void initData(){ + try { + System.out.println("initdata1:"+Image.image.getImagename()); + Map<String,String> map=client.getImageData(Image.image.getImagename()); + if(map.get("internet").equals("0")){ + Image.image.setInternet(false); + } + else + { + Image.image.setInternet(true); + } + if(map.get("license").equals("0")){ + Image.image.setLicensed(false); + } + else{ + Image.image.setLicensed(true); + } + Image.image.setRam(Integer.parseInt(map.get("ram"))); + Image.image.setCpu(Integer.parseInt(map.get("cpu"))); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } diff --git a/Dozentenmodul/src/gui/EditImageTechnisch_GUI.java b/Dozentenmodul/src/gui/EditImageTechnisch_GUI.java index f589a091..d8ab833f 100644 --- a/Dozentenmodul/src/gui/EditImageTechnisch_GUI.java +++ b/Dozentenmodul/src/gui/EditImageTechnisch_GUI.java @@ -13,6 +13,8 @@ import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; +import java.util.HashMap; +import java.util.Map; import javax.swing.ButtonGroup; import javax.swing.JButton; @@ -33,6 +35,11 @@ import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; +import org.apache.thrift.TException; + +import server.Server.Client; +import thrift.ThriftConnection; + import models.Image; @SuppressWarnings("serial") @@ -60,6 +67,7 @@ public class EditImageTechnisch_GUI extends JFrame { //Beendet die Anwendung bei Klick auf das X System.exit(0); } + }); //Verhindert das Vergrößern des Fensters setResizable(false); @@ -79,7 +87,8 @@ public class EditImageTechnisch_GUI extends JFrame { int top=(screenSize.height - 722) / 2; int left=(screenSize.width - 603) / 2; setBounds(left, top, 603, 722); - + + getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -106,7 +115,7 @@ public class EditImageTechnisch_GUI extends JFrame { contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); getContentPane().add(contentPanel); contentPanel.setLayout(null); - + JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); panel_1.setBorder(new TitledBorder(null, "Informationen zum Image", TitledBorder.LEADING, TitledBorder.TOP, null, null)); @@ -119,7 +128,6 @@ public class EditImageTechnisch_GUI extends JFrame { panel_1.add(lblNewLabel_2); rdbtnlicenseJa = new JRadioButton("Ja"); - rdbtnlicenseJa.setSelected(true); buttonGrouplicense.add(rdbtnlicenseJa); rdbtnlicenseJa.setBounds(266, 29, 109, 23); panel_1.add(rdbtnlicenseJa); @@ -128,22 +136,37 @@ public class EditImageTechnisch_GUI extends JFrame { buttonGrouplicense.add(rdbtnlicenseNein); rdbtnlicenseNein.setBounds(377, 29, 109, 23); panel_1.add(rdbtnlicenseNein); + if(Image.image.isLicensed()==true){ + rdbtnlicenseJa.setSelected(true); + } + else + { + rdbtnlicenseNein.setSelected(true); + } + + JLabel lblInternetIstInnerhalb = new JLabel("Internet ist innerhalb des Image gesperrt:"); lblInternetIstInnerhalb.setBounds(10, 58, 250, 20); panel_1.add(lblInternetIstInnerhalb); - JRadioButton rdbtnInternetJa = new JRadioButton("Ja"); + rdbtnInternetJa = new JRadioButton("Ja"); buttonGroupInternet.add(rdbtnInternetJa); rdbtnInternetJa.setBounds(266, 57, 109, 23); panel_1.add(rdbtnInternetJa); - JRadioButton rdbtnInternetNein = new JRadioButton("Nein"); + rdbtnInternetNein = new JRadioButton("Nein"); rdbtnInternetNein.setSelected(true); buttonGroupInternet.add(rdbtnInternetNein); rdbtnInternetNein.setBounds(377, 57, 109, 23); panel_1.add(rdbtnInternetNein); - + if(Image.image.isInternet()==true){ + rdbtnInternetJa.setSelected(true); + } + else + { + rdbtnInternetNein.setSelected(true); + } JLabel lblHauptmen = new JLabel("Hauptmen\u00FC"); lblHauptmen.addMouseListener(new MouseAdapter() { @Override @@ -200,6 +223,7 @@ public class EditImageTechnisch_GUI extends JFrame { spinnerRam = new JSpinner(); spinnerRam.setModel(new SpinnerNumberModel(1, 1, 8, 1)); spinnerRam.setBounds(385, 88, 29, 20); + spinnerRam.setValue(Image.image.getRam()); panel_2.add(spinnerRam); JLabel lblGbyte = new JLabel("GByte"); @@ -231,6 +255,7 @@ public class EditImageTechnisch_GUI extends JFrame { spinnerCPU = new JSpinner(); spinnerCPU.setModel(new SpinnerNumberModel(1, 1, 4, 1)); spinnerCPU.setBounds(385, 188, 29, 20); + spinnerCPU.setValue(Image.image.getCpu()); panel_2.add(spinnerCPU); JLabel lblKerne = new JLabel("Kerne"); @@ -249,6 +274,23 @@ public class EditImageTechnisch_GUI extends JFrame { //Setzt die Imagewerte in das Model Image.image.setCpu(Integer.valueOf(spinnerCPU.getValue().toString()).intValue()); Image.image.setRam(Integer.valueOf(spinnerRam.getValue().toString()).intValue()); + if(rdbtnInternetJa.isSelected()==true) + { + Image.image.setInternet(true); + } + else + { + Image.image.setInternet(false); + } + + if(rdbtnlicenseJa.isSelected()==true) + { + Image.image.setLicensed(true); + } + else + { + Image.image.setLicensed(false); + } //Öffnet das vorherige Fenster EingabeImageAllgemein_GUI sr=new EingabeImageAllgemein_GUI(); sr.setVisible(true); @@ -263,8 +305,27 @@ public class EditImageTechnisch_GUI extends JFrame { JButton cancelButton = new JButton("Weiter"); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + Image.image.setCpu(Integer.valueOf(spinnerCPU.getValue().toString()).intValue()); + Image.image.setRam(Integer.valueOf(spinnerRam.getValue().toString()).intValue()); + if(rdbtnInternetJa.isSelected()==true) + { + Image.image.setInternet(true); + } + else + { + Image.image.setInternet(false); + } + + if(rdbtnlicenseJa.isSelected()==true) + { + Image.image.setLicensed(true); + } + else + { + Image.image.setLicensed(false); + } //Öffnet das nächste Fenster - FTPUploader_GUI ea=new FTPUploader_GUI(); + FTPEditUploader_GUI ea=new FTPEditUploader_GUI(); ea.setVisible(true); dispose(); @@ -296,4 +357,8 @@ public class EditImageTechnisch_GUI extends JFrame { mnNewMenu_1.add(mntmOtrs); } -} + + + + } + diff --git a/Dozentenmodul/src/gui/EingabeImageAllgemein_GUI.java b/Dozentenmodul/src/gui/EingabeImageAllgemein_GUI.java index bfd4354c..12678e0e 100644 --- a/Dozentenmodul/src/gui/EingabeImageAllgemein_GUI.java +++ b/Dozentenmodul/src/gui/EingabeImageAllgemein_GUI.java @@ -44,8 +44,6 @@ public class EingabeImageAllgemein_GUI extends JFrame { private JTextField Nachname; private JTextField Hochschule; private JTextField EMail; - private JTextField Tel; - private JTextField Fak; private JTextField imagename; /** @@ -114,76 +112,60 @@ public class EingabeImageAllgemein_GUI extends JFrame { JLabel label = new JLabel("Vorname: *"); label.setBackground(SystemColor.menu); - label.setBounds(10, 183, 125, 20); + label.setBounds(10, 245, 125, 20); panel_1.add(label); Vorname = new JTextField(); + Vorname.setEnabled(false); + Vorname.setEditable(false); Vorname.setBackground(Color.WHITE); - Vorname.setText((String) null); + Vorname.setText(person.verantowrtlicher.getVorname()); Vorname.setColumns(10); - Vorname.setBounds(145, 183, 350, 20); + Vorname.setBounds(145, 245, 350, 20); panel_1.add(Vorname); JLabel label_7 = new JLabel("Nachname: *"); label_7.setBackground(SystemColor.menu); - label_7.setBounds(10, 214, 125, 20); + label_7.setBounds(10, 276, 125, 20); panel_1.add(label_7); Nachname = new JTextField(); + Nachname.setEnabled(false); + Nachname.setEditable(false); Nachname.setBackground(Color.WHITE); - Nachname.setText((String) null); + Nachname.setText(person.verantowrtlicher.getName()); Nachname.setColumns(10); - Nachname.setBounds(145, 214, 350, 20); + Nachname.setBounds(145, 276, 350, 20); panel_1.add(Nachname); JLabel label_8 = new JLabel("Hochschule: *"); label_8.setBackground(SystemColor.menu); - label_8.setBounds(10, 245, 125, 20); + label_8.setBounds(10, 307, 125, 20); panel_1.add(label_8); Hochschule = new JTextField(); + Hochschule.setEnabled(false); + Hochschule.setEditable(false); Hochschule.setBackground(Color.WHITE); - Hochschule.setText((String) null); + Hochschule.setText(person.verantowrtlicher.getHochschule()); Hochschule.setColumns(10); - Hochschule.setBounds(145, 245, 350, 20); + Hochschule.setBounds(145, 307, 350, 20); panel_1.add(Hochschule); JLabel label_9 = new JLabel("E-Mail: *"); label_9.setBackground(SystemColor.menu); - label_9.setBounds(10, 276, 125, 20); + label_9.setBounds(10, 338, 125, 20); panel_1.add(label_9); EMail = new JTextField(); + EMail.setEnabled(false); + EMail.setEditable(false); EMail.setBackground(Color.WHITE); - EMail.setText((String) null); + EMail.setText(person.verantowrtlicher.getEMail()); EMail.setColumns(10); - EMail.setBounds(145, 276, 350, 20); + EMail.setBounds(145, 338, 350, 20); panel_1.add(EMail); - JLabel label_10 = new JLabel("Tel.-Nummer:"); - label_10.setBackground(SystemColor.menu); - label_10.setBounds(10, 307, 125, 20); - panel_1.add(label_10); - - Tel = new JTextField(); - Tel.setBackground(Color.WHITE); - Tel.setText((String) null); - Tel.setColumns(10); - Tel.setBounds(145, 307, 350, 20); - panel_1.add(Tel); - - JLabel lblFakulttinstitution = new JLabel("Fakult\u00E4t/Institution:"); - lblFakulttinstitution.setBackground(SystemColor.menu); - lblFakulttinstitution.setBounds(10, 338, 125, 20); - panel_1.add(lblFakulttinstitution); - - Fak = new JTextField(); - Fak.setBackground(Color.WHITE); - Fak.setText((String) null); - Fak.setColumns(10); - Fak.setBounds(145, 338, 350, 20); - panel_1.add(Fak); - JLabel lblImagename = new JLabel("Imagename: *"); lblImagename.setBackground(SystemColor.menu); lblImagename.setBounds(10, 31, 125, 20); @@ -255,13 +237,6 @@ public class EingabeImageAllgemein_GUI extends JFrame { JButton okButton = new JButton("Zur\u00FCck"); okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - //schreibt die Daten in das Model - person.verantowrtlicher.setVorname(Vorname.getText()); - person.verantowrtlicher.setName(Nachname.getText()); - person.verantowrtlicher.setEMail(EMail.getText()); - person.verantowrtlicher.setFakultät(Fak.getText()); - person.verantowrtlicher.setHochschule(Hochschule.getText()); - person.verantowrtlicher.setTel(Tel.getText()); Image.image.setImagename(imagename.getText()); MainMenue_GUI sr=new MainMenue_GUI(); sr.setVisible(true); @@ -280,12 +255,6 @@ public class EingabeImageAllgemein_GUI extends JFrame { if(Vorname.getText().isEmpty()==false && Nachname.getText().isEmpty()==false && Hochschule.getText().isEmpty()==false&&EMail.getText().isEmpty()==false) { //Schreibt die Daten in das Model - person.verantowrtlicher.setVorname(Vorname.getText()); - person.verantowrtlicher.setName(Nachname.getText()); - person.verantowrtlicher.setEMail(EMail.getText()); - person.verantowrtlicher.setFakultät(Fak.getText()); - person.verantowrtlicher.setHochschule(Hochschule.getText()); - person.verantowrtlicher.setTel(Tel.getText()); Image.image.setImagename(imagename.getText()); EingabeImageTechnisch_GUI ea=new EingabeImageTechnisch_GUI(); ea.setVisible(true); 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 diff --git a/Dozentenmodul/src/gui/FTPUploader_GUI.java b/Dozentenmodul/src/gui/FTPUploader_GUI.java index 980f3481..0bf92b82 100644 --- a/Dozentenmodul/src/gui/FTPUploader_GUI.java +++ b/Dozentenmodul/src/gui/FTPUploader_GUI.java @@ -259,6 +259,20 @@ public class FTPUploader_GUI extends JFrame implements PropertyChangeListener { 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")); @@ -276,7 +290,7 @@ public class FTPUploader_GUI extends JFrame implements PropertyChangeListener { { try { client.DeleteFtpUser(user.userName); - + thrift.closeThriftConnection(); } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); @@ -388,6 +402,9 @@ public class FTPUploader_GUI extends JFrame implements PropertyChangeListener { public boolean writeData(){ try { + + + client.writeVLdata(Image.image.getImagename(), person.verantowrtlicher.getVorname(), person.verantowrtlicher.getName(), person.verantowrtlicher.getHochschule(), person.verantowrtlicher.getEMail(), person.verantowrtlicher.getTel(), person.verantowrtlicher.getFakultät(), Image.image.isLicensed(), Image.image.isInternet(), Image.image.getRam(), Image.image.getCpu()); } catch (TException e) { // TODO Auto-generated catch block diff --git a/Dozentenmodul/src/gui/Login_GUI.java b/Dozentenmodul/src/gui/Login_GUI.java index 990500db..cc558261 100644 --- a/Dozentenmodul/src/gui/Login_GUI.java +++ b/Dozentenmodul/src/gui/Login_GUI.java @@ -4,32 +4,33 @@ package gui; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.Image; +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.io.File; +import java.io.IOException; + import javax.swing.ImageIcon; +import javax.swing.JButton; import javax.swing.JFrame; +import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; +import javax.swing.JPasswordField; +import javax.swing.JTextField; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; -import javax.swing.JLabel; -import javax.swing.JTextField; -import javax.swing.JButton; -import java.awt.event.ActionListener; -import java.awt.event.ActionEvent; -import javax.swing.JPasswordField; -import org.ini4j.InvalidFileFormatException; +import models.person; + import org.ini4j.Wini; import config.config_file; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.awt.SystemColor; -import java.io.File; -import java.io.IOException; - @SuppressWarnings("serial") public class Login_GUI extends JFrame { @@ -45,7 +46,7 @@ public class Login_GUI extends JFrame { EventQueue.invokeLater(new Runnable() { public void run() { try { - + //Prüfe und Erzeuge gegebenfalls Config config_file cf=new config_file(); boolean conf=cf.createConfig(); if(conf==true) @@ -149,6 +150,7 @@ public class Login_GUI extends JFrame { try { Wini ini=new Wini(new File("C:\\Users\\"+System.getProperty("user.name")+"\\AppData\\Roaming\\bwLehrpoolSuite\\config.ini")); + //Prüfe ob Bills Of Rights schon akzeptiert wurden, wenn nicht zeige diese an if(ini.get("main", "BillOfRights",boolean.class)==false){ //Erstellen einer Instanz der Aktionsauswahl BillOfRights_GUI re=new BillOfRights_GUI(); @@ -158,6 +160,7 @@ public class Login_GUI extends JFrame { } else { + //Prüfe ob die Links zu vmware angezeigt werden sollen if(ini.get("main", "vmware",boolean.class)==false){ VmWareLink_GUI vm=new VmWareLink_GUI(); vm.setVisible(true); @@ -165,6 +168,11 @@ public class Login_GUI extends JFrame { } else { + person.verantowrtlicher.setName("Spitzer"); + person.verantowrtlicher.setVorname("Tobias"); + person.verantowrtlicher.setEMail("tspitzer@hs-offenburg.de"); + person.verantowrtlicher.setHochschule("HS Offenburg"); + //Öffne das Hauprmenü MainMenue_GUI main=new MainMenue_GUI(); main.setVisible(true); setVisible(false); diff --git a/Dozentenmodul/src/gui/MainMenue_GUI.java b/Dozentenmodul/src/gui/MainMenue_GUI.java index e44e5c90..4e45a030 100644 --- a/Dozentenmodul/src/gui/MainMenue_GUI.java +++ b/Dozentenmodul/src/gui/MainMenue_GUI.java @@ -276,7 +276,8 @@ public class MainMenue_GUI extends JFrame { dispose(); } else if(rdbtnImageEdit.isSelected()==true) { - SearchImage_GUI si=new SearchImage_GUI(); + + SearchEditImage_GUI si=new SearchEditImage_GUI(); si.setVisible(true); dispose(); }else if(rdbtnImageSearchDownload.isSelected()==true) diff --git a/Dozentenmodul/src/gui/SearchEditImage_GUI.java b/Dozentenmodul/src/gui/SearchEditImage_GUI.java new file mode 100644 index 00000000..840f283c --- /dev/null +++ b/Dozentenmodul/src/gui/SearchEditImage_GUI.java @@ -0,0 +1,460 @@ +package gui; + + +import java.awt.Color; +import java.awt.Dimension; +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.KeyAdapter; +import java.awt.event.KeyEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.JDialog; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JPanel; +import javax.swing.JRadioButton; +import javax.swing.JScrollPane; +import javax.swing.JSeparator; +import javax.swing.JTabbedPane; +import javax.swing.JTable; +import javax.swing.JTextField; +import javax.swing.JTextPane; +import javax.swing.RowFilter; +import javax.swing.UIManager; +import javax.swing.UnsupportedLookAndFeelException; +import javax.swing.border.EmptyBorder; +import javax.swing.border.TitledBorder; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; +import javax.swing.table.DefaultTableModel; +import javax.swing.table.TableModel; +import javax.swing.table.TableRowSorter; + +import models.Image; +import models.person; + +import org.apache.thrift.TException; + +import server.Server.Client; +import thrift.ThriftConnection; + +@SuppressWarnings("serial") +public class SearchEditImage_GUI extends JFrame { + + private final JPanel contentPanel = new JPanel(); + String[] result; + JRadioButton rdbtnInternetJa; + JRadioButton rdbtnInternetNein; + JComboBox<String> comboBox; + JTable tableAllImages; + JTable tablemyImages; + private JTextField textFieldName; + JTabbedPane tabbedPane; + String[] titles= {"Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", "Verantwortlicher", "Letztes Update", "Schlagwort"}; + ThriftConnection con=new ThriftConnection(); + Client client=con.getThriftConnection(); + final DefaultTableModel modelAll = new DefaultTableModel( titles, 0 ); + final DefaultTableModel modelMyImages = new DefaultTableModel( titles, 0 ); + final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>( modelAll ); + final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>( modelMyImages ); + + /** + * Launch the application. + */ + public static void main(String[] args) { + try { + SearchEditImage_GUI dialog = new SearchEditImage_GUI(); + dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); + dialog.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * Create the dialog. + */ + public SearchEditImage_GUI() { + addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent arg0) { + //Beendet die Anwendung nach klick auf X + System.exit(0); + } + }); + //Verhindert das Vergrößern Des Fensters + setResizable(false); + + try { + //Setzt das Look & Feel auf System + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (ClassNotFoundException | InstantiationException + | IllegalAccessException | UnsupportedLookAndFeelException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + //Setzt den Fenstertitel + setTitle("bwLehrpool Suite *Prototyp*"); + //Zentriert das Fenster in die Bildmitte + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + int top=(screenSize.height - 722) / 2; + int left=(screenSize.width - 603) / 2; + setBounds(left, top, 603, 722); + + + + final DefaultTableModel model = new DefaultTableModel( titles, 0 ); + + + getContentPane().setLayout(null); + { + JPanel panel = new JPanel(); + panel.setBackground(SystemColor.menu); + panel.setBounds(10, 11, 577, 57); + getContentPane().add(panel); + panel.setLayout(null); + { + JLabel lblNewLabel = new JLabel("Suche nach VL-Image"); + lblNewLabel.setBounds(10, 11, 509, 22); + panel.add(lblNewLabel); + lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); + } + + JTextPane txtpnBitteWhlenSie = new JTextPane(); + txtpnBitteWhlenSie.setEditable(false); + txtpnBitteWhlenSie.setBackground(SystemColor.menu); + txtpnBitteWhlenSie.setText("Hier k\u00F6nnen Sie nach Ihrem gew\u00FCnschten VL-Image suchen und dieses f\u00FCr weitere Schritte ausw\u00E4hlen"); + txtpnBitteWhlenSie.setBounds(10, 36, 509, 32); + panel.add(txtpnBitteWhlenSie); + } + contentPanel.setBounds(10, 85, 577, 531); + contentPanel.setBackground(SystemColor.menu); + contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); + getContentPane().add(contentPanel); + contentPanel.setLayout(null); + + JPanel panel_1 = new JPanel(); + panel_1.setBackground(SystemColor.menu); + panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBounds(10, 49, 557, 131); + contentPanel.add(panel_1); + panel_1.setLayout(null); + + JLabel lblNewLabel_2 = new JLabel("Anzeigename:"); + lblNewLabel_2.setBounds(10, 30, 250, 20); + panel_1.add(lblNewLabel_2); + + JLabel lblInternetIstInnerhalb = new JLabel("Betriebssystem:"); + lblInternetIstInnerhalb.setBounds(10, 58, 250, 20); + panel_1.add(lblInternetIstInnerhalb); + + textFieldName = new JTextField(); + //Key Listener der Tastatureingabe registriert + textFieldName.addKeyListener(new KeyAdapter() { + @Override + public void keyReleased(KeyEvent e) { + //Textfield eingabe auslesen + String stext=textFieldName.getText(); + + //Wenn Textfield nicht leer + if(stext!="") + { + //Filtere nach der Eingabe + rowSorterAll.setRowFilter(RowFilter.regexFilter(textFieldName.getText(), 0)); + rowSorterMyImages.setRowFilter(RowFilter.regexFilter(textFieldName.getText(), 0)); + + } + }}); + + + textFieldName.setBounds(270, 30, 250, 20); + panel_1.add(textFieldName); + textFieldName.setColumns(10); + + JLabel lblErweiterteSuche = new JLabel("<html><u>Erweiterte Suche</u></html>"); + lblErweiterteSuche.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent arg0) { + //Öffnet das Fenster Extended GUI + ExtendedSearch_GUI es=new ExtendedSearch_GUI(); + es.setVisible(true); + } + }); + lblErweiterteSuche.setForeground(Color.BLUE); + + lblErweiterteSuche.setBounds(431, 106, 89, 14); + panel_1.add(lblErweiterteSuche); + + comboBox = new JComboBox<String>(); + try { + //Holt sich eine Liste aller verfügbaren Betriebssysteme vom Server + List<String> list=client.getAllOS(); + //Leeres Item hinzufügen + comboBox.addItem(""); + for(int i=0;i<list.size();i++) + { + //Hinzufügen der verfügbaren Betriebssysteme + comboBox.addItem(list.get(i)); + } + } catch (TException e2) { + // TODO Auto-generated catch block + e2.printStackTrace(); + } + //Registriert Auswahländerungen der Box + comboBox.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + //Prüft das die Auswahl nicht leer ist + if(comboBox.getSelectedItem().toString()!="") + { + //Filtert nach dem ausgewählten Betriebssystem + rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem().toString(), 2)); + rowSorterMyImages.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem().toString(), 2)); + } + } + + }); + comboBox.setBounds(270, 58, 250, 20); + panel_1.add(comboBox); + + JLabel lblHauptmen = new JLabel("Hauptmen\u00FC"); + lblHauptmen.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent arg0) { + //Öffnet das Hauütmenü + SearchEditImage_GUI.this.setVisible(false); + MainMenue_GUI main=new MainMenue_GUI(); + main.setVisible(true); + } + }); + lblHauptmen.setForeground(Color.BLUE); + lblHauptmen.setBounds(10, 11, 61, 14); + contentPanel.add(lblHauptmen); + + JLabel label_1 = new JLabel(">"); + label_1.setBounds(69, 11, 13, 14); + contentPanel.add(label_1); + + JLabel lblVlimage = new JLabel("VL-Image"); + lblVlimage.setForeground(Color.BLUE); + lblVlimage.setBounds(81, 11, 45, 14); + contentPanel.add(lblVlimage); + + JLabel label_2 = new JLabel(">"); + label_2.setBounds(133, 11, 13, 14); + contentPanel.add(label_2); + + JLabel lblNewLabel_1 = new JLabel("Imageauswahl"); + lblNewLabel_1.setBounds(146, 11, 85, 14); + contentPanel.add(lblNewLabel_1); + + tabbedPane = new JTabbedPane(JTabbedPane.TOP); + tabbedPane.addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent arg0) { + System.out.println(tabbedPane.getSelectedIndex()); + if(tabbedPane.getSelectedIndex()==0){ + + + + } + else if(tabbedPane.getSelectedIndex()==1){ + String username="Spitzer Tobias"; + rowSorterMyImages.setRowFilter(RowFilter.regexFilter(username, 4)); + + //rowSorterMyImages.toggleSortOrder(0); + } + + } + }); + + tabbedPane.setBounds(10, 197, 557, 300); + contentPanel.add(tabbedPane); + + JScrollPane scrollPaneMyImage = new JScrollPane(); + tablemyImages=new JTable(); + tablemyImages.setModel(modelMyImages); + tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit(); + tablemyImages.getColumnModel().getColumn(2).sizeWidthToFit(); + tablemyImages.getColumnModel().getColumn(3).sizeWidthToFit(); + tablemyImages.getColumnModel().getColumn(4).sizeWidthToFit(); + tablemyImages.getColumnModel().getColumn(5).sizeWidthToFit(); + initTableModel(modelMyImages); + tablemyImages.setRowSorter(rowSorterMyImages); + + JScrollPane scrollPaneAllImages = new JScrollPane(); + tableAllImages=new JTable(); + tableAllImages.setModel(modelAll); + tableAllImages.getColumnModel().getColumn(1).sizeWidthToFit(); + tableAllImages.getColumnModel().getColumn(2).sizeWidthToFit(); + tableAllImages.getColumnModel().getColumn(3).sizeWidthToFit(); + tableAllImages.getColumnModel().getColumn(4).sizeWidthToFit(); + tableAllImages.getColumnModel().getColumn(5).sizeWidthToFit(); + initTableModel(modelAll); + tableAllImages.setRowSorter(rowSorterAll); + + scrollPaneAllImages.setViewportView(tableAllImages); + tabbedPane.addTab("Alle", null, scrollPaneAllImages, null); + + scrollPaneMyImage.setViewportView(tablemyImages); + tabbedPane.addTab("Meine Images", null, scrollPaneMyImage, null); + + JScrollPane scrollPaneCoopImages = new JScrollPane(); + JTable tableCoopImages=new JTable(); + tableCoopImages.setModel(model); + tableCoopImages.getColumnModel().getColumn(1).sizeWidthToFit(); + tableCoopImages.getColumnModel().getColumn(2).sizeWidthToFit(); + tableCoopImages.getColumnModel().getColumn(3).sizeWidthToFit(); + tableCoopImages.getColumnModel().getColumn(4).sizeWidthToFit(); + tableCoopImages.getColumnModel().getColumn(5).sizeWidthToFit(); + + scrollPaneCoopImages.setViewportView(tableCoopImages); + tabbedPane.addTab("Kooperative Images", null, scrollPaneCoopImages, null); + tabbedPane.setEnabledAt(2, false); + + JScrollPane scrollPanePublicImages = new JScrollPane(); + JTable tablePublicImages=new JTable(); + tablePublicImages.setModel(model); + tablePublicImages.getColumnModel().getColumn(1).sizeWidthToFit(); + tablePublicImages.getColumnModel().getColumn(2).sizeWidthToFit(); + tablePublicImages.getColumnModel().getColumn(3).sizeWidthToFit(); + tablePublicImages.getColumnModel().getColumn(4).sizeWidthToFit(); + tablePublicImages.getColumnModel().getColumn(5).sizeWidthToFit(); + + scrollPanePublicImages.setViewportView(tablePublicImages); + tabbedPane.addTab("\u00D6ffentliche Images", null, scrollPanePublicImages, null); + tabbedPane.setEnabledAt(3, false); + + JScrollPane scrollPanePublicVorlagen = new JScrollPane(); + JTable tablePublicVorlagen=new JTable(); + tablePublicVorlagen.setModel(model); + tablePublicVorlagen.getColumnModel().getColumn(1).sizeWidthToFit(); + tablePublicVorlagen.getColumnModel().getColumn(2).sizeWidthToFit(); + tablePublicVorlagen.getColumnModel().getColumn(3).sizeWidthToFit(); + tablePublicVorlagen.getColumnModel().getColumn(4).sizeWidthToFit(); + tablePublicVorlagen.getColumnModel().getColumn(5).sizeWidthToFit(); + + scrollPanePublicVorlagen.setViewportView(tablePublicVorlagen); + tabbedPane.addTab("\u00D6ffentliche Vorlagen", null, scrollPanePublicVorlagen, null); + tabbedPane.setEnabledAt(4, false); + + + + + JButton btnDownload = new JButton("Download"); + btnDownload.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + //Öffnet den Downloader + FTPDownloader_GUI down=new FTPDownloader_GUI("Test"); + down.setVisible(true); + SearchEditImage_GUI.this.setVisible(false); + } + }); + btnDownload.setBounds(449, 508, 118, 23); + contentPanel.add(btnDownload); + { + JPanel buttonPane = new JPanel(); + buttonPane.setBounds(0, 640, 597, 33); + buttonPane.setBackground(SystemColor.menu); + buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); + getContentPane().add(buttonPane); + { + JButton okButton = new JButton("Zur\u00FCck"); + okButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + //Öffnet das Hauptmenü + + MainMenue_GUI main=new MainMenue_GUI(); + main.setVisible(true); + dispose(); + } + }); + okButton.setActionCommand("OK"); + buttonPane.add(okButton); + getRootPane().setDefaultButton(okButton); + } + { + JButton cancelButton = new JButton("Weiter"); + cancelButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + con.closeThriftConnection(); + String imagename=modelMyImages.getValueAt(tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 0).toString(); + Image.image.setImagename(imagename); + EditImageAllgemein_GUI ea=new EditImageAllgemein_GUI(); + ea.setVisible(true); + dispose(); + } + }); + cancelButton.setActionCommand("Cancel"); + buttonPane.add(cancelButton); + } + } + + JSeparator separator = new JSeparator(); + separator.setBounds(0, 78, 597, 2); + getContentPane().add(separator); + + JSeparator separator_1 = new JSeparator(); + separator_1.setBounds(0, 627, 597, 2); + getContentPane().add(separator_1); + + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + + JMenu mnNewMenu_1 = new JMenu("Hilfe"); + menuBar.add(mnNewMenu_1); + + JMenuItem mntmFaq = new JMenuItem("FAQ"); + mnNewMenu_1.add(mntmFaq); + + JMenuItem mntmOtrs = new JMenuItem("OTRS"); + mnNewMenu_1.add(mntmOtrs); + + } + //Initiale Beffülung eines Table models + public DefaultTableModel initTableModel(DefaultTableModel model){ + List<server.Image> images; + try { + //Hole eine Liste der Images + images = client.getImageList(); + + Iterator<server.Image> i=images.iterator(); + + int x=0; + + while(i.hasNext()) + { + //erzeuge Objekte für die Tabelle + Object [] obj={images.get(x).getImageName(),images.get(x).getLicenseRestriction(),images.get(x).getOsName(),images.get(x).getLectureName(),images.get(x).getUserData(),images.get(x).getUpdateTime()}; + //Füge diese Objekte der Tabelle hinzu + model.addRow(obj); + x++; + i.next(); + + } + + return model; + } catch (TException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + return model; + } + + } + + diff --git a/Dozentenmodul/src/gui/SearchImage_GUI.java b/Dozentenmodul/src/gui/SearchImage_GUI.java index 6ee58903..4225a295 100644 --- a/Dozentenmodul/src/gui/SearchImage_GUI.java +++ b/Dozentenmodul/src/gui/SearchImage_GUI.java @@ -45,8 +45,6 @@ import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; import javax.swing.table.TableRowSorter; -import models.person; - import org.apache.thrift.TException; import server.Server.Client; @@ -390,7 +388,8 @@ public class SearchImage_GUI extends JFrame { EditImageAllgemein_GUI ea=new EditImageAllgemein_GUI(); ea.setVisible(true); - dispose(); + dispose(); + } }); cancelButton.setActionCommand("Cancel"); @@ -424,6 +423,7 @@ public class SearchImage_GUI extends JFrame { List<server.Image> images; try { //Hole eine Liste der Images + images = client.getImageList(); Iterator<server.Image> i=images.iterator(); diff --git a/Dozentenmodul/src/models/Image.java b/Dozentenmodul/src/models/Image.java index f16a7594..2a8c4fcd 100644 --- a/Dozentenmodul/src/models/Image.java +++ b/Dozentenmodul/src/models/Image.java @@ -2,6 +2,7 @@ package models; public class Image { private String imagename; + private String newName; private boolean licensed; private boolean internet; private int ram; @@ -39,5 +40,10 @@ public class Image { public void setCpu(int cpu) { this.cpu = cpu; } - + public String getNewName() { + return newName; + } + public void setNewName(String newName) { + this.newName = newName; + } } diff --git a/Dozentenmodul/src/thrift/ThriftConnection.java b/Dozentenmodul/src/thrift/ThriftConnection.java index 6a65c948..21baff96 100644 --- a/Dozentenmodul/src/thrift/ThriftConnection.java +++ b/Dozentenmodul/src/thrift/ThriftConnection.java @@ -10,14 +10,14 @@ import server.Server; import server.Server.Client; public class ThriftConnection { - + final TTransport transport = new TSocket("141.79.128.121", 9090); public Client getThriftConnection() { - final TTransport transport = new TSocket("141.79.128.121", 9090); + try { transport.open(); } catch (TTransportException e) { - System.out.println("Keine Verbindung zum Master möglich!"); + System.out.println("Keine Verbindung möglich!"); return null; } @@ -25,8 +25,13 @@ public class ThriftConnection { final Server.Client client = new Server.Client(protocol); - System.out.println("Der Zentralserver läuft!"); + System.out.println("Der Server läuft!"); + return client; } + public void closeThriftConnection() + { + transport.close(); + } } |
