diff options
| author | unknown | 2014-04-10 16:50:14 +0200 |
|---|---|---|
| committer | unknown | 2014-04-10 16:50:14 +0200 |
| commit | 236f2e7bf2c9d5cdec6da36140ee7dcac7944998 (patch) | |
| tree | 2de499a71a527c7320b2096c17c5a69d2ea8d288 /Dozentenmodul/src/gui | |
| parent | bfg (diff) | |
| parent | cdsc (diff) | |
| download | tutor-module-236f2e7bf2c9d5cdec6da36140ee7dcac7944998.tar.gz tutor-module-236f2e7bf2c9d5cdec6da36140ee7dcac7944998.tar.xz tutor-module-236f2e7bf2c9d5cdec6da36140ee7dcac7944998.zip | |
Merge branch 'master' of ssh://git.openslx.org/openslx-ng/tutor-module
Conflicts:
Dozentenmodul/src/GUI/SearchImage_GUI.java
Dozentenmodul/src/Models/person.java
Dozentenmodul/src/Models/vm.java
Diffstat (limited to 'Dozentenmodul/src/gui')
28 files changed, 4935 insertions, 2679 deletions
diff --git a/Dozentenmodul/src/gui/EingabeVeranstatlungTechnisch_GUI.java b/Dozentenmodul/src/gui/EingabeVeranstatlungTechnisch_GUI.java deleted file mode 100644 index 6f645ac5..00000000 --- a/Dozentenmodul/src/gui/EingabeVeranstatlungTechnisch_GUI.java +++ /dev/null @@ -1,328 +0,0 @@ -package gui; - - -import java.awt.Color; -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.Font; -import java.awt.ScrollPane; -import java.awt.SystemColor; -import java.awt.Toolkit; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; - -import javax.swing.ButtonGroup; -import javax.swing.JButton; -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.JSeparator; -import javax.swing.JTextArea; -import javax.swing.JTextField; -import javax.swing.JTextPane; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; -import javax.swing.border.EmptyBorder; - -import models.Image; -import models.Lecture; - - -import com.toedter.calendar.JDateChooser; - -@SuppressWarnings("serial") -public class EingabeVeranstatlungTechnisch_GUI extends JFrame { - - private final JPanel contentPanel = new JPanel(); - String[] result; - private JTextField textFieldLaborname; - JRadioButton rdbtnJa; - JDateChooser dateChooserend; - JDateChooser dateChooserstart; - JTextArea textAreashort; - JTextArea textArealong; - private final ButtonGroup buttonGroup = new ButtonGroup(); - /** - * Launch the application. - */ - public static void main(String[] args) { - try { - EingabeVeranstatlungTechnisch_GUI dialog = new EingabeVeranstatlungTechnisch_GUI(); - dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); - dialog.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * Create the dialog. - */ - public EingabeVeranstatlungTechnisch_GUI() { - addWindowListener(new WindowAdapter() { - @Override - public void windowClosing(WindowEvent arg0) { - System.exit(0); - } - }); - setResizable(false); - - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - setTitle("bwLehrpool Suite *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, 722); - 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("Dateneingabe f\u00FCr Veranstaltung"); - 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("Geben Sie hier bitte einen sprechenden Imagename sowie Ihre Kontaktdaten an"); - 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); - - JLabel lblHauptmen = new JLabel("Hauptmen\u00FC"); - lblHauptmen.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent arg0) { - - EingabeVeranstatlungTechnisch_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("Veranstaltung "); - lblVlimage.setForeground(Color.BLUE); - lblVlimage.setBounds(81, 11, 74, 14); - contentPanel.add(lblVlimage); - - JLabel label_2 = new JLabel(">"); - label_2.setBounds(152, 11, 13, 14); - contentPanel.add(label_2); - - JLabel lblNewLabel_1 = new JLabel("Neu"); - lblNewLabel_1.setBounds(165, 11, 46, 14); - contentPanel.add(lblNewLabel_1); - - JLabel lblLabornameanzeigename = new JLabel("Laborname (Anzeigename): *"); - lblLabornameanzeigename.setBounds(10, 57, 250, 14); - contentPanel.add(lblLabornameanzeigename); - - textFieldLaborname = new JTextField(); - textFieldLaborname.setBounds(270, 54, 307, 20); - contentPanel.add(textFieldLaborname); - textFieldLaborname.setColumns(10); - - JLabel lblKurzbeschreibung = new JLabel("Kurzbeschreibung: *"); - lblKurzbeschreibung.setBounds(10, 175, 250, 14); - contentPanel.add(lblKurzbeschreibung); - - ScrollPane scrollPane = new ScrollPane(); - scrollPane.setBounds(270, 175, 307, 137); - contentPanel.add(scrollPane); - - textAreashort = new JTextArea(); - textAreashort.setLineWrap(true); - scrollPane.add(textAreashort); - textAreashort.setBounds(0, 0, 4, 22); - - ScrollPane scrollPane_1 = new ScrollPane(); - scrollPane_1.setBounds(270, 315, 307, 137); - contentPanel.add(scrollPane_1); - - textArealong = new JTextArea(); - textArealong.setLineWrap(true); - textArealong.setBounds(0, 0, 4, 22); - scrollPane_1.add(textArealong); - - JLabel label = new JLabel("Kurzbeschreibung: *"); - label.setBounds(0, 318, 250, 14); - contentPanel.add(label); - - JLabel lblGltigkeitsdatum = new JLabel("G\u00FCltigkeitsdatum: *"); - lblGltigkeitsdatum.setBounds(0, 464, 250, 14); - contentPanel.add(lblGltigkeitsdatum); - - JLabel lblVon = new JLabel("von:"); - lblVon.setBounds(270, 461, 30, 20); - contentPanel.add(lblVon); - - dateChooserstart = new JDateChooser(); - dateChooserstart.setDateFormatString("yyyy-MM-dd hh:mm:ss"); - dateChooserstart.setBounds(332, 458, 101, 20); - contentPanel.add(dateChooserstart); - - JLabel lblBis = new JLabel("bis"); - lblBis.setBounds(443, 461, 24, 20); - contentPanel.add(lblBis); - - dateChooserend = new JDateChooser(); - dateChooserend.setDateFormatString("dd.MM.yyyy hh:mm:ss"); - dateChooserend.setBounds(477, 459, 100, 20); - contentPanel.add(dateChooserend); - - JLabel lblAktiv = new JLabel("Aktiv:"); - lblAktiv.setBounds(0, 492, 250, 14); - contentPanel.add(lblAktiv); - - JLabel lblimVmchooserSichtbar = new JLabel("(Im VMChooser sichtbar)"); - lblimVmchooserSichtbar.setBounds(0, 517, 250, 14); - contentPanel.add(lblimVmchooserSichtbar); - - rdbtnJa = new JRadioButton("Ja"); - rdbtnJa.setSelected(true); - buttonGroup.add(rdbtnJa); - rdbtnJa.setBounds(270, 488, 109, 23); - contentPanel.add(rdbtnJa); - - JRadioButton rdbtnNein = new JRadioButton("Nein"); - buttonGroup.add(rdbtnNein); - rdbtnNein.setBounds(381, 488, 109, 23); - contentPanel.add(rdbtnNein); - - JTextArea txtrGebenSieBitte = new JTextArea(); - txtrGebenSieBitte.setWrapStyleWord(true); - txtrGebenSieBitte.setText("Geben Sie bitte einen sprechenden Namen f\u00FCr das Image an. Dieser soll jedoch recht allgemein gehalten werden.\r\nBeispiel: \"Programmieren\", nicht \"Programmieren 1\""); - txtrGebenSieBitte.setLineWrap(true); - txtrGebenSieBitte.setFont(new Font("Tahoma", Font.PLAIN, 12)); - txtrGebenSieBitte.setBackground(SystemColor.menu); - txtrGebenSieBitte.setBounds(10, 82, 567, 59); - contentPanel.add(txtrGebenSieBitte); - //contentPanel.add(textArea); - { - 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) { - - if(rdbtnJa.isSelected()==true) - { - Lecture.lecture.setActive(true); - } - else - { - Lecture.lecture.setActive(false); - } - - Lecture.lecture.setName(textFieldLaborname.getText()); - Lecture.lecture.setDesc(textArealong.getText()); - Lecture.lecture.setEnddate(dateChooserend.getDate()); - Lecture.lecture.setShortDesc(textAreashort.getText()); - Lecture.lecture.setStartdate(dateChooserstart.getDate()); - Image.image.setImagename(textFieldLaborname.getText()); - - EingabeVeranstaltungAllgemein_GUI sr=new EingabeVeranstaltungAllgemein_GUI(); - sr.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) { - if(rdbtnJa.isSelected()==true) - { - Lecture.lecture.setActive(true); - } - else - { - Lecture.lecture.setActive(false); - } - - Lecture.lecture.setName(textFieldLaborname.getText()); - Lecture.lecture.setDesc(textArealong.getText()); - Lecture.lecture.setEnddate(dateChooserend.getDate()); - Lecture.lecture.setShortDesc(textAreashort.getText()); - Lecture.lecture.setStartdate(dateChooserstart.getDate()); - Image.image.setImagename(textFieldLaborname.getText()); - LinkImage_GUI ea=new LinkImage_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 = new JMenu("Suchen"); - menuBar.add(mnNewMenu); - - JMenuItem mntmVlSuche = new JMenuItem("VL Suche"); - mnNewMenu.add(mntmVlSuche); - - 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); - - } -} diff --git a/Dozentenmodul/src/gui/FTPDownloader_GUI.java b/Dozentenmodul/src/gui/FTPDownloader_GUI.java deleted file mode 100644 index 702b7f67..00000000 --- a/Dozentenmodul/src/gui/FTPDownloader_GUI.java +++ /dev/null @@ -1,348 +0,0 @@ -package gui; - -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.Toolkit; -import java.io.File; - -import javax.swing.JButton; -import javax.swing.JFileChooser; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JProgressBar; -import javax.swing.SwingConstants; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; -import javax.swing.border.EmptyBorder; - -import ftp.DownloadTask; - -import java.awt.event.ActionListener; -import java.awt.event.ActionEvent; -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.awt.SystemColor; -import java.awt.Font; -import javax.swing.JTextPane; -import javax.swing.JSeparator; - -import org.apache.thrift.TException; - -import server.Server.Client; -import server.User; -import thrift.ThriftConnection; - -@SuppressWarnings("serial") -public class FTPDownloader_GUI extends JFrame implements PropertyChangeListener { - - @SuppressWarnings("unused") - private JPanel contentPane; - private final JPanel contentPanel = new JPanel(); - JLabel lblNewLabel; - JLabel downspeed; - User user; - JProgressBar progressBar; - String host="141.79.1+ü28.121"; - int port=21; - String username="openslx"; - String password="openslx-ng"; - String downloadPath=""; - String filename=""; - static String arg=""; - DownloadTask task; - JLabel bytesreadlbl; - JLabel lblNewLabel_3; - JLabel labelVerbleibend; - long filesize; - double speed; - long bytesread; - JLabel labelZeit; - 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 { - FTPDownloader frame = new FTPDownloader(); - frame.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - }*/ - - /** - * Create the frame. - */ - public FTPDownloader_GUI(String name) { - addWindowListener(new WindowAdapter() { - @Override - public void windowClosing(WindowEvent e) { - if(taskrun==true) - { - try { - client.DeleteFtpUser(user.userName); - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } - task.cancel(true); - } - dispose(); - } - }); - setResizable(false); - //setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); - - filename=name; - - 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); - 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("Speicherort ausw\u00E4hlen"); - btnSpeicherortAuswhlen.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - JFileChooser fc=new JFileChooser(); - fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); - - fc.showOpenDialog(getParent()); - File dir=fc.getSelectedFile(); - lblNewLabel.setText(dir.getAbsolutePath()); - } - }); - - btnSpeicherortAuswhlen.setBounds(10, 124, 141, 23); - btnSpeicherortAuswhlen.setVerticalAlignment(SwingConstants.TOP); - btnSpeicherortAuswhlen.setHorizontalAlignment(SwingConstants.LEFT); - contentPanel.add(btnSpeicherortAuswhlen); - } - - lblNewLabel = new JLabel("C:\\"); - lblNewLabel.setBounds(169, 124, 255, 23); - contentPanel.add(lblNewLabel); - - JButton btnDownloadStarten = new JButton("Download starten"); - btnDownloadStarten.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - buttonDownloadActionPerformed(arg0); - } - }); - - btnDownloadStarten.setBounds(10, 294, 141, 23); - contentPanel.add(btnDownloadStarten); - - progressBar = new JProgressBar(0,100); - progressBar.setStringPainted(true); - - - progressBar.setBounds(10, 158, 577, 30); - contentPanel.add(progressBar); - - JLabel lblDownloadgeschwindigkeit = new JLabel("Downloadgeschwindigkeit:"); - lblDownloadgeschwindigkeit.setBounds(10, 194, 141, 14); - contentPanel.add(lblDownloadgeschwindigkeit); - - downspeed = new JLabel("0"); - downspeed.setBounds(261, 194, 95, 14); - contentPanel.add(downspeed); - - JLabel lblNewLabel_1 = new JLabel("Fertig:"); - lblNewLabel_1.setBounds(10, 244, 46, 14); - contentPanel.add(lblNewLabel_1); - - bytesreadlbl = new JLabel(""); - bytesreadlbl.setBounds(66, 244, 108, 14); - contentPanel.add(bytesreadlbl); - - JLabel lblNewLabel_2 = new JLabel("von:"); - lblNewLabel_2.setBounds(179, 244, 46, 14); - contentPanel.add(lblNewLabel_2); - - lblNewLabel_3 = new JLabel(""); - lblNewLabel_3.setBounds(235, 244, 108, 14); - contentPanel.add(lblNewLabel_3); - - JLabel lblMbVerbleibend = new JLabel("Verbleibend:"); - lblMbVerbleibend.setBounds(10, 269, 71, 14); - contentPanel.add(lblMbVerbleibend); - - labelVerbleibend = new JLabel(""); - labelVerbleibend.setBounds(91, 269, 108, 14); - contentPanel.add(labelVerbleibend); - - JLabel lblGeschtzteVerbleibendeZeit = new JLabel("Gesch\u00E4tzte Verbleibende Zeit:"); - lblGeschtzteVerbleibendeZeit.setBounds(10, 219, 150, 14); - contentPanel.add(lblGeschtzteVerbleibendeZeit); - - labelZeit = new JLabel(""); - labelZeit.setBounds(261, 219, 117, 14); - contentPanel.add(labelZeit); - - JPanel panel = new JPanel(); - panel.setLayout(null); - panel.setBackground(SystemColor.menu); - panel.setBounds(10, 11, 577, 57); - contentPanel.add(panel); - - JLabel label = new JLabel("Eingabe Ihrer Daten"); - label.setFont(new Font("Tahoma", Font.BOLD, 18)); - label.setBounds(10, 11, 509, 22); - panel.add(label); - - 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 label_1 = new JLabel("Hauptmen\u00FC"); - label_1.setForeground(Color.BLUE); - label_1.setBounds(20, 88, 61, 20); - contentPanel.add(label_1); - - JLabel label_2 = new JLabel(">"); - label_2.setBounds(80, 91, 14, 14); - contentPanel.add(label_2); - - JLabel label_3 = new JLabel("VL-Image"); - label_3.setForeground(Color.BLUE); - label_3.setBounds(91, 88, 46, 20); - contentPanel.add(label_3); - - JLabel label_4 = new JLabel(">"); - label_4.setBounds(139, 91, 14, 14); - contentPanel.add(label_4); - - JLabel label_5 = new JLabel("Neu/Bearbeiten"); - label_5.setBounds(149, 91, 108, 14); - contentPanel.add(label_5); - - JSeparator separator_1 = new JSeparator(); - separator_1.setBounds(-10, 648, 597, 2); - contentPanel.add(separator_1); - { - JPanel buttonPane = new JPanel(); - buttonPane.setBackground(UIManager.getColor("Button.background")); - buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); - getContentPane().add(buttonPane, BorderLayout.SOUTH); - { - JButton cancelButton = new JButton("Weiter"); - cancelButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - if(taskrun==true) - { - task.cancel(true); - try { - client.DeleteFtpUser(user.userName); - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } - } - dispose(); - } - }); - - JButton btnZurck = new JButton("Zur\u00FCck"); - btnZurck.setActionCommand("Cancel"); - buttonPane.add(btnZurck); - cancelButton.setActionCommand("Cancel"); - buttonPane.add(cancelButton); - } - } - setVisible(true); - - } - - private void buttonDownloadActionPerformed(ActionEvent event) { - - progressBar.setValue(0); - - try { - user=client.getFtpUser(); - //downloadPath=client.getPathOfImage(filename); - } catch (TException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - task = new DownloadTask(host, port, user.userName, user.password,user.path+filename+".vmdk", lblNewLabel.getText(), this); - task.addPropertyChangeListener(this); - task.execute(); - taskrun=true; - - } - - public void propertyChange(PropertyChangeEvent arg0) { - - - if ("progress" == arg0.getPropertyName()) { - int progress = (Integer) arg0.getNewValue(); - progressBar.setValue(progress); - } - if("speed"==arg0.getPropertyName()){ - speed=(double)arg0.getNewValue(); - //if(speed<=1){ - - downspeed.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(); - bytesreadlbl.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(); - lblNewLabel_3.setText((filesize/1024/1024)+" MB"); - - } - - } -}
\ No newline at end of file diff --git a/Dozentenmodul/src/gui/FTPEditUploader_GUI.java b/Dozentenmodul/src/gui/FTPEditUploader_GUI.java deleted file mode 100644 index 0adf2739..00000000 --- a/Dozentenmodul/src/gui/FTPEditUploader_GUI.java +++ /dev/null @@ -1,420 +0,0 @@ -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 deleted file mode 100644 index 0bf92b82..00000000 --- a/Dozentenmodul/src/gui/FTPUploader_GUI.java +++ /dev/null @@ -1,418 +0,0 @@ -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 FTPUploader_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 { - FTPUploader_GUI frame = new FTPUploader_GUI(); - frame.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - } - - /** - * Create the frame. - */ - public FTPUploader_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) { - writeData(); - dispose(); - MainMenue_GUI m=new MainMenue_GUI(); - m.setVisible(true); - if(taskrun==true) - { - try { - client.DeleteFtpUser(user.userName); - thrift.closeThriftConnection(); - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } - task.cancel(true); - } - - } - }); - - 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 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 - e.printStackTrace(); - return false; - } - return true; - - - } -}
\ No newline at end of file diff --git a/Dozentenmodul/src/gui/Login_GUI.java b/Dozentenmodul/src/gui/Login_GUI.java deleted file mode 100644 index cc558261..00000000 --- a/Dozentenmodul/src/gui/Login_GUI.java +++ /dev/null @@ -1,203 +0,0 @@ -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 models.person; - -import org.ini4j.Wini; - -import config.config_file; - - -@SuppressWarnings("serial") -public class Login_GUI extends JFrame { - - private JPanel contentPane; - private JTextField username; - private JPasswordField pass; - - /** - * Launch the application. - */ - public static void main(String[] args) { - 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) - { - //Aufruf und Anzeige des Login Fensters - Login_GUI frame = new Login_GUI(); - frame.setVisible(true); - } - else - { - JOptionPane.showMessageDialog(null, - "Fehler beim erzeugen der Konfigurationsfile", "Message", - JOptionPane.ERROR_MESSAGE); - } - - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - } - - /** - * Create the frame. - */ - public Login_GUI() { - addWindowListener(new WindowAdapter() { - @Override - public void windowClosing(WindowEvent e) { - System.exit(0); - } - }); - - //Fenster darf nicht vergrößert werden - setResizable(false); - try { - //Setzt das Look and Feel auf System - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - //Titel des Fensters setzen - setTitle("Dozentenmodul *Prototyp*"); - //Aktion die beim Schließen durchgeführt werden soll - setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - //Größe des Fensters definieren - Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); - int top=(screenSize.height - 400) / 2; - int left=(screenSize.width - 603) / 2; - setBounds(left, top, 603, 400); - //Erzeugen eines Panels - contentPane = new JPanel(); - //Hintergrund Farbe des Panels setzen - contentPane.setBackground(SystemColor.menu); - //Rahmen des Fensters setzen - contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); - setContentPane(contentPane); - //Layout setzen - contentPane.setLayout(null); - //Label für das Logo erzeugen - JLabel imgLabel = new JLabel(); - //Größe und Position des Logos festelegen - imgLabel.setBounds(150, 11, 350, 142); - //Pfadangabe des Logos - - ImageIcon icon = new ImageIcon(getClass().getResource("/Logo_bwLehrpool.png"),"Logo"); - //Skalierung des Logos - Image scaled=icon.getImage().getScaledInstance(270, 64, 0); - imgLabel.setIcon(new ImageIcon(scaled)); - //Hinzufügen des Logos in das Fenster - contentPane.add(imgLabel); - - //Erzeugen und Hinzufügen des Labels - JLabel LabelUser = new JLabel("bwIDM-Benutzername:"); - LabelUser.setBounds(150, 164, 134, 20); - contentPane.add(LabelUser); - - //Erzeugen und Hinzufügen des Textfeldes - username = new JTextField(); - username.setBounds(343, 164, 125, 20); - contentPane.add(username); - username.setColumns(10); - - //Erzeugen und Hinzufügen des Labels - JLabel LabelPass = new JLabel("bwIDM-Passwort:"); - LabelPass.setBounds(150, 195, 134, 20); - contentPane.add(LabelPass); - - //Erzeugen, Hinzufügen und definierung der Aktion des Buttons - JButton BtnLogin = new JButton("Login"); - BtnLogin.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - //Aufruf der Ldap Klasse, welche die Ldap überprüfung vornimmt - //Ldap check=new Ldap(); - boolean login=true; - //boolean login=check.LdapAuth(username.getText(), new String(pass.getPassword())); - if(login==true) - { - - 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(); - re.setVisible(true); - //Schließen des Fensters nach erfolgreichen Login - setVisible(false); - } - 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); - setVisible(false); - } - 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); - } - } - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - } - else - { - JOptionPane.showMessageDialog(null, - "Login denied!", "Message", - JOptionPane.INFORMATION_MESSAGE); - } - } - }); - BtnLogin.setBounds(343, 244, 125, 23); - contentPane.add(BtnLogin); - - //Erzeugen und Hinzufügen des Passwortfeldes - pass = new JPasswordField(); - pass.setBounds(343, 195, 125, 20); - contentPane.add(pass); - } -} diff --git a/Dozentenmodul/src/gui/MainMenue_GUI.java b/Dozentenmodul/src/gui/MainMenue_GUI.java deleted file mode 100644 index b879ccf1..00000000 --- a/Dozentenmodul/src/gui/MainMenue_GUI.java +++ /dev/null @@ -1,338 +0,0 @@ -package gui; - -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.Toolkit; -import javax.swing.JFrame; -import javax.swing.JButton; -import javax.swing.JDialog; -import javax.swing.JPanel; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; -import javax.swing.border.EmptyBorder; -import java.awt.Color; -import javax.swing.JLabel; -import java.awt.Font; -import javax.swing.JTextPane; -import java.awt.SystemColor; -import java.awt.event.ActionListener; -import java.awt.event.ActionEvent; -import javax.swing.JSeparator; -import javax.swing.JRadioButton; -import javax.swing.SwingConstants; -import javax.swing.ButtonGroup; -import javax.swing.JMenuBar; -import javax.swing.JMenu; -import javax.swing.JMenuItem; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import javax.swing.border.TitledBorder; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.ScrollPane; -import javax.swing.JTextArea; - -@SuppressWarnings("serial") -public class MainMenue_GUI extends JFrame { - - private final JPanel contentPanel = new JPanel(); - String[] result; - JRadioButton rdbtnImageNew; - JRadioButton rdbtnImageEdit; - JRadioButton rdbtnImageSearchDownload; - JRadioButton rdbtnVeranstaltungNew; - JRadioButton rdbtnImageDelete; - private final ButtonGroup buttonGroup = new ButtonGroup(); - /** - * Launch the application. - */ - public static void main(String[] args) { - try { - MainMenue_GUI dialog = new MainMenue_GUI(); - dialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE); - dialog.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * Create the dialog. - */ - public MainMenue_GUI() { - addWindowListener(new WindowAdapter() { - @Override - public void windowClosing(WindowEvent arg0) { - System.exit(0); - } - }); - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - setTitle("bwLehrpool Suite *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, 545, 366); - getContentPane().setLayout(null); - { - JPanel panel = new JPanel(); - panel.setBackground(SystemColor.menu); - panel.setBounds(10, 11, 567, 69); - getContentPane().add(panel); - panel.setLayout(null); - { - JLabel lblNewLabel = new JLabel("Hauptmen\u00FC"); - 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("Bitte w\u00E4hlen Sie ihre gew\u00FCnschte Aktion"); - txtpnBitteWhlenSie.setBounds(10, 36, 509, 22); - panel.add(txtpnBitteWhlenSie); - } - contentPanel.setBounds(10, 104, 567, 502); - contentPanel.setBackground(SystemColor.menu); - - contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); - getContentPane().add(contentPanel); - contentPanel.setLayout(null); - - JPanel panelImage = new JPanel(); - panelImage.setBackground(SystemColor.menu); - panelImage.setBorder(new TitledBorder(null, "VL-Image", TitledBorder.LEADING, TitledBorder.TOP, null, null)); - panelImage.setBounds(10, 86, 270, 200); - contentPanel.add(panelImage); - panelImage.setLayout(null); - - rdbtnImageNew = new JRadioButton("Neu"); - rdbtnImageNew.setToolTipText("Hier k\u00F6nnen Sie eine standard Laborvorlage downloaden"); - rdbtnImageNew.setBounds(6, 22, 159, 23); - panelImage.add(rdbtnImageNew); - rdbtnImageNew.setSelected(true); - buttonGroup.add(rdbtnImageNew); - rdbtnImageNew.setBackground(SystemColor.menu); - - - - rdbtnImageEdit = new JRadioButton("Bearbeiten"); - rdbtnImageEdit.setToolTipText("Hier k\u00F6nnen Sie ein bestehendes Labor zum ver\u00E4ndern downloaden"); - rdbtnImageEdit.setBounds(6, 48, 185, 23); - panelImage.add(rdbtnImageEdit); - buttonGroup.add(rdbtnImageEdit); - rdbtnImageEdit.setHorizontalAlignment(SwingConstants.LEFT); - rdbtnImageEdit.setBackground(SystemColor.menu); - - rdbtnImageDelete = new JRadioButton("L\u00F6schen"); - rdbtnImageDelete.setEnabled(false); - buttonGroup.add(rdbtnImageDelete); - rdbtnImageDelete.setToolTipText("Hier k\u00F6nnen Sie ein bestehendes Labor zum ver\u00E4ndern downloaden"); - rdbtnImageDelete.setHorizontalAlignment(SwingConstants.LEFT); - rdbtnImageDelete.setBackground(SystemColor.menu); - rdbtnImageDelete.setBounds(6, 74, 185, 23); - panelImage.add(rdbtnImageDelete); - - rdbtnImageSearchDownload = new JRadioButton("Suche und Download"); - rdbtnImageSearchDownload.setEnabled(false); - buttonGroup.add(rdbtnImageSearchDownload); - rdbtnImageSearchDownload.setToolTipText("Hier k\u00F6nnen Sie ein bestehendes Labor zum ver\u00E4ndern downloaden"); - rdbtnImageSearchDownload.setHorizontalAlignment(SwingConstants.LEFT); - rdbtnImageSearchDownload.setBackground(SystemColor.menu); - rdbtnImageSearchDownload.setBounds(6, 100, 185, 23); - panelImage.add(rdbtnImageSearchDownload); - - JPanel panelDesc = new JPanel(); - panelDesc.setLayout(null); - panelDesc.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "Erklärung", TitledBorder.LEADING, TitledBorder.TOP, null, null)); - panelDesc.setBackground(SystemColor.menu); - panelDesc.setBounds(290, 86, 270, 200); - contentPanel.add(panelDesc); - - ScrollPane scrollPaneDesc = new ScrollPane(); - scrollPaneDesc.setBounds(5, 15, 260, 180); - JTextArea txtDesc=new JTextArea(); - txtDesc.setBackground(SystemColor.menu); - txtDesc.setWrapStyleWord(true); - txtDesc.setLineWrap(true); - scrollPaneDesc.add(txtDesc); - //Pro AUswahl - txtDesc.setText("Hier steht irgendwann die Beschreibung der einzelnen Punkte\r\n"); - panelDesc.add(scrollPaneDesc); - - JPanel panelVeranstaltung = new JPanel(); - panelVeranstaltung.setLayout(null); - panelVeranstaltung.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "Veranstaltung (VMChooser)", TitledBorder.LEADING, TitledBorder.TOP, null, null)); - panelVeranstaltung.setBackground(SystemColor.menu); - panelVeranstaltung.setBounds(10, 297, 270, 200); - contentPanel.add(panelVeranstaltung); - - rdbtnVeranstaltungNew = new JRadioButton("Neu"); - buttonGroup.add(rdbtnVeranstaltungNew); - rdbtnVeranstaltungNew.setToolTipText("Hier k\u00F6nnen Sie Ihre Labordaten eingeben"); - rdbtnVeranstaltungNew.setBounds(6, 24, 185, 23); - panelVeranstaltung.add(rdbtnVeranstaltungNew); - rdbtnVeranstaltungNew.setBackground(SystemColor.menu); - - JRadioButton rdbtnVeranstaltungEdit = new JRadioButton("Bearbeiten"); - rdbtnVeranstaltungEdit.setEnabled(false); - rdbtnVeranstaltungEdit.setToolTipText("Hier k\u00F6nnen Sie einen Link auf ein bestehendes Labor erzeugen"); - rdbtnVeranstaltungEdit.setBounds(6, 50, 230, 23); - panelVeranstaltung.add(rdbtnVeranstaltungEdit); - buttonGroup.add(rdbtnVeranstaltungEdit); - rdbtnVeranstaltungEdit.setBackground(SystemColor.menu); - - JRadioButton rdbtnVeranstaltungDelete = new JRadioButton("L\u00F6schen"); - rdbtnVeranstaltungDelete.setEnabled(false); - rdbtnVeranstaltungDelete.setToolTipText("Hier k\u00F6nnen Sie ein Labor l\u00F6schen"); - rdbtnVeranstaltungDelete.setBounds(6, 76, 175, 23); - panelVeranstaltung.add(rdbtnVeranstaltungDelete); - buttonGroup.add(rdbtnVeranstaltungDelete); - rdbtnVeranstaltungDelete.setBackground(SystemColor.menu); - - JRadioButton rdbtnVeranstaltungSearch = new JRadioButton("Suche"); - rdbtnVeranstaltungSearch.setEnabled(false); - buttonGroup.add(rdbtnVeranstaltungSearch); - rdbtnVeranstaltungSearch.setToolTipText("Hier k\u00F6nnen Sie ein Labor l\u00F6schen"); - rdbtnVeranstaltungSearch.setBackground(SystemColor.menu); - rdbtnVeranstaltungSearch.setBounds(6, 102, 175, 23); - panelVeranstaltung.add(rdbtnVeranstaltungSearch); - - JLabel lblCrumbStart = new JLabel("Startseite"); - lblCrumbStart.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent arg0) { - Login_GUI lw=new Login_GUI(); - lw.setVisible(true); - MainMenue_GUI.this.setVisible(false); - } - }); - lblCrumbStart.setForeground(Color.BLUE); - lblCrumbStart.setBounds(10, 0, 52, 14); - contentPanel.add(lblCrumbStart); - - JLabel label = new JLabel(">"); - label.setBounds(60, 0, 13, 14); - contentPanel.add(label); - - JLabel lblRechtshinweis = new JLabel("Rechtshinweis"); - lblRechtshinweis.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent e) { - BillOfRights_GUI rb=new BillOfRights_GUI(); - rb.setVisible(true); - MainMenue_GUI.this.setVisible(false); - } - }); - lblRechtshinweis.setForeground(Color.BLUE); - lblRechtshinweis.setBounds(72, 0, 68, 14); - contentPanel.add(lblRechtshinweis); - - JLabel label_1 = new JLabel(">"); - label_1.setBounds(142, 0, 13, 14); - contentPanel.add(label_1); - - JLabel lblNewLabel_1 = new JLabel("Hauptmen\u00FC"); - lblNewLabel_1.setBounds(150, 0, 74, 14); - contentPanel.add(lblNewLabel_1); - - JLabel lblNewLabel_2 = new JLabel("*Platzhalter Bild*"); - lblNewLabel_2.setBounds(10, 25, 557, 59); - contentPanel.add(lblNewLabel_2); - - JPanel panelNews = new JPanel(); - panelNews.setLayout(null); - panelNews.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "News", TitledBorder.LEADING, TitledBorder.TOP, null, null)); - panelNews.setBackground(SystemColor.menu); - panelNews.setBounds(290, 297, 270, 200); - contentPanel.add(panelNews); - - ScrollPane scrollPaneNews = new ScrollPane(); - scrollPaneNews.setBounds(5, 15, 260, 180); - JTextArea txtNews=new JTextArea(); - txtNews.setBackground(SystemColor.menu); - txtNews.setWrapStyleWord(true); - txtNews.setLineWrap(true); - txtNews.setText("Hier werden mal die Neuigkeiten stehen"); - scrollPaneNews.add(txtNews); - panelNews.add(scrollPaneNews); - { - JPanel buttonPane = new JPanel(); - buttonPane.setBounds(0, 630, 587, 33); - buttonPane.setBackground(SystemColor.menu); - buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); - getContentPane().add(buttonPane); - { - JButton cancelButton = new JButton("Weiter"); - cancelButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - - if(rdbtnImageNew.isSelected()==true) - { - EingabeImageAllgemein_GUI sr=new EingabeImageAllgemein_GUI(); - sr.setVisible(true); - dispose(); - } else if(rdbtnImageEdit.isSelected()==true) - { - - SearchEditImage_GUI si=new SearchEditImage_GUI(); - si.setVisible(true); - dispose(); - }else if(rdbtnImageSearchDownload.isSelected()==true) - { - SearchMethod_GUI sm=new SearchMethod_GUI(); - sm.setVisible(true); - dispose(); - }else if(rdbtnImageDelete.isSelected()==true) - { - DeleteImage_GUI di=new DeleteImage_GUI(); - di.setVisible(true); - dispose(); - } - else if(rdbtnVeranstaltungNew.isSelected()==true) - { - EingabeVeranstaltungAllgemein_GUI av=new EingabeVeranstaltungAllgemein_GUI(); - av.setVisible(true); - dispose(); - } - } - }); - cancelButton.setActionCommand("Cancel"); - buttonPane.add(cancelButton); - } - } - { - JSeparator separator = new JSeparator(); - separator.setBounds(0, 617, 587, 2); - getContentPane().add(separator); - } - { - JSeparator separator = new JSeparator(); - separator.setBounds(0, 91, 587, 2); - getContentPane().add(separator); - } - - 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); - - - - } -} diff --git a/Dozentenmodul/src/gui/SearchImage_GUI.java b/Dozentenmodul/src/gui/SearchImage_GUI.java index 4225a295..83e6bc07 100644 --- a/Dozentenmodul/src/gui/SearchImage_GUI.java +++ b/Dozentenmodul/src/gui/SearchImage_GUI.java @@ -1,6 +1,11 @@ package gui; +import gui.image.EditImageAllgemein_GUI; +import gui.image.FTPDownloader_GUI; +import gui.intro.MainMenue_GUI; +import gui.lecture.ExtendedSearchForImages_GUI; + import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; @@ -188,7 +193,7 @@ public class SearchImage_GUI extends JFrame { @Override public void mouseClicked(MouseEvent arg0) { //Öffnet das Fenster Extended GUI - ExtendedSearch_GUI es=new ExtendedSearch_GUI(); + ExtendedSearchForImages_GUI es=new ExtendedSearchForImages_GUI(); es.setVisible(true); } }); @@ -354,7 +359,7 @@ public class SearchImage_GUI extends JFrame { btnDownload.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { //Öffnet den Downloader - FTPDownloader_GUI down=new FTPDownloader_GUI("Test"); + FTPDownloader_GUI down=new FTPDownloader_GUI(); down.setVisible(true); SearchImage_GUI.this.setVisible(false); } diff --git a/Dozentenmodul/src/gui/EingabeImageAllgemein_GUI.java b/Dozentenmodul/src/gui/image/CreateImageAllgemein_GUI.java index 12678e0e..bf1d0230 100644 --- a/Dozentenmodul/src/gui/EingabeImageAllgemein_GUI.java +++ b/Dozentenmodul/src/gui/image/CreateImageAllgemein_GUI.java @@ -1,6 +1,8 @@ -package gui; +package gui.image; +import gui.intro.MainMenue_GUI; + import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Toolkit; @@ -36,7 +38,7 @@ import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; @SuppressWarnings("serial") -public class EingabeImageAllgemein_GUI extends JFrame { +public class CreateImageAllgemein_GUI extends JFrame { private final JPanel contentPanel = new JPanel(); String[] result; @@ -49,13 +51,17 @@ public class EingabeImageAllgemein_GUI extends JFrame { /** * Create the dialog. */ - public EingabeImageAllgemein_GUI() { + public CreateImageAllgemein_GUI() { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { //Beendet das Fenster auf X System.exit(0); } + @Override + public void windowOpened(WindowEvent arg0) { + imagename.requestFocusInWindow(); + } }); //Verhindert das Vergrößern des Fensters setResizable(false); @@ -119,7 +125,7 @@ public class EingabeImageAllgemein_GUI extends JFrame { Vorname.setEnabled(false); Vorname.setEditable(false); Vorname.setBackground(Color.WHITE); - Vorname.setText(person.verantowrtlicher.getVorname()); + Vorname.setText(person.verantwortlicher.getVorname()); Vorname.setColumns(10); Vorname.setBounds(145, 245, 350, 20); panel_1.add(Vorname); @@ -133,7 +139,7 @@ public class EingabeImageAllgemein_GUI extends JFrame { Nachname.setEnabled(false); Nachname.setEditable(false); Nachname.setBackground(Color.WHITE); - Nachname.setText(person.verantowrtlicher.getName()); + Nachname.setText(person.verantwortlicher.getName()); Nachname.setColumns(10); Nachname.setBounds(145, 276, 350, 20); panel_1.add(Nachname); @@ -147,7 +153,7 @@ public class EingabeImageAllgemein_GUI extends JFrame { Hochschule.setEnabled(false); Hochschule.setEditable(false); Hochschule.setBackground(Color.WHITE); - Hochschule.setText(person.verantowrtlicher.getHochschule()); + Hochschule.setText(person.verantwortlicher.getHochschule()); Hochschule.setColumns(10); Hochschule.setBounds(145, 307, 350, 20); panel_1.add(Hochschule); @@ -161,7 +167,7 @@ public class EingabeImageAllgemein_GUI extends JFrame { EMail.setEnabled(false); EMail.setEditable(false); EMail.setBackground(Color.WHITE); - EMail.setText(person.verantowrtlicher.getEMail()); + EMail.setText(person.verantwortlicher.getEMail()); EMail.setColumns(10); EMail.setBounds(145, 338, 350, 20); panel_1.add(EMail); @@ -171,14 +177,17 @@ public class EingabeImageAllgemein_GUI extends JFrame { lblImagename.setBounds(10, 31, 125, 20); panel_1.add(lblImagename); + imagename = new JTextField(); imagename.setBackground(Color.WHITE); imagename.setText((String) null); imagename.setColumns(10); imagename.setBounds(145, 31, 350, 20); + imagename.setText(Image.image.getImagename()); //null am Anfang, aber speichert die Eingabe, wenn man zurück kommt zur Seite panel_1.add(imagename); JTextArea txtrGebenSieBitte = new JTextArea(); + txtrGebenSieBitte.setEditable(false); txtrGebenSieBitte.setBackground(SystemColor.menu); txtrGebenSieBitte.setLineWrap(true); txtrGebenSieBitte.setFont(new Font("Tahoma", Font.PLAIN, 12)); @@ -202,7 +211,7 @@ public class EingabeImageAllgemein_GUI extends JFrame { @Override public void mouseClicked(MouseEvent arg0) { //Öffnet das Hauptmenü - EingabeImageAllgemein_GUI.this.setVisible(false); + CreateImageAllgemein_GUI.this.setVisible(false); MainMenue_GUI main=new MainMenue_GUI(); main.setVisible(true); } @@ -234,8 +243,8 @@ public class EingabeImageAllgemein_GUI extends JFrame { buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); getContentPane().add(buttonPane); { - JButton okButton = new JButton("Zur\u00FCck"); - okButton.addActionListener(new ActionListener() { + JButton backButton = new JButton("Zur\u00FCck"); + backButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Image.image.setImagename(imagename.getText()); MainMenue_GUI sr=new MainMenue_GUI(); @@ -243,31 +252,31 @@ public class EingabeImageAllgemein_GUI extends JFrame { dispose(); } }); - okButton.setActionCommand("OK"); - buttonPane.add(okButton); - getRootPane().setDefaultButton(okButton); + backButton.setActionCommand("Cancel"); + buttonPane.add(backButton); } { - JButton cancelButton = new JButton("Weiter"); - cancelButton.addActionListener(new ActionListener() { + JButton continueButton = new JButton("Weiter"); + continueButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //Prüft die Eingabe - if(Vorname.getText().isEmpty()==false && Nachname.getText().isEmpty()==false && Hochschule.getText().isEmpty()==false&&EMail.getText().isEmpty()==false) + if(imagename.getText().isEmpty()==false && Vorname.getText().isEmpty()==false && Nachname.getText().isEmpty()==false && Hochschule.getText().isEmpty()==false&&EMail.getText().isEmpty()==false) { //Schreibt die Daten in das Model Image.image.setImagename(imagename.getText()); - EingabeImageTechnisch_GUI ea=new EingabeImageTechnisch_GUI(); + CreateImageTechnisch_GUI ea=new CreateImageTechnisch_GUI(); ea.setVisible(true); dispose(); } else{ JOptionPane.showMessageDialog(null, "Bitte geben Sie alle notwendigen Daten an!", - "Error", JOptionPane.ERROR_MESSAGE); + "Daten unvollständig", JOptionPane.INFORMATION_MESSAGE); } } }); - cancelButton.setActionCommand("Cancel"); - buttonPane.add(cancelButton); + continueButton.setActionCommand("OK"); + buttonPane.add(continueButton); + getRootPane().setDefaultButton(continueButton); } } @@ -291,5 +300,5 @@ public class EingabeImageAllgemein_GUI extends JFrame { JMenuItem mntmOtrs = new JMenuItem("OTRS"); mnNewMenu_1.add(mntmOtrs); - } + }//end main } diff --git a/Dozentenmodul/src/gui/EingabeImageTechnisch_GUI.java b/Dozentenmodul/src/gui/image/CreateImageTechnisch_GUI.java index 62cfd19a..e9d2d91a 100644 --- a/Dozentenmodul/src/gui/EingabeImageTechnisch_GUI.java +++ b/Dozentenmodul/src/gui/image/CreateImageTechnisch_GUI.java @@ -1,6 +1,8 @@ -package gui; +package gui.image; +import gui.intro.MainMenue_GUI; + import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Toolkit; @@ -36,7 +38,7 @@ import javax.swing.SpinnerNumberModel; import models.Image; @SuppressWarnings("serial") -public class EingabeImageTechnisch_GUI extends JFrame { +public class CreateImageTechnisch_GUI extends JFrame { private final JPanel contentPanel = new JPanel(); String[] result; @@ -53,7 +55,7 @@ public class EingabeImageTechnisch_GUI extends JFrame { */ public static void main(String[] args) { try { - EingabeImageTechnisch_GUI dialog = new EingabeImageTechnisch_GUI(); + CreateImageTechnisch_GUI dialog = new CreateImageTechnisch_GUI(); dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); dialog.setVisible(true); } catch (Exception e) { @@ -64,7 +66,7 @@ public class EingabeImageTechnisch_GUI extends JFrame { /** * Create the dialog. */ - public EingabeImageTechnisch_GUI() { + public CreateImageTechnisch_GUI() { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { @@ -116,102 +118,71 @@ public class EingabeImageTechnisch_GUI extends JFrame { 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)); - panel_1.setBounds(10, 66, 557, 95); + panel_1.setBounds(10, 66, 557, 124); contentPanel.add(panel_1); panel_1.setLayout(null); - JLabel lblNewLabel_2 = new JLabel("Image enth\u00E4lt lizenzpflichtige Software:"); - lblNewLabel_2.setBounds(10, 30, 250, 20); - 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); - rdbtnlicenseNein = new JRadioButton("Nein"); buttonGrouplicense.add(rdbtnlicenseNein); - rdbtnlicenseNein.setBounds(377, 29, 109, 23); + rdbtnlicenseNein.setBounds(377, 29, 46, 23); panel_1.add(rdbtnlicenseNein); - JLabel lblInternetIstInnerhalb = new JLabel("Internet ist innerhalb des Image gesperrt:"); + rdbtnInternetNein = new JRadioButton("Nein"); + rdbtnInternetNein.setSelected(true); + buttonGroupInternet.add(rdbtnInternetNein); + rdbtnInternetNein.setBounds(377, 57, 46, 23); + panel_1.add(rdbtnInternetNein); + + JLabel lblInternetIstInnerhalb = new JLabel("Internet ist f\u00FCr dieses Image gesperrt:"); lblInternetIstInnerhalb.setBounds(10, 58, 250, 20); panel_1.add(lblInternetIstInnerhalb); + JButton btnInternetSettings = new JButton("Einstellungen..."); + btnInternetSettings.setEnabled(false); + btnInternetSettings.setBounds(439, 57, 108, 23); + panel_1.add(btnInternetSettings); + rdbtnInternetJa = new JRadioButton("Ja"); + buttonGroupInternet.add(rdbtnInternetJa); - rdbtnInternetJa.setBounds(266, 57, 109, 23); + rdbtnInternetJa.setBounds(266, 57, 41, 23); panel_1.add(rdbtnInternetJa); - rdbtnInternetNein = new JRadioButton("Nein"); - rdbtnInternetNein.setSelected(true); - buttonGroupInternet.add(rdbtnInternetNein); - rdbtnInternetNein.setBounds(377, 57, 109, 23); - panel_1.add(rdbtnInternetNein); - - JLabel lblHauptmen = new JLabel("Hauptmen\u00FC"); - lblHauptmen.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent arg0) { - - EingabeImageTechnisch_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); + rdbtnlicenseJa = new JRadioButton("Ja"); + rdbtnlicenseJa.setSelected(true); + buttonGrouplicense.add(rdbtnlicenseJa); + rdbtnlicenseJa.setBounds(266, 29, 41, 23); + panel_1.add(rdbtnlicenseJa); - JLabel lblVlimage = new JLabel("VL-Image"); - lblVlimage.setForeground(Color.BLUE); - lblVlimage.setBounds(81, 11, 45, 14); - contentPanel.add(lblVlimage); + JLabel lblNewLabel_2 = new JLabel("Image enth\u00E4lt lizenzpflichtige Software:"); + lblNewLabel_2.setBounds(10, 30, 250, 20); + panel_1.add(lblNewLabel_2); - JLabel label_2 = new JLabel(">"); - label_2.setBounds(133, 11, 13, 14); - contentPanel.add(label_2); + JLabel lblLizenzserverEintragen = new JLabel("Lizenzserver eintragen:"); + lblLizenzserverEintragen.setBounds(10, 85, 250, 20); + panel_1.add(lblLizenzserverEintragen); - JLabel lblNewLabel_1 = new JLabel("Neu"); - lblNewLabel_1.setBounds(146, 11, 46, 14); - contentPanel.add(lblNewLabel_1); + JButton btnLicenseServer = new JButton("Server-Adresse..."); + btnLicenseServer.setEnabled(false); + btnLicenseServer.setBounds(266, 84, 157, 23); + panel_1.add(btnLicenseServer); JPanel panel_2 = new JPanel(); panel_2.setLayout(null); panel_2.setBorder(new TitledBorder(null, "Empfehlung bezüglich Ressourcen", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_2.setBackground(SystemColor.menu); - panel_2.setBounds(10, 172, 557, 338); + panel_2.setBounds(11, 196, 557, 338); contentPanel.add(panel_2); - JTextArea txtrHinweisSolltenSie = new JTextArea(); - txtrHinweisSolltenSie.setBackground(SystemColor.menu); - txtrHinweisSolltenSie.setFont(new Font("Tahoma", Font.PLAIN, 13)); - txtrHinweisSolltenSie.setText("Hinweis: Sollten Sie keine Software einsetzen, die viele Ressourcen ben\u00F6tigt,\r\nk\u00F6nnen Sie sich an den Beispielwerten orientieren."); - txtrHinweisSolltenSie.setBounds(10, 25, 537, 55); - panel_2.add(txtrHinweisSolltenSie); - - JLabel lblNewLabel_3 = new JLabel("Wie viel Arbeitsspeicher empfehlen Sie f\u00FCr das Image:"); - lblNewLabel_3.setBounds(10, 91, 280, 20); - panel_2.add(lblNewLabel_3); - - JLabel lblMindestens = new JLabel("mindestens"); - lblMindestens.setBounds(315, 91, 60, 20); - panel_2.add(lblMindestens); - - spinnerRam = new JSpinner(); - spinnerRam.setModel(new SpinnerNumberModel(1, 1, 8, 1)); - spinnerRam.setBounds(385, 88, 29, 20); - panel_2.add(spinnerRam); - JLabel lblGbyte = new JLabel("GByte"); lblGbyte.setBounds(424, 91, 46, 20); panel_2.add(lblGbyte); + spinnerCPU = new JSpinner(); + spinnerCPU.setModel(new SpinnerNumberModel(1, 1, 4, 1)); + spinnerCPU.setBounds(385, 188, 29, 20); + panel_2.add(spinnerCPU); + JTextArea txtrBeispielWindows = new JTextArea(); txtrBeispielWindows.setText("Beispiel:\r\nWindows 7 32/64 Bit: 2 GByte\r\nLinux/Unix 32/64 Bit: 1 GByte"); txtrBeispielWindows.setFont(new Font("Tahoma", Font.PLAIN, 11)); @@ -219,29 +190,77 @@ public class EingabeImageTechnisch_GUI extends JFrame { txtrBeispielWindows.setBounds(10, 122, 280, 55); panel_2.add(txtrBeispielWindows); - JTextArea txtrBeispielWindows_1 = new JTextArea(); - txtrBeispielWindows_1.setText("Beispiel:\r\nWindows 7 32/64 Bit: 1 Kern\r\nLinux/Unix 32/64 Bit: 1 Kern"); - txtrBeispielWindows_1.setFont(new Font("Tahoma", Font.PLAIN, 11)); - txtrBeispielWindows_1.setBackground(SystemColor.menu); - txtrBeispielWindows_1.setBounds(10, 222, 280, 55); - panel_2.add(txtrBeispielWindows_1); + + + JLabel lblKerne = new JLabel("Kerne"); + lblKerne.setBounds(424, 191, 46, 20); + panel_2.add(lblKerne); JLabel lblWieVieleCpus = new JLabel("Wie viele CPUs empfehlen Sie f\u00FCr das Image:"); lblWieVieleCpus.setBounds(10, 191, 280, 20); panel_2.add(lblWieVieleCpus); + spinnerRam = new JSpinner(); + spinnerRam.setModel(new SpinnerNumberModel(1, 1, 8, 1)); + spinnerRam.setBounds(385, 88, 29, 20); + panel_2.add(spinnerRam); + JLabel label_3 = new JLabel("mindestens"); label_3.setBounds(315, 191, 60, 20); panel_2.add(label_3); - spinnerCPU = new JSpinner(); - spinnerCPU.setModel(new SpinnerNumberModel(1, 1, 4, 1)); - spinnerCPU.setBounds(385, 188, 29, 20); - panel_2.add(spinnerCPU); + JLabel lblMindestens = new JLabel("mindestens"); + lblMindestens.setBounds(315, 91, 60, 20); + panel_2.add(lblMindestens); - JLabel lblKerne = new JLabel("Kerne"); - lblKerne.setBounds(424, 191, 46, 20); - panel_2.add(lblKerne); + JTextArea txtrBeispielWindows_1 = new JTextArea(); + txtrBeispielWindows_1.setText("Beispiel:\r\nWindows 7 32/64 Bit: 1 Kern\r\nLinux/Unix 32/64 Bit: 1 Kern"); + txtrBeispielWindows_1.setFont(new Font("Tahoma", Font.PLAIN, 11)); + txtrBeispielWindows_1.setBackground(SystemColor.menu); + txtrBeispielWindows_1.setBounds(10, 222, 280, 55); + panel_2.add(txtrBeispielWindows_1); + + JLabel lblNewLabel_3 = new JLabel("Wie viel Arbeitsspeicher empfehlen Sie f\u00FCr das Image:"); + lblNewLabel_3.setBounds(10, 91, 280, 20); + panel_2.add(lblNewLabel_3); + + JTextArea txtrHinweisSolltenSie = new JTextArea(); + txtrHinweisSolltenSie.setBackground(SystemColor.menu); + txtrHinweisSolltenSie.setFont(new Font("Tahoma", Font.PLAIN, 13)); + txtrHinweisSolltenSie.setText("Hinweis: Sollten Sie keine Software einsetzen, die viele Ressourcen ben\u00F6tigt,\r\nk\u00F6nnen Sie sich an den Beispielwerten orientieren."); + txtrHinweisSolltenSie.setBounds(10, 25, 537, 55); + panel_2.add(txtrHinweisSolltenSie); + + JLabel lblHauptmen = new JLabel("Hauptmen\u00FC"); + lblHauptmen.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent arg0) { + + CreateImageTechnisch_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("Neu"); + lblNewLabel_1.setBounds(146, 11, 46, 14); + contentPanel.add(lblNewLabel_1); { JPanel buttonPane = new JPanel(); buttonPane.setBounds(0, 640, 597, 33); @@ -249,8 +268,8 @@ public class EingabeImageTechnisch_GUI extends JFrame { buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); getContentPane().add(buttonPane); { - JButton okButton = new JButton("Zur\u00FCck"); - okButton.addActionListener(new ActionListener() { + JButton cancelButton = new JButton("Zur\u00FCck"); + cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(rdbtnInternetJa.isSelected()==true) @@ -273,18 +292,18 @@ public class EingabeImageTechnisch_GUI extends JFrame { Image.image.setCpu(Integer.valueOf(spinnerCPU.getValue().toString()).intValue()); Image.image.setRam(Integer.valueOf(spinnerRam.getValue().toString()).intValue()); - EingabeImageAllgemein_GUI sr=new EingabeImageAllgemein_GUI(); + CreateImageAllgemein_GUI sr=new CreateImageAllgemein_GUI(); sr.setVisible(true); dispose(); } }); - okButton.setActionCommand("OK"); - buttonPane.add(okButton); - getRootPane().setDefaultButton(okButton); + cancelButton.setActionCommand("OK"); + buttonPane.add(cancelButton); + //getRootPane().setDefaultButton(cancelButton); } { - JButton cancelButton = new JButton("Weiter"); - cancelButton.addActionListener(new ActionListener() { + JButton continueButton = new JButton("Weiter"); + continueButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(rdbtnInternetJa.isSelected()==true) { @@ -305,14 +324,15 @@ public class EingabeImageTechnisch_GUI extends JFrame { } Image.image.setCpu(Integer.valueOf(spinnerCPU.getValue().toString()).intValue()); Image.image.setRam(Integer.valueOf(spinnerRam.getValue().toString()).intValue()); - FTPUploader_GUI ea=new FTPUploader_GUI(); + FTPCreateUploader_GUI ea=new FTPCreateUploader_GUI(); ea.setVisible(true); dispose(); } }); - cancelButton.setActionCommand("Cancel"); - buttonPane.add(cancelButton); + continueButton.setActionCommand("Cancel"); + buttonPane.add(continueButton); + getRootPane().setDefaultButton(continueButton); } } diff --git a/Dozentenmodul/src/gui/DeleteImage_GUI.java b/Dozentenmodul/src/gui/image/DeleteImage_GUI.java index de6d4123..d19e5c9f 100644 --- a/Dozentenmodul/src/gui/DeleteImage_GUI.java +++ b/Dozentenmodul/src/gui/image/DeleteImage_GUI.java @@ -1,6 +1,9 @@ -package gui; +package gui.image; +import gui.intro.MainMenue_GUI; +import gui.lecture.ExtendedSearchForImages_GUI; + import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; @@ -188,7 +191,7 @@ public class DeleteImage_GUI extends JFrame { @Override public void mouseClicked(MouseEvent arg0) { //Öffnet das Fenster Extended GUI - ExtendedSearch_GUI es=new ExtendedSearch_GUI(); + ExtendedSearchForImages_GUI es=new ExtendedSearchForImages_GUI(); es.setVisible(true); } }); @@ -354,7 +357,7 @@ public class DeleteImage_GUI extends JFrame { btnDelete.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { //Öffnet den Downloader - FTPDownloader_GUI down=new FTPDownloader_GUI("Test"); + FTPDownloader_GUI down=new FTPDownloader_GUI(); down.setVisible(true); DeleteImage_GUI.this.setVisible(false); } diff --git a/Dozentenmodul/src/gui/EditImageAllgemein_GUI.java b/Dozentenmodul/src/gui/image/EditImageAllgemein_GUI.java index 58cab4ec..b80e4953 100644 --- a/Dozentenmodul/src/gui/EditImageAllgemein_GUI.java +++ b/Dozentenmodul/src/gui/image/EditImageAllgemein_GUI.java @@ -1,4 +1,6 @@ -package gui; +package gui.image; + +import gui.intro.MainMenue_GUI; import java.awt.Color; import java.awt.Dimension; @@ -13,13 +15,13 @@ import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.Map; - import javax.swing.JButton; import javax.swing.JFrame; 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; @@ -29,9 +31,7 @@ import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; - import org.apache.thrift.TException; - import models.Image; import models.person; import server.Server.Client; @@ -49,6 +49,12 @@ public class EditImageAllgemein_GUI extends JFrame { private JTextField imagename; ThriftConnection con=new ThriftConnection(); Client client=con.getThriftConnection(); + private JPanel panel_2; + private JLabel lblNewLabel; + private JTextPane txtpnBitteWhlenSie; + private JPanel buttonPane; + private JButton backButton; + private JButton okButton; /** * Create the dialog. @@ -58,6 +64,7 @@ public class EditImageAllgemein_GUI extends JFrame { @Override public void windowClosing(WindowEvent arg0) { //Beendet die Anwendung bei einem Klick auf das X + con.closeThriftConnection(); System.exit(0); } }); @@ -82,24 +89,24 @@ public class EditImageAllgemein_GUI extends JFrame { initData(); getContentPane().setLayout(null); { - JPanel panel = new JPanel(); - panel.setBackground(SystemColor.menu); - panel.setBounds(10, 11, 577, 57); - getContentPane().add(panel); - panel.setLayout(null); + panel_2 = new JPanel(); + panel_2.setBackground(SystemColor.menu); + panel_2.setBounds(10, 11, 577, 57); + getContentPane().add(panel_2); + panel_2.setLayout(null); { - JLabel lblNewLabel = new JLabel("Bearbeiten Ihrer Daten"); + lblNewLabel = new JLabel("Bearbeiten Ihrer Daten"); lblNewLabel.setBounds(10, 11, 509, 22); - panel.add(lblNewLabel); + panel_2.add(lblNewLabel); lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); } - JTextPane txtpnBitteWhlenSie = new JTextPane(); + txtpnBitteWhlenSie = new JTextPane(); txtpnBitteWhlenSie.setEditable(false); txtpnBitteWhlenSie.setBackground(SystemColor.menu); txtpnBitteWhlenSie.setText("Geben Sie hier bitte einen sprechenden Imagename sowie Ihre Kontaktdaten an"); txtpnBitteWhlenSie.setBounds(10, 36, 509, 32); - panel.add(txtpnBitteWhlenSie); + panel_2.add(txtpnBitteWhlenSie); } contentPanel.setBounds(10, 85, 577, 493); contentPanel.setBackground(SystemColor.menu); @@ -123,7 +130,7 @@ public class EditImageAllgemein_GUI extends JFrame { Vorname.setEditable(false); Vorname.setEnabled(false); Vorname.setBackground(Color.WHITE); - Vorname.setText(person.verantowrtlicher.getVorname()); + Vorname.setText(person.verantwortlicher.getVorname()); Vorname.setColumns(10); Vorname.setBounds(145, 245, 350, 20); panel_1.add(Vorname); @@ -137,7 +144,7 @@ public class EditImageAllgemein_GUI extends JFrame { Nachname.setEnabled(false); Nachname.setEditable(false); Nachname.setBackground(Color.WHITE); - Nachname.setText(person.verantowrtlicher.getName()); + Nachname.setText(person.verantwortlicher.getName()); Nachname.setColumns(10); Nachname.setBounds(145, 276, 350, 20); panel_1.add(Nachname); @@ -151,7 +158,7 @@ public class EditImageAllgemein_GUI extends JFrame { Hochschule.setEnabled(false); Hochschule.setEditable(false); Hochschule.setBackground(Color.WHITE); - Hochschule.setText(person.verantowrtlicher.getHochschule()); + Hochschule.setText(person.verantwortlicher.getHochschule()); Hochschule.setColumns(10); Hochschule.setBounds(145, 307, 350, 20); panel_1.add(Hochschule); @@ -165,7 +172,7 @@ public class EditImageAllgemein_GUI extends JFrame { EMail.setEnabled(false); EMail.setEditable(false); EMail.setBackground(Color.WHITE); - EMail.setText(person.verantowrtlicher.getEMail()); + EMail.setText(person.verantwortlicher.getEMail()); EMail.setColumns(10); EMail.setBounds(145, 338, 350, 20); panel_1.add(EMail); @@ -176,6 +183,7 @@ public class EditImageAllgemein_GUI extends JFrame { panel_1.add(lblImagename); imagename = new JTextField(); + imagename.setToolTipText("Bitte geben Sie hier den Namen des Image ein, z.B. \"Programmieren\"."); imagename.setBackground(Color.WHITE); imagename.setText(Image.image.getImagename()); imagename.setColumns(10); @@ -206,6 +214,7 @@ public class EditImageAllgemein_GUI extends JFrame { @Override public void mouseClicked(MouseEvent arg0) { //Durch den Klick auf Button Hauptmenpü wird dieses Fenster unsichtbar und das Hauptmenü sichtbar + con.closeThriftConnection(); EditImageAllgemein_GUI.this.setVisible(false); MainMenue_GUI main=new MainMenue_GUI(); main.setVisible(true); @@ -232,45 +241,51 @@ public class EditImageAllgemein_GUI extends JFrame { lblNewLabel_1.setBounds(146, 11, 71, 14); contentPanel.add(lblNewLabel_1); { - JPanel buttonPane = new 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() { + backButton = new JButton("Zur\u00FCck"); + backButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //Setzen der Eingabe im Model, dadurch bleiben die Daten bei einem erneuten Aufruf verfügbar //Image.image.setImagename(imagename.getText()); - - MainMenue_GUI sr=new MainMenue_GUI(); - sr.setVisible(true); + con.closeThriftConnection(); + SearchEditImage_GUI se=new SearchEditImage_GUI(); + se.setVisible(true); dispose(); } }); - okButton.setActionCommand("OK"); - buttonPane.add(okButton); - getRootPane().setDefaultButton(okButton); + backButton.setActionCommand("CANCEL"); + buttonPane.add(backButton); + } { - JButton cancelButton = new JButton("Weiter"); - cancelButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - //Prüfung ob alle notwendigen Felder ausgefüllt sind - //Setzen der Eingabe im Model, dadurch bleiben die Daten bei einem erneuten Aufruf verfügbar - System.out.println(imagename.getText()); - Image.image.setNewName(imagename.getText()); - con.closeThriftConnection(); - EditImageTechnisch_GUI ea=new EditImageTechnisch_GUI(); - ea.setVisible(true); - dispose(); - + okButton = new JButton("Weiter"); + okButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + //check is textfield has content + if(imagename.getText().length() <= 0){ + JOptionPane.showMessageDialog(null, + "Bitte geben Sie einen Labornamen ein.", + "Daten nicht vollständig", + JOptionPane.INFORMATION_MESSAGE); + } else { + Image.image.setNewName(imagename.getText()); + con.closeThriftConnection(); + EditImageTechnisch_GUI ea=new EditImageTechnisch_GUI(); + ea.setVisible(true); + dispose(); + }//end else } }); - cancelButton.setActionCommand("Cancel"); - buttonPane.add(cancelButton); + + okButton.setActionCommand("OK"); + buttonPane.add(okButton); + getRootPane().setDefaultButton(okButton); } } @@ -293,13 +308,14 @@ public class EditImageAllgemein_GUI extends JFrame { JMenuItem mntmOtrs = new JMenuItem("OTRS"); mnNewMenu_1.add(mntmOtrs); + //setFocusTraversalPolicy(new FocusTraversalOnArray(new Component[]{getContentPane(), panel_2, lblNewLabel, txtpnBitteWhlenSie, contentPanel, panel_1, label, Vorname, label_7, Nachname, label_8, Hochschule, label_9, EMail, lblImagename, imagename, txtrGebenSieBitte, panel, lblPflichtfelder, lblHauptmen, label_1, lblVlimage, label_2, lblNewLabel_1, buttonPane, backButton, okButton, separator, separator_1, menuBar, mnNewMenu_1, mntmFaq, mntmOtrs})); } public void initData(){ try { - System.out.println("initdata1:"+Image.image.getImagename()); - Map<String,String> map=client.getImageData(Image.image.getImagename()); + + Map<String,String> map=client.getImageData(Image.image.getImageId(),Image.image.getVersion()); if(map.get("internet").equals("0")){ Image.image.setInternet(false); } @@ -313,6 +329,7 @@ public class EditImageAllgemein_GUI extends JFrame { else{ Image.image.setLicensed(true); } + Image.image.setImagename(map.get("name")); Image.image.setRam(Integer.parseInt(map.get("ram"))); Image.image.setCpu(Integer.parseInt(map.get("cpu"))); } catch (TException e) { diff --git a/Dozentenmodul/src/gui/EditImageTechnisch_GUI.java b/Dozentenmodul/src/gui/image/EditImageTechnisch_GUI.java index d8ab833f..7d9de383 100644 --- a/Dozentenmodul/src/gui/EditImageTechnisch_GUI.java +++ b/Dozentenmodul/src/gui/image/EditImageTechnisch_GUI.java @@ -1,5 +1,6 @@ -package gui; +package gui.image; +import gui.intro.MainMenue_GUI; import java.awt.Color; import java.awt.Dimension; @@ -13,9 +14,6 @@ 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; import javax.swing.JFrame; @@ -34,12 +32,6 @@ import javax.swing.UIManager; 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") @@ -56,7 +48,6 @@ public class EditImageTechnisch_GUI extends JFrame { private final ButtonGroup buttonGrouplicense = new ButtonGroup(); private final ButtonGroup buttonGroupInternet = new ButtonGroup(); - /** * Create the dialog. */ @@ -64,31 +55,31 @@ public class EditImageTechnisch_GUI extends JFrame { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { - //Beendet die Anwendung bei Klick auf das X + // Beendet die Anwendung bei Klick auf das X + System.exit(0); } - + }); - //Verhindert das Vergrößern des Fensters + // Verhindert das Vergrößern des Fensters setResizable(false); - + try { - //setzt das Look & Feel + // setzt das Look & Feel UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { // TODO Auto-generated catch block e.printStackTrace(); } - //Setzt den Titel des Fensters + // Setzt den Titel des Fensters setTitle("bwLehrpool Suite *Prototyp*"); - //Zentriert das Fenster + // Zentriert das Fenster Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); - int top=(screenSize.height - 722) / 2; - int left=(screenSize.width - 603) / 2; + int top = (screenSize.height - 722) / 2; + int left = (screenSize.width - 603) / 2; setBounds(left, top, 603, 722); - - + getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -102,11 +93,12 @@ public class EditImageTechnisch_GUI extends JFrame { panel.add(lblNewLabel); lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); } - + JTextPane txtpnBitteWhlenSie = new JTextPane(); txtpnBitteWhlenSie.setEditable(false); txtpnBitteWhlenSie.setBackground(SystemColor.menu); - txtpnBitteWhlenSie.setText("Geben Sie hier bitte einen sprechenden Imagename sowie Ihre Kontaktdaten an"); + txtpnBitteWhlenSie + .setText("Geben Sie hier bitte einen sprechenden Imagename sowie Ihre Kontaktdaten an"); txtpnBitteWhlenSie.setBounds(10, 36, 509, 32); panel.add(txtpnBitteWhlenSie); } @@ -118,148 +110,154 @@ public class EditImageTechnisch_GUI extends JFrame { 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)); + panel_1.setBorder(new TitledBorder(null, "Informationen zum Image", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_1.setBounds(10, 66, 557, 95); contentPanel.add(panel_1); panel_1.setLayout(null); - - JLabel lblNewLabel_2 = new JLabel("Image enth\u00E4lt lizenzpflichtige Software:"); + + JLabel lblNewLabel_2 = new JLabel( + "Image enth\u00E4lt lizenzpflichtige Software:"); lblNewLabel_2.setBounds(10, 30, 250, 20); 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); - + rdbtnlicenseNein = new JRadioButton("Nein"); buttonGrouplicense.add(rdbtnlicenseNein); rdbtnlicenseNein.setBounds(377, 29, 109, 23); panel_1.add(rdbtnlicenseNein); - if(Image.image.isLicensed()==true){ + if (Image.image.isLicensed() == true) { rdbtnlicenseJa.setSelected(true); - } - else - { + } else { rdbtnlicenseNein.setSelected(true); } - - - JLabel lblInternetIstInnerhalb = new JLabel("Internet ist innerhalb des Image gesperrt:"); + JLabel lblInternetIstInnerhalb = new JLabel( + "Internet ist innerhalb des Image gesperrt:"); lblInternetIstInnerhalb.setBounds(10, 58, 250, 20); panel_1.add(lblInternetIstInnerhalb); - + rdbtnInternetJa = new JRadioButton("Ja"); buttonGroupInternet.add(rdbtnInternetJa); rdbtnInternetJa.setBounds(266, 57, 109, 23); panel_1.add(rdbtnInternetJa); - + 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){ + if (Image.image.isInternet() == true) { rdbtnInternetJa.setSelected(true); - } - else - { + } else { rdbtnInternetNein.setSelected(true); } JLabel lblHauptmen = new JLabel("Hauptmen\u00FC"); lblHauptmen.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - //Macht dieses Fenster unsichtbar und das vorhergehende Fenster sichtbar + // Macht dieses Fenster unsichtbar und das vorhergehende Fenster + // sichtbar EditImageTechnisch_GUI.this.setVisible(false); - MainMenue_GUI main=new MainMenue_GUI(); + 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("Neu"); lblNewLabel_1.setBounds(146, 11, 46, 14); contentPanel.add(lblNewLabel_1); - + JPanel panel_2 = new JPanel(); panel_2.setLayout(null); - panel_2.setBorder(new TitledBorder(null, "Empfehlung bezüglich Ressourcen", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_2.setBorder(new TitledBorder(null, + "Empfehlung bezüglich Ressourcen", TitledBorder.LEADING, + TitledBorder.TOP, null, null)); panel_2.setBackground(SystemColor.menu); panel_2.setBounds(10, 172, 557, 338); contentPanel.add(panel_2); - + JTextArea txtrHinweisSolltenSie = new JTextArea(); txtrHinweisSolltenSie.setBackground(SystemColor.menu); txtrHinweisSolltenSie.setFont(new Font("Tahoma", Font.PLAIN, 13)); - txtrHinweisSolltenSie.setText("Hinweis: Sollten Sie keine Software einsetzen, die viele Ressourcen ben\u00F6tigt,\r\nk\u00F6nnen Sie sich an den Beispielwerten orientieren."); + txtrHinweisSolltenSie + .setText("Hinweis: Sollten Sie keine Software einsetzen, die viele Ressourcen ben\u00F6tigt,\r\nk\u00F6nnen Sie sich an den Beispielwerten orientieren."); txtrHinweisSolltenSie.setBounds(10, 25, 537, 55); panel_2.add(txtrHinweisSolltenSie); - - JLabel lblNewLabel_3 = new JLabel("Wie viel Arbeitsspeicher empfehlen Sie f\u00FCr das Image:"); + + JLabel lblNewLabel_3 = new JLabel( + "Wie viel Arbeitsspeicher empfehlen Sie f\u00FCr das Image:"); lblNewLabel_3.setBounds(10, 91, 280, 20); panel_2.add(lblNewLabel_3); - + JLabel lblMindestens = new JLabel("mindestens"); lblMindestens.setBounds(315, 91, 60, 20); panel_2.add(lblMindestens); - + 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"); lblGbyte.setBounds(424, 91, 46, 20); panel_2.add(lblGbyte); - + JTextArea txtrBeispielWindows = new JTextArea(); - txtrBeispielWindows.setText("Beispiel:\r\nWindows 7 32/64 Bit: 2 GByte\r\nLinux/Unix 32/64 Bit: 1 GByte"); + txtrBeispielWindows + .setText("Beispiel:\r\nWindows 7 32/64 Bit: 2 GByte\r\nLinux/Unix 32/64 Bit: 1 GByte"); txtrBeispielWindows.setFont(new Font("Tahoma", Font.PLAIN, 11)); txtrBeispielWindows.setBackground(SystemColor.menu); - txtrBeispielWindows.setBounds(10, 122, 280, 55); + txtrBeispielWindows.setBounds(20, 111, 280, 55); panel_2.add(txtrBeispielWindows); - + JTextArea txtrBeispielWindows_1 = new JTextArea(); - txtrBeispielWindows_1.setText("Beispiel:\r\nWindows 7 32/64 Bit: 1 Kern\r\nLinux/Unix 32/64 Bit: 1 Kern"); + txtrBeispielWindows_1 + .setText("Beispiel:\r\nWindows 7 32/64 Bit: 1 Kern\r\nLinux/Unix 32/64 Bit: 1 Kern"); txtrBeispielWindows_1.setFont(new Font("Tahoma", Font.PLAIN, 11)); txtrBeispielWindows_1.setBackground(SystemColor.menu); - txtrBeispielWindows_1.setBounds(10, 222, 280, 55); + txtrBeispielWindows_1.setBounds(20, 226, 280, 55); panel_2.add(txtrBeispielWindows_1); - - JLabel lblWieVieleCpus = new JLabel("Wie viele CPUs empfehlen Sie f\u00FCr das Image:"); - lblWieVieleCpus.setBounds(10, 191, 280, 20); + + JLabel lblWieVieleCpus = new JLabel( + "Wie viele CPUs empfehlen Sie f\u00FCr das Image:"); + lblWieVieleCpus.setBounds(10, 201, 280, 20); panel_2.add(lblWieVieleCpus); - + JLabel label_3 = new JLabel("mindestens"); - label_3.setBounds(315, 191, 60, 20); + label_3.setBounds(315, 201, 60, 20); panel_2.add(label_3); - + spinnerCPU = new JSpinner(); spinnerCPU.setModel(new SpinnerNumberModel(1, 1, 4, 1)); - spinnerCPU.setBounds(385, 188, 29, 20); + spinnerCPU.setBounds(385, 198, 29, 20); spinnerCPU.setValue(Image.image.getCpu()); panel_2.add(spinnerCPU); - + JLabel lblKerne = new JLabel("Kerne"); - lblKerne.setBounds(424, 191, 46, 20); + lblKerne.setBounds(424, 201, 46, 20); panel_2.add(lblKerne); { JPanel buttonPane = new JPanel(); @@ -271,29 +269,25 @@ public class EditImageTechnisch_GUI extends JFrame { JButton okButton = new JButton("Zur\u00FCck"); okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - //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) - { + // 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 - { + } else { Image.image.setInternet(false); } - - if(rdbtnlicenseJa.isSelected()==true) - { + + if (rdbtnlicenseJa.isSelected() == true) { Image.image.setLicensed(true); - } - else - { + } else { Image.image.setLicensed(false); } - //Öffnet das vorherige Fenster - EingabeImageAllgemein_GUI sr=new EingabeImageAllgemein_GUI(); - sr.setVisible(true); + // Öffnet das vorherige Fenster + EditImageAllgemein_GUI ei = new EditImageAllgemein_GUI(); + ei.setVisible(true); dispose(); } }); @@ -305,60 +299,53 @@ 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.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 - { + } else { Image.image.setInternet(false); } - - if(rdbtnlicenseJa.isSelected()==true) - { + + if (rdbtnlicenseJa.isSelected() == true) { Image.image.setLicensed(true); - } - else - { + } else { Image.image.setLicensed(false); } - //Öffnet das nächste Fenster - FTPEditUploader_GUI ea=new FTPEditUploader_GUI(); + // Öffnet das nächste Fenster + FTPEditUploader_GUI ea = new FTPEditUploader_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); - - } - - } +} diff --git a/Dozentenmodul/src/gui/image/FTPCreateUploader_GUI.java b/Dozentenmodul/src/gui/image/FTPCreateUploader_GUI.java new file mode 100644 index 00000000..1bf8cc3a --- /dev/null +++ b/Dozentenmodul/src/gui/image/FTPCreateUploader_GUI.java @@ -0,0 +1,493 @@ +package gui.image; + +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 java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +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 util.XMLCreator; +import ftp.UploadTask; +import gui.intro.MainMenue_GUI; + +@SuppressWarnings("serial") +public class FTPCreateUploader_GUI extends JFrame implements + PropertyChangeListener { + + @SuppressWarnings("unused") + private JPanel contentPane; + private final JPanel contentPanel = new JPanel(); + JLabel lblPath; + JProgressBar progressBar; + //String host = "141.79.128.121"; + String host = "141.79.128.102"; + 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(); + JButton finishButton = new JButton("Fertigstellen"); + JButton btnUploadStarten = new JButton("Upload auf Server starten"); + JButton btnZurck = new JButton("Zur\u00FCck"); + int progress = 0; // progress of upload + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + FTPCreateUploader_GUI frame = new FTPCreateUploader_GUI(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public FTPCreateUploader_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); + } + System.exit(0); + }// end window closing + }); + setResizable(false); + + 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("Image ausw\u00E4hlen"); + btnSpeicherortAuswhlen.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + JFileChooser fc = new JFileChooser(); + fc.setFileSelectionMode(JFileChooser.FILES_ONLY); + + fc.showOpenDialog(getParent()); + File file = fc.getSelectedFile(); + // check if a file is selected and exists + if (file != null) { + // file selected + uploadFile = file; + filename = uploadFile.getName(); + lblPath.setText(file.getAbsolutePath()); + } else { + // no file selected + lblPath.setText(""); + }// end if + } + }); + + btnSpeicherortAuswhlen.setBounds(102, 124, 173, 23); + btnSpeicherortAuswhlen.setVerticalAlignment(SwingConstants.TOP); + contentPanel.add(btnSpeicherortAuswhlen); + } + + lblPath = new JLabel(""); + lblPath.addPropertyChangeListener(new PropertyChangeListener() { + public void propertyChange(PropertyChangeEvent arg0) { + if (lblPath.getText().isEmpty()) { + // wenn leer, dann upload button nicht freigeben + btnUploadStarten.setEnabled(false); + btnUploadStarten.setText("Bitte warten"); + } else { + // wenn leer, dann upload button nicht freigeben + btnUploadStarten.setEnabled(true); + btnUploadStarten.setText("Upload auf Server starten"); + } + } + }); + lblPath.setHorizontalAlignment(SwingConstants.LEFT); + lblPath.setBounds(102, 158, 485, 23); + contentPanel.add(lblPath); + + btnUploadStarten.setEnabled(false); + btnUploadStarten.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + buttonUploadActionPerformed(arg0); + + } + }); + + btnUploadStarten.setBounds(102, 200, 173, 23); + contentPanel.add(btnUploadStarten); + + progressBar = new JProgressBar(0, 100); + progressBar.setStringPainted(true); + + progressBar.setBounds(102, 234, 485, 30); + contentPanel.add(progressBar); + + JLabel lblUploadgeschwindigkeit = new JLabel("Uploadgeschwindigkeit:"); + lblUploadgeschwindigkeit.setBounds(102, 275, 141, 14); + contentPanel.add(lblUploadgeschwindigkeit); + + JLabel label_1 = new JLabel("Fertig:"); + label_1.setBounds(102, 325, 46, 14); + contentPanel.add(label_1); + + labelfertig = new JLabel("0"); + labelfertig.setHorizontalAlignment(SwingConstants.LEFT); + labelfertig.setBounds(183, 325, 108, 14); + contentPanel.add(labelfertig); + + UpSpeed = new JLabel("0"); + UpSpeed.setHorizontalAlignment(SwingConstants.LEFT); + UpSpeed.setBounds(374, 275, 117, 14); + contentPanel.add(UpSpeed); + + JLabel label_4 = new JLabel("von:"); + label_4.setBounds(318, 325, 46, 14); + contentPanel.add(label_4); + + labelfilesize = new JLabel("0"); + labelfilesize.setHorizontalAlignment(SwingConstants.LEFT); + labelfilesize.setBounds(374, 325, 117, 14); + contentPanel.add(labelfilesize); + + JLabel label_6 = new JLabel("Verbleibend:"); + label_6.setBounds(102, 350, 71, 14); + contentPanel.add(label_6); + + JLabel label_7 = new JLabel("Gesch\u00E4tzte Verbleibende Zeit:"); + label_7.setBounds(102, 300, 150, 14); + contentPanel.add(label_7); + + labelZeit = new JLabel("0"); + labelZeit.setHorizontalAlignment(SwingConstants.LEFT); + labelZeit.setBounds(374, 300, 117, 14); + contentPanel.add(labelZeit); + + labelverbleibend = new JLabel("0"); + labelverbleibend.setHorizontalAlignment(SwingConstants.LEFT); + labelverbleibend.setBounds(183, 350, 108, 14); + contentPanel.add(labelverbleibend); + + JPanel panel = new JPanel(); + panel.setLayout(null); + panel.setBackground(SystemColor.menu); + panel.setBounds(10, 11, 577, 57); + contentPanel.add(panel); + + JLabel lblUploadIhresImage = new JLabel("Upload Ihres Image"); + lblUploadIhresImage.setFont(new Font("Tahoma", Font.BOLD, 18)); + lblUploadIhresImage.setBounds(10, 11, 509, 22); + panel.add(lblUploadIhresImage); + + JTextPane txtpnFhreSieBitte = new JTextPane(); + txtpnFhreSieBitte + .setText("F\u00FChre Sie bitte die folgenden 3 Schritte aus um Ihr Image auf unseren Server zu laden."); + txtpnFhreSieBitte.setEditable(false); + txtpnFhreSieBitte.setBackground(SystemColor.menu); + txtpnFhreSieBitte.setBounds(10, 36, 509, 32); + panel.add(txtpnFhreSieBitte); + + JSeparator separator = new JSeparator(); + separator.setBounds(0, 79, 597, 2); + contentPanel.add(separator); + + JLabel lblNewLabel_1 = new JLabel("Hauptmen\u00FC"); + lblNewLabel_1.setForeground(Color.BLUE); + lblNewLabel_1.setBounds(20, 88, 61, 20); + contentPanel.add(lblNewLabel_1); + + JLabel label_3 = new JLabel(">"); + label_3.setBounds(80, 91, 14, 14); + contentPanel.add(label_3); + + JLabel lblVlimage = new JLabel("VL-Image"); + lblVlimage.setForeground(Color.BLUE); + lblVlimage.setBounds(91, 88, 46, 20); + contentPanel.add(lblVlimage); + + JLabel label_5 = new JLabel(">"); + label_5.setBounds(139, 91, 14, 14); + contentPanel.add(label_5); + + JLabel lblNeubearbeiten = new JLabel("Neu"); + lblNeubearbeiten.setBounds(149, 91, 108, 14); + contentPanel.add(lblNeubearbeiten); + + JSeparator separator_1 = new JSeparator(); + separator_1.setBounds(0, 627, 597, 2); + contentPanel.add(separator_1); + + JButton btnCopyFileTo = new JButton("Copy File to Prod"); + btnCopyFileTo.setEnabled(false); + btnCopyFileTo.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + try { + System.out.println("Copying file to " + user.path + "/" + + uploadFile.getName()); + client.startFileCopy(user.path + "/" + uploadFile.getName()); + } catch (TException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + } + }); + btnCopyFileTo.setBounds(102, 375, 173, 23); + contentPanel.add(btnCopyFileTo); + + JLabel lblSchritt_1 = new JLabel("Schritt 1:"); + lblSchritt_1.setBounds(24, 128, 57, 14); + contentPanel.add(lblSchritt_1); + + JLabel lblSchritt_2 = new JLabel("Schritt 2:"); + lblSchritt_2.setBounds(24, 204, 57, 14); + contentPanel.add(lblSchritt_2); + + JLabel lblSchritt_3 = new JLabel("Schritt 3:"); + lblSchritt_3.setBounds(20, 423, 57, 14); + contentPanel.add(lblSchritt_3); + + JLabel lblKlickenSieAuf = new JLabel( + "Klicken Sie auf \"Fertigstellen\"."); + lblKlickenSieAuf.setBounds(98, 423, 241, 14); + contentPanel.add(lblKlickenSieAuf); + { + JPanel buttonPane = new JPanel(); + buttonPane.setBackground(UIManager.getColor("Button.background")); + buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); + getContentPane().add(buttonPane, BorderLayout.SOUTH); + { + finishButton.setEnabled(false); + finishButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + writeData(); + dispose(); + MainMenue_GUI m = new MainMenue_GUI(); + m.setVisible(true); + if (taskrun == true) { + try { + client.DeleteFtpUser(user.userName); + thrift.closeThriftConnection(); + } catch (TException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + task.cancel(true); + } + + } + }); + + btnZurck.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + dispose(); + thrift.closeThriftConnection(); + CreateImageTechnisch_GUI m = new CreateImageTechnisch_GUI(); + m.setVisible(true); + } + }); + btnZurck.setActionCommand("Cancel"); + buttonPane.add(btnZurck); + finishButton.setActionCommand("Cancel"); + buttonPane.add(finishButton); + } + } + + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + + JMenu mnHillfe = new JMenu("Hillfe"); + menuBar.add(mnHillfe); + setVisible(true); + + } + + private void buttonUploadActionPerformed(ActionEvent event) { + + progressBar.setValue(0); + btnUploadStarten.setEnabled(false); // verhindert einen weiteren klick + btnUploadStarten.setText("Bitte warten"); + + try { + user = client.getFtpUser(); + System.out.println("FTP name" + user.userName); + System.out.println("FTP path" + user.path); + System.out.println("FTP pass" + user.password); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + DateFormat formatter = new SimpleDateFormat("yyyMMddhhmmss"); + + System.out.println(formatter.format(new Date()) + "_" + + person.verantwortlicher.getHochschule() + "_" + + person.verantwortlicher.getUsername() + "_" + + Image.image.getImagename() + ".vmdk"); + Image.image.setNewName(formatter.format(new Date()) + "_" + + person.verantwortlicher.getHochschule() + "_" + + person.verantwortlicher.getUsername() + "_" + + Image.image.getImagename() + ".vmdk"); + task = new UploadTask(host, port, user.userName, user.password, + user.path, uploadFile); + + task.addPropertyChangeListener(this); + task.execute(); + taskrun = true; + + } + + public void propertyChange(PropertyChangeEvent arg0) { + progress = 0; + if ("progress" == arg0.getPropertyName()) { + progress = (Integer) arg0.getNewValue(); + progressBar.setValue(progress); + + // Button zum Fertigstellen freischalten, wenn 100% erreicht sind + if (progress == 0 || progress == 100) { + // not uploading currently + btnZurck.setEnabled(true); + } else { + // currently uploading, don't let user interact + btnZurck.setEnabled(false); + } + + // Fertigstellen erlauben wenn upload abgeschlossen + if (progress == 100) { + finishButton.setEnabled(true); + } else { + finishButton.setEnabled(false); + } + + } + + + + if ("speed" == arg0.getPropertyName()) { + speed = (double) arg0.getNewValue(); + // if(speed<=1){ + + UpSpeed.setText(String.valueOf(speed).substring(0, + String.valueOf(speed).lastIndexOf(".") + 3) + + " MB/s"); + + } + if ("bytesread" == arg0.getPropertyName()) { + bytesread = (long) arg0.getNewValue(); + labelfertig.setText((bytesread / 1024 / 1024) + " MB"); + labelverbleibend + .setText(((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) + + " MB"); + + labelZeit + .setText(String + .valueOf( + ((((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) / speed) / 60) + 1) + .substring( + 0, + String.valueOf( + (((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) / speed) / 60) + .lastIndexOf(".")) + + " Minuten"); + + } + if ("filesize" == arg0.getPropertyName()) { + filesize = (long) arg0.getNewValue(); + labelfilesize.setText((filesize / 1024 / 1024) + " MB"); + + } + + } + + public boolean writeData() { + + try { + + client.writeVLdata(Image.image.getImagename(), + person.verantwortlicher.getVorname(), + person.verantwortlicher.getName(), + person.verantwortlicher.getHochschule(), + person.verantwortlicher.getEMail(), + person.verantwortlicher.getTel(), + person.verantwortlicher.getFakultät(), + Image.image.isLicensed(), Image.image.isInternet(), + Image.image.getRam(), Image.image.getCpu(), + "/srv/openslx/nfs/temp/" + Image.image.getNewName()); + } 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/image/FTPDownloader_GUI.java b/Dozentenmodul/src/gui/image/FTPDownloader_GUI.java new file mode 100644 index 00000000..d0f789f4 --- /dev/null +++ b/Dozentenmodul/src/gui/image/FTPDownloader_GUI.java @@ -0,0 +1,400 @@ +package gui.image; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.Toolkit; +import java.io.File; +import javax.swing.JButton; +import javax.swing.JFileChooser; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JProgressBar; +import javax.swing.SwingConstants; +import javax.swing.UIManager; +import javax.swing.UnsupportedLookAndFeelException; +import javax.swing.border.EmptyBorder; +import ftp.DownloadTask; +import gui.intro.MainMenue_GUI; + +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.awt.SystemColor; +import java.awt.Font; +import javax.swing.JTextPane; +import javax.swing.JSeparator; +import models.Image; +import org.apache.thrift.TException; +import server.Server.Client; +import server.User; +import thrift.ThriftConnection; + +@SuppressWarnings("serial") +public class FTPDownloader_GUI extends JFrame implements PropertyChangeListener { + + @SuppressWarnings("unused") + private JPanel contentPane; + private final JPanel contentPanel = new JPanel(); + JLabel lblPath; + JLabel downspeed; + User user; + JProgressBar progressBar; + //String host = "141.79.128.121"; + String host = "141.79.128.102"; + int port = 21; + String downloadFile = ""; + static String arg = ""; + DownloadTask task; + JLabel lblBytesread; + JLabel lblNewLabel_3; + JLabel labelVerbleibend; + long filesize; + double speed; + int progress = 0; // progress of download + long bytesread; + JLabel labelZeit; + boolean taskrun = false; + ThriftConnection thrift = new ThriftConnection(); + Client client = thrift.getThriftConnection(); + JButton btnZurck = new JButton("Zur\u00FCck"); + JButton btnDownloadStarten = new JButton("Download starten"); + JButton btnMainMenu = new JButton("Hauptmen\u00FC"); + + + /** + * Create the frame. + */ + public FTPDownloader_GUI() { + addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent e) { + if (taskrun == true) { + try { + client.DeleteFtpUser(user.userName); + thrift.closeThriftConnection(); + } catch (TException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + task.cancel(true); + } + //dispose(); + System.exit(0); + }//end window closing + }); + 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(); + } + + 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); + 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( + "Speicherort ausw\u00E4hlen"); + btnSpeicherortAuswhlen.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + JFileChooser fc = new JFileChooser(); + fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); + + fc.showOpenDialog(getParent()); + File dir = fc.getSelectedFile(); + // check if directory is selected + if (dir != null) { + // is selected + lblPath.setText(dir.getAbsolutePath()); + } else { + // no directory selected + lblPath.setText(""); + }// end if + } + }); + + btnSpeicherortAuswhlen.setBounds(102, 124, 173, 23); + btnSpeicherortAuswhlen.setVerticalAlignment(SwingConstants.TOP); + contentPanel.add(btnSpeicherortAuswhlen); + } + + lblPath = new JLabel(""); + lblPath.addPropertyChangeListener(new PropertyChangeListener() { + public void propertyChange(PropertyChangeEvent arg0) { + if (lblPath.getText().isEmpty()) { + // wenn leer, dann upload button nicht freigeben + btnDownloadStarten.setEnabled(false); + btnDownloadStarten.setText("Bitte warten"); + } else { + // wenn leer, dann upload button nicht freigeben + btnDownloadStarten.setEnabled(true); + btnDownloadStarten.setText("Download starten"); + } + } + }); + lblPath.setBounds(102, 158, 485, 23); + contentPanel.add(lblPath); + + btnDownloadStarten.setEnabled(false); + btnDownloadStarten.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + buttonDownloadActionPerformed(arg0); + } + }); + + btnDownloadStarten.setBounds(102, 200, 173, 23); + contentPanel.add(btnDownloadStarten); + + progressBar = new JProgressBar(0, 100); + progressBar.setStringPainted(true); + + progressBar.setBounds(102, 234, 485, 30); + contentPanel.add(progressBar); + + JLabel lblDownloadgeschwindigkeit = new JLabel( + "Downloadgeschwindigkeit:"); + lblDownloadgeschwindigkeit.setBounds(102, 275, 141, 14); + contentPanel.add(lblDownloadgeschwindigkeit); + + downspeed = new JLabel("0"); + downspeed.setBounds(374, 275, 117, 14); + contentPanel.add(downspeed); + + JLabel lblFertig = new JLabel("Fertig:"); + lblFertig.setBounds(102, 325, 46, 14); + contentPanel.add(lblFertig); + + lblBytesread = new JLabel("0"); + lblBytesread.setBounds(183, 325, 108, 14); + contentPanel.add(lblBytesread); + + JLabel lblVon = new JLabel("von:"); + lblVon.setBounds(318, 325, 46, 14); + contentPanel.add(lblVon); + + lblNewLabel_3 = new JLabel("0"); + lblNewLabel_3.setBounds(374, 325, 117, 14); + contentPanel.add(lblNewLabel_3); + + JLabel lblMbVerbleibend = new JLabel("Verbleibend:"); + lblMbVerbleibend.setBounds(102, 350, 71, 14); + contentPanel.add(lblMbVerbleibend); + + labelVerbleibend = new JLabel("0"); + labelVerbleibend.setBounds(183, 350, 108, 14); + contentPanel.add(labelVerbleibend); + + JLabel lblGeschtzteVerbleibendeZeit = new JLabel( + "Gesch\u00E4tzte Verbleibende Zeit:"); + lblGeschtzteVerbleibendeZeit.setBounds(102, 300, 150, 14); + contentPanel.add(lblGeschtzteVerbleibendeZeit); + + labelZeit = new JLabel("0"); + labelZeit.setBounds(374, 300, 117, 14); + contentPanel.add(labelZeit); + + JPanel panel = new JPanel(); + panel.setLayout(null); + panel.setBackground(SystemColor.menu); + panel.setBounds(10, 11, 577, 57); + contentPanel.add(panel); + + JLabel label = new JLabel("Eingabe Ihrer Daten"); + label.setFont(new Font("Tahoma", Font.BOLD, 18)); + label.setBounds(10, 11, 509, 22); + panel.add(label); + + 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 label_1 = new JLabel("Hauptmen\u00FC"); + label_1.setForeground(Color.BLUE); + label_1.setBounds(20, 88, 61, 20); + contentPanel.add(label_1); + + JLabel label_2 = new JLabel(">"); + label_2.setBounds(80, 91, 14, 14); + contentPanel.add(label_2); + + JLabel label_3 = new JLabel("VL-Image"); + label_3.setForeground(Color.BLUE); + label_3.setBounds(91, 88, 46, 20); + contentPanel.add(label_3); + + JLabel label_4 = new JLabel(">"); + label_4.setBounds(139, 91, 14, 14); + contentPanel.add(label_4); + + JLabel label_5 = new JLabel("Neu/Bearbeiten"); + label_5.setBounds(149, 91, 108, 14); + contentPanel.add(label_5); + + JSeparator separator_1 = new JSeparator(); + separator_1.setBounds(-10, 648, 597, 2); + contentPanel.add(separator_1); + + JLabel lblSchritt = new JLabel("Schritt 1:"); + lblSchritt.setBounds(24, 128, 57, 14); + contentPanel.add(lblSchritt); + + JLabel lblSchritt_1 = new JLabel("Schritt 2:"); + lblSchritt_1.setBounds(24, 204, 57, 14); + contentPanel.add(lblSchritt_1); + + JLabel lblSchritt_3 = new JLabel("Schritt 3:"); + lblSchritt_3.setBounds(20, 423, 57, 14); + contentPanel.add(lblSchritt_3); + + JLabel lblKlickenSieAuf = new JLabel( + "Klicken Sie auf \"Fertigstellen\"."); + lblKlickenSieAuf.setBounds(98, 423, 241, 14); + contentPanel.add(lblKlickenSieAuf); + { + JPanel buttonPane = new JPanel(); + buttonPane.setBackground(UIManager.getColor("Button.background")); + buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); + getContentPane().add(buttonPane, BorderLayout.SOUTH); + { + btnZurck.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + if (taskrun == true) { + task.cancel(true); + try { + client.DeleteFtpUser(user.userName); + } catch (TException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + } + thrift.closeThriftConnection(); + SearchEditImage_GUI se = new SearchEditImage_GUI(); + se.setVisible(true); + dispose(); + } + }); + btnZurck.setActionCommand("Cancel"); + buttonPane.add(btnZurck); + } + + + btnMainMenu.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + thrift.closeThriftConnection(); + MainMenue_GUI mm = new MainMenue_GUI(); + mm.setVisible(true); + dispose(); + } + }); + btnMainMenu.setActionCommand("Cancel"); + buttonPane.add(btnMainMenu); + } + setVisible(true); + + } + + private void buttonDownloadActionPerformed(ActionEvent event) { + + progressBar.setValue(0); + btnDownloadStarten.setEnabled(false); // verhindert schnellen zweiten + // Klick + btnDownloadStarten.setText("Bitte warten"); + try { + user = client.getFtpUser(); + + downloadFile = client.getPathOfImage(Image.image.getImageId(), + Image.image.getVersion()); + + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + task = new DownloadTask(host, port, user.userName, user.password, + downloadFile, lblPath.getText(), this); + task.addPropertyChangeListener(this); + task.execute(); + taskrun = true; + + } + + public void propertyChange(PropertyChangeEvent arg0) { + + progress = 0; + if ("progress" == arg0.getPropertyName()) { + progress = (Integer) arg0.getNewValue(); + progressBar.setValue(progress); + + // Button zum Fertigstellen freischalten, wenn 100% erreicht sind + if (progress == 0 || progress == 100) { + // not uploading currently + btnZurck.setEnabled(true); + btnMainMenu.setEnabled(true); + } else { + // currently uploading, don't let user interact + btnZurck.setEnabled(false); + btnMainMenu.setEnabled(false); + } + } + + if ("speed" == arg0.getPropertyName()) { + speed = (double) arg0.getNewValue(); + // if(speed<=1){ + + downspeed.setText(String.valueOf(speed).substring(0, + String.valueOf(speed).lastIndexOf(".") + 3) + + " MB/s"); + + } + if ("bytesread" == arg0.getPropertyName()) { + bytesread = (long) arg0.getNewValue(); + lblBytesread.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(); + lblNewLabel_3.setText((filesize / 1024 / 1024) + " MB"); + + } + + } +}
\ No newline at end of file diff --git a/Dozentenmodul/src/gui/image/FTPEditUploader_GUI.java b/Dozentenmodul/src/gui/image/FTPEditUploader_GUI.java new file mode 100644 index 00000000..b184c96c --- /dev/null +++ b/Dozentenmodul/src/gui/image/FTPEditUploader_GUI.java @@ -0,0 +1,475 @@ +package gui.image; + +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 java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +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; +import gui.intro.MainMenue_GUI; + +@SuppressWarnings("serial") +public class FTPEditUploader_GUI extends JFrame implements + PropertyChangeListener { + + @SuppressWarnings("unused") + private JPanel contentPane; + private final JPanel contentPanel = new JPanel(); + JLabel lblPath; + JProgressBar progressBar; + //String host = "141.79.128.121"; + String host = "141.79.128.102"; + 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; + int progress = 0; + ThriftConnection thrift = new ThriftConnection(); + Client client = thrift.getThriftConnection(); + JButton btnUploadStarten = new JButton("Upload auf Server starten"); + JButton btnSpeicherortAuswhlen = new JButton("Image ausw\u00E4hlen"); + JButton btnCopyFileTo = new JButton("Copy File to Prod"); + JButton finishButton = new JButton("Fertigstellen"); + JButton btnZurck = new JButton("Zur\u00FCck"); + + /** + * Launch the application. + */ + 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); + } + System.exit(0); + }// end window closing + }); + 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); + { + + btnSpeicherortAuswhlen.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + JFileChooser fc = new JFileChooser(); + fc.setFileSelectionMode(JFileChooser.FILES_ONLY); + + fc.showOpenDialog(getParent()); + File file = fc.getSelectedFile(); + // check if a file is selected and exists + if (file != null) { + // file exists + uploadFile = file; + filename = uploadFile.getName(); + lblPath.setText(file.getAbsolutePath()); + } else { + // no file selected + lblPath.setText(""); + }// end if + } + }); + + btnSpeicherortAuswhlen.setBounds(102, 124, 173, 23); + btnSpeicherortAuswhlen.setVerticalAlignment(SwingConstants.TOP); + contentPanel.add(btnSpeicherortAuswhlen); + } + + lblPath = new JLabel(""); + lblPath.addPropertyChangeListener(new PropertyChangeListener() { + public void propertyChange(PropertyChangeEvent arg0) { + if (lblPath.getText().isEmpty()) { + // wenn leer, dann upload button nicht freigeben + btnUploadStarten.setEnabled(false); + btnUploadStarten.setText("Bitte warten"); + } else { + // wenn leer, dann upload button nicht freigeben + btnUploadStarten.setEnabled(true); + btnUploadStarten.setText("Upload auf Server starten"); + } + } + }); + lblPath.setBounds(102, 158, 485, 23); + contentPanel.add(lblPath); + + btnUploadStarten.setEnabled(false); + btnUploadStarten.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + buttonUploadActionPerformed(arg0); + + } + }); + + btnUploadStarten.setBounds(102, 200, 173, 23); + contentPanel.add(btnUploadStarten); + + progressBar = new JProgressBar(0, 100); + progressBar.setStringPainted(true); + + progressBar.setBounds(102, 234, 485, 30); + contentPanel.add(progressBar); + + JLabel lblUploadgeschwindigkeit = new JLabel("Uploadgeschwindigkeit:"); + lblUploadgeschwindigkeit.setBounds(102, 275, 141, 14); + contentPanel.add(lblUploadgeschwindigkeit); + + JLabel label_1 = new JLabel("Fertig:"); + label_1.setBounds(102, 325, 46, 14); + contentPanel.add(label_1); + + labelfertig = new JLabel("0"); + labelfertig.setBounds(183, 325, 108, 14); + contentPanel.add(labelfertig); + + UpSpeed = new JLabel("0"); + UpSpeed.setBounds(374, 275, 117, 14); + contentPanel.add(UpSpeed); + + JLabel label_4 = new JLabel("von:"); + label_4.setBounds(318, 325, 46, 14); + contentPanel.add(label_4); + + labelfilesize = new JLabel("0"); + labelfilesize.setBounds(374, 325, 117, 14); + contentPanel.add(labelfilesize); + + JLabel label_6 = new JLabel("Verbleibend:"); + label_6.setBounds(102, 350, 71, 14); + contentPanel.add(label_6); + + JLabel label_7 = new JLabel("Gesch\u00E4tzte Verbleibende Zeit:"); + label_7.setBounds(102, 300, 150, 14); + contentPanel.add(label_7); + + labelZeit = new JLabel("0"); + labelZeit.setBounds(374, 300, 117, 14); + contentPanel.add(labelZeit); + + labelverbleibend = new JLabel("0"); + labelverbleibend.setBounds(183, 350, 108, 14); + contentPanel.add(labelverbleibend); + + JPanel panel = new JPanel(); + panel.setLayout(null); + panel.setBackground(SystemColor.menu); + panel.setBounds(10, 11, 577, 57); + contentPanel.add(panel); + + JLabel lblUploadIhresImage = new JLabel("Upload Ihres Image"); + lblUploadIhresImage.setFont(new Font("Tahoma", Font.BOLD, 18)); + lblUploadIhresImage.setBounds(10, 11, 509, 22); + panel.add(lblUploadIhresImage); + + JTextPane txtpnFhreSieBitte = new JTextPane(); + txtpnFhreSieBitte + .setText("F\u00FChre Sie bitte die folgenden 3 Schritte aus um Ihr Image auf unseren Server zu laden."); + txtpnFhreSieBitte.setEditable(false); + txtpnFhreSieBitte.setBackground(SystemColor.menu); + txtpnFhreSieBitte.setBounds(10, 36, 509, 32); + panel.add(txtpnFhreSieBitte); + + JSeparator separator = new JSeparator(); + separator.setBounds(0, 79, 597, 2); + contentPanel.add(separator); + + JLabel lblNewLabel_1 = new JLabel("Hauptmen\u00FC"); + lblNewLabel_1.setForeground(Color.BLUE); + lblNewLabel_1.setBounds(20, 88, 61, 20); + contentPanel.add(lblNewLabel_1); + + JLabel label_3 = new JLabel(">"); + label_3.setBounds(80, 91, 14, 14); + contentPanel.add(label_3); + + JLabel lblVlimage = new JLabel("VL-Image"); + lblVlimage.setForeground(Color.BLUE); + lblVlimage.setBounds(91, 88, 46, 20); + contentPanel.add(lblVlimage); + + JLabel label_5 = new JLabel(">"); + label_5.setBounds(139, 91, 14, 14); + contentPanel.add(label_5); + + JLabel lblNeubearbeiten = new JLabel("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); + + btnCopyFileTo.setEnabled(false); + 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(102, 375, 173, 23); + contentPanel.add(btnCopyFileTo); + + JLabel lblSchritt_1 = new JLabel("Schritt 1:"); + lblSchritt_1.setBounds(24, 128, 57, 14); + contentPanel.add(lblSchritt_1); + + JLabel lblSchritt_2 = new JLabel("Schritt 2:"); + lblSchritt_2.setBounds(24, 204, 57, 14); + contentPanel.add(lblSchritt_2); + + JLabel label = new JLabel("Schritt 3:"); + label.setBounds(20, 423, 57, 14); + contentPanel.add(label); + + JLabel label_2 = new JLabel("Klicken Sie auf \"Fertigstellen\"."); + label_2.setBounds(98, 423, 241, 14); + contentPanel.add(label_2); + { + JPanel buttonPane = new JPanel(); + buttonPane.setBackground(UIManager.getColor("Button.background")); + buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); + getContentPane().add(buttonPane, BorderLayout.SOUTH); + { + + finishButton.setEnabled(false); + finishButton.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(); + } + }); + btnZurck.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + dispose(); + EditImageTechnisch_GUI ei = new EditImageTechnisch_GUI(); + ei.setVisible(true); + } + }); + + btnZurck.setActionCommand("Cancel"); + buttonPane.add(btnZurck); + finishButton.setActionCommand("Cancel"); + buttonPane.add(finishButton); + } + } + + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + + JMenu mnHillfe = new JMenu("Hillfe"); + menuBar.add(mnHillfe); + setVisible(true); + + } + + private void buttonUploadActionPerformed(ActionEvent event) { + + progressBar.setValue(0); + btnUploadStarten.setEnabled(false); // verhindert einen weiteren klick + btnUploadStarten.setText("Bitte warten"); + + try { + user = client.getFtpUser(); + System.out.println("FTP name" + user.userName); + System.out.println("FTP path" + user.path); + System.out.println("FTP pass" + user.password); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + DateFormat formatter = new SimpleDateFormat("yyyMMddhhmmss"); + Image.image.setNewName(formatter.format(new Date()) + "_" + + person.verantwortlicher.getHochschule() + "_" + + person.verantwortlicher.getUsername() + "_" + + Image.image.getImagename() + ".vmdk"); + task = new UploadTask(host, port, user.userName, user.password, + user.path, uploadFile); + + task.addPropertyChangeListener(this); + task.execute(); + taskrun = true; + + } + + public void propertyChange(PropertyChangeEvent arg0) { + if ("progress" == arg0.getPropertyName()) { + progress = (Integer) arg0.getNewValue(); + progressBar.setValue(progress); + + // Button zum Fertigstellen freischalten, wenn 100% erreicht sind + if (progress == 0 || progress == 100) { + // not uploading currently + btnZurck.setEnabled(true); + } else { + // currently uploading, don't let user interact + btnZurck.setEnabled(false); + } + + // Fertigstellen erlauben wenn upload abgeschlossen + if (progress == 100) { + finishButton.setEnabled(true); + } else { + finishButton.setEnabled(false); + } + } + + + + if ("speed" == arg0.getPropertyName()) { + speed = (double) arg0.getNewValue(); + // if(speed<=1){ + + UpSpeed.setText(String.valueOf(speed).substring(0, + String.valueOf(speed).lastIndexOf(".") + 3) + + " MB/s"); + + } + if ("bytesread" == arg0.getPropertyName()) { + bytesread = (long) arg0.getNewValue(); + labelfertig.setText((bytesread / 1024 / 1024) + " MB"); + labelverbleibend + .setText(((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) + + " MB"); + + labelZeit + .setText(String + .valueOf( + ((((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) / speed) / 60) + 1) + .substring( + 0, + String.valueOf( + (((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) / speed) / 60) + .lastIndexOf(".")) + + " Minuten"); + + } + if ("filesize" == arg0.getPropertyName()) { + filesize = (long) arg0.getNewValue(); + labelfilesize.setText((filesize / 1024 / 1024) + " MB"); + + } + + } + + public boolean updateData() { + + try { + client.updateImageData(Image.image.getImagename(), + Image.image.getNewName(), Image.image.isLicensed(), + Image.image.isInternet(), Image.image.getRam(), + Image.image.getCpu(), Image.image.getImageId(), + Image.image.getVersion()); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return false; + } + return true; + + } +}
\ No newline at end of file diff --git a/Dozentenmodul/src/gui/image/SearchEditImage_GUI.java b/Dozentenmodul/src/gui/image/SearchEditImage_GUI.java new file mode 100644 index 00000000..e6bb055e --- /dev/null +++ b/Dozentenmodul/src/gui/image/SearchEditImage_GUI.java @@ -0,0 +1,520 @@ +package gui.image; + +import gui.intro.MainMenue_GUI; +import gui.lecture.ExtendedSearchForImages_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 javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.JFrame; +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.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 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", "ID", "Version" }; + 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 + con.closeThriftConnection(); + System.exit(0); + } + + @Override + public void windowOpened(WindowEvent arg0) { + textFieldName.requestFocusInWindow(); + } + }); + // 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 + con.closeThriftConnection(); + ExtendedSearchForImages_GUI es = new ExtendedSearchForImages_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ü + con.closeThriftConnection(); + 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) { + + String username = person.verantwortlicher.getName() + " " + + person.verantwortlicher.getVorname(); + // String username="Spitzer Tobias"; + rowSorterMyImages.setRowFilter(RowFilter.regexFilter( + username, 4)); + } else if (tabbedPane.getSelectedIndex() == 1) { + + } + + } + }); + + tabbedPane.setBounds(10, 197, 557, 300); + contentPanel.add(tabbedPane); + initTableModel(modelMyImages); + + 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); + + 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(); + tablemyImages.setRowSorter(rowSorterMyImages); + + scrollPaneMyImage.setViewportView(tablemyImages); + tabbedPane.addTab("Meine Images", null, scrollPaneMyImage, null); + tableAllImages.setRowSorter(rowSorterAll); + + scrollPaneAllImages.setViewportView(tableAllImages); + tabbedPane.addTab("Alle", null, scrollPaneAllImages, 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 + + if (tablemyImages.getSelectedRow() != -1) { + String imageid = modelMyImages.getValueAt( + tablemyImages.convertRowIndexToModel(tablemyImages + .getSelectedRow()), 7).toString(); + + Image.image.setImageId(imageid); + String imageversion = modelMyImages.getValueAt( + tablemyImages.convertRowIndexToModel(tablemyImages + .getSelectedRow()), 8).toString(); + + Image.image.setVersion(imageversion); + SearchEditImage_GUI.this.setVisible(false); + FTPDownloader_GUI down = new FTPDownloader_GUI(); + down.setVisible(true); + con.closeThriftConnection(); + + } else { + JOptionPane.showMessageDialog(null, + "Bitte wählen Sie ein Image für den Download aus", + "Message", JOptionPane.INFORMATION_MESSAGE); + } + } + }); + 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ü + con.closeThriftConnection(); + 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(); + + // check if user is in correct tab + if (tabbedPane.getSelectedIndex() == 0) { + //check if a row is selected + if (tablemyImages.getSelectedRow() != -1) { + String imageid = modelMyImages + .getValueAt( + tablemyImages + .convertRowIndexToModel(tablemyImages + .getSelectedRow()), + 7).toString(); + + Image.image.setImageId(imageid); + String imageversion = modelMyImages + .getValueAt( + tablemyImages + .convertRowIndexToModel(tablemyImages + .getSelectedRow()), + 8).toString(); + + Image.image.setVersion(imageversion); + con.closeThriftConnection(); + EditImageAllgemein_GUI ea = new EditImageAllgemein_GUI(); + ea.setVisible(true); + dispose(); + } else { + JOptionPane.showMessageDialog(null, + "Bitte wählen Sie ein Image aus.", + "Image Auswahl", JOptionPane.INFORMATION_MESSAGE); + }// end check if row is selected + } else { + JOptionPane.showMessageDialog(null, + "Bitte wählen Sie ein eigenes Image aus.", + "Image Auswahl", JOptionPane.INFORMATION_MESSAGE); + }//end check if correct tab is selected + } + }); + 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(), "", images.get(x).id, + images.get(x).getVersion() }; + // 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/SearchEditImage_GUI.java b/Dozentenmodul/src/gui/image/SearchImage_GUI.java index 840f283c..493230d3 100644 --- a/Dozentenmodul/src/gui/SearchEditImage_GUI.java +++ b/Dozentenmodul/src/gui/image/SearchImage_GUI.java @@ -1,6 +1,7 @@ -package gui; - +package gui.image; +import gui.intro.MainMenue_GUI; +import gui.lecture.ExtendedSearchForImages_GUI; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; @@ -17,8 +18,6 @@ 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; @@ -46,16 +45,13 @@ 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 { +public class SearchImage_GUI extends JFrame { private final JPanel contentPanel = new JPanel(); String[] result; @@ -66,20 +62,23 @@ public class SearchEditImage_GUI extends JFrame { 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 ); - + 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(); + SearchImage_GUI dialog = new SearchImage_GUI(); dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); dialog.setVisible(true); } catch (Exception e) { @@ -90,38 +89,35 @@ public class SearchEditImage_GUI extends JFrame { /** * Create the dialog. */ - public SearchEditImage_GUI() { + public SearchImage_GUI() { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { - //Beendet die Anwendung nach klick auf X + // Beendet die Anwendung nach klick auf X System.exit(0); } }); - //Verhindert das Vergrößern Des Fensters + // Verhindert das Vergrößern Des Fensters setResizable(false); - + try { - //Setzt das Look & Feel auf System + // 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 + // Setzt den Fenstertitel setTitle("bwLehrpool Suite *Prototyp*"); - //Zentriert das Fenster in die Bildmitte + // Zentriert das Fenster in die Bildmitte Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); - int top=(screenSize.height - 722) / 2; - int left=(screenSize.width - 603) / 2; + int top = (screenSize.height - 722) / 2; + int left = (screenSize.width - 603) / 2; setBounds(left, top, 603, 722); - - - final DefaultTableModel model = new DefaultTableModel( titles, 0 ); - - + final DefaultTableModel model = new DefaultTableModel(titles, 0); + getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -135,11 +131,12 @@ public class SearchEditImage_GUI extends JFrame { 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 + .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); } @@ -148,145 +145,145 @@ public class SearchEditImage_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, "Filterfunktionen", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + 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 + // 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)); - - } - }}); + // 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>"); + + 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(); + // Öffnet das Fenster Extended GUI + ExtendedSearchForImages_GUI es = new ExtendedSearchForImages_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 + // 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 + 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 + // 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)); - } + // 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(); + // Öffnet das Hauütmenü + SearchImage_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); + 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 = new JTable(); tablemyImages.setModel(modelMyImages); tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(2).sizeWidthToFit(); @@ -295,9 +292,9 @@ public class SearchEditImage_GUI extends JFrame { tablemyImages.getColumnModel().getColumn(5).sizeWidthToFit(); initTableModel(modelMyImages); tablemyImages.setRowSorter(rowSorterMyImages); - + JScrollPane scrollPaneAllImages = new JScrollPane(); - tableAllImages=new JTable(); + tableAllImages = new JTable(); tableAllImages.setModel(modelAll); tableAllImages.getColumnModel().getColumn(1).sizeWidthToFit(); tableAllImages.getColumnModel().getColumn(2).sizeWidthToFit(); @@ -306,15 +303,15 @@ public class SearchEditImage_GUI extends JFrame { tableAllImages.getColumnModel().getColumn(5).sizeWidthToFit(); initTableModel(modelAll); tableAllImages.setRowSorter(rowSorterAll); - - scrollPaneAllImages.setViewportView(tableAllImages); - tabbedPane.addTab("Alle", null, scrollPaneAllImages, null); + + 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(); + JTable tableCoopImages = new JTable(); tableCoopImages.setModel(model); tableCoopImages.getColumnModel().getColumn(1).sizeWidthToFit(); tableCoopImages.getColumnModel().getColumn(2).sizeWidthToFit(); @@ -323,11 +320,12 @@ public class SearchEditImage_GUI extends JFrame { tableCoopImages.getColumnModel().getColumn(5).sizeWidthToFit(); scrollPaneCoopImages.setViewportView(tableCoopImages); - tabbedPane.addTab("Kooperative Images", null, scrollPaneCoopImages, null); + tabbedPane.addTab("Kooperative Images", null, scrollPaneCoopImages, + null); tabbedPane.setEnabledAt(2, false); - + JScrollPane scrollPanePublicImages = new JScrollPane(); - JTable tablePublicImages=new JTable(); + JTable tablePublicImages = new JTable(); tablePublicImages.setModel(model); tablePublicImages.getColumnModel().getColumn(1).sizeWidthToFit(); tablePublicImages.getColumnModel().getColumn(2).sizeWidthToFit(); @@ -336,11 +334,12 @@ public class SearchEditImage_GUI extends JFrame { tablePublicImages.getColumnModel().getColumn(5).sizeWidthToFit(); scrollPanePublicImages.setViewportView(tablePublicImages); - tabbedPane.addTab("\u00D6ffentliche Images", null, scrollPanePublicImages, null); + tabbedPane.addTab("\u00D6ffentliche Images", null, + scrollPanePublicImages, null); tabbedPane.setEnabledAt(3, false); - + JScrollPane scrollPanePublicVorlagen = new JScrollPane(); - JTable tablePublicVorlagen=new JTable(); + JTable tablePublicVorlagen = new JTable(); tablePublicVorlagen.setModel(model); tablePublicVorlagen.getColumnModel().getColumn(1).sizeWidthToFit(); tablePublicVorlagen.getColumnModel().getColumn(2).sizeWidthToFit(); @@ -349,19 +348,17 @@ public class SearchEditImage_GUI extends JFrame { tablePublicVorlagen.getColumnModel().getColumn(5).sizeWidthToFit(); scrollPanePublicVorlagen.setViewportView(tablePublicVorlagen); - tabbedPane.addTab("\u00D6ffentliche Vorlagen", null, scrollPanePublicVorlagen, null); + 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"); + // Öffnet den Downloader + FTPDownloader_GUI down = new FTPDownloader_GUI(); down.setVisible(true); - SearchEditImage_GUI.this.setVisible(false); + SearchImage_GUI.this.setVisible(false); } }); btnDownload.setBounds(449, 508, 118, 23); @@ -373,80 +370,84 @@ public class SearchEditImage_GUI extends JFrame { buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); getContentPane().add(buttonPane); { - JButton okButton = new JButton("Zur\u00FCck"); - okButton.addActionListener(new ActionListener() { + JButton cancelButton = new JButton("Zur\u00FCck"); + cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - //Öffnet das Hauptmenü - - MainMenue_GUI main=new MainMenue_GUI(); + // Öffnet das Hauptmenü + MainMenue_GUI main = new MainMenue_GUI(); main.setVisible(true); dispose(); } }); - okButton.setActionCommand("OK"); - buttonPane.add(okButton); - getRootPane().setDefaultButton(okButton); + cancelButton.setActionCommand("OK"); + buttonPane.add(cancelButton); + getRootPane().setDefaultButton(cancelButton); } { - JButton cancelButton = new JButton("Weiter"); - cancelButton.addActionListener(new ActionListener() { + JButton continueButton = new JButton("Weiter"); + continueButton.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(); + EditImageAllgemein_GUI ea = new EditImageAllgemein_GUI(); ea.setVisible(true); - dispose(); + dispose(); + } }); - cancelButton.setActionCommand("Cancel"); - buttonPane.add(cancelButton); + continueButton.setActionCommand("Cancel"); + buttonPane.add(continueButton); } } - + 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){ + + // Initiale Beffülung eines Table models + public DefaultTableModel initTableModel(DefaultTableModel model) { List<server.Image> images; try { - //Hole eine Liste der Images + // 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 + 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 @@ -454,7 +455,5 @@ public class SearchEditImage_GUI extends JFrame { } return model; } - - } - +} diff --git a/Dozentenmodul/src/gui/BillOfRights_GUI.java b/Dozentenmodul/src/gui/intro/BillOfRights_GUI.java index a18ce291..e4f37871 100644 --- a/Dozentenmodul/src/gui/BillOfRights_GUI.java +++ b/Dozentenmodul/src/gui/intro/BillOfRights_GUI.java @@ -1,4 +1,5 @@ -package gui; +package gui.intro; + import java.awt.Dimension; import java.awt.FlowLayout; diff --git a/Dozentenmodul/src/gui/intro/Login_GUI.java b/Dozentenmodul/src/gui/intro/Login_GUI.java new file mode 100644 index 00000000..e2db747e --- /dev/null +++ b/Dozentenmodul/src/gui/intro/Login_GUI.java @@ -0,0 +1,261 @@ +package gui.intro; + + +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 java.nio.channels.SeekableByteChannel; + +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 models.SessionData; +import models.person; +import org.apache.thrift.TException; +import org.ini4j.Wini; +import thrift.MasterThriftConnection; +import thrift.ImageServer.Client; +import thrift.UserInfo; + +import config.config_file; + +@SuppressWarnings("serial") +public class Login_GUI extends JFrame { + + private JPanel contentPane; + private JTextField username; + private JPasswordField pass; + + /** + * Launch the application. + */ + public static void main(String[] args) { + 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) { + // Aufruf und Anzeige des Login Fensters + Login_GUI frame = new Login_GUI(); + frame.setVisible(true); + } else { + JOptionPane.showMessageDialog(null, + "Fehler beim erzeugen der Konfigurationsfile", + "Message", JOptionPane.ERROR_MESSAGE); + } + + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public Login_GUI() { + addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent e) { + System.exit(0); + } + }); + + // Fenster darf nicht vergrößert werden + setResizable(false); + try { + // Setzt das Look and Feel auf System + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (ClassNotFoundException | InstantiationException + | IllegalAccessException | UnsupportedLookAndFeelException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + // Titel des Fensters setzen + setTitle("Dozentenmodul *Prototyp*"); + // Aktion die beim Schließen durchgeführt werden soll + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + // Größe des Fensters definieren + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + int top = (screenSize.height - 400) / 2; + int left = (screenSize.width - 603) / 2; + setBounds(left, top, 603, 400); + // Erzeugen eines Panels + contentPane = new JPanel(); + // Hintergrund Farbe des Panels setzen + contentPane.setBackground(SystemColor.menu); + // Rahmen des Fensters setzen + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + setContentPane(contentPane); + // Layout setzen + contentPane.setLayout(null); + // Label für das Logo erzeugen + JLabel imgLabel = new JLabel(); + // Größe und Position des Logos festelegen + imgLabel.setBounds(150, 11, 350, 142); + // Pfadangabe des Logos + + ImageIcon icon = new ImageIcon(getClass().getResource( + "/Logo_bwLehrpool.png"), "Logo"); + // Skalierung des Logos + Image scaled = icon.getImage().getScaledInstance(270, 64, 0); + imgLabel.setIcon(new ImageIcon(scaled)); + // Hinzufügen des Logos in das Fenster + contentPane.add(imgLabel); + + // Erzeugen und Hinzufügen des Labels + JLabel LabelUser = new JLabel("bwIDM-Benutzername:"); + LabelUser.setBounds(111, 164, 134, 20); + contentPane.add(LabelUser); + + // Erzeugen und Hinzufügen des Textfeldes + username = new JTextField(); + username.setToolTipText("Bitte geben Sie Ihren bwIDM-Benutzernamen ein."); + username.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + performLogin(); + } + }); + username.setBounds(304, 164, 196, 20); + contentPane.add(username); + username.setColumns(10); + + // Erzeugen und Hinzufügen des Labels + JLabel LabelPass = new JLabel("bwIDM-Passwort:"); + LabelPass.setBounds(111, 195, 134, 20); + contentPane.add(LabelPass); + + // Erzeugen, Hinzufügen und definierung der Aktion des Buttons + JButton BtnLogin = new JButton("Login"); + BtnLogin.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + performLogin(); + }// end actionPerformed + }); + + BtnLogin.setBounds(304, 244, 196, 23); + contentPane.add(BtnLogin); + + // Erzeugen und Hinzufügen des Passwortfeldes + pass = new JPasswordField(); + pass.setToolTipText("Bitte geben Sie Ihr bwIDM-Passwort ein."); + pass.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + performLogin(); + } + }); + pass.setBounds(304, 195, 196, 20); + contentPane.add(pass); + }// end LoginGUI() + + //Versuche den Benutzer einzuloggen + public void performLogin() { + // Aufruf der Ldap Klasse, welche die Ldap überprüfung vornimmt + // Ldap check=new Ldap(); + boolean login = true; + // boolean login=check.LdapAuth(username.getText(), new + // String(pass.getPassword())); + MasterThriftConnection thrift = new MasterThriftConnection(); + Client client = thrift.getMasterThriftConnection(); + String token = null; + final thrift.SessionData result; + try { + String passText = new String(pass.getPassword()); + System.out.println("Benutzer:" +username.getText() + "\nPasswort" + passText); + result = client.authenticate(username.getText(), passText); + SessionData.session.setAuthToken(result.authToken); + SessionData.session.setSessionID(result.sessionId); + SessionData.session.setServerAdress(result.serverAddress); + System.out.println("Server Adresse: "+result.serverAddress); + + } catch (thrift.AuthenticationException e) { + System.out.println("Authentifizierung fehlgeschlagen: " + e.message); + JOptionPane.showMessageDialog(null, + "Benutzeranmeldung fehlgeschlagen: Bitte Benutzername und Passwort überprüfen.", + "Anmeldung fehlgeschlagen", + JOptionPane.ERROR_MESSAGE); + + return; + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return; + } + System.out + .println("Konnte mich beim MasterServer authentifizieren. Meine Session-ID ist " + + result.sessionId + + ", mein Token für den Satelliten " + + result.authToken); + token = result.authToken; + if (login == true) { + + 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(); + re.setVisible(true); + // Schließen des Fensters nach erfolgreichen Login + setVisible(false); + } 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); + setVisible(false); + } else { + UserInfo user = client.getUserFromToken(token); + + String hochschule = user.eMail.substring(user.eMail + .indexOf("@") + 1, user.eMail.indexOf(".", + user.eMail.indexOf("@"))); + // System.out.println("hochschule="+hochschule); + + person.verantwortlicher.setUsername(username.getText()); + person.verantwortlicher.setName(user.lastName); + person.verantwortlicher.setVorname(user.firstName); + person.verantwortlicher.setEMail(user.eMail); + person.verantwortlicher.setHochschule(hochschule); + + // Öffne das Hauprmenü + MainMenue_GUI main = new MainMenue_GUI(); + main.setVisible(true); + setVisible(false); + } + } + } catch (IOException | TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } else { + JOptionPane.showMessageDialog(null, "Login denied!", "Message", + JOptionPane.INFORMATION_MESSAGE); + } + }// end performLogin + +}// end class diff --git a/Dozentenmodul/src/gui/intro/MainMenue_GUI.java b/Dozentenmodul/src/gui/intro/MainMenue_GUI.java new file mode 100644 index 00000000..9965002c --- /dev/null +++ b/Dozentenmodul/src/gui/intro/MainMenue_GUI.java @@ -0,0 +1,405 @@ +package gui.intro; + +import gui.image.*; +import gui.lecture.*; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.Toolkit; +import javax.swing.JFrame; +import javax.swing.JButton; +import javax.swing.JDialog; +import javax.swing.JPanel; +import javax.swing.UIManager; +import javax.swing.UnsupportedLookAndFeelException; +import javax.swing.border.EmptyBorder; +import javax.swing.JLabel; +import java.awt.Font; +import javax.swing.JTextPane; +import java.awt.SystemColor; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; +import javax.swing.JSeparator; +import javax.swing.JRadioButton; +import javax.swing.SwingConstants; +import javax.swing.ButtonGroup; +import javax.swing.JMenuBar; +import javax.swing.JMenu; +import javax.swing.JMenuItem; +import javax.swing.ToolTipManager; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import javax.swing.border.TitledBorder; +import java.awt.ScrollPane; +import javax.swing.JTextArea; +import javax.swing.ImageIcon; + +@SuppressWarnings("serial") +public class MainMenue_GUI extends JFrame { + + private final JPanel contentPanel = new JPanel(); + String[] result; + String descNewImage, descEditImage, descDeleteImage, descSearchImage, + descNewLecture, descEditLecture, descDeleteLecture, + descSearchLecture = ""; + JRadioButton rdbtnImageNew; + JRadioButton rdbtnImageEdit; + JRadioButton rdbtnImageSearchDownload; + JRadioButton rdbtnVeranstaltungNew; + JRadioButton rdbtnImageDelete; + JRadioButton rdbtnVeranstaltungEdit; + private final ButtonGroup buttonGroup = new ButtonGroup(); + + /** + * Launch the application. + */ + public static void main(String[] args) { + try { + MainMenue_GUI dialog = new MainMenue_GUI(); + dialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE); + dialog.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + }// end main + + /** + * Create the dialog. + */ + public MainMenue_GUI() { + addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent arg0) { + System.exit(0); + } + }); + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (ClassNotFoundException | InstantiationException + | IllegalAccessException | UnsupportedLookAndFeelException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + setTitle("bwLehrpool Suite *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, 545, 366); + getContentPane().setLayout(null); + { + JPanel panel = new JPanel(); + panel.setBackground(SystemColor.menu); + panel.setBounds(10, 11, 567, 69); + getContentPane().add(panel); + panel.setLayout(null); + { + JLabel lblNewLabel = new JLabel("Hauptmen\u00FC"); + 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("Bitte w\u00E4hlen Sie ihre gew\u00FCnschte Aktion."); + txtpnBitteWhlenSie.setBounds(10, 36, 509, 22); + panel.add(txtpnBitteWhlenSie); + } + contentPanel.setBounds(10, 104, 567, 502); + contentPanel.setBackground(SystemColor.menu); + + contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); + getContentPane().add(contentPanel); + contentPanel.setLayout(null); + + JPanel panelImage = new JPanel(); + panelImage.setBackground(SystemColor.menu); + panelImage.setBorder(new TitledBorder(null, "VL-Image", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panelImage.setBounds(10, 146, 270, 170); + contentPanel.add(panelImage); + panelImage.setLayout(null); + + rdbtnImageNew = new JRadioButton("Neu"); + rdbtnImageNew + .setToolTipText("Hier k\u00F6nnen Sie eine standard Laborvorlage downloaden"); + rdbtnImageNew.setBounds(6, 22, 159, 23); + panelImage.add(rdbtnImageNew); + rdbtnImageNew.setSelected(true); + buttonGroup.add(rdbtnImageNew); + rdbtnImageNew.setBackground(SystemColor.menu); + + rdbtnImageEdit = new JRadioButton("Bearbeiten"); + rdbtnImageEdit + .setToolTipText("Hier k\u00F6nnen Sie ein bestehendes Labor zum ver\u00E4ndern downloaden"); + rdbtnImageEdit.setBounds(6, 48, 185, 23); + panelImage.add(rdbtnImageEdit); + buttonGroup.add(rdbtnImageEdit); + rdbtnImageEdit.setHorizontalAlignment(SwingConstants.LEFT); + rdbtnImageEdit.setBackground(SystemColor.menu); + + rdbtnImageDelete = new JRadioButton("L\u00F6schen"); + rdbtnImageDelete.setEnabled(false); + buttonGroup.add(rdbtnImageDelete); + rdbtnImageDelete + .setToolTipText("Hier k\u00F6nnen Sie ein bestehendes Labor zum ver\u00E4ndern downloaden"); + rdbtnImageDelete.setHorizontalAlignment(SwingConstants.LEFT); + rdbtnImageDelete.setBackground(SystemColor.menu); + rdbtnImageDelete.setBounds(6, 74, 185, 23); + panelImage.add(rdbtnImageDelete); + + rdbtnImageSearchDownload = new JRadioButton("Suche und Download"); + rdbtnImageSearchDownload.setEnabled(false); + buttonGroup.add(rdbtnImageSearchDownload); + rdbtnImageSearchDownload + .setToolTipText("Hier k\u00F6nnen Sie ein bestehendes Labor zum ver\u00E4ndern downloaden"); + rdbtnImageSearchDownload.setHorizontalAlignment(SwingConstants.LEFT); + rdbtnImageSearchDownload.setBackground(SystemColor.menu); + rdbtnImageSearchDownload.setBounds(6, 100, 185, 23); + panelImage.add(rdbtnImageSearchDownload); + + JPanel panelDesc = new JPanel(); + panelDesc.setLayout(null); + panelDesc.setBorder(new TitledBorder(UIManager + .getBorder("TitledBorder.border"), "Erklärung", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panelDesc.setBackground(SystemColor.menu); + panelDesc.setBounds(290, 146, 270, 170); + contentPanel.add(panelDesc); + + ScrollPane scrollPaneDesc = new ScrollPane(); + scrollPaneDesc.setBounds(10, 15, 250, 145); + final JTextArea txtDesc = new JTextArea(); + txtDesc.setLineWrap(true); + txtDesc.setWrapStyleWord(true); + txtDesc.setFont(new Font("Tahoma", Font.PLAIN, 11)); + txtDesc.setBackground(SystemColor.menu); + scrollPaneDesc.add(txtDesc); + // Pro AUswahl + txtDesc.setText("Legen Sie ein neues Image an und laden Sie anschließend die passende .vmdk-Datei hoch. Ein Image (wenn auch von einem anderen Dozenten) ist die Voraussetzung für eine Veranstaltung."); + panelDesc.add(scrollPaneDesc); + + JPanel panelVeranstaltung = new JPanel(); + panelVeranstaltung.setLayout(null); + panelVeranstaltung.setBorder(new TitledBorder(UIManager + .getBorder("TitledBorder.border"), "Veranstaltung (VMChooser)", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panelVeranstaltung.setBackground(SystemColor.menu); + panelVeranstaltung.setBounds(10, 327, 270, 170); + contentPanel.add(panelVeranstaltung); + + rdbtnVeranstaltungNew = new JRadioButton("Neu"); + buttonGroup.add(rdbtnVeranstaltungNew); + rdbtnVeranstaltungNew + .setToolTipText("Hier k\u00F6nnen Sie Ihre Labordaten eingeben"); + rdbtnVeranstaltungNew.setBounds(6, 24, 185, 23); + panelVeranstaltung.add(rdbtnVeranstaltungNew); + rdbtnVeranstaltungNew.setBackground(SystemColor.menu); + + rdbtnVeranstaltungEdit = new JRadioButton("Bearbeiten"); + rdbtnVeranstaltungEdit + .setToolTipText("Hier k\u00F6nnen Sie einen Link auf ein bestehendes Labor erzeugen"); + rdbtnVeranstaltungEdit.setBounds(6, 50, 230, 23); + panelVeranstaltung.add(rdbtnVeranstaltungEdit); + buttonGroup.add(rdbtnVeranstaltungEdit); + rdbtnVeranstaltungEdit.setBackground(SystemColor.menu); + + JRadioButton rdbtnVeranstaltungDelete = new JRadioButton("L\u00F6schen"); + rdbtnVeranstaltungDelete.setEnabled(false); + rdbtnVeranstaltungDelete + .setToolTipText("Hier k\u00F6nnen Sie ein Labor l\u00F6schen"); + rdbtnVeranstaltungDelete.setBounds(6, 76, 175, 23); + panelVeranstaltung.add(rdbtnVeranstaltungDelete); + buttonGroup.add(rdbtnVeranstaltungDelete); + rdbtnVeranstaltungDelete.setBackground(SystemColor.menu); + + JRadioButton rdbtnVeranstaltungSearch = new JRadioButton("Suche"); + rdbtnVeranstaltungSearch.setEnabled(false); + buttonGroup.add(rdbtnVeranstaltungSearch); + rdbtnVeranstaltungSearch + .setToolTipText("Hier k\u00F6nnen Sie ein Labor l\u00F6schen"); + rdbtnVeranstaltungSearch.setBackground(SystemColor.menu); + rdbtnVeranstaltungSearch.setBounds(6, 102, 175, 23); + panelVeranstaltung.add(rdbtnVeranstaltungSearch); + + JPanel panelNews = new JPanel(); + panelNews.setLayout(null); + panelNews.setBorder(new TitledBorder(UIManager + .getBorder("TitledBorder.border"), "News", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panelNews.setBackground(SystemColor.menu); + panelNews.setBounds(290, 327, 270, 170); + contentPanel.add(panelNews); + + ScrollPane scrollPaneNews = new ScrollPane(); + // scrollPaneDesc.setBounds(10, 15, 250, 145); + scrollPaneNews.setBounds(10, 15, 250, 145); + JTextArea txtNews = new JTextArea(); + txtNews.setFont(new Font("Tahoma", Font.PLAIN, 11)); + txtNews.setBackground(SystemColor.menu); + txtNews.setWrapStyleWord(true); + txtNews.setLineWrap(true); + txtNews.setText("Hier werden mal die Neuigkeiten stehen. Diese kommen direkt vom Satelliten, sind als HS-spezifisch :)"); + scrollPaneNews.add(txtNews); + panelNews.add(scrollPaneNews); + + /* + * Funktion Texte für das Klicken der RadioButtons + */ + rdbtnImageNew.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + descNewImage = "Legen Sie ein neues Image an und laden Sie anschließend die passende .vmdk-Datei hoch. Ein Image (wenn auch von einem anderen Dozenten) ist die Voraussetzung für eine Veranstaltung."; + txtDesc.setText(descNewImage); + } + }); + rdbtnImageEdit.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + descEditImage = "Bearbeiten Sie die hinterlegten Informationen zu einem Image oder laden Sie eine neue .vmdk-Datei hoch."; + txtDesc.setText(descEditImage); + } + }); + rdbtnImageDelete.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + descDeleteImage = "Suchen Sie alte und nicht mehr benötigte Images und löschen Sie diese."; + txtDesc.setText(descDeleteImage); + } + }); + rdbtnImageSearchDownload.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + descSearchImage = "Suchen Sie nach bestimmten Images oder verschaffen Sie sich einen Überblick über alle verfügbaren Images. Sie können gewünschte Images umgehend herunterladen."; + txtDesc.setText(descSearchImage); + } + }); + rdbtnVeranstaltungNew.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + descNewLecture = "Legen Sie eine neue Veranstaltung an und verknüpfen Sie diese mit einem bereits vorhandenem Image. Ihre neue Veranstaltung kann auch auf dem Image eines anderen Dozenten beruhen."; + txtDesc.setText(descNewLecture); + } + }); + rdbtnVeranstaltungEdit.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + descEditLecture = "Bearbeiten Sie die hinterlegten Informationen zu einer Veranstaltung."; + txtDesc.setText(descEditLecture); + } + }); + rdbtnVeranstaltungDelete.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + descDeleteLecture = "Suchen und löschen Sie eine Veranstaltung. Das hiermit verbundene Image bleibt erhalten."; + } + }); + rdbtnVeranstaltungSearch.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + descSearchLecture = "Suchen Sie nach bestimmten Veranstaltungen oder verschaffen Sie sich einen Überblick über alle verfügbaren Veranstaltungen. Eventuell gibt es bereits etwas passendes für Ihre Vorlesung."; + txtDesc.setText(descSearchLecture); + } + }); + /* + * Ende der Radiobuttons + */ + + JLabel lblGrafik = new JLabel(""); + // ToolTipp für Grafik + lblGrafik + .setToolTipText("<html>" + + "Ein virtuelles Labor besteht immer aus den beiden Komponenten <br>" + + "Image und Veranstaltung. Ein Image ist dabei die Grundlage f\u00FCr <br>" + + "mehrere Veranstaltungen. Somit kann eine neue Veranstaltung <br>" + + "erstellt werden, ohne ein neues Image hochladen zu m\u00FCssen. <br> <br> <br>" + + "<b>Image:</b> Das Image enth\u00E4lt die ben\u00F6tigte Software, die im <br>" + + "virtuellen Labor ben\u00F6tigt wird. Es wird von genau einem Dozenten <br>" + + "angelegt und besitzt einen allgemeinen Namen, z.B. \"Programmieren\". <br>" + + "Bei einem Image handelt es sich um eine Datei vom Typ VMDK. <br> <br> <br>" + + "<b>Veranstaltung:</b> Es k\u00F6nnen nun, basierend auf einem Image,<br>" + + " beliebig viele Veranstaltungen von unterschiedlichen Dozenten erstellt <br>" + + "werden. Diese k\u00F6nnten z.B. konkret \"Web-Entwicklung\" oder \"K\u00FCnstliche <br>" + + "Intelligenz\" lauten und referenzieren dabei auf das allgemeine Image <br>" + + "\"Programmieren\".</html>"); + lblGrafik.setIcon(new ImageIcon(MainMenue_GUI.class + .getResource("/Image_zu_Veranstaltung_HDD.png"))); + // ToolTipp lange anzeigen - 60sec + ToolTipManager.sharedInstance().setDismissDelay(60000); + ToolTipManager.sharedInstance().registerComponent(lblGrafik); + lblGrafik.setBounds(82, 3, 391, 110); + contentPanel.add(lblGrafik); + + JTextPane txtpnUmDetaillierteInformationen = new JTextPane(); + txtpnUmDetaillierteInformationen + .setText("Um detaillierte Informationen zu erhalten, fahren Sie bitte mit der Maus \u00FCber die Grafik."); + txtpnUmDetaillierteInformationen.setEditable(false); + txtpnUmDetaillierteInformationen.setBackground(SystemColor.menu); + txtpnUmDetaillierteInformationen.setBounds(10, 113, 509, 22); + contentPanel.add(txtpnUmDetaillierteInformationen); + { + JPanel buttonPane = new JPanel(); + buttonPane.setBounds(0, 630, 587, 33); + buttonPane.setBackground(SystemColor.menu); + buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); + getContentPane().add(buttonPane); + { + JButton continueButton = new JButton("Weiter"); + + continueButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + + if (rdbtnImageNew.isSelected() == true) { + CreateImageAllgemein_GUI sr = new CreateImageAllgemein_GUI(); + sr.setVisible(true); + dispose(); + } else if (rdbtnImageEdit.isSelected() == true) { + + SearchEditImage_GUI si = new SearchEditImage_GUI(); + si.setVisible(true); + dispose(); + } else if (rdbtnImageSearchDownload.isSelected() == true) { + SearchMethodLecture_GUI sm = new SearchMethodLecture_GUI(); + sm.setVisible(true); + dispose(); + } else if (rdbtnImageDelete.isSelected() == true) { + DeleteImage_GUI di = new DeleteImage_GUI(); + di.setVisible(true); + dispose(); + } else if (rdbtnVeranstaltungNew.isSelected() == true) { + CreateLectureAllgemein_GUI av = new CreateLectureAllgemein_GUI(); + av.setVisible(true); + dispose(); + } else if (rdbtnVeranstaltungEdit.isSelected() == true) { + //SearchEditLecture_GUI sl = new SearchEditLecture_GUI(); + EditLectureSearch_GUI el = new EditLectureSearch_GUI(); + el.setVisible(true); + dispose(); + } + } + }); + continueButton.setActionCommand("OK"); + buttonPane.add(continueButton); + getRootPane().setDefaultButton(continueButton); + } + } + { + JSeparator separator = new JSeparator(); + separator.setBounds(0, 617, 587, 2); + getContentPane().add(separator); + } + { + JSeparator separator = new JSeparator(); + separator.setBounds(0, 91, 587, 2); + getContentPane().add(separator); + } + + 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); + + }// end main + +}// end class diff --git a/Dozentenmodul/src/gui/VmWareLink_GUI.java b/Dozentenmodul/src/gui/intro/VmWareLink_GUI.java index 43df06a6..2f578e8b 100644 --- a/Dozentenmodul/src/gui/VmWareLink_GUI.java +++ b/Dozentenmodul/src/gui/intro/VmWareLink_GUI.java @@ -1,4 +1,5 @@ -package gui; +package gui.intro; + import java.awt.Desktop; import java.awt.Dimension; diff --git a/Dozentenmodul/src/gui/lecture/CreateLectureAllgemein_GUI.java b/Dozentenmodul/src/gui/lecture/CreateLectureAllgemein_GUI.java new file mode 100644 index 00000000..026cb7c5 --- /dev/null +++ b/Dozentenmodul/src/gui/lecture/CreateLectureAllgemein_GUI.java @@ -0,0 +1,507 @@ +package gui.lecture; + +import gui.intro.MainMenue_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.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import javax.swing.JButton; +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.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JSeparator; +import javax.swing.JTextField; +import javax.swing.JTextPane; +import javax.swing.UIManager; +import javax.swing.UnsupportedLookAndFeelException; +import javax.swing.border.EmptyBorder; +import javax.swing.border.TitledBorder; +import models.Image; +import models.Lecture; +import models.person; +import javax.swing.JTextArea; +import java.awt.ScrollPane; +import java.util.Calendar; +import java.util.Date; + +import com.toedter.calendar.JDateChooser; +import javax.swing.JRadioButton; + +@SuppressWarnings("serial") +public class CreateLectureAllgemein_GUI extends JFrame { + + private final JPanel contentPanel = new JPanel(); + String[] result; + private JTextField Vorname; + private JTextField Nachname; + private JTextField Hochschule; + private JTextField EMail; + private JTextField txtFldVeranstaltungsname; + JTextArea description; + JRadioButton radioButtonyes; + JRadioButton radioButtonno; + JDateChooser dateChooserend; + JDateChooser dateChooserstart; + Date startDate = new Date(); + Date endDate; + int maxLifeTime = 180; // Anzahl Tage, die eine Veranstaltung in der Zukunft + // aktiv sein darf + boolean isDateOrderCorrect, isDateMaxLifeTimeCorrect, + isAllInformationReady = false; + + /** + * Launch the application. + */ + public static void main(String[] args) { + try { + CreateLectureAllgemein_GUI dialog = new CreateLectureAllgemein_GUI(); + dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); + dialog.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * Create the dialog. + */ + public CreateLectureAllgemein_GUI() { + addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent arg0) { + System.exit(0); + } + + @Override + public void windowOpened(WindowEvent arg0) { + txtFldVeranstaltungsname.requestFocusInWindow(); + } + }); + setResizable(false); + + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (ClassNotFoundException | InstantiationException + | IllegalAccessException | UnsupportedLookAndFeelException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + setTitle("bwLehrpool Suite *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, 722); + 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("Eingabe Ihrer Daten"); + 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("Geben Sie hier bitte einen sprechenden Imagename sowie Ihre Kontaktdaten an"); + txtpnBitteWhlenSie.setBounds(10, 36, 509, 21); + panel.add(txtpnBitteWhlenSie); + } + contentPanel.setBounds(10, 85, 577, 493); + 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, "Informationen zum Besitzer", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBounds(10, 331, 557, 162); + contentPanel.add(panel_1); + panel_1.setLayout(null); + + JLabel label = new JLabel("Vorname: *"); + label.setBackground(SystemColor.menu); + label.setBounds(10, 33, 125, 20); + panel_1.add(label); + + Vorname = new JTextField(); + Vorname.setEditable(false); + Vorname.setEnabled(false); + Vorname.setText(person.verantwortlicher.getVorname()); + Vorname.setBackground(Color.WHITE); + Vorname.setColumns(10); + Vorname.setBounds(145, 33, 350, 20); + panel_1.add(Vorname); + + JLabel label_7 = new JLabel("Nachname: *"); + label_7.setBackground(SystemColor.menu); + label_7.setBounds(10, 64, 125, 20); + panel_1.add(label_7); + + Nachname = new JTextField(); + Nachname.setEnabled(false); + Nachname.setEditable(false); + Nachname.setText(person.verantwortlicher.getName()); + Nachname.setBackground(Color.WHITE); + Nachname.setColumns(10); + Nachname.setBounds(145, 64, 350, 20); + panel_1.add(Nachname); + + JLabel label_8 = new JLabel("Hochschule: *"); + label_8.setBackground(SystemColor.menu); + label_8.setBounds(10, 95, 125, 20); + panel_1.add(label_8); + + Hochschule = new JTextField(); + Hochschule.setEnabled(false); + Hochschule.setEditable(false); + Hochschule.setText(person.verantwortlicher.getHochschule()); + Hochschule.setBackground(Color.WHITE); + Hochschule.setColumns(10); + Hochschule.setBounds(145, 95, 350, 20); + panel_1.add(Hochschule); + + JLabel label_9 = new JLabel("E-Mail: *"); + label_9.setBackground(SystemColor.menu); + label_9.setBounds(10, 126, 125, 20); + panel_1.add(label_9); + + EMail = new JTextField(); + EMail.setEnabled(false); + EMail.setEditable(false); + EMail.setText(person.verantwortlicher.getEMail()); + EMail.setBackground(Color.WHITE); + EMail.setColumns(10); + EMail.setBounds(145, 126, 350, 20); + panel_1.add(EMail); + + JPanel panel = new JPanel(); + panel.setBounds(10, 402, 577, 33); + contentPanel.add(panel); + panel.setLayout(null); + panel.setBorder(new EmptyBorder(5, 5, 5, 5)); + panel.setBackground(SystemColor.menu); + + JLabel lblHauptmen = new JLabel("Hauptmen\u00FC"); + lblHauptmen.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent arg0) { + + CreateLectureAllgemein_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("Neu"); + lblNewLabel_1.setBounds(146, 11, 46, 14); + contentPanel.add(lblNewLabel_1); + + JPanel panel_2 = new JPanel(); + panel_2.setLayout(null); + panel_2.setBorder(new TitledBorder(null, "Veranstaltungsdaten", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_2.setBackground(SystemColor.menu); + panel_2.setBounds(10, 36, 557, 284); + contentPanel.add(panel_2); + + JLabel label_3 = new JLabel("Laborname (Anzeigename): *"); + label_3.setBounds(10, 25, 180, 14); + panel_2.add(label_3); + + txtFldVeranstaltungsname = new JTextField(); + txtFldVeranstaltungsname.setColumns(10); + txtFldVeranstaltungsname.setBounds(200, 22, 347, 20); + txtFldVeranstaltungsname.setText(Lecture.lecture.getName()); + panel_2.add(txtFldVeranstaltungsname); + + JTextArea textArea = new JTextArea(); + textArea.setEditable(false); + textArea.setWrapStyleWord(true); + textArea.setText("Geben Sie bitte einen sprechenden Namen f\u00FCr das Image an. Dieser soll jedoch recht allgemein gehalten werden.\r\nBeispiel: \"Programmieren\", nicht \"Programmieren 1\""); + textArea.setLineWrap(true); + textArea.setFont(new Font("Tahoma", Font.PLAIN, 12)); + textArea.setBackground(SystemColor.menu); + textArea.setBounds(10, 49, 537, 49); + panel_2.add(textArea); + + JLabel lblDesc = new JLabel("Beschreibung: *"); + lblDesc.setBounds(10, 111, 180, 14); + panel_2.add(lblDesc); + + ScrollPane scrollPane = new ScrollPane(); + scrollPane.setBounds(200, 104, 347, 78); + panel_2.add(scrollPane); + description = new JTextArea(); + description.setFont(new Font("Tahoma", Font.PLAIN, 11)); + description.setLineWrap(true); + description.setText(Lecture.lecture.getDesc()); + scrollPane.add(description); + description.setBounds(0, 0, 4, 22); + scrollPane.add(description); + + dateChooserend = new JDateChooser(); + endDate = addDays(new Date(), maxLifeTime); // Datum darf weiter als 6 + // Monate in der Zukunft + // liegen + dateChooserend.setDate(endDate); + if (Lecture.lecture.getEnddate() == null) { + // is not defined yet + dateChooserend.setDate(endDate); + } else { + // already defined from last visit on this page + dateChooserend.setDate(Lecture.lecture.getEnddate()); + } + dateChooserend.setDateFormatString("yyyy-MM-dd hh:mm:ss"); + dateChooserend.setBounds(404, 188, 143, 20); + panel_2.add(dateChooserend); + + JLabel lblBis = new JLabel("bis:"); + lblBis.setBounds(378, 188, 21, 20); + panel_2.add(lblBis); + + dateChooserstart = new JDateChooser(); + if (Lecture.lecture.getStartdate() == null) { + // is not defined yet + dateChooserstart.setDate(startDate); + } else { + // already defined from last visit on this page + dateChooserstart.setDate(Lecture.lecture.getStartdate()); + } + dateChooserstart.setDateFormatString("yyyy-MM-dd hh:mm:ss"); + dateChooserstart.setBounds(226, 188, 143, 20); + panel_2.add(dateChooserstart); + + JLabel label_6 = new JLabel("von:"); + label_6.setBounds(200, 188, 30, 20); + panel_2.add(label_6); + + JLabel label_10 = new JLabel("G\u00FCltigkeitsdatum: *"); + label_10.setBounds(10, 194, 127, 14); + panel_2.add(label_10); + + JLabel label_11 = new JLabel("Aktiv:"); + label_11.setBounds(10, 229, 127, 14); + panel_2.add(label_11); + + radioButtonyes = new JRadioButton("Ja"); + radioButtonyes.setSelected(true); + radioButtonyes.setBounds(200, 225, 73, 23); + panel_2.add(radioButtonyes); + + radioButtonno = new JRadioButton("Nein"); + radioButtonyes.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + radioButtonyes.setSelected(true); + radioButtonno.setSelected(false); + } + }); + radioButtonno.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + radioButtonno.setSelected(true); + radioButtonyes.setSelected(false); + } + }); + radioButtonno.setBounds(296, 225, 73, 23); + panel_2.add(radioButtonno); + + JLabel lblimVmchooserSichtbar = new JLabel("(im VMChooser sichtbar)"); + lblimVmchooserSichtbar.setBounds(10, 245, 127, 14); + panel_2.add(lblimVmchooserSichtbar); + + JLabel lblmaxMonate = new JLabel("(max. 6 Monate)"); + lblmaxMonate.setBounds(10, 208, 127, 14); + panel_2.add(lblmaxMonate); + { + JPanel buttonPane = new JPanel(); + buttonPane.setBounds(0, 640, 597, 33); + buttonPane.setBackground(SystemColor.menu); + buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); + getContentPane().add(buttonPane); + { + JButton backButton = new JButton("Zur\u00FCck"); + backButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + if (radioButtonyes.isSelected() == true) { + Lecture.lecture.setActive(true); + } else { + Lecture.lecture.setActive(false); + } + + Lecture.lecture.setName(txtFldVeranstaltungsname + .getText()); + Lecture.lecture.setDesc(description.getText()); + Lecture.lecture.setEnddate(dateChooserend.getDate()); + Lecture.lecture.setStartdate(dateChooserstart.getDate()); + Image.image.setImagename(txtFldVeranstaltungsname + .getText()); + + MainMenue_GUI sr = new MainMenue_GUI(); + sr.setVisible(true); + dispose(); + } + }); + backButton.setActionCommand("Cancel"); + buttonPane.add(backButton); + getRootPane().setDefaultButton(backButton); + } + { + JButton continueButton = new JButton("Weiter"); + continueButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + // liegt das End-Datum vor dem Start-Datum? + if (dateChooserend.getDate().before( + dateChooserstart.getDate())) { + // datum ist falsch rum + isDateOrderCorrect = false; + JOptionPane + .showMessageDialog( + null, + "Das End-Datum liegt vor dem Start-Datum. Bitte ändern.", + "Datum fehlerhaft", + JOptionPane.INFORMATION_MESSAGE); + } else { + // bereit + isDateOrderCorrect = true; + } + // liegt das eingegebene Datum nach dem erlaubten + // End-Datum? + if (dateChooserend.getDate().after(endDate)) { + // Datum zu weit weg + isDateMaxLifeTimeCorrect = false; + JOptionPane.showMessageDialog(null, + "Das End-Datum liegt zu weit in der Zukunft. Erlaubt ist maximal:\n" + + endDate, "Datum fehlerhaft", + JOptionPane.INFORMATION_MESSAGE); + dateChooserend.setDate(endDate); //setze Datum auf maximum + } else { + // bereit + isDateMaxLifeTimeCorrect = true; + } + // Prüfen ob alles eingegeben wurde + if (txtFldVeranstaltungsname.getText().isEmpty() == true + || description.getText().isEmpty() == true) { + // mind 1 Textfeld ist leer + isAllInformationReady = false; + JOptionPane + .showMessageDialog( + null, + "Bitte geben Sie einen Veranstaltungsnamen und eine Beschreibung ein.", + "Datum fehlerhaft", + JOptionPane.INFORMATION_MESSAGE); + } else { + // Textfelder bereit + isAllInformationReady = true; + } + + // welcher Radiobutton ist geklickt? + if (radioButtonyes.isSelected() == true) { + Lecture.lecture.setActive(true); + } else { + Lecture.lecture.setActive(false); + } + // Prüfe ob alle Eingaben korrekt sind, dann mache + // weiter + if (isAllInformationReady == true + && isDateMaxLifeTimeCorrect == true + && isDateOrderCorrect == true) { + // everything is ok, proceed + Lecture.lecture.setName(txtFldVeranstaltungsname + .getText()); + Lecture.lecture.setDesc(description.getText()); + Lecture.lecture.setEnddate(dateChooserend.getDate()); + Lecture.lecture.setStartdate(dateChooserstart + .getDate()); + Image.image.setImagename(txtFldVeranstaltungsname + .getText()); + + CreateLectureLink_GUI ev = new CreateLectureLink_GUI(); + ev.setVisible(true); + dispose(); + } + + } + }); + continueButton.setActionCommand("OK"); + buttonPane.add(continueButton); + } + } + + 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); + + JLabel lblPflichtfelder = new JLabel("* Pflichtfelder"); + lblPflichtfelder.setBounds(32, 602, 136, 14); + getContentPane().add(lblPflichtfelder); + + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + + JMenu mnNewMenu = new JMenu("Suchen"); + menuBar.add(mnNewMenu); + + JMenuItem mntmVlSuche = new JMenuItem("VL Suche"); + mnNewMenu.add(mntmVlSuche); + + 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); + + } + + public Date addDays(Date date, int days) { + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + cal.add(Calendar.DATE, days); // minus number would decrement the days + return cal.getTime(); + } +} diff --git a/Dozentenmodul/src/gui/lecture/CreateLectureLink_GUI.java b/Dozentenmodul/src/gui/lecture/CreateLectureLink_GUI.java new file mode 100644 index 00000000..2243fd43 --- /dev/null +++ b/Dozentenmodul/src/gui/lecture/CreateLectureLink_GUI.java @@ -0,0 +1,496 @@ +package gui.lecture; + +import gui.intro.MainMenue_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.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +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.JOptionPane; +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.UIManager; +import javax.swing.UnsupportedLookAndFeelException; +import javax.swing.border.EmptyBorder; +import javax.swing.border.TitledBorder; +import javax.swing.table.DefaultTableModel; +import models.Lecture; +import models.person; +import org.apache.thrift.TException; +import server.Server.Client; +import thrift.ThriftConnection; + +@SuppressWarnings("serial") +public class CreateLectureLink_GUI extends JFrame { + + private final JPanel contentPanel = new JPanel(); + String[] result; + JRadioButton rdbtnInternetJa; + JRadioButton rdbtnInternetNein; + JComboBox<String> comboBox; + JTable tableAllImages = new JTable(); + JTable tablemyImages = new JTable(); + JTable tableCoopImages = new JTable(); + JTable tablePublicImages = new JTable(); + JTable tablePublicVorlagen = new JTable(); + private JTextField textFieldName; + String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", + "Verantwortlicher", "Letztes Update", "Schlagwort" }; + ThriftConnection con = new ThriftConnection(); + Client client = con.getThriftConnection(); + + /** + * Launch the application. + */ + public static void main(String[] args) { + try { + CreateLectureLink_GUI dialog = new CreateLectureLink_GUI(); + dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); + dialog.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * Create the dialog. + */ + public CreateLectureLink_GUI() { + addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent arg0) { + System.exit(0); + } + + @Override + public void windowOpened(WindowEvent arg0) { + textFieldName.requestFocusInWindow(); + } + }); + setResizable(false); + + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (ClassNotFoundException | InstantiationException + | IllegalAccessException | UnsupportedLookAndFeelException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + setTitle("bwLehrpool Suite *Prototyp*"); + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + int top = (screenSize.height - 603) / 2; + int left = (screenSize.width - 722) / 2; + setBounds(left, top, 603, 722); + + final DefaultTableModel modelAll = new DefaultTableModel(titles, 0); + 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("Image zur Verlinkung ausw\u00E4hlen"); + 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("W\u00E4hlen Sie bitte ein Image aus, auf dem Ihre Versanstaltung basiert."); + 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(); + textFieldName.addKeyListener(new KeyAdapter() { + @Override + public void keyReleased(KeyEvent e) { + String stext = textFieldName.getText(); + modelAll.setRowCount(0); + initTableModel(modelAll); + + if (stext != "") + for (int i = 0; i < modelAll.getRowCount(); i++) { + + if (modelAll.getValueAt(i, 0).toString() + .startsWith(stext)) { + + } else { + modelAll.removeRow(i); + } + } + + } + + }); + + 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) { + ExtendedSearchForImages_GUI es = new ExtendedSearchForImages_GUI(); + es.setVisible(true); + } + }); + lblErweiterteSuche.setForeground(Color.BLUE); + + lblErweiterteSuche.setBounds(431, 106, 89, 14); + panel_1.add(lblErweiterteSuche); + + comboBox = new JComboBox<String>(); + try { + List<String> list = client.getAllOS(); + comboBox.addItem(""); + for (int i = 0; i < list.size(); i++) { + comboBox.addItem(list.get(i)); + } + } catch (TException e2) { + // TODO Auto-generated catch block + e2.printStackTrace(); + } + comboBox.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + modelAll.setRowCount(0); + initTableModel(modelAll); + String selItem = comboBox.getSelectedItem().toString(); + if (selItem != "") { + for (int i = 0; i < modelAll.getRowCount(); i++) { + + if (modelAll.getValueAt(i, 2).equals(selItem)) { + + } else { + modelAll.removeRow(i); + } + } + + } + } + }); + 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) { + + CreateLectureLink_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("Veranstaltung"); + lblVlimage.setForeground(Color.BLUE); + lblVlimage.setBounds(81, 11, 76, 14); + contentPanel.add(lblVlimage); + + JLabel label_2 = new JLabel(">"); + label_2.setBounds(151, 11, 13, 14); + contentPanel.add(label_2); + + JLabel lblNewLabel_1 = new JLabel("Imageauswahl"); + lblNewLabel_1.setBounds(164, 11, 85, 14); + contentPanel.add(lblNewLabel_1); + + JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP); + + tabbedPane.setBounds(10, 197, 557, 300); + contentPanel.add(tabbedPane); + + JScrollPane scrollPaneMyImage = new JScrollPane(); + + tablemyImages.setModel(model); + 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(); + + 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(); + + scrollPaneAllImages.setViewportView(tableAllImages); + tabbedPane.addTab("Alle", null, scrollPaneAllImages, null); + + scrollPaneMyImage.setViewportView(tablemyImages); + tabbedPane.addTab("Meine Images", null, scrollPaneMyImage, null); + + JScrollPane scrollPaneCoopImages = new JScrollPane(); + + 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(); + + 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(); + + 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); + + initTableModel(modelAll); + { + JPanel buttonPane = new JPanel(); + buttonPane.setBounds(0, 640, 597, 33); + buttonPane.setBackground(SystemColor.menu); + buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); + getContentPane().add(buttonPane); + { + JButton cancelButton = new JButton("Zur\u00FCck"); + cancelButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + con.closeThriftConnection(); + CreateLectureAllgemein_GUI eVAG = new CreateLectureAllgemein_GUI(); + eVAG.setVisible(true); + dispose(); + } + }); + cancelButton.setActionCommand("CANCEL"); + buttonPane.add(cancelButton); + getRootPane().setDefaultButton(cancelButton); + } + { + JButton doLinkButton = new JButton( + "Veranstaltung erzeugen und abschlie\u00DFen"); + doLinkButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + + // check if a row is selected + if ((tableAllImages.getSelectedRow() != -1) + || (tablemyImages.getSelectedRow() != -1) + || (tableCoopImages.getSelectedRow() != -1) + || (tablePublicImages.getSelectedRow() != -1) + || (tablePublicVorlagen.getSelectedRow() != -1)) { + + // a row is selected, do operations + String imagename = tableAllImages.getValueAt( + tableAllImages.getSelectedRow(), 0) + .toString(); + try { + DateFormat formatter = new SimpleDateFormat( + "yyyy-MM-dd hh:mm:ss"); + System.out.println("Veranstaltung angelegt um: " + + formatter.format( + Lecture.lecture.getStartdate()) + .toString()); + client.writeLecturedata( + Lecture.lecture.getName(), + Lecture.lecture.getShortDesc(), + Lecture.lecture.getDesc(), + formatter.format( + Lecture.lecture.getStartdate()) + .toString(), + formatter.format( + Lecture.lecture.getEnddate()) + .toString(), + Lecture.lecture.isActive(), + imagename, + person.verantwortlicher.getVorname(), + person.verantwortlicher.getName(), + person.verantwortlicher.getHochschule(), + person.verantwortlicher.getEMail(), + person.verantwortlicher.getTel(), + person.verantwortlicher.getFakultät()); + JOptionPane + .showMessageDialog( + null, + "Ihre Veranstaltung wurde erfolgreich angelegt. Sie kehren nun zum Hauptmenü zurück.", + "Veranstaltung angelegt", + JOptionPane.INFORMATION_MESSAGE); + // zurück zum Menü + MainMenue_GUI m = new MainMenue_GUI(); + m.setVisible(true); + } catch (TException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + JOptionPane + .showMessageDialog( + null, + "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", + "Error", + JOptionPane.ERROR_MESSAGE); + } + con.closeThriftConnection(); + dispose(); + + } else { + // nothing selected + JOptionPane.showMessageDialog(null, + "Bitte wählen Sie ein Image aus.", + "Image Auswahl", + JOptionPane.INFORMATION_MESSAGE); + } + + } + }); + doLinkButton.setActionCommand("OK"); + buttonPane.add(doLinkButton); + } + } + + 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 = new JMenu("Suchen"); + menuBar.add(mnNewMenu); + + JMenuItem mntmVlSuche = new JMenuItem("VL Suche"); + mnNewMenu.add(mntmVlSuche); + + 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); + + } + + public DefaultTableModel initTableModel(DefaultTableModel model) { + List<server.Image> images; + try { + images = client.getImageList(); + Iterator<server.Image> i = images.iterator(); + List<Object[]> ListObj = new ArrayList<Object[]>(); + int x = 0; + + while (i.hasNext()) { + + i.next(); + 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() + }; + ListObj.add(obj); + model.addRow(ListObj.get(x)); + x++; + + } + + return model; + } catch (TException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + return model; + } + +} diff --git a/Dozentenmodul/src/gui/EingabeVeranstaltungAllgemein_GUI.java b/Dozentenmodul/src/gui/lecture/EditLectureAllgemein_GUI.java index 86052152..115a9f1f 100644 --- a/Dozentenmodul/src/gui/EingabeVeranstaltungAllgemein_GUI.java +++ b/Dozentenmodul/src/gui/lecture/EditLectureAllgemein_GUI.java @@ -1,6 +1,8 @@ -package gui; +package gui.lecture; +import gui.intro.MainMenue_GUI; + import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; @@ -21,7 +23,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.JTextField; @@ -31,11 +32,18 @@ import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; +import models.Image; +import models.Lecture; import models.person; +import javax.swing.JTextArea; +import java.awt.ScrollPane; +import com.toedter.calendar.JDateChooser; +import javax.swing.JRadioButton; +import javax.swing.ButtonGroup; @SuppressWarnings("serial") -public class EingabeVeranstaltungAllgemein_GUI extends JFrame { +public class EditLectureAllgemein_GUI extends JFrame { private final JPanel contentPanel = new JPanel(); String[] result; @@ -43,12 +51,19 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { private JTextField Nachname; private JTextField Hochschule; private JTextField EMail; + private JTextField textFieldLaborname; + JTextArea description; + JRadioButton radioButtonyes; + JDateChooser dateChooserend; + JDateChooser dateChooserstart; + JRadioButton radioButtonno; + private final ButtonGroup buttonGroup = new ButtonGroup(); /** * Launch the application. */ public static void main(String[] args) { try { - EingabeVeranstaltungAllgemein_GUI dialog = new EingabeVeranstaltungAllgemein_GUI(); + EditLectureAllgemein_GUI dialog = new EditLectureAllgemein_GUI(); dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); dialog.setVisible(true); } catch (Exception e) { @@ -59,7 +74,7 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { /** * Create the dialog. */ - public EingabeVeranstaltungAllgemein_GUI() { + public EditLectureAllgemein_GUI() { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { @@ -99,7 +114,7 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { txtpnBitteWhlenSie.setEditable(false); txtpnBitteWhlenSie.setBackground(SystemColor.menu); txtpnBitteWhlenSie.setText("Geben Sie hier bitte einen sprechenden Imagename sowie Ihre Kontaktdaten an"); - txtpnBitteWhlenSie.setBounds(10, 36, 509, 32); + txtpnBitteWhlenSie.setBounds(10, 36, 509, 21); panel.add(txtpnBitteWhlenSie); } contentPanel.setBounds(10, 85, 577, 493); @@ -111,7 +126,7 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); panel_1.setBorder(new TitledBorder(null, "Informationen zum Besitzer", TitledBorder.LEADING, TitledBorder.TOP, null, null)); - panel_1.setBounds(10, 66, 557, 369); + panel_1.setBounds(10, 331, 557, 162); contentPanel.add(panel_1); panel_1.setLayout(null); @@ -121,8 +136,10 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { panel_1.add(label); Vorname = new JTextField(); + Vorname.setEditable(false); + Vorname.setEnabled(false); + Vorname.setText(person.verantwortlicher.getVorname()); Vorname.setBackground(Color.WHITE); - Vorname.setText((String) null); Vorname.setColumns(10); Vorname.setBounds(145, 33, 350, 20); panel_1.add(Vorname); @@ -133,8 +150,10 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { panel_1.add(label_7); Nachname = new JTextField(); + Nachname.setEnabled(false); + Nachname.setEditable(false); + Nachname.setText(person.verantwortlicher.getName()); Nachname.setBackground(Color.WHITE); - Nachname.setText((String) null); Nachname.setColumns(10); Nachname.setBounds(145, 64, 350, 20); panel_1.add(Nachname); @@ -145,8 +164,10 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { panel_1.add(label_8); Hochschule = new JTextField(); + Hochschule.setEnabled(false); + Hochschule.setEditable(false); + Hochschule.setText(person.verantwortlicher.getHochschule()); Hochschule.setBackground(Color.WHITE); - Hochschule.setText((String) null); Hochschule.setColumns(10); Hochschule.setBounds(145, 95, 350, 20); panel_1.add(Hochschule); @@ -157,8 +178,10 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { panel_1.add(label_9); EMail = new JTextField(); + EMail.setEnabled(false); + EMail.setEditable(false); + EMail.setText(person.verantwortlicher.getEMail()); EMail.setBackground(Color.WHITE); - EMail.setText((String) null); EMail.setColumns(10); EMail.setBounds(145, 126, 350, 20); panel_1.add(EMail); @@ -170,16 +193,12 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { panel.setBorder(new EmptyBorder(5, 5, 5, 5)); panel.setBackground(SystemColor.menu); - JLabel lblPflichtfelder = new JLabel("* Pflichtfelder"); - lblPflichtfelder.setBounds(10, 442, 136, 14); - contentPanel.add(lblPflichtfelder); - JLabel lblHauptmen = new JLabel("Hauptmen\u00FC"); lblHauptmen.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - EingabeVeranstaltungAllgemein_GUI.this.setVisible(false); + EditLectureAllgemein_GUI.this.setVisible(false); MainMenue_GUI main=new MainMenue_GUI(); main.setVisible(true); } @@ -204,6 +223,96 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { JLabel lblNewLabel_1 = new JLabel("Neu"); lblNewLabel_1.setBounds(146, 11, 46, 14); contentPanel.add(lblNewLabel_1); + + JPanel panel_2 = new JPanel(); + panel_2.setLayout(null); + panel_2.setBorder(new TitledBorder(null, "Veranstaltungsdaten", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_2.setBackground(SystemColor.menu); + panel_2.setBounds(10, 36, 557, 284); + contentPanel.add(panel_2); + + JLabel label_3 = new JLabel("Laborname (Anzeigename): *"); + label_3.setBounds(10, 25, 180, 14); + panel_2.add(label_3); + + textFieldLaborname = new JTextField(); + textFieldLaborname.setText(Lecture.lecture.getName()); + textFieldLaborname.setColumns(10); + textFieldLaborname.setBounds(200, 22, 347, 20); + panel_2.add(textFieldLaborname); + + JTextArea textArea = new JTextArea(); + textArea.setWrapStyleWord(true); + textArea.setText("Geben Sie bitte einen sprechenden Namen f\u00FCr das Image an. Dieser soll jedoch recht allgemein gehalten werden.\r\nBeispiel: \"Programmieren\", nicht \"Programmieren 1\""); + textArea.setLineWrap(true); + textArea.setFont(new Font("Tahoma", Font.PLAIN, 12)); + textArea.setBackground(SystemColor.menu); + textArea.setBounds(10, 49, 537, 49); + panel_2.add(textArea); + + JLabel label_4 = new JLabel("Beschreibung: *"); + label_4.setBounds(10, 111, 180, 14); + panel_2.add(label_4); + + ScrollPane scrollPane = new ScrollPane(); + scrollPane.setBounds(200, 104, 347, 78); + panel_2.add(scrollPane); + description = new JTextArea(); + description.setText(Lecture.lecture.getDesc()); + description.setLineWrap(true); + scrollPane.add(description); + description.setBounds(0, 0, 4, 22); + scrollPane.add(description); + + dateChooserend = new JDateChooser(); + dateChooserend.setDateFormatString("dd-MM-yyyy hh:mm:ss"); + dateChooserend.setDate(Lecture.lecture.getEnddate()); + dateChooserend.setBounds(385, 188, 100, 20); + panel_2.add(dateChooserend); + + JLabel label_5 = new JLabel("bis"); + label_5.setBounds(351, 188, 24, 20); + panel_2.add(label_5); + + dateChooserstart = new JDateChooser(); + dateChooserstart.setDateFormatString("yyyy-MM-dd hh:mm:ss"); + dateChooserstart.setDate(Lecture.lecture.getStartdate()); + dateChooserstart.setBounds(240, 188, 101, 20); + panel_2.add(dateChooserstart); + + JLabel label_6 = new JLabel("von:"); + label_6.setBounds(200, 188, 30, 20); + panel_2.add(label_6); + + JLabel label_10 = new JLabel("G\u00FCltigkeitsdatum: *"); + label_10.setBounds(10, 188, 250, 14); + panel_2.add(label_10); + + JLabel label_11 = new JLabel("Aktiv:"); + label_11.setBounds(10, 229, 250, 14); + panel_2.add(label_11); + + radioButtonyes = new JRadioButton("Ja"); + buttonGroup.add(radioButtonyes); + if(Lecture.lecture.isActive()==true) + { + radioButtonyes.setSelected(true); + }else + { + radioButtonno.setSelected(true); + } + + radioButtonyes.setBounds(240, 225, 109, 23); + panel_2.add(radioButtonyes); + + radioButtonno = new JRadioButton("Nein"); + buttonGroup.add(radioButtonno); + radioButtonno.setBounds(385, 225, 109, 23); + panel_2.add(radioButtonno); + + JLabel label_12 = new JLabel("(Im VMChooser sichtbar)"); + label_12.setBounds(10, 254, 250, 14); + panel_2.add(label_12); { JPanel buttonPane = new JPanel(); buttonPane.setBounds(0, 640, 597, 33); @@ -214,13 +323,20 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { JButton okButton = new JButton("Zur\u00FCck"); okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - person.verantowrtlicher.setVorname(Vorname.getText()); - person.verantowrtlicher.setName(Nachname.getText()); - person.verantowrtlicher.setEMail(EMail.getText()); - - person.verantowrtlicher.setHochschule(Hochschule.getText()); - + if(radioButtonyes.isSelected()==true) + { + Lecture.lecture.setActive(true); + } + else + { + Lecture.lecture.setActive(false); + } + Lecture.lecture.setName(textFieldLaborname.getText()); + Lecture.lecture.setDesc(description.getText()); + Lecture.lecture.setEnddate(dateChooserend.getDate()); + Lecture.lecture.setStartdate(dateChooserstart.getDate()); + Image.image.setImagename(textFieldLaborname.getText()); MainMenue_GUI sr=new MainMenue_GUI(); sr.setVisible(true); @@ -235,23 +351,26 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { JButton cancelButton = new JButton("Weiter"); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - if(Vorname.getText().isEmpty()==false && Nachname.getText().isEmpty()==false && Hochschule.getText().isEmpty()==false&&EMail.getText().isEmpty()==false) + if(radioButtonyes.isSelected()==true) { - person.verantowrtlicher.setVorname(Vorname.getText()); - person.verantowrtlicher.setName(Nachname.getText()); - person.verantowrtlicher.setEMail(EMail.getText()); - - person.verantowrtlicher.setHochschule(Hochschule.getText()); - - - EingabeVeranstatlungTechnisch_GUI ea=new EingabeVeranstatlungTechnisch_GUI(); - ea.setVisible(true); - dispose(); + Lecture.lecture.setActive(true); } - else{ - JOptionPane.showMessageDialog(null, "Bitte geben Sie alle notwendigen Daten an!", - "Error", JOptionPane.ERROR_MESSAGE); + else + { + Lecture.lecture.setActive(false); } + + Lecture.lecture.setName(textFieldLaborname.getText()); + Lecture.lecture.setNewName(textFieldLaborname.getText()); + Lecture.lecture.setDesc(description.getText()); + Lecture.lecture.setEnddate(dateChooserend.getDate()); + Lecture.lecture.setStartdate(dateChooserstart.getDate()); + Image.image.setImagename(textFieldLaborname.getText()); + + + EditLectureLink_GUI ev=new EditLectureLink_GUI(); + ev.setVisible(true); + dispose(); } }); cancelButton.setActionCommand("Cancel"); @@ -267,6 +386,10 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { separator_1.setBounds(0, 627, 597, 2); getContentPane().add(separator_1); + JLabel lblPflichtfelder = new JLabel("* Pflichtfelder"); + lblPflichtfelder.setBounds(32, 602, 136, 14); + getContentPane().add(lblPflichtfelder); + JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); @@ -286,4 +409,6 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { mnNewMenu_1.add(mntmOtrs); } -} + + +}
\ No newline at end of file diff --git a/Dozentenmodul/src/gui/LinkImage_GUI.java b/Dozentenmodul/src/gui/lecture/EditLectureLink_GUI.java index 38b3d5e3..c1fdec80 100644 --- a/Dozentenmodul/src/gui/LinkImage_GUI.java +++ b/Dozentenmodul/src/gui/lecture/EditLectureLink_GUI.java @@ -1,6 +1,6 @@ -package gui; - +package gui.lecture; +import gui.intro.MainMenue_GUI; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; @@ -20,7 +20,6 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Iterator; import java.util.List; - import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JDialog; @@ -29,6 +28,7 @@ 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.JRadioButton; import javax.swing.JScrollPane; @@ -42,36 +42,37 @@ import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import javax.swing.table.DefaultTableModel; - import models.Lecture; import models.person; - import org.apache.thrift.TException; - import server.Server.Client; import thrift.ThriftConnection; @SuppressWarnings("serial") -public class LinkImage_GUI extends JFrame { +public class EditLectureLink_GUI extends JFrame { private final JPanel contentPanel = new JPanel(); String[] result; JRadioButton rdbtnInternetJa; JRadioButton rdbtnInternetNein; JComboBox<String> comboBox; - JTable tableAllImages; + JTable tableAllImages = new JTable(); + JTable tablemyImages = new JTable(); + JTable tableCoopImages = new JTable(); + JTable tablePublicImages = new JTable(); + JTable tablePublicVorlagen = new JTable(); private JTextField textFieldName; - String[] titles= {"Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", "Verantwortlicher", "Letztes Update", "Schlagwort"}; - ThriftConnection thrift=new ThriftConnection(); - Client client=thrift.getThriftConnection(); + String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", + "Verantwortlicher", "Letztes Update", "Schlagwort", "ID", "Version" }; + ThriftConnection thrift = new ThriftConnection(); + Client client = thrift.getThriftConnection(); - /** * Launch the application. */ public static void main(String[] args) { try { - LinkImage_GUI dialog = new LinkImage_GUI(); + EditLectureLink_GUI dialog = new EditLectureLink_GUI(); dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); dialog.setVisible(true); } catch (Exception e) { @@ -82,7 +83,7 @@ public class LinkImage_GUI extends JFrame { /** * Create the dialog. */ - public LinkImage_GUI() { + public EditLectureLink_GUI() { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { @@ -90,7 +91,7 @@ public class LinkImage_GUI extends JFrame { } }); setResizable(false); - + try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException @@ -100,15 +101,13 @@ public class LinkImage_GUI extends JFrame { } setTitle("bwLehrpool Suite *Prototyp*"); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); - int top=(screenSize.height - 603) / 2; - int left=(screenSize.width - 722) / 2; + int top = (screenSize.height - 603) / 2; + int left = (screenSize.width - 722) / 2; setBounds(left, top, 603, 722); - - final DefaultTableModel modelAll = new DefaultTableModel( titles, 0 ); - final DefaultTableModel model = new DefaultTableModel( titles, 0 ); - - + final DefaultTableModel modelAll = new DefaultTableModel(titles, 0); + final DefaultTableModel model = new DefaultTableModel(titles, 0); + getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -117,16 +116,18 @@ public class LinkImage_GUI extends JFrame { getContentPane().add(panel); panel.setLayout(null); { - JLabel lblNewLabel = new JLabel("Suche nach VL-Image"); + JLabel lblNewLabel = new JLabel( + "Image zur Verlinkung ausw\u00E4hlen"); 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 + .setText("W\u00E4hlen Sie bitte ein Image aus, auf dem Ihre Versanstaltung basiert."); txtpnBitteWhlenSie.setBounds(10, 36, 509, 32); panel.add(txtpnBitteWhlenSie); } @@ -135,72 +136,70 @@ public class LinkImage_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, "Filterfunktionen", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + 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(); textFieldName.addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { - String stext=textFieldName.getText(); + String stext = textFieldName.getText(); modelAll.setRowCount(0); initTableModel(modelAll); - - if(stext!="") - for(int i=0;i<modelAll.getRowCount();i++){ - - if(modelAll.getValueAt(i, 0).toString().startsWith(stext)){ - - } - else - { - modelAll.removeRow(i); + + if (stext != "") + for (int i = 0; i < modelAll.getRowCount(); i++) { + + if (modelAll.getValueAt(i, 0).toString() + .startsWith(stext)) { + + } else { + modelAll.removeRow(i); + } } - } - - + } - - + }); textFieldName.setBounds(270, 30, 250, 20); panel_1.add(textFieldName); textFieldName.setColumns(10); - - JLabel lblErweiterteSuche = new JLabel("<html><u>Erweiterte Suche</u></html>"); + + JLabel lblErweiterteSuche = new JLabel( + "<html><u>Erweiterte Suche</u></html>"); lblErweiterteSuche.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - ExtendedSearch_GUI es=new ExtendedSearch_GUI(); + ExtendedSearchForImages_GUI es = new ExtendedSearchForImages_GUI(); es.setVisible(true); } }); lblErweiterteSuche.setForeground(Color.BLUE); - + lblErweiterteSuche.setBounds(431, 106, 89, 14); panel_1.add(lblErweiterteSuche); - + comboBox = new JComboBox<String>(); try { - List<String> list=client.getAllOS(); + List<String> list = client.getAllOS(); comboBox.addItem(""); - for(int i=0;i<list.size();i++) - { - comboBox.addItem(list.get(i)); + for (int i = 0; i < list.size(); i++) { + comboBox.addItem(list.get(i)); } } catch (TException e2) { // TODO Auto-generated catch block @@ -210,91 +209,84 @@ public class LinkImage_GUI extends JFrame { public void actionPerformed(ActionEvent arg0) { modelAll.setRowCount(0); initTableModel(modelAll); - String selItem=comboBox.getSelectedItem().toString(); - if(selItem!="") - { - for(int i=0;i<modelAll.getRowCount();i++){ - - if(modelAll.getValueAt(i, 2).equals(selItem)){ - - } - else - { - modelAll.removeRow(i); + String selItem = comboBox.getSelectedItem().toString(); + if (selItem != "") { + for (int i = 0; i < modelAll.getRowCount(); i++) { + + if (modelAll.getValueAt(i, 2).equals(selItem)) { + + } else { + modelAll.removeRow(i); + } } + } - - - } } }); 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) { - - LinkImage_GUI.this.setVisible(false); - MainMenue_GUI main=new MainMenue_GUI(); + + EditLectureLink_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"); + + JLabel lblVlimage = new JLabel("Veranstaltung"); lblVlimage.setForeground(Color.BLUE); - lblVlimage.setBounds(81, 11, 45, 14); + lblVlimage.setBounds(81, 11, 76, 14); contentPanel.add(lblVlimage); - + JLabel label_2 = new JLabel(">"); - label_2.setBounds(133, 11, 13, 14); + label_2.setBounds(151, 11, 13, 14); contentPanel.add(label_2); - - JLabel lblNewLabel_1 = new JLabel("Imageauswahl"); - lblNewLabel_1.setBounds(146, 11, 85, 14); + + JLabel lblNewLabel_1 = new JLabel("Veranstaltung verlinken"); + lblNewLabel_1.setBounds(164, 11, 113, 14); contentPanel.add(lblNewLabel_1); - + JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP); tabbedPane.setBounds(10, 197, 557, 300); contentPanel.add(tabbedPane); - + JScrollPane scrollPaneMyImage = new JScrollPane(); - JTable tablemyImages=new JTable(); + tablemyImages.setModel(model); 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(); - + 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(); - - - - scrollPaneAllImages.setViewportView(tableAllImages); - tabbedPane.addTab("Alle", null, scrollPaneAllImages, null); + + 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(); @@ -303,10 +295,12 @@ public class LinkImage_GUI extends JFrame { tableCoopImages.getColumnModel().getColumn(5).sizeWidthToFit(); scrollPaneCoopImages.setViewportView(tableCoopImages); - tabbedPane.addTab("Kooperative Images", null, scrollPaneCoopImages, null); - + 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(); @@ -315,10 +309,12 @@ public class LinkImage_GUI extends JFrame { tablePublicImages.getColumnModel().getColumn(5).sizeWidthToFit(); scrollPanePublicImages.setViewportView(tablePublicImages); - tabbedPane.addTab("\u00D6ffentliche Images", null, scrollPanePublicImages, null); - + 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(); @@ -327,9 +323,16 @@ public class LinkImage_GUI extends JFrame { tablePublicVorlagen.getColumnModel().getColumn(5).sizeWidthToFit(); scrollPanePublicVorlagen.setViewportView(tablePublicVorlagen); - tabbedPane.addTab("\u00D6ffentliche Vorlagen", null, scrollPanePublicVorlagen, null); - - initTableModel(modelAll); + tabbedPane.addTab("\u00D6ffentliche Vorlagen", null, + scrollPanePublicVorlagen, null); + tabbedPane.setEnabledAt(4, false); + + JButton btnLinkLschen = new JButton("Link l\u00F6schen"); + btnLinkLschen.setEnabled(false); + btnLinkLschen.setBounds(478, 508, 89, 23); + contentPanel.add(btnLinkLschen); + + initTableModel(modelAll); { JPanel buttonPane = new JPanel(); buttonPane.setBounds(0, 640, 597, 33); @@ -340,9 +343,9 @@ public class LinkImage_GUI extends JFrame { JButton okButton = new JButton("Zur\u00FCck"); okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - - MainMenue_GUI main=new MainMenue_GUI(); - main.setVisible(true); + + EditLectureAllgemein_GUI el = new EditLectureAllgemein_GUI(); + el.setVisible(true); dispose(); } }); @@ -351,75 +354,126 @@ public class LinkImage_GUI extends JFrame { getRootPane().setDefaultButton(okButton); } { - JButton cancelButton = new JButton("Veranstaltung erzeugen und abschlie\u00DFen"); + JButton cancelButton = new JButton( + "Veranstaltung ändern und abschlie\u00DFen"); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - - String imagename=tableAllImages.getValueAt(tableAllImages.getSelectedRow(), 0).toString(); - try { - DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); - System.out.println(formatter.format(Lecture.lecture.getStartdate()).toString()); - client.writeLecturedata(Lecture.lecture.getName(), Lecture.lecture.getShortDesc(), Lecture.lecture.getDesc(), formatter.format(Lecture.lecture.getStartdate()).toString(), formatter.format(Lecture.lecture.getEnddate()).toString(), Lecture.lecture.isActive(), imagename, person.verantowrtlicher.getVorname(), person.verantowrtlicher.getName(), person.verantowrtlicher.getHochschule(), person.verantowrtlicher.getEMail(), person.verantowrtlicher.getTel(), person.verantowrtlicher.getFakultät()); - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); + + // check if a row is selected + if ((tableAllImages.getSelectedRow() != -1) + || (tablemyImages.getSelectedRow() != -1) + || (tableCoopImages.getSelectedRow() != -1) + || (tablePublicImages.getSelectedRow() != -1) + || (tablePublicVorlagen.getSelectedRow() != -1)) { + + // a row is selected, do operations + String imagename = tableAllImages.getValueAt( + tableAllImages.getSelectedRow(), 0) + .toString(); + System.out.println("ID: "+Lecture.lecture.getid()); + + try { + + DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + System.out.println( formatter.format( + Lecture.lecture.getEnddate()) + .toString()); + client.updateLecturedata(Lecture.lecture.getName(), + Lecture.lecture.getNewName(), + Lecture.lecture.getShortDesc(), + Lecture.lecture.getDesc(), + formatter.format( + Lecture.lecture.getStartdate()) + .toString(), + formatter.format( + Lecture.lecture.getEnddate()) + .toString(), + Lecture.lecture.isActive(), + imagename, + person.verantwortlicher.getVorname(), + person.verantwortlicher.getName(), + person.verantwortlicher.getHochschule(), + person.verantwortlicher.getEMail(), + person.verantwortlicher.getTel(), + person.verantwortlicher.getFakultät(), + Lecture.lecture.getid()); + + } catch (TException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + + } else { + // nothing selected + JOptionPane.showMessageDialog(null, + "Bitte wählen Sie ein Image aus.", + "Image Auswahl", + JOptionPane.INFORMATION_MESSAGE); + } + MainMenue_GUI m = new MainMenue_GUI(); + m.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 = new JMenu("Suchen"); menuBar.add(mnNewMenu); - + JMenuItem mntmVlSuche = new JMenuItem("VL Suche"); mnNewMenu.add(mntmVlSuche); - + 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); - + } - - public DefaultTableModel initTableModel(DefaultTableModel model){ + + public DefaultTableModel initTableModel(DefaultTableModel model) { List<server.Image> images; try { images = client.getImageList(); - Iterator<server.Image> i=images.iterator(); + Iterator<server.Image> i = images.iterator(); List<Object[]> ListObj = new ArrayList<Object[]>(); - int x=0; - - while(i.hasNext()) - { - + int x = 0; + + while (i.hasNext()) { + i.next(); - Object [] obj={images.get(x).getImageName(),images.get(x).getLicenseRestriction(),images.get(x).getOsName(),images.get(x).getLectureName(),images.get(x).getUpdateTime(),images.get(x).getUserData()}; + 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(), "", images.get(x).id, + images.get(x).getVersion() }; ListObj.add(obj); model.addRow(ListObj.get(x)); x++; - + } - + return model; } catch (TException e1) { // TODO Auto-generated catch block @@ -427,7 +481,4 @@ public class LinkImage_GUI extends JFrame { } return model; } - - } - - +} diff --git a/Dozentenmodul/src/gui/lecture/EditLectureSearch_GUI.java b/Dozentenmodul/src/gui/lecture/EditLectureSearch_GUI.java new file mode 100644 index 00000000..ae50fa22 --- /dev/null +++ b/Dozentenmodul/src/gui/lecture/EditLectureSearch_GUI.java @@ -0,0 +1,529 @@ +package gui.lecture; + +import gui.image.EditImageAllgemein_GUI; +import gui.intro.MainMenue_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.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Iterator; +import java.util.List; +import javax.swing.JButton; +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.JOptionPane; +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.Lecture; +import models.person; +import org.apache.thrift.TException; +import server.Server.Client; +import thrift.ThriftConnection; + +@SuppressWarnings("serial") +public class EditLectureSearch_GUI extends JFrame { + + private final JPanel contentPanel = new JPanel(); + String[] result; + JRadioButton rdbtnInternetJa; + JRadioButton rdbtnInternetNein; + JTable tableAllLectures; + JTable tablemyLectures; + JTable tableCoopImages; + JTable tablePublicVorlagen; + JTable tablePublicImages; + private JTextField textFieldName; + JTabbedPane tabbedPane; + String[] titles = { "Veranstaltungsname", "Beschreibung", + "Gültigkeitsdatum", "Aktiv", "Letzte Benutzung", + "Verantwortlicher", "Image", "Schlagwort", "ID" }; + ThriftConnection con = new ThriftConnection(); + Client client = con.getThriftConnection(); + final DefaultTableModel modelAll = new DefaultTableModel(titles, 0); + final DefaultTableModel modelMyLectures = new DefaultTableModel(titles, 0); + final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>( + modelAll); + final TableRowSorter<TableModel> rowSorterMyLectures = new TableRowSorter<TableModel>( + modelMyLectures); + + /** + * Launch the application. + */ + public static void main(String[] args) { + try { + EditLectureSearch_GUI dialog = new EditLectureSearch_GUI(); + dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); + dialog.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * Create the dialog. + */ + public EditLectureSearch_GUI() { + addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent arg0) { + // Beendet die Anwendung nach klick auf X + con.closeThriftConnection(); + 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 Veranstaltung"); + 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); + + 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)); + rowSorterMyLectures.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 + con.closeThriftConnection(); + ExtendedSearchForImages_GUI es = new ExtendedSearchForImages_GUI(); + es.setVisible(true); + } + }); + lblErweiterteSuche.setForeground(Color.BLUE); + + lblErweiterteSuche.setBounds(431, 106, 89, 14); + panel_1.add(lblErweiterteSuche); + + JLabel lblHauptmen = new JLabel("Hauptmen\u00FC"); + lblHauptmen.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent arg0) { + // Öffnet das Hauptmenü + con.closeThriftConnection(); + EditLectureSearch_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("Veranstaltung"); + lblVlimage.setForeground(Color.BLUE); + lblVlimage.setBounds(81, 11, 75, 14); + contentPanel.add(lblVlimage); + + JLabel label_2 = new JLabel(">"); + label_2.setBounds(152, 11, 13, 14); + contentPanel.add(label_2); + + JLabel lblNewLabel_1 = new JLabel("Veranstaltungsauswahl"); + lblNewLabel_1.setBounds(166, 11, 128, 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) { + + String username = person.verantwortlicher.getName() + " " + + person.verantwortlicher.getVorname(); + rowSorterMyLectures.setRowFilter(RowFilter.regexFilter( + username, 5)); + } else if (tabbedPane.getSelectedIndex() == 1) { + + } + + } + }); + + tabbedPane.setBounds(10, 197, 557, 323); + contentPanel.add(tabbedPane); + initTableModel(modelMyLectures); + + JScrollPane scrollPaneAllImages = new JScrollPane(); + tableAllLectures = new JTable(); + tableAllLectures.setModel(modelAll); + tableAllLectures.getColumnModel().getColumn(1).sizeWidthToFit(); + tableAllLectures.getColumnModel().getColumn(2).sizeWidthToFit(); + tableAllLectures.getColumnModel().getColumn(3).sizeWidthToFit(); + tableAllLectures.getColumnModel().getColumn(4).sizeWidthToFit(); + tableAllLectures.getColumnModel().getColumn(5).sizeWidthToFit(); + initTableModel(modelAll); + + JScrollPane scrollPaneMyImage = new JScrollPane(); + tablemyLectures = new JTable(); + tablemyLectures.setModel(modelMyLectures); + + tablemyLectures.getColumnModel().getColumn(1).sizeWidthToFit(); + tablemyLectures.getColumnModel().getColumn(2).sizeWidthToFit(); + tablemyLectures.getColumnModel().getColumn(3).sizeWidthToFit(); + tablemyLectures.getColumnModel().getColumn(4).sizeWidthToFit(); + tablemyLectures.getColumnModel().getColumn(5).sizeWidthToFit(); + tablemyLectures.setRowSorter(rowSorterMyLectures); + + scrollPaneMyImage.setViewportView(tablemyLectures); + tabbedPane.addTab("Meine Veranstaltungen", null, scrollPaneMyImage, + null); + tableAllLectures.setRowSorter(rowSorterAll); + + scrollPaneAllImages.setViewportView(tableAllLectures); + tabbedPane.addTab("Alle", null, scrollPaneAllImages, null); + + JScrollPane scrollPaneCoopImages = new JScrollPane(); + 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 Veranstaltungen", null, + scrollPaneCoopImages, null); + tabbedPane.setEnabledAt(2, false); + + JScrollPane scrollPanePublicImages = new JScrollPane(); + 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(); + 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); + { + JPanel buttonPane = new JPanel(); + buttonPane.setBounds(0, 640, 597, 33); + buttonPane.setBackground(SystemColor.menu); + buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); + getContentPane().add(buttonPane); + { + JButton btnBack = new JButton("Zur\u00FCck"); + btnBack.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + // Öffnet das Hauptmenü + con.closeThriftConnection(); + MainMenue_GUI main = new MainMenue_GUI(); + main.setVisible(true); + dispose(); + } + }); + btnBack.setActionCommand("OK"); + buttonPane.add(btnBack); + getRootPane().setDefaultButton(btnBack); + } + { + JButton btnContinue = new JButton("Weiter"); + btnContinue.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + + System.out + .println("\ntableAllImages.getSelectedRow() = " + + tableAllLectures.getSelectedRow() + + "\ntablemyImages.getSelectedRow() = " + + tablemyLectures.getSelectedRow() + + "\ntableCoopImages.getSelectedRow() = " + + tableCoopImages.getSelectedRow() + + "\ntablePublicImages.getSelectedRow() = " + + tablePublicImages.getSelectedRow() + + "\ntablePublicVorlagen.getSelectedRow() = " + + tablePublicVorlagen.getSelectedRow()); + + // check if a row is selected + if ((tableAllLectures.getSelectedRow() != -1) + || (tablemyLectures.getSelectedRow() != -1) + || (tableCoopImages.getSelectedRow() != -1) + || (tablePublicImages.getSelectedRow() != -1) + || (tablePublicVorlagen.getSelectedRow() != -1)) { + + // a row is selected, do operations + + if (tabbedPane.getSelectedIndex() == 0) { + + Lecture.lecture.setid(modelMyLectures + .getValueAt( + tablemyLectures + .convertRowIndexToModel(tablemyLectures + .getSelectedRow()), + 8).toString()); + Lecture.lecture.setName(modelMyLectures + .getValueAt( + tablemyLectures + .convertRowIndexToModel(tablemyLectures + .getSelectedRow()), + 0).toString()); + Lecture.lecture.setDesc(modelMyLectures + .getValueAt( + tablemyLectures + .convertRowIndexToModel(tablemyLectures + .getSelectedRow()), + 1).toString()); + String date = modelMyLectures + .getValueAt( + tablemyLectures + .convertRowIndexToModel(tablemyLectures + .getSelectedRow()), + 2).toString(); + + Lecture.lecture.setLinkedImagename(modelMyLectures + .getValueAt( + tablemyLectures + .convertRowIndexToModel(tablemyLectures + .getSelectedRow()), + 6).toString()); + + int zweitesLeerzeichen = date.indexOf(" ", + date.indexOf(" ") + 1); + + String startdate = date.substring(0, + zweitesLeerzeichen); + String enddate = date + .substring(zweitesLeerzeichen); + DateFormat df = new SimpleDateFormat( + "yyyy-MM-dd hh:mm:ss"); + + try { + // Format has to be "yyyy-MM-dd hh:mm:ss" + Lecture.lecture.setEnddate(df + .parse(enddate)); + Lecture.lecture.setStartdate(df + .parse(startdate)); + } catch (ParseException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + if (modelMyLectures + .getValueAt( + tablemyLectures + .convertRowIndexToModel(tablemyLectures + .getSelectedRow()), + 3).toString().equals("1")) { + Lecture.lecture.setActive(true); + } else { + Lecture.lecture.setActive(false); + } + + con.closeThriftConnection(); + // EditImageAllgemein_GUI ea=new + // EditImageAllgemein_GUI(); + EditLectureAllgemein_GUI el = new EditLectureAllgemein_GUI(); + el.setVisible(true); + dispose(); + } else { + JOptionPane + .showMessageDialog( + null, + "Bitte wählen Sie ein eigenes Image aus", + "Message", + JOptionPane.INFORMATION_MESSAGE); + } + } else { + // nothing selected + JOptionPane.showMessageDialog(null, + "Bitte wählen Sie ein Image aus.", + "Image Auswahl", + JOptionPane.INFORMATION_MESSAGE); + }// end check if a row is selected + + } + }); + btnContinue.setActionCommand("Cancel"); + buttonPane.add(btnContinue); + } + } + + 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.Lecture> lectures; + try { + // Hole eine Liste der Images + lectures = client.getLectureList(); + Iterator<server.Lecture> i = lectures.iterator(); + + int x = 0; + + while (i.hasNext()) { + // erzeuge Objekte für die Tabelle + Object[] obj = { + lectures.get(x).lecturename, + lectures.get(x).desc, + lectures.get(x).starttime + " " + + lectures.get(x).endtime, + lectures.get(x).isActive, lectures.get(x).lastused, + lectures.get(x).username, " ", + lectures.get(x).imagename, lectures.get(x).id }; + // 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/ExtendedSearch_GUI.java b/Dozentenmodul/src/gui/lecture/ExtendedSearchForImages_GUI.java index ab9693a7..3fc4b7f6 100644 --- a/Dozentenmodul/src/gui/ExtendedSearch_GUI.java +++ b/Dozentenmodul/src/gui/lecture/ExtendedSearchForImages_GUI.java @@ -1,6 +1,9 @@ -package gui; +package gui.lecture; +import gui.image.CreateImageAllgemein_GUI; +import gui.image.FTPCreateUploader_GUI; + import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; @@ -30,7 +33,7 @@ import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; @SuppressWarnings("serial") -public class ExtendedSearch_GUI extends JFrame { +public class ExtendedSearchForImages_GUI extends JFrame { private final JPanel contentPanel = new JPanel(); String[] result; @@ -41,9 +44,10 @@ public class ExtendedSearch_GUI extends JFrame { */ public static void main(String[] args) { try { - ExtendedSearch_GUI dialog = new ExtendedSearch_GUI(); + ExtendedSearchForImages_GUI dialog = new ExtendedSearchForImages_GUI(); dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); dialog.setVisible(true); + } catch (Exception e) { e.printStackTrace(); } @@ -52,7 +56,7 @@ public class ExtendedSearch_GUI extends JFrame { /** * Create the dialog. */ - public ExtendedSearch_GUI() { + public ExtendedSearchForImages_GUI() { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { @@ -177,7 +181,7 @@ public class ExtendedSearch_GUI extends JFrame { public void actionPerformed(ActionEvent e) { - EingabeImageAllgemein_GUI sr=new EingabeImageAllgemein_GUI(); + CreateImageAllgemein_GUI sr=new CreateImageAllgemein_GUI(); sr.setVisible(true); dispose(); } @@ -192,7 +196,7 @@ public class ExtendedSearch_GUI extends JFrame { public void actionPerformed(ActionEvent e) { - FTPUploader_GUI ea=new FTPUploader_GUI(); + FTPCreateUploader_GUI ea=new FTPCreateUploader_GUI(); ea.setVisible(true); dispose(); diff --git a/Dozentenmodul/src/gui/SearchMethod_GUI.java b/Dozentenmodul/src/gui/lecture/SearchMethodLecture_GUI.java index 24a12959..ae31236a 100644 --- a/Dozentenmodul/src/gui/SearchMethod_GUI.java +++ b/Dozentenmodul/src/gui/lecture/SearchMethodLecture_GUI.java @@ -1,6 +1,9 @@ -package gui; +package gui.lecture; +import gui.image.SearchImage_GUI; +import gui.intro.MainMenue_GUI; + import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; @@ -33,7 +36,7 @@ import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; @SuppressWarnings("serial") -public class SearchMethod_GUI extends JFrame { +public class SearchMethodLecture_GUI extends JFrame { private final JPanel contentPanel = new JPanel(); String[] result; @@ -45,7 +48,7 @@ public class SearchMethod_GUI extends JFrame { */ public static void main(String[] args) { try { - SearchMethod_GUI dialog = new SearchMethod_GUI(); + SearchMethodLecture_GUI dialog = new SearchMethodLecture_GUI(); dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); dialog.setVisible(true); } catch (Exception e) { @@ -56,7 +59,7 @@ public class SearchMethod_GUI extends JFrame { /** * Create the dialog. */ - public SearchMethod_GUI() { + public SearchMethodLecture_GUI() { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { @@ -150,7 +153,7 @@ public class SearchMethod_GUI extends JFrame { @Override public void mouseClicked(MouseEvent arg0) { - SearchMethod_GUI.this.setVisible(false); + SearchMethodLecture_GUI.this.setVisible(false); MainMenue_GUI main=new MainMenue_GUI(); main.setVisible(true); } |
