summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/gui/lecture
diff options
context:
space:
mode:
authorJonathan Bauer2014-09-11 15:04:50 +0200
committerJonathan Bauer2014-09-11 15:04:50 +0200
commite90286005f1cbedc77bfff91f867cb6aec25a595 (patch)
tree361faf449e987518ffe33757d64af69539f0ef5c /dozentenmodul/src/main/java/gui/lecture
parentlower case names for folder please (diff)
downloadtutor-module-e90286005f1cbedc77bfff91f867cb6aec25a595.tar.gz
tutor-module-e90286005f1cbedc77bfff91f867cb6aec25a595.tar.xz
tutor-module-e90286005f1cbedc77bfff91f867cb6aec25a595.zip
oops
Diffstat (limited to 'dozentenmodul/src/main/java/gui/lecture')
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java579
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java1013
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java720
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java594
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java1020
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java824
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java546
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java494
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java627
9 files changed, 6417 insertions, 0 deletions
diff --git a/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java
new file mode 100644
index 00000000..76bf3933
--- /dev/null
+++ b/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java
@@ -0,0 +1,579 @@
+package gui.lecture;
+
+import gui.intro.About_GUI;
+import gui.intro.MainMenue_GUI;
+
+import java.awt.Color;
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.ScrollPane;
+import java.awt.SystemColor;
+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 java.net.URI;
+import java.net.URISyntaxException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+
+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.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 javax.swing.border.TitledBorder;
+
+import models.Image;
+import models.Lecture;
+import models.Links;
+import models.person;
+import util.GuiOrganizer;
+import util.OpenLinks;
+
+import com.toedter.calendar.JDateChooser;
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeEvent;
+
+@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;
+ private boolean descriptionLengthOK = false; // description may not be
+ // longer than
+ // MAX_DESCRIPTION_LENGTH
+ private final int MAX_DESCRIPTION_LENGTH = 254;
+
+ int maxLifeTime = 180; // Anzahl Tage, die eine Veranstaltung in der Zukunft
+ // aktiv sein darf
+ boolean isDateOrderCorrect, isDateMaxLifeTimeCorrect,
+ isAllInformationReady = false;
+
+ /**
+ * 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 - Veranstaltung erzeugen");
+ setBounds(0, 0, 603, 722);
+ GuiOrganizer.centerGUI(this);
+
+ 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("Veranstaltung");
+ lblVlimage.setForeground(Color.BLUE);
+ lblVlimage.setBounds(81, 11, 70, 14);
+ contentPanel.add(lblVlimage);
+
+ JLabel label_2 = new JLabel(">");
+ label_2.setBounds(161, 11, 13, 14);
+ contentPanel.add(label_2);
+
+ JLabel lblNewLabel_1 = new JLabel("Neu");
+ lblNewLabel_1.setBounds(174, 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 lblAnzeigename = new JLabel("Anzeigename: *");
+ lblAnzeigename.setBounds(10, 25, 180, 14);
+ panel_2.add(lblAnzeigename);
+
+ 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);
+ dateChooserstart = new JDateChooser();
+ dateChooserstart
+ .addPropertyChangeListener(new PropertyChangeListener() {
+ public void propertyChange(PropertyChangeEvent arg0) {
+ endDate = addDays(dateChooserstart.getDate(),
+ maxLifeTime); // Datum darf weiter als 6
+ // Monate in der Zukunft
+ // liegen
+ }
+ });
+ 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);
+
+ dateChooserend = new JDateChooser();
+ endDate = addDays(dateChooserstart.getDate(), 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);
+
+ 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 \u00e4ndern.",
+ "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;
+ }
+ // Pruefen 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);
+ }
+ // Pruefe ob alle Eingaben korrekt sind, dann mache
+ // weiter
+ if (isAllInformationReady == true
+ && isDateMaxLifeTimeCorrect == true
+ && isDateOrderCorrect == true
+ && descriptionLenghtOK() == 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());
+
+ PermissionCreateLecture_GUI ev = new PermissionCreateLecture_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");
+ mntmFaq.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+ OpenLinks open = new OpenLinks();
+ URI windows;
+ try {
+ windows = new URI(Links.getFAQ());
+ open.openWebpage(windows);
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ });
+ mnNewMenu_1.add(mntmFaq);
+
+ JMenuItem mntmOtrs = new JMenuItem("OTRS");
+ mntmOtrs.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+
+ OpenLinks open = new OpenLinks();
+
+ URI windows;
+ try {
+ windows = new URI(Links.getOTRS());
+ open.openWebpage(windows);
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ });
+ mnNewMenu_1.add(mntmOtrs);
+
+ JMenuItem mnmtAbout = new JMenuItem("About");
+ mnmtAbout.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ About_GUI ab = new About_GUI();
+ ab.setVisible(true);
+ }
+ });
+ mnNewMenu_1.add(mnmtAbout);
+
+ }
+
+ 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();
+ }// end addDays()
+
+ public boolean descriptionLenghtOK() {
+ descriptionLengthOK = false;
+
+ // max length is 254 chars
+ if (description.getText().length() >= MAX_DESCRIPTION_LENGTH) {
+ descriptionLengthOK = false;
+ JOptionPane.showMessageDialog(null,
+ "Die Beschreibung darf max 254 Zeichen enthalten. Aktuell enthält sie "
+ + description.getText().length() + ".",
+ "Beschreibung zu umfangreich",
+ JOptionPane.INFORMATION_MESSAGE);
+ } else {
+ descriptionLengthOK = true;
+
+ }
+
+ return descriptionLengthOK;
+ }// enddescriptionLenghtOK()
+
+}// end class
diff --git a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java
new file mode 100644
index 00000000..f4d1bdd8
--- /dev/null
+++ b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java
@@ -0,0 +1,1013 @@
+package gui.lecture;
+
+import gui.intro.About_GUI;
+import gui.intro.MainMenue_GUI;
+
+import java.awt.Color;
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.SystemColor;
+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.net.URI;
+import java.net.URISyntaxException;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+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.JTextArea;
+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.table.DefaultTableModel;
+import javax.swing.table.TableModel;
+import javax.swing.table.TableRowSorter;
+
+import models.Lecture;
+import models.Links;
+import models.person;
+
+import org.apache.thrift.TException;
+
+import server.Server.Client;
+import thrift.ThriftConnection;
+import util.GuiOrganizer;
+import util.OpenLinks;
+import javax.swing.event.ChangeListener;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+
+@SuppressWarnings("serial")
+public class CreateLectureLink_GUI extends JFrame {
+
+ private final JPanel contentPanel = new JPanel();
+ String[] result;
+ JRadioButton rdbtnInternetJa;
+ JRadioButton rdbtnInternetNein;
+ JComboBox<String> comboBox;
+ JTabbedPane tabbedPane;
+ JLabel labelName;
+ JLabel labelUpdate;
+ JLabel labelVerantwortlicher;
+ JLabel labelWeitereVerantwortliche;
+ JLabel labelVorlage;
+ JLabel labelLizenzSoftware;
+ JLabel labelInternet;
+ JLabel labelRam;
+ JLabel labelCPU;
+ JLabel labelID;
+ JLabel labelVersion;
+ JTextArea textAreadesc;
+ private JLabel labelOS;
+ JTable tableAllImages = new JTable();
+ JTable tablemyImages = new JTable();
+ JTable tableCoopImages = new JTable();
+ JTable tablePublicVorlagen = new JTable();
+ boolean activeSearch=false;
+ private JTextField textFieldName;
+ String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung",
+ "Verantwortlicher", "Letztes Update", "ID", "Version","Template" };
+ ThriftConnection con = new ThriftConnection();
+ Client client = models.Client.clientcon.getClient();
+ final DefaultTableModel modelAll = new DefaultTableModel(titles, 0){
+ public boolean isCellEditable(int rowIndex, int mColIndex) {
+ return false;
+ }
+ };
+ final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0){
+ public boolean isCellEditable(int rowIndex, int mColIndex) {
+ return false;
+ }
+ };
+ final DefaultTableModel modelPublicVorlagen = new DefaultTableModel(titles, 0){
+ public boolean isCellEditable(int rowIndex, int mColIndex) {
+ return false;
+ }
+ };
+ final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>(
+ modelAll);
+ final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>(
+ modelMyImages);
+ final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>(
+ modelPublicVorlagen);
+ private JTextField textField;
+
+ /**
+ * Create the dialog.
+ */
+ public CreateLectureLink_GUI() {
+ addWindowListener(new WindowAdapter() {
+ @Override
+ public void windowClosing(WindowEvent arg0) {
+ con.closeThriftConnection();
+ System.exit(0);
+ }
+
+ @Override
+ public void windowOpened(WindowEvent arg0) {
+ try {
+ initTableModel(modelMyImages);
+ initTableModel(modelAll);
+ initTableModel(modelPublicVorlagen);
+ } catch (TException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (ParseException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ // auszublendende Angaben
+ // 1=Lizenzpflichtig
+ // 3=Veranstaltung
+ // 6=ID
+ // 7=Version
+ // 8=Template
+ tablemyImages.getColumnModel().getColumn(1).setWidth(0);
+ tablemyImages.getColumnModel().getColumn(1).setMinWidth(0);
+ tablemyImages.getColumnModel().getColumn(1).setMaxWidth(0);
+ tablemyImages.getColumnModel().getColumn(3).setWidth(0);
+ tablemyImages.getColumnModel().getColumn(3).setMinWidth(0);
+ tablemyImages.getColumnModel().getColumn(3).setMaxWidth(0);
+ tablemyImages.getColumnModel().getColumn(8).setWidth(0);
+ tablemyImages.getColumnModel().getColumn(8).setMinWidth(0);
+ tablemyImages.getColumnModel().getColumn(8).setMaxWidth(0);
+ tablemyImages.getColumnModel().getColumn(6).setWidth(0);
+ tablemyImages.getColumnModel().getColumn(6).setMinWidth(0);
+ tablemyImages.getColumnModel().getColumn(6).setMaxWidth(0);
+ tablemyImages.getColumnModel().getColumn(7).setWidth(0);
+ tablemyImages.getColumnModel().getColumn(7).setMinWidth(0);
+ tablemyImages.getColumnModel().getColumn(7).setMaxWidth(0);
+
+ tablePublicVorlagen.getColumnModel().getColumn(1).setWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(1).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(1).setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(3).setWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(3).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(3).setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(8).setWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(8).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(8).setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(6).setWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(6).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(6).setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(7).setWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(7).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(7).setMaxWidth(0);
+
+ tableAllImages.getColumnModel().getColumn(1).setWidth(0);
+ tableAllImages.getColumnModel().getColumn(1).setMinWidth(0);
+ tableAllImages.getColumnModel().getColumn(1).setMaxWidth(0);
+ tableAllImages.getColumnModel().getColumn(3).setWidth(0);
+ tableAllImages.getColumnModel().getColumn(3).setMinWidth(0);
+ tableAllImages.getColumnModel().getColumn(3).setMaxWidth(0);
+ tableAllImages.getColumnModel().getColumn(8).setWidth(0);
+ tableAllImages.getColumnModel().getColumn(8).setMinWidth(0);
+ tableAllImages.getColumnModel().getColumn(8).setMaxWidth(0);
+ tableAllImages.getColumnModel().getColumn(6).setWidth(0);
+ tableAllImages.getColumnModel().getColumn(6).setMinWidth(0);
+ tableAllImages.getColumnModel().getColumn(6).setMaxWidth(0);
+ tableAllImages.getColumnModel().getColumn(7).setWidth(0);
+ tableAllImages.getColumnModel().getColumn(7).setMinWidth(0);
+ tableAllImages.getColumnModel().getColumn(7).setMaxWidth(0);
+ 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 - Veranstaltung erzeugen");
+ setBounds(0, 0, 918, 722);
+ GuiOrganizer.centerGUI(this);
+
+
+ final DefaultTableModel model = new DefaultTableModel(titles, 0);
+
+ getContentPane().setLayout(null);
+ {
+ JPanel panel = new JPanel();
+ panel.setBackground(SystemColor.menu);
+ panel.setBounds(10, 11, 892, 57);
+ getContentPane().add(panel);
+ panel.setLayout(null);
+ {
+ JLabel lblNewLabel = new JLabel("Image verlinken");
+ 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, 92);
+ contentPanel.add(panel_1);
+ panel_1.setLayout(null);
+
+ JLabel lblNewLabel_2 = new JLabel("Anzeigename:");
+ lblNewLabel_2.setBounds(10, 30, 80, 20);
+ panel_1.add(lblNewLabel_2);
+
+ JLabel lblInternetIstInnerhalb = new JLabel("Betriebssystem:");
+ lblInternetIstInnerhalb.setBounds(10, 58, 80, 20);
+ panel_1.add(lblInternetIstInnerhalb);
+
+ textFieldName = new JTextField();
+ textFieldName.addKeyListener(new KeyAdapter() {
+ @Override
+ public void keyReleased(KeyEvent e) {
+ String stext = textFieldName.getText();
+ // Wenn Textfield nicht leer
+ if (stext != "") {
+ activeSearch=true;
+ // Filtere nach der Eingabe
+ rowSorterAll.setRowFilter(RowFilter.regexFilter(
+ textFieldName.getText(), 0));
+ rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
+ textFieldName.getText(), 0));
+ rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(
+ textFieldName.getText(), 0));
+
+ }else{
+ activeSearch=false;
+ String username = person.verantwortlicher.getName() + " "
+ + person.verantwortlicher.getVorname();
+ rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
+ username, 4));
+ rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(
+ "true", 8));
+ rowSorterAll.setRowFilter(null);
+ }
+
+ }
+
+ });
+
+ textFieldName.setBounds(96, 30, 166, 20);
+ panel_1.add(textFieldName);
+ textFieldName.setColumns(10);
+
+
+ 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 e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ JOptionPane.showMessageDialog(null,
+ e.getCause()+"\n"+e.getStackTrace(),
+ "Debug-Message", JOptionPane.ERROR_MESSAGE);
+ }
+ comboBox.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent arg0) {
+ // Prueft das die Auswahl nicht leer ist
+ if (comboBox.getSelectedItem().toString() != "") {
+ activeSearch=true;
+ rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox
+ .getSelectedItem().toString(), 2));
+ rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
+ comboBox.getSelectedItem().toString(), 2));
+ rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(
+ comboBox.getSelectedItem().toString(), 2));
+ }else{
+ activeSearch=false;
+ String username = person.verantwortlicher.getName() + " "
+ + person.verantwortlicher.getVorname();
+ rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
+ username, 4));
+ rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(
+ "true", 8));
+ rowSorterAll.setRowFilter(null);
+ }
+ }
+ });
+ comboBox.setBounds(96, 58, 166, 20);
+ panel_1.add(comboBox);
+
+ JLabel label_3 = new JLabel("Beschreibung:");
+ label_3.setBounds(291, 30, 80, 20);
+ panel_1.add(label_3);
+
+ textField = new JTextField();
+ textField.setColumns(10);
+ textField.setBounds(381, 30, 166, 20);
+ panel_1.add(textField);
+
+ 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);
+
+ tabbedPane = new JTabbedPane(JTabbedPane.TOP);
+ tabbedPane.addChangeListener(new ChangeListener() {
+ public void stateChanged(ChangeEvent arg0) {
+ if (tabbedPane.getSelectedIndex() == 0 && activeSearch==false) {
+
+ String username = person.verantwortlicher.getName() + " "
+ + person.verantwortlicher.getVorname();
+ rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
+ username, 4));
+ }else if(tabbedPane.getSelectedIndex()==1 && activeSearch==false){
+ rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter("true", 8));
+ } else if(tabbedPane.getSelectedIndex()==2 && activeSearch==false){
+ rowSorterAll.setRowFilter(null);
+ }
+
+ }
+
+ });
+
+ tabbedPane.setBounds(10, 152, 557, 345);
+ contentPanel.add(tabbedPane);
+
+ JScrollPane scrollPaneMyImage = new JScrollPane();
+ tablemyImages.getSelectionModel().addListSelectionListener( new ListSelectionListener()
+ {
+ public void valueChanged(ListSelectionEvent e)
+ {
+ String imageid = modelMyImages
+ .getValueAt(
+ tablemyImages
+ .convertRowIndexToModel(tablemyImages
+ .getSelectedRow()), 6)
+ .toString();
+ //System.out.println(imageid);
+ String version = modelMyImages
+ .getValueAt(
+ tablemyImages
+ .convertRowIndexToModel(tablemyImages
+ .getSelectedRow()), 7)
+ .toString();
+ //System.out.println(version);
+ try {
+ writeImageData(imageid, version);
+ } catch (TException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ } catch (ParseException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ }
+ });
+ 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);
+
+ 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();
+
+
+ JScrollPane scrollPanePublicVorlagen = new JScrollPane();
+ tablePublicVorlagen.getSelectionModel().addListSelectionListener( new ListSelectionListener()
+ {
+ public void valueChanged(ListSelectionEvent e)
+ {
+ String imageid = modelPublicVorlagen
+ .getValueAt(
+ tablePublicVorlagen
+ .convertRowIndexToModel(tablePublicVorlagen
+ .getSelectedRow()), 6)
+ .toString();
+ //System.out.println(imageid);
+ String version = modelPublicVorlagen
+ .getValueAt(
+ tablePublicVorlagen
+ .convertRowIndexToModel(tablePublicVorlagen
+ .getSelectedRow()), 7)
+ .toString();
+ //System.out.println(version);
+ try {
+ writeImageData(imageid, version);
+ } catch (TException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ } catch (ParseException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ }
+ });
+ tablePublicVorlagen.setModel(modelPublicVorlagen);
+ 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();
+ tablePublicVorlagen.setRowSorter(rowSorterPublicVorlagen);
+ scrollPanePublicVorlagen.setViewportView(tablePublicVorlagen);
+ tabbedPane.addTab("Vorlagen", null,
+ scrollPanePublicVorlagen, null);
+
+ JScrollPane scrollPaneAllImages = new JScrollPane();
+ tableAllImages = new JTable();
+ tableAllImages.getSelectionModel().addListSelectionListener( new ListSelectionListener()
+ {
+ public void valueChanged(ListSelectionEvent e)
+ {
+
+ String imageid = modelAll
+ .getValueAt(
+ tableAllImages
+ .convertRowIndexToModel(tableAllImages
+ .getSelectedRow()), 6)
+ .toString();
+ //System.out.println(imageid);
+ String version = modelAll
+ .getValueAt(
+ tableAllImages
+ .convertRowIndexToModel(tableAllImages
+ .getSelectedRow()), 7)
+ .toString();
+ //System.out.println(version);
+ try {
+ writeImageData(imageid, version);
+ } catch (TException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ } catch (ParseException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+
+ }
+ });
+ 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();
+ tableAllImages.setRowSorter(rowSorterAll);
+
+ scrollPaneAllImages.setViewportView(tableAllImages);
+ tabbedPane.addTab("Alle", null, scrollPaneAllImages, null);
+
+
+
+ scrollPaneCoopImages.setViewportView(tableCoopImages);
+ tabbedPane.addTab("bwLehrpool", null, scrollPaneCoopImages,
+ null);
+ tabbedPane.setEnabledAt(3, false);
+
+ {
+ JPanel buttonPane = new JPanel();
+ buttonPane.setBounds(0, 640, 902, 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) {
+
+ PermissionCreateLecture_GUI eVAG = new PermissionCreateLecture_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) {
+ String username = person.verantwortlicher.getName() + " "
+ + person.verantwortlicher.getVorname();
+ // check if a row is selected
+ if (tablemyImages.getSelectedRow() != -1){
+
+ // a row is selected, do operations
+ String imagename = tablemyImages.getValueAt(
+ tablemyImages.getSelectedRow(), 0)
+ .toString();
+ try {
+ DateFormat formatter = new SimpleDateFormat(
+ "yyyy-MM-dd HH:mm:ss");
+ 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.getUsername(),
+ person.verantwortlicher.getVorname(),
+ person.verantwortlicher.getName(),
+ person.verantwortlicher.getHochschule(),
+ person.verantwortlicher.getEMail(),
+ person.verantwortlicher.getTel(),
+ person.verantwortlicher.getFakultaet());
+ client.writeLectureRights(Lecture.lecture.getName(), person.verantwortlicher.getUsername(), person.verantwortlicher.getName(), person.verantwortlicher.getVorname(), person.verantwortlicher.getEMail(), person.verantwortlicher.getHochschule(), person.verantwortlicher.getRole());
+ JOptionPane
+ .showMessageDialog(
+ null,
+ "Ihre Veranstaltung wurde erfolgreich angelegt. Sie kehren nun zum Hauptmen\u00fc zur\u00fcck.",
+ "Veranstaltung angelegt",
+ JOptionPane.INFORMATION_MESSAGE);
+ // zurueck zum Menue
+ 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);
+ JOptionPane.showMessageDialog(null,
+ e1.getCause()+"\n"+e1.getStackTrace(),
+ "Debug-Message", JOptionPane.ERROR_MESSAGE);
+ }
+
+ dispose();
+
+ }else if (tablePublicVorlagen.getSelectedRow() != -1){
+
+ // a row is selected, do operations
+ String imagename = tablePublicVorlagen.getValueAt(
+ tablePublicVorlagen.getSelectedRow(), 0)
+ .toString();
+ try {
+ DateFormat formatter = new SimpleDateFormat(
+ "yyyy-MM-dd hh:mm:ss");
+ 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.getUsername(),
+ person.verantwortlicher.getVorname(),
+ person.verantwortlicher.getName(),
+ person.verantwortlicher.getHochschule(),
+ person.verantwortlicher.getEMail(),
+ person.verantwortlicher.getTel(),
+ person.verantwortlicher.getFakultaet());
+ client.writeLectureRights(Lecture.lecture.getName(), person.verantwortlicher.getUsername(), person.verantwortlicher.getName(), person.verantwortlicher.getVorname(), person.verantwortlicher.getEMail(), person.verantwortlicher.getHochschule(), person.verantwortlicher.getRole());
+ JOptionPane
+ .showMessageDialog(
+ null,
+ "Ihre Veranstaltung wurde erfolgreich angelegt. Sie kehren nun zum Hauptmen\u00fc zur\u00fcck.",
+ "Veranstaltung angelegt",
+ JOptionPane.INFORMATION_MESSAGE);
+ // zurueck zum Menue
+ 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);
+ JOptionPane.showMessageDialog(null,
+ e1.getCause()+"\n"+e1.getStackTrace(),
+ "Debug-Message", JOptionPane.ERROR_MESSAGE);
+ }
+
+ dispose();
+
+ }else if (tableAllImages.getSelectedRow() != -1 &&tableAllImages.getValueAt(tableAllImages.getSelectedRow(), 4).toString().equals(username)){
+
+ // 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");
+ 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.getUsername(),
+ person.verantwortlicher.getVorname(),
+ person.verantwortlicher.getName(),
+ person.verantwortlicher.getHochschule(),
+ person.verantwortlicher.getEMail(),
+ person.verantwortlicher.getTel(),
+ person.verantwortlicher.getFakultaet());
+ client.writeLectureRights(Lecture.lecture.getName(), person.verantwortlicher.getUsername(), person.verantwortlicher.getName(), person.verantwortlicher.getVorname(), person.verantwortlicher.getEMail(), person.verantwortlicher.getHochschule(), person.verantwortlicher.getRole());
+ JOptionPane
+ .showMessageDialog(
+ null,
+ "Ihre Veranstaltung wurde erfolgreich angelegt. Sie kehren nun zum Hauptmen\u00fc zur\u00fcck.",
+ "Veranstaltung angelegt",
+ JOptionPane.INFORMATION_MESSAGE);
+ // zurueck zum Menue
+ 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);
+ JOptionPane.showMessageDialog(null,
+ e1.getCause()+"\n"+e1.getStackTrace(),
+ "Debug-Message", JOptionPane.ERROR_MESSAGE);
+ }
+
+ dispose();
+
+ }
+ else {
+ // nothing selected
+ JOptionPane.showMessageDialog(null,
+ "Bitte w\u00e4hlen Sie ein Image aus.",
+ "Image Auswahl",
+ JOptionPane.INFORMATION_MESSAGE);
+ }
+
+ }
+ });
+ doLinkButton.setActionCommand("OK");
+ buttonPane.add(doLinkButton);
+ }
+ }
+
+ JSeparator separator = new JSeparator();
+ separator.setBounds(0, 79, 912, 1);
+ getContentPane().add(separator);
+
+ JSeparator separator_1 = new JSeparator();
+ separator_1.setBounds(0, 627, 912, 2);
+ getContentPane().add(separator_1);
+
+ JPanel panel = new JPanel();
+ panel.setLayout(null);
+ panel.setBorder(new TitledBorder(null, "Detailinformationen",
+
+ TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel.setBackground(SystemColor.menu);
+ panel.setBounds(586, 85, 316, 531);
+ getContentPane().add(panel);
+
+ JLabel lblName = new JLabel("Name:");
+ lblName.setBounds(10, 87, 130, 14);
+ panel.add(lblName);
+
+ labelName = new JLabel("");
+ labelName.setBounds(10, 102, 296, 14);
+ panel.add(labelName);
+
+ JLabel lblVerantwortlicher = new JLabel("Verantwortlicher:");
+ lblVerantwortlicher.setBounds(10, 259, 130, 14);
+ panel.add(lblVerantwortlicher);
+
+ labelOS = new JLabel("");
+ labelOS.setBounds(10, 216, 296, 14);
+ panel.add(labelOS);
+
+ JLabel lblWeitereVerantwortliche = new JLabel("Betriebssystem:");
+ lblWeitereVerantwortliche.setBounds(10, 202, 130, 14);
+ panel.add(lblWeitereVerantwortliche);
+
+ labelVerantwortlicher = new JLabel("");
+ labelVerantwortlicher.setBounds(10, 272, 296, 14);
+ panel.add(labelVerantwortlicher);
+
+ JLabel label = new JLabel("Weitere Verantwortliche:");
+ label.setBounds(10, 284, 130, 14);
+ panel.add(label);
+
+ labelWeitereVerantwortliche = new JLabel("");
+ labelWeitereVerantwortliche.setBounds(10, 297, 296, 14);
+ panel.add(labelWeitereVerantwortliche);
+
+ labelUpdate = new JLabel("");
+ labelUpdate.setBounds(10, 245, 296, 14);
+ panel.add(labelUpdate);
+
+ JLabel lblLetztesUpdate = new JLabel("Letztes Update:");
+ lblLetztesUpdate.setBounds(10, 231, 130, 14);
+ panel.add(lblLetztesUpdate);
+
+ JLabel lblImageIstVorlage = new JLabel("Image ist Vorlage:");
+ lblImageIstVorlage.setBounds(10, 336, 130, 14);
+ panel.add(lblImageIstVorlage);
+
+ labelVorlage = new JLabel("");
+ labelVorlage.setBounds(10, 350, 296, 14);
+ panel.add(labelVorlage);
+
+ labelLizenzSoftware = new JLabel("");
+ labelLizenzSoftware.setBounds(10, 383, 296, 14);
+ panel.add(labelLizenzSoftware);
+
+ JLabel lblLizenzpflichtigeSoftware = new JLabel("Lizenzpflichtige Software:");
+ lblLizenzpflichtigeSoftware.setBounds(10, 367, 130, 14);
+ panel.add(lblLizenzpflichtigeSoftware);
+
+ JLabel lblInternet = new JLabel("Internetsperre vorhanden:");
+ lblInternet.setBounds(10, 400, 130, 14);
+ panel.add(lblInternet);
+
+ labelInternet = new JLabel("");
+ labelInternet.setBounds(10, 417, 296, 14);
+ panel.add(labelInternet);
+
+ JLabel lblEmpfehlungRam = new JLabel("Empfehlung RAM:");
+ lblEmpfehlungRam.setBounds(10, 432, 130, 14);
+ panel.add(lblEmpfehlungRam);
+
+ labelRam = new JLabel("");
+ labelRam.setBounds(10, 455, 296, 14);
+ panel.add(labelRam);
+
+ JLabel lblEmpfehlungCpu = new JLabel("Empfehlung CPU:");
+ lblEmpfehlungCpu.setBounds(10, 469, 130, 14);
+ panel.add(lblEmpfehlungCpu);
+
+ labelCPU = new JLabel("");
+ labelCPU.setBounds(10, 487, 296, 14);
+ panel.add(labelCPU);
+
+ JLabel lblTechnischeDaten = new JLabel("Technische Daten:");
+ lblTechnischeDaten.setBounds(10, 322, 296, 14);
+ panel.add(lblTechnischeDaten);
+
+ JLabel lblId = new JLabel("ID:");
+ lblId.setBounds(10, 23, 296, 14);
+ panel.add(lblId);
+
+ labelID = new JLabel("");
+ labelID.setBounds(10, 37, 296, 14);
+ panel.add(labelID);
+
+ labelVersion = new JLabel("");
+ labelVersion.setBounds(10, 73, 296, 14);
+ panel.add(labelVersion);
+
+ JLabel lblVersion = new JLabel("Version:");
+ lblVersion.setBounds(10, 57, 296, 14);
+ panel.add(lblVersion);
+
+ JLabel lblBeschreibung = new JLabel("Beschreibung:");
+ lblBeschreibung.setBounds(10, 119, 130, 14);
+ panel.add(lblBeschreibung);
+
+ JScrollPane scrollPane = new JScrollPane();
+ scrollPane.setBounds(10, 135, 296, 65);
+ panel.add(scrollPane);
+
+ textAreadesc = new JTextArea();
+ textAreadesc.setLineWrap(true);
+ textAreadesc.setBackground(SystemColor.menu);
+ scrollPane.setViewportView(textAreadesc);
+
+ JMenuBar menuBar = new JMenuBar();
+ setJMenuBar(menuBar);
+
+
+ JMenu mnNewMenu_1 = new JMenu("Hilfe");
+ menuBar.add(mnNewMenu_1);
+
+ JMenuItem mntmFaq = new JMenuItem("FAQ");
+ mntmFaq.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+
+ OpenLinks open = new OpenLinks();
+
+ URI windows;
+ try {
+ windows = new URI(Links.getFAQ());
+
+ open.openWebpage(windows);
+
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ });
+ mnNewMenu_1.add(mntmFaq);
+
+
+ JMenuItem mntmOtrs = new JMenuItem("OTRS");
+ mntmOtrs.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+
+ OpenLinks open = new OpenLinks();
+
+ URI windows;
+ try {
+ windows = new URI(Links.getOTRS());
+
+ open.openWebpage(windows);
+
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+ });
+ mnNewMenu_1.add(mntmOtrs);
+
+ JMenuItem mntmAbout = new JMenuItem("About");
+ mntmAbout.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ About_GUI ab = new About_GUI();
+ ab.setVisible(true);
+ }
+ });
+ mnNewMenu_1.add(mntmAbout);
+
+ }
+
+ // Initiale Beffuelung eines Table models
+ public DefaultTableModel initTableModel(DefaultTableModel model) throws TException, ParseException {
+ List<server.Image> images;
+
+ // Hole eine Liste der Images
+ images = client.getImageList();
+
+ Iterator<server.Image> i = images.iterator();
+ SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
+ SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy hh:mm:ss");
+ int x = 0;
+
+ while (i.hasNext()) {
+ // erzeuge Objekte fuer die Tabelle
+ Object[] obj = { images.get(x).getImageName(),
+ images.get(x).getLicenseRestriction(),
+ images.get(x).getOsName(),
+ images.get(x).getLectureName(),
+ images.get(x).getUserData(),
+ out.format(in.parse(images.get(x).updateTime)), images.get(x).id,
+ images.get(x).getVersion(),
+ images.get(x).getIsTemplate()};
+ // Fuege diese Objekte der Tabelle hinzu
+
+ model.addRow(obj);
+ x++;
+ i.next();
+
+ }
+
+ return model;
+
+
+ }
+ public void writeImageData(String id, String version) throws TException, ParseException{
+
+ SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
+ SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy hh:mm:ss");
+ Map<String,String> res=client.getImageData(id,version);
+ labelName.setText(res.get("name"));
+ labelOS.setText(res.get("os"));
+ labelUpdate.setText(out.format(in.parse(res.get("lastupdate"))));
+ labelVerantwortlicher.setText(res.get("owner"));
+ labelWeitereVerantwortliche.setText("Noch nicht Verf�gbar");
+ if(res.get("template").equals("true")){
+ labelVorlage.setText("Ja");
+ }else{
+ labelVorlage.setText("Nein");
+ }
+ if(res.get("license").equals("1")){
+ labelLizenzSoftware.setText("Ja");
+ }
+ else
+ {
+ labelLizenzSoftware.setText("Nein");
+ }
+ if(res.get("internet").equals("1")){
+ labelInternet.setText("Ja");
+ }
+ else
+ {
+ labelInternet.setText("Nein");
+ }
+ labelRam.setText(res.get("ram"));
+ labelCPU.setText(res.get("cpu"));
+ labelID.setText(res.get("id"));
+ labelVersion.setText(res.get("version"));
+ textAreadesc.setText(res.get("desc"));
+
+ }
+}
diff --git a/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java
new file mode 100644
index 00000000..ffadde1c
--- /dev/null
+++ b/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java
@@ -0,0 +1,720 @@
+package gui.lecture;
+
+import gui.intro.About_GUI;
+import gui.intro.MainMenue_GUI;
+
+import java.awt.Color;
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.SystemColor;
+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.net.URI;
+import java.net.URISyntaxException;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Iterator;
+import java.util.List;
+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.JRadioButton;
+import javax.swing.JScrollPane;
+import javax.swing.JSeparator;
+import javax.swing.JTabbedPane;
+import javax.swing.JTable;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+import javax.swing.JTextPane;
+import javax.swing.RowFilter;
+import javax.swing.ScrollPaneConstants;
+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.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableModel;
+import javax.swing.table.TableRowSorter;
+
+import models.Links;
+import models.person;
+
+import org.apache.thrift.TException;
+
+import server.Server.Client;
+import thrift.ThriftConnection;
+import util.GuiOrganizer;
+import util.OpenLinks;
+
+@SuppressWarnings("serial")
+public class DeleteLecture_GUI extends JFrame {
+
+ private final JPanel contentPanel = new JPanel();
+ String[] result;
+ JRadioButton rdbtnInternetJa;
+ JRadioButton rdbtnInternetNein;
+ JLabel labelAktiv;
+ JLabel labelstartdate;
+ JLabel labelenddate;
+ JLabel labelimageversion;
+ JTextArea labelName;
+ JTextArea labelimage;
+ JTextArea labeldesc;
+ JLabel labelVerantwortlicher;
+ JTable tableAllLectures;
+ JTable tablemyLectures;
+ private JTextField textFieldName;
+ JTabbedPane tabbedPane;
+ boolean activeSearch=false;
+ String[] titles = { "Veranstaltungsname", "Beschreibung",
+ "G\u00fcltigkeitsdatum", "Aktiv", "Letzte Benutzung",
+ "Verantwortlicher", "Image", "Schlagwort", "ID" };
+ ThriftConnection con = new ThriftConnection();
+ Client client = models.Client.clientcon.getClient();
+ 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);
+ private JButton button;
+ private JTextField textField;
+
+
+ /**
+ * Create the dialog.
+ */
+ public DeleteLecture_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();
+ try {
+ initTableModel(modelMyLectures);
+ initTableModel(modelAll);
+
+ } catch (ParseException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ // auszublendende Angaben
+ // 1=Beschreibung
+ // 2=G\u00fcltigkeitsdatum
+ // 3=Aktiv
+ // 6=Image
+ // 7=Schlagwort
+ // 8=ID
+ tablemyLectures.getColumnModel().getColumn(1).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(1).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(1).setMaxWidth(0);
+ tablemyLectures.getColumnModel().getColumn(2).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(2).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(2).setMaxWidth(0);
+ tablemyLectures.getColumnModel().getColumn(3).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(3).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(3).setMaxWidth(0);
+ tablemyLectures.getColumnModel().getColumn(6).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(6).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(6).setMaxWidth(0);
+ tablemyLectures.getColumnModel().getColumn(7).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(7).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(7).setMaxWidth(0);
+ tablemyLectures.getColumnModel().getColumn(8).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(8).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(8).setMaxWidth(0);
+
+ tableAllLectures.getColumnModel().getColumn(1).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(1).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(1).setMaxWidth(0);
+ tableAllLectures.getColumnModel().getColumn(2).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(2).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(2).setMaxWidth(0);
+ tableAllLectures.getColumnModel().getColumn(3).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(3).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(3).setMaxWidth(0);
+ tableAllLectures.getColumnModel().getColumn(6).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(6).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(6).setMaxWidth(0);
+ tableAllLectures.getColumnModel().getColumn(7).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(7).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(7).setMaxWidth(0);
+ tableAllLectures.getColumnModel().getColumn(8).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(8).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(8).setMaxWidth(0);
+ }
+ });
+ // Verhindert das Vergroessern 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 - Veranstaltung l\u00F6schen");
+ // Zentriert das Fenster in die Bildmitte
+ setBounds(0, 0, 842, 722);
+ GuiOrganizer.centerGUI(this);
+
+
+ getContentPane().setLayout(null);
+ {
+ JPanel panel = new JPanel();
+ panel.setBackground(SystemColor.menu);
+ panel.setBounds(10, 11, 816, 57);
+ getContentPane().add(panel);
+ panel.setLayout(null);
+ {
+ JLabel lblNewLabel = new JLabel(
+ "Zu l\u00F6schende Veranstaltung w\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 aus der unten stehenden Liste die zu l\u00F6schende Veranstaltung aus.");
+ txtpnBitteWhlenSie.setBounds(10, 36, 509, 32);
+ panel.add(txtpnBitteWhlenSie);
+ }
+ contentPanel.setBounds(10, 85, 570, 518);
+ 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, 64);
+ contentPanel.add(panel_1);
+ panel_1.setLayout(null);
+
+ JLabel lblNewLabel_2 = new JLabel("Name:");
+ lblNewLabel_2.setBounds(10, 30, 80, 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 != "") {
+ activeSearch=true;
+ // Filtere nach der Eingabe
+ rowSorterAll.setRowFilter(RowFilter.regexFilter(
+ textFieldName.getText(), 0));
+ rowSorterMyLectures.setRowFilter(RowFilter.regexFilter(
+ textFieldName.getText(), 0));
+
+ }else{
+ activeSearch=false;
+ String username = person.verantwortlicher.getName() + " "
+ + person.verantwortlicher.getVorname();
+ rowSorterMyLectures.setRowFilter(RowFilter.regexFilter(
+ username, 5));
+ rowSorterAll.setRowFilter(null);
+ }
+ }
+ });
+
+ textFieldName.setBounds(96, 30, 166, 20);
+ panel_1.add(textFieldName);
+ textFieldName.setColumns(10);
+
+ JLabel label = new JLabel("Beschreibung:");
+ label.setBounds(291, 30, 80, 20);
+ panel_1.add(label);
+
+ textField = new JTextField();
+ textField.setColumns(10);
+ textField.setBounds(381, 30, 166, 20);
+ panel_1.add(textField);
+
+ JLabel lblHauptmen = new JLabel("Hauptmen\u00FC");
+ lblHauptmen.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseClicked(MouseEvent arg0) {
+ // oeffnet das Hauptmenue
+
+ DeleteLecture_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("Veranstaltung l\u00F6schen");
+ 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) {
+ if (tabbedPane.getSelectedIndex() == 0) {
+
+ String username = person.verantwortlicher.getName() + " "
+ + person.verantwortlicher.getVorname();
+ rowSorterMyLectures.setRowFilter(RowFilter.regexFilter(
+ username, 5));
+ } else if (tabbedPane.getSelectedIndex() == 1) {
+ rowSorterAll.setRowFilter(null);
+ }
+
+ }
+ });
+
+ tabbedPane.setBounds(10, 123, 557, 397);
+ contentPanel.add(tabbedPane);
+
+
+ JScrollPane scrollPaneAllImages = new JScrollPane();
+ tableAllLectures = new JTable();
+ tableAllLectures.getSelectionModel().addListSelectionListener( new ListSelectionListener()
+ {
+ public void valueChanged(ListSelectionEvent e)
+ {
+ String imageid = modelAll
+ .getValueAt(
+ tableAllLectures
+ .convertRowIndexToModel(tableAllLectures
+ .getSelectedRow()), 8)
+ .toString();
+ //System.out.println(imageid);
+
+ try {
+ writeLectureData(imageid);
+ } catch (TException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ } catch (ParseException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ }
+ });
+ 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();
+ tableAllLectures.setRowSorter(rowSorterAll);
+ JScrollPane scrollPaneMyImage = new JScrollPane();
+ tablemyLectures = new JTable();
+ tablemyLectures.getSelectionModel().addListSelectionListener( new ListSelectionListener()
+ {
+ public void valueChanged(ListSelectionEvent e)
+ {
+ String imageid = modelMyLectures
+ .getValueAt(
+ tablemyLectures
+ .convertRowIndexToModel(tablemyLectures
+ .getSelectedRow()), 8)
+ .toString();
+ //System.out.println(imageid);
+
+ try {
+ writeLectureData(imageid);
+ } catch (TException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ } catch (ParseException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ }
+ });
+ 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);
+
+
+ scrollPaneAllImages.setViewportView(tableAllLectures);
+ tabbedPane.addTab("Alle", null, scrollPaneAllImages, null);
+ {
+ JPanel buttonPane = new JPanel();
+ buttonPane.setBounds(0, 640, 826, 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) {
+ // oeffnet das Hauptmenue
+
+ MainMenue_GUI main = new MainMenue_GUI();
+ main.setVisible(true);
+ dispose();
+ }
+ });
+ btnBack.setActionCommand("OK");
+ buttonPane.add(btnBack);
+ getRootPane().setDefaultButton(btnBack);
+ }
+ }
+
+ JSeparator separator = new JSeparator();
+ separator.setBounds(0, 79, 836, 1);
+ getContentPane().add(separator);
+
+ JSeparator separator_1 = new JSeparator();
+ separator_1.setBounds(0, 628, 836, 1);
+ getContentPane().add(separator_1);
+
+ JPanel panel = new JPanel();
+ panel.setLayout(null);
+ panel.setBorder(new TitledBorder(null, "Detailinformationen",
+
+ TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel.setBackground(SystemColor.menu);
+ panel.setBounds(591, 85, 235, 518);
+ getContentPane().add(panel);
+
+ JLabel lblNewLabel_3 = new JLabel("Name:");
+ lblNewLabel_3.setBounds(10, 27, 104, 14);
+ panel.add(lblNewLabel_3);
+
+ JLabel lblAktiv = new JLabel("Aktiv:");
+ lblAktiv.setBounds(10, 98, 104, 14);
+ panel.add(lblAktiv);
+
+ labelAktiv = new JLabel("");
+ labelAktiv.setBounds(10, 114, 218, 14);
+ panel.add(labelAktiv);
+
+ labelstartdate = new JLabel("");
+ labelstartdate.setBounds(10, 147, 218, 14);
+ panel.add(labelstartdate);
+
+ JLabel lblStartdatum = new JLabel("Startdatum:");
+ lblStartdatum.setBounds(10, 129, 104, 14);
+ panel.add(lblStartdatum);
+
+ labelenddate = new JLabel("");
+ labelenddate.setBounds(10, 175, 218, 14);
+ panel.add(labelenddate);
+
+ JLabel lblEnddatum = new JLabel("Enddatum:");
+ lblEnddatum.setBounds(10, 161, 104, 14);
+ panel.add(lblEnddatum);
+
+ JLabel lblBeschreibung = new JLabel("Beschreibung:");
+ lblBeschreibung.setBounds(10, 189, 104, 14);
+ panel.add(lblBeschreibung);
+
+ JLabel lblImage = new JLabel("Image:");
+ lblImage.setBounds(10, 293, 104, 14);
+ panel.add(lblImage);
+
+ labelVerantwortlicher = new JLabel("");
+ labelVerantwortlicher.setBounds(10, 426, 218, 14);
+ panel.add(labelVerantwortlicher);
+
+ JLabel lblVerantwortlicher = new JLabel("Verantwortlicher:");
+ lblVerantwortlicher.setBounds(10, 411, 104, 14);
+ panel.add(lblVerantwortlicher);
+
+ JLabel lblImageversion = new JLabel("Imageversion:");
+ lblImageversion.setBounds(10, 381, 104, 14);
+ panel.add(lblImageversion);
+
+ labelimageversion = new JLabel("");
+ labelimageversion.setBounds(10, 399, 218, 14);
+ panel.add(labelimageversion);
+
+
+ labeldesc = new JTextArea();
+ labeldesc.setFont(new Font("Tahoma", Font.PLAIN, 11));
+ labeldesc.setEditable(false);
+ labeldesc.setLineWrap(true);
+ labeldesc.setBackground(SystemColor.menu);
+ labeldesc.setBounds(124, 127, 104, 110);
+ JScrollPane scrollPane = new JScrollPane(labeldesc);
+ scrollPane.setBounds(10, 209, 218, 81);
+ panel.add(scrollPane);
+ //panel.add(labeldesc);
+
+ labelimage = new JTextArea();
+ labelimage.setLineWrap(true);
+ labelimage.setFont(new Font("Tahoma", Font.PLAIN, 11));
+ labelimage.setEditable(false);
+ labelimage.setBackground(SystemColor.menu);
+ labelimage.setBounds(124, 248, 101, 81);
+ JScrollPane scrollPaneImage = new JScrollPane(labelimage);
+ scrollPaneImage.setBounds(10, 309, 215, 69);
+ panel.add(scrollPaneImage);
+
+ labelName = new JTextArea();
+ labelName.setEditable(false);
+ labelName.setFont(new Font("Tahoma", Font.PLAIN, 11));
+ labelName.setBackground(SystemColor.menu);
+ labelName.setBounds(124, 22, 101, 55);
+ JScrollPane scrollPaneName = new JScrollPane(labelName);
+ scrollPaneName.setBounds(10, 40, 218, 55);
+ panel.add(scrollPaneName);
+
+ button = new JButton("L\u00F6schen");
+ button.setBounds(469, 606, 118, 23);
+ getContentPane().add(button);
+ button.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ String lectureID="";
+ int eingabe;
+ String username = person.verantwortlicher.getName() + " "
+ + person.verantwortlicher.getVorname();
+ //check if a row is selected
+ if (tablemyLectures.getSelectedRowCount() !=0){
+ //a row is selected
+ //ask for confirmation
+ eingabe = JOptionPane.showConfirmDialog(null,
+ "Wollen Sie diese Daten l\u00f6schen?", "L\u00f6schen?",
+ JOptionPane.YES_NO_OPTION);
+
+ if (eingabe == JOptionPane.YES_OPTION) {
+ //user has confirmed deletion, now get the ID of the selected lecture
+ lectureID = modelMyLectures.getValueAt(tablemyLectures.convertColumnIndexToModel(tablemyLectures.getSelectedRow()), 8).toString();
+ System.out.println("L\u00f6sche Lecture "+lectureID);
+ try {
+ if(client.deleteLecture(lectureID, person.verantwortlicher.getHochschule(),person.verantwortlicher.getUsername())){
+ System.out.println("L\u00f6schen erfolgreich");
+ //delete successful
+
+ DeleteLecture_GUI dl = new DeleteLecture_GUI();
+ dl.setVisible(true);
+ dispose();
+ } else {
+ //delete not successful
+ JOptionPane
+ .showMessageDialog(
+ null,
+ "L\u00f6schen aus Datenbank fehlgeschlagen.",
+ "Fehler",
+ JOptionPane.INFORMATION_MESSAGE);
+ }
+ } catch (TException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }//end delete
+ }//end ask for confirmation
+
+ }//end check if a row is selected
+ else if (tableAllLectures.getSelectedRowCount() !=0 && tableAllLectures.getValueAt(tableAllLectures.getSelectedRow(), 5).toString().equals(username)){
+ //a row is selected
+ //ask for confirmation
+ eingabe = JOptionPane.showConfirmDialog(null,
+ "Wollen Sie diese Daten l\u00f6schen?", "L\u00f6schen?",
+ JOptionPane.YES_NO_OPTION);
+
+ if (eingabe == JOptionPane.YES_OPTION) {
+ //user has confirmed deletion, now get the ID of the selected lecture
+ lectureID = tableAllLectures.getValueAt(tableAllLectures.convertColumnIndexToModel(tableAllLectures.getSelectedRow()), 8).toString();
+ System.out.println("L\u00f6sche Lecture "+lectureID);
+ try {
+ if(client.deleteLecture(lectureID, person.verantwortlicher.getHochschule(),person.verantwortlicher.getUsername())){
+ System.out.println("L\u00f6schen erfolgreich");
+ //delete successful
+
+ DeleteLecture_GUI dl = new DeleteLecture_GUI();
+ dl.setVisible(true);
+ dispose();
+ } else {
+ //delete not successful
+ JOptionPane
+ .showMessageDialog(
+ null,
+ "L\u00f6schen aus Datenbank fehlgeschlagen.",
+ "Fehler",
+ JOptionPane.INFORMATION_MESSAGE);
+ }
+ } catch (TException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }//end delete
+ }//end ask for confirmation
+
+ } else { //end check if a row is selected
+ JOptionPane
+ .showMessageDialog(
+ null,
+ "Bitte w\u00e4hlen Sie ein eigenes Image aus.",
+ "Message",
+ JOptionPane.INFORMATION_MESSAGE);
+ }
+
+ }
+ });
+
+ JMenuBar menuBar = new JMenuBar();
+ setJMenuBar(menuBar);
+
+ JMenu mnNewMenu_1 = new JMenu("Hilfe");
+ menuBar.add(mnNewMenu_1);
+
+ JMenuItem mntmFaq = new JMenuItem("FAQ");
+ mntmFaq.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+
+ OpenLinks open = new OpenLinks();
+
+ URI windows;
+ try {
+ windows = new URI(Links.getFAQ());
+
+ open.openWebpage(windows);
+
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ });
+ mnNewMenu_1.add(mntmFaq);
+
+
+ JMenuItem mntmOtrs = new JMenuItem("OTRS");
+ mntmOtrs.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+
+ OpenLinks open = new OpenLinks();
+
+ URI windows;
+ try {
+ windows = new URI(Links.getOTRS());
+
+ open.openWebpage(windows);
+
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+ });
+ mnNewMenu_1.add(mntmOtrs);
+
+ JMenuItem mntmAbout = new JMenuItem("About");
+ mntmAbout.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ About_GUI ab = new About_GUI();
+ ab.setVisible(true);
+ }
+ });
+ mnNewMenu_1.add(mntmAbout);
+
+ }
+
+ // Initiale Beffuelung eines Table models
+ public DefaultTableModel initTableModel(DefaultTableModel model) throws ParseException {
+ List<server.Lecture> lectures;
+ try {
+ // Hole eine Liste der Images
+ lectures = client.getLectureList();
+ Iterator<server.Lecture> i = lectures.iterator();
+ SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
+ int x = 0;
+
+ while (i.hasNext()) {
+ // erzeuge Objekte fuer die Tabelle
+ Object[] obj = {
+ lectures.get(x).lecturename,
+ lectures.get(x).desc,
+ out.format(in.parse(lectures.get(x).starttime)) + " "
+ + out.format(in.parse(lectures.get(x).endtime)),
+ lectures.get(x).isActive, out.format(in.parse(lectures.get(x).lastused)),
+ lectures.get(x).username,
+ lectures.get(x).imagename," " ,lectures.get(x).id };
+ // Fuege 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;
+ }
+ public void writeLectureData(String id) throws TException, ParseException{
+
+ SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
+ Map<String,String> res=client.getLectureData(id);
+ labelName.setText(res.get("name"));
+ labelAktiv.setText(res.get("isActive"));
+ labeldesc.setText(res.get("desc"));
+ labelVerantwortlicher.setText(res.get("owner"));
+ labelstartdate.setText(out.format(in.parse(res.get("startTime"))));
+ labelenddate.setText(out.format(in.parse(res.get("endTime"))));
+ labelimage.setText(res.get("imagepath").substring(res.get("imagepath").indexOf("/")+1));
+ labelimageversion.setText(res.get("imageversion"));
+
+
+}
+}
diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java
new file mode 100644
index 00000000..457b67db
--- /dev/null
+++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java
@@ -0,0 +1,594 @@
+package gui.lecture;
+
+import gui.intro.About_GUI;
+import gui.intro.MainMenue_GUI;
+
+import java.awt.Color;
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.ScrollPane;
+import java.awt.SystemColor;
+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 java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Calendar;
+import java.util.Date;
+
+import javax.swing.ButtonGroup;
+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.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 javax.swing.border.TitledBorder;
+
+import models.Image;
+import models.Lecture;
+import models.Links;
+import models.person;
+import util.GuiOrganizer;
+import util.OpenLinks;
+
+import com.toedter.calendar.JDateChooser;
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeEvent;
+
+@SuppressWarnings("serial")
+public class EditLectureAllgemein_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 textFieldLaborname;
+ JTextArea description;
+ JRadioButton radioButtonyes;
+ JDateChooser dateChooserend;
+ JDateChooser dateChooserstart;
+ JRadioButton radioButtonno;
+ Date startDate = new Date();
+ Date endDate;
+ private final ButtonGroup buttonGroup = new ButtonGroup();
+ private boolean descriptionLengthOK = false; // description may not be
+ // longer than
+ // MAX_DESCRIPTION_LENGTH
+ private final int MAX_DESCRIPTION_LENGTH = 254;
+
+ int maxLifeTime = 180; // Anzahl Tage, die eine Veranstaltung in der Zukunft
+ // aktiv sein darf
+ boolean isDateOrderCorrect, isDateMaxLifeTimeCorrect,
+ isAllInformationReady = false;
+
+ /**
+ * Create the dialog.
+ */
+ public EditLectureAllgemein_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 - Veranstaltung bearbeiten");
+ ;
+ setBounds(0, 0, 603, 722);
+ GuiOrganizer.centerGUI(this);
+
+ 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) {
+
+ EditLectureAllgemein_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, 84, 14);
+ contentPanel.add(lblVlimage);
+
+ JLabel label_2 = new JLabel(">");
+ label_2.setBounds(175, 11, 13, 14);
+ contentPanel.add(label_2);
+
+ JLabel lblNewLabel_1 = new JLabel("Bearbeiten");
+ lblNewLabel_1.setBounds(188, 11, 72, 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.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 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.setFont(new Font("Tahoma", Font.PLAIN, 11));
+ 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(404, 188, 143, 20);
+ panel_2.add(dateChooserend);
+
+ JLabel label_5 = new JLabel("bis");
+ label_5.setBounds(378, 188, 21, 20);
+ panel_2.add(label_5);
+
+ dateChooserstart = new JDateChooser();
+ dateChooserstart
+ .addPropertyChangeListener(new PropertyChangeListener() {
+ public void propertyChange(PropertyChangeEvent arg0) {
+ endDate = addDays(dateChooserstart.getDate(),
+ maxLifeTime); // Datum darf weiter als 6
+ // Monate in der Zukunft
+ // liegen
+ }
+ });
+
+ // initialize
+ 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());
+ }
+
+ 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());
+ }
+
+ dateChooserstart.setDateFormatString("yyyy-MM-dd HH:mm:ss");
+ dateChooserstart.setDate(Lecture.lecture.getStartdate());
+ 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, 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);
+ 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);
+
+ 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);
+ }
+ });
+
+ JLabel label_12 = new JLabel("(Im VMChooser sichtbar)");
+ label_12.setBounds(10, 254, 250, 14);
+ panel_2.add(label_12);
+
+ 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 okButton = new JButton("Zur\u00FCck");
+ okButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+
+ 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);
+ 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(radioButtonyes.isSelected()==true) {
+ * Lecture.lecture.setActive(true); } 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());
+ *
+ *
+ * PermissionEditLecture_GUI ev=new
+ * PermissionEditLecture_GUI(); ev.setVisible(true);
+ * dispose(); }
+ */
+ 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 \u00e4ndern.",
+ "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;
+ }
+ // Pruefen ob alles eingegeben wurde
+ if (textFieldLaborname.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);
+ }
+ // Pruefe ob alle Eingaben korrekt sind, dann mache
+ // weiter
+ if (isAllInformationReady == true
+ && isDateMaxLifeTimeCorrect == true
+ && isDateOrderCorrect == true
+ && descriptionLenghtOK() == true) {
+ // everything is ok, proceed
+ 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());
+
+ PermissionCreateLecture_GUI ev = new PermissionCreateLecture_GUI();
+ ev.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);
+
+ 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");
+ mntmFaq.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+ OpenLinks open = new OpenLinks();
+ URI windows;
+ try {
+ windows = new URI(Links.getFAQ());
+ open.openWebpage(windows);
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ });
+ mnNewMenu_1.add(mntmFaq);
+
+ JMenuItem mntmOtrs = new JMenuItem("OTRS");
+ mntmOtrs.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+ OpenLinks open = new OpenLinks();
+ URI windows;
+ try {
+ windows = new URI(Links.getOTRS());
+ open.openWebpage(windows);
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ });
+ mnNewMenu_1.add(mntmOtrs);
+
+ JMenuItem mntmAbout = new JMenuItem("About");
+ mntmAbout.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ About_GUI ab = new About_GUI();
+ ab.setVisible(true);
+ }
+ });
+ mnNewMenu_1.add(mntmAbout);
+
+ }
+
+ 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();
+ }// end addDays()
+
+ public boolean descriptionLenghtOK() {
+ descriptionLengthOK = false;
+
+ // max length is 254 chars
+ if (description.getText().length() >= MAX_DESCRIPTION_LENGTH) {
+ descriptionLengthOK = false;
+ JOptionPane.showMessageDialog(null,
+ "Die Beschreibung darf max 254 Zeichen enthalten. Aktuell enthält sie "
+ + description.getText().length() + ".",
+ "Beschreibung zu umfangreich",
+ JOptionPane.INFORMATION_MESSAGE);
+ } else {
+ descriptionLengthOK = true;
+
+ }
+
+ return descriptionLengthOK;
+ }// enddescriptionLenghtOK()
+
+}// end class \ No newline at end of file
diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java
new file mode 100644
index 00000000..773a01b7
--- /dev/null
+++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java
@@ -0,0 +1,1020 @@
+package gui.lecture;
+
+import gui.intro.About_GUI;
+import gui.intro.MainMenue_GUI;
+
+import java.awt.Color;
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.SystemColor;
+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.net.URI;
+import java.net.URISyntaxException;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+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.JTextArea;
+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.table.DefaultTableModel;
+import javax.swing.table.TableModel;
+import javax.swing.table.TableRowSorter;
+
+import models.Lecture;
+import models.Links;
+import models.person;
+
+import org.apache.thrift.TException;
+
+import server.Server.Client;
+import thrift.ThriftConnection;
+import util.GuiOrganizer;
+import util.OpenLinks;
+import javax.swing.event.ChangeListener;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+
+@SuppressWarnings("serial")
+public class EditLectureLink_GUI extends JFrame {
+
+ private final JPanel contentPanel = new JPanel();
+ String[] result;
+ JRadioButton rdbtnInternetJa;
+ JRadioButton rdbtnInternetNein;
+ JComboBox<String> comboBox;
+ JLabel labelName;
+ JLabel labelUpdate;
+ JLabel labelVerantwortlicher;
+ JLabel labelWeitereVerantwortliche;
+ JLabel labelVorlage;
+ JLabel labelLizenzSoftware;
+ JLabel labelInternet;
+ JLabel labelRam;
+ JLabel labelID;
+ JLabel labelVersion;
+ JTextArea textAreadesc;
+ JLabel labelCPU;
+ private JLabel labelOS;
+ JTable tableAllImages = new JTable();
+ JTable tablemyImages = new JTable();
+ JTable tableCoopImages = new JTable();
+ JTable tablePublicVorlagen = new JTable();
+ private JTextField textFieldName;
+ JTabbedPane tabbedPane;
+ boolean activeSearch=false;
+ String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung",
+ "Verantwortlicher", "Letztes Update", "ID", "Version","Template" };
+ ThriftConnection con = new ThriftConnection();
+ Client client = models.Client.clientcon.getClient();
+ final DefaultTableModel modelAll = new DefaultTableModel(titles, 0){
+ public boolean isCellEditable(int rowIndex, int mColIndex) {
+ return false;
+ }
+ };
+ final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0){
+ public boolean isCellEditable(int rowIndex, int mColIndex) {
+ return false;
+ }
+ };
+ final DefaultTableModel modelPublicVorlagen = new DefaultTableModel(titles, 0){
+ public boolean isCellEditable(int rowIndex, int mColIndex) {
+ return false;
+ }
+ };
+ final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>(
+ modelAll);
+ final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>(
+ modelMyImages);
+ final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>(
+ modelPublicVorlagen);
+ private JTextField textField;
+ /**
+ * Create the dialog.
+ */
+ public EditLectureLink_GUI() {
+ addWindowListener(new WindowAdapter() {
+ @Override
+ public void windowClosing(WindowEvent arg0) {
+ con.closeThriftConnection();
+ System.exit(0);
+ }
+ @Override
+ public void windowOpened(WindowEvent arg0) {
+ try {
+ initTableModel(modelAll);
+ initTableModel(modelMyImages);
+ initTableModel(modelPublicVorlagen);
+ } catch (TException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (ParseException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ // auszublendende Angaben
+ // 1=Lizenzpflichtig
+ // 3=Veranstaltung
+ // 6=ID
+ // 7=Version
+ // 8=Template
+ tablemyImages.getColumnModel().getColumn(1).setWidth(0);
+ tablemyImages.getColumnModel().getColumn(1).setMinWidth(0);
+ tablemyImages.getColumnModel().getColumn(1).setMaxWidth(0);
+ tablemyImages.getColumnModel().getColumn(3).setWidth(0);
+ tablemyImages.getColumnModel().getColumn(3).setMinWidth(0);
+ tablemyImages.getColumnModel().getColumn(3).setMaxWidth(0);
+ tablemyImages.getColumnModel().getColumn(8).setWidth(0);
+ tablemyImages.getColumnModel().getColumn(8).setMinWidth(0);
+ tablemyImages.getColumnModel().getColumn(8).setMaxWidth(0);
+ tablemyImages.getColumnModel().getColumn(6).setWidth(0);
+ tablemyImages.getColumnModel().getColumn(6).setMinWidth(0);
+ tablemyImages.getColumnModel().getColumn(6).setMaxWidth(0);
+ tablemyImages.getColumnModel().getColumn(7).setWidth(0);
+ tablemyImages.getColumnModel().getColumn(7).setMinWidth(0);
+ tablemyImages.getColumnModel().getColumn(7).setMaxWidth(0);
+
+ tablePublicVorlagen.getColumnModel().getColumn(1).setWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(1).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(1).setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(3).setWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(3).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(3).setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(8).setWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(8).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(8).setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(6).setWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(6).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(6).setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(7).setWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(7).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(7).setMaxWidth(0);
+
+ tableAllImages.getColumnModel().getColumn(1).setWidth(0);
+ tableAllImages.getColumnModel().getColumn(1).setMinWidth(0);
+ tableAllImages.getColumnModel().getColumn(1).setMaxWidth(0);
+ tableAllImages.getColumnModel().getColumn(3).setWidth(0);
+ tableAllImages.getColumnModel().getColumn(3).setMinWidth(0);
+ tableAllImages.getColumnModel().getColumn(3).setMaxWidth(0);
+ tableAllImages.getColumnModel().getColumn(8).setWidth(0);
+ tableAllImages.getColumnModel().getColumn(8).setMinWidth(0);
+ tableAllImages.getColumnModel().getColumn(8).setMaxWidth(0);
+ tableAllImages.getColumnModel().getColumn(6).setWidth(0);
+ tableAllImages.getColumnModel().getColumn(6).setMinWidth(0);
+ tableAllImages.getColumnModel().getColumn(6).setMaxWidth(0);
+ tableAllImages.getColumnModel().getColumn(7).setWidth(0);
+ tableAllImages.getColumnModel().getColumn(7).setMinWidth(0);
+ tableAllImages.getColumnModel().getColumn(7).setMaxWidth(0);
+ 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 - Veranstaltung bearbeiten");
+
+ setBounds(0, 0, 918, 722);
+ GuiOrganizer.centerGUI(this);
+
+
+ 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 verlinken");
+ 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, 91);
+ contentPanel.add(panel_1);
+ panel_1.setLayout(null);
+
+ JLabel lblNewLabel_2 = new JLabel("Name:");
+ lblNewLabel_2.setBounds(10, 30, 80, 20);
+ panel_1.add(lblNewLabel_2);
+
+ JLabel lblInternetIstInnerhalb = new JLabel("Betriebssystem:");
+ lblInternetIstInnerhalb.setBounds(10, 58, 80, 20);
+ panel_1.add(lblInternetIstInnerhalb);
+
+ textFieldName = new JTextField();
+ textFieldName.addKeyListener(new KeyAdapter() {
+ @Override
+ public void keyReleased(KeyEvent e) {
+ String stext = textFieldName.getText();
+ // Wenn Textfield nicht leer
+ if (stext != "") {
+ activeSearch=true;
+ // Filtere nach der Eingabe
+ rowSorterAll.setRowFilter(RowFilter.regexFilter(
+ textFieldName.getText(), 0));
+ rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
+ textFieldName.getText(), 0));
+ rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(
+ textFieldName.getText(), 0));
+
+ }else{
+ activeSearch=false;
+ String username = person.verantwortlicher.getName() + " "
+ + person.verantwortlicher.getVorname();
+ rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
+ username, 4));
+ rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(
+ "true", 8));
+ rowSorterAll.setRowFilter(null);
+ }
+
+ }
+
+ });
+
+ textFieldName.setBounds(96, 30, 166, 20);
+ panel_1.add(textFieldName);
+ textFieldName.setColumns(10);
+
+ 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) {
+ // Prueft das die Auswahl nicht leer ist
+ if (comboBox.getSelectedItem().toString() != "") {
+ activeSearch=true;
+ rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox
+ .getSelectedItem().toString(), 2));
+ rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
+ comboBox.getSelectedItem().toString(), 2));
+ rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(
+ comboBox.getSelectedItem().toString(), 2));
+ }else{
+ activeSearch=false;
+ String username = person.verantwortlicher.getName() + " "
+ + person.verantwortlicher.getVorname();
+ rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
+ username, 4));
+ rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(
+ "true", 8));
+ rowSorterAll.setRowFilter(null);
+ }
+ }
+ });
+ comboBox.setBounds(96, 58, 166, 20);
+ panel_1.add(comboBox);
+
+ JLabel label_3 = new JLabel("Beschreibung:");
+ label_3.setBounds(291, 30, 80, 20);
+ panel_1.add(label_3);
+
+ textField = new JTextField();
+ textField.setColumns(10);
+ textField.setBounds(381, 30, 166, 20);
+ panel_1.add(textField);
+
+ JLabel lblHauptmen = new JLabel("Hauptmen\u00FC");
+ lblHauptmen.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseClicked(MouseEvent arg0) {
+
+ 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("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("Veranstaltung verlinken");
+ lblNewLabel_1.setBounds(164, 11, 113, 14);
+ contentPanel.add(lblNewLabel_1);
+
+ tabbedPane = new JTabbedPane(JTabbedPane.TOP);
+ tabbedPane.addChangeListener(new ChangeListener() {
+ public void stateChanged(ChangeEvent arg0) {
+ if (tabbedPane.getSelectedIndex() == 0 && activeSearch==false) {
+
+ String username = person.verantwortlicher.getName() + " "
+ + person.verantwortlicher.getVorname();
+ rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
+ username, 4));
+ }else if(tabbedPane.getSelectedIndex()==1 && activeSearch==false){
+ rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter("true", 8));
+ } else if(tabbedPane.getSelectedIndex()==2 && activeSearch==false){
+ rowSorterAll.setRowFilter(null);
+ }
+
+ }
+ });
+
+ tabbedPane.setBounds(10, 158, 557, 339);
+ contentPanel.add(tabbedPane);
+
+ JScrollPane scrollPaneAllImages = new JScrollPane();
+ tableAllImages.getSelectionModel().addListSelectionListener( new ListSelectionListener()
+ {
+ public void valueChanged(ListSelectionEvent e)
+ {
+
+ String imageid = modelAll
+ .getValueAt(
+ tableAllImages
+ .convertRowIndexToModel(tableAllImages
+ .getSelectedRow()), 6)
+ .toString();
+ //System.out.println(imageid);
+ String version = modelAll
+ .getValueAt(
+ tableAllImages
+ .convertRowIndexToModel(tableAllImages
+ .getSelectedRow()), 7)
+ .toString();
+ //System.out.println(version);
+ writeImageData(imageid, version);
+
+ }
+ });
+ 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();
+ tableAllImages.setRowSorter(rowSorterAll);
+ JScrollPane scrollPaneMyImage = new JScrollPane();
+ tablemyImages.getSelectionModel().addListSelectionListener( new ListSelectionListener()
+ {
+ public void valueChanged(ListSelectionEvent e)
+ {
+ String imageid = modelMyImages
+ .getValueAt(
+ tablemyImages
+ .convertRowIndexToModel(tablemyImages
+ .getSelectedRow()), 6)
+ .toString();
+ //System.out.println(imageid);
+ String version = modelMyImages
+ .getValueAt(
+ tablemyImages
+ .convertRowIndexToModel(tablemyImages
+ .getSelectedRow()), 7)
+ .toString();
+ //System.out.println(version);
+ writeImageData(imageid, version);
+ }
+ });
+ 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);
+
+ JScrollPane scrollPanePublicVorlagen = new JScrollPane();
+ scrollPanePublicVorlagen.setEnabled(false);
+ tablePublicVorlagen.getSelectionModel().addListSelectionListener( new ListSelectionListener()
+ {
+ public void valueChanged(ListSelectionEvent e)
+ {
+ String imageid = modelPublicVorlagen
+ .getValueAt(
+ tablePublicVorlagen
+ .convertRowIndexToModel(tablePublicVorlagen
+ .getSelectedRow()), 6)
+ .toString();
+ //System.out.println(imageid);
+ String version = modelPublicVorlagen
+ .getValueAt(
+ tablePublicVorlagen
+ .convertRowIndexToModel(tablePublicVorlagen
+ .getSelectedRow()), 7)
+ .toString();
+ //System.out.println(version);
+ writeImageData(imageid, version);
+ }
+ });
+ tablePublicVorlagen.setModel(modelPublicVorlagen);
+ 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();
+ tablePublicVorlagen.setRowSorter(rowSorterPublicVorlagen);
+ scrollPanePublicVorlagen.setViewportView(tablePublicVorlagen);
+ tabbedPane.addTab("Vorlagen", null,
+ scrollPanePublicVorlagen, null);
+
+
+ scrollPaneAllImages.setViewportView(tableAllImages);
+ tabbedPane.addTab("Alle", null, scrollPaneAllImages, 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("bwLehrpool", null, scrollPaneCoopImages,
+ null);
+ tabbedPane.setEnabledAt(3, false);
+
+ JButton btnLinkLschen = new JButton("Link l\u00F6schen");
+ btnLinkLschen.setEnabled(false);
+ btnLinkLschen.setBounds(478, 508, 89, 23);
+ contentPanel.add(btnLinkLschen);
+
+
+ {
+ JPanel buttonPane = new JPanel();
+ buttonPane.setBounds(0, 640, 902, 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) {
+
+ PermissionEditLecture_GUI el = new PermissionEditLecture_GUI();
+ el.setVisible(true);
+ dispose();
+ }
+ });
+ okButton.setActionCommand("OK");
+ buttonPane.add(okButton);
+ getRootPane().setDefaultButton(okButton);
+ }
+ {
+ JButton cancelButton = new JButton(
+ "Veranstaltung \u00e4ndern und abschlie\u00DFen");
+ cancelButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ String username = person.verantwortlicher.getName() + " "
+ + person.verantwortlicher.getVorname();
+ // check if a row is selected
+ if (tablemyImages.getSelectedRow() != -1){
+
+ // a row is selected, do operations
+ String imagename = tablemyImages.getValueAt(
+ tablemyImages.getSelectedRow(), 0)
+ .toString();
+ try {
+ DateFormat formatter = new SimpleDateFormat(
+ "yyyy-MM-dd hh:mm:ss");
+ 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(),
+ modelMyImages
+ .getValueAt(
+ tablemyImages
+ .convertRowIndexToModel(tablemyImages
+ .getSelectedRow()), 6).toString(),
+ modelMyImages
+ .getValueAt(
+ tablemyImages
+ .convertRowIndexToModel(tablemyImages
+ .getSelectedRow()), 7)
+ .toString(),
+ person.verantwortlicher.getUsername(),
+ person.verantwortlicher.getVorname(),
+ person.verantwortlicher.getName(),
+ person.verantwortlicher.getHochschule(),
+ person.verantwortlicher.getEMail(),
+ person.verantwortlicher.getTel(),
+ person.verantwortlicher.getFakultaet(),
+ Lecture.lecture.getid());
+ JOptionPane
+ .showMessageDialog(
+ null,
+ "Ihre Veranstaltung wurde erfolgreich ge�ndert. Sie kehren nun zum Hauptmen\u00fc zur\u00fcck.",
+ "Veranstaltung angelegt",
+ JOptionPane.INFORMATION_MESSAGE);
+ // zurueck zum Menue
+ 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);
+ JOptionPane.showMessageDialog(null,
+ e1.getCause()+"\n"+e1.getStackTrace(),
+ "Debug-Message", JOptionPane.ERROR_MESSAGE);
+ }
+
+ dispose();
+
+ }else if (tablePublicVorlagen.getSelectedRow() != -1 &&tablePublicVorlagen.getValueAt(tablePublicVorlagen.getSelectedRow(), 4).toString().equals(username)){
+
+ // a row is selected, do operations
+ String imagename = tablePublicVorlagen.getValueAt(
+ tablePublicVorlagen.getSelectedRow(), 0)
+ .toString();
+ try {
+ DateFormat formatter = new SimpleDateFormat(
+ "yyyy-MM-dd hh:mm:ss");
+ 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(),
+ modelPublicVorlagen
+ .getValueAt(
+ tablePublicVorlagen
+ .convertRowIndexToModel(tablePublicVorlagen
+ .getSelectedRow()), 6).toString(),
+ modelPublicVorlagen
+ .getValueAt(
+ tablePublicVorlagen
+ .convertRowIndexToModel(tablePublicVorlagen
+ .getSelectedRow()), 7).toString(),
+ person.verantwortlicher.getUsername(),
+ person.verantwortlicher.getVorname(),
+ person.verantwortlicher.getName(),
+ person.verantwortlicher.getHochschule(),
+ person.verantwortlicher.getEMail(),
+ person.verantwortlicher.getTel(),
+ person.verantwortlicher.getFakultaet(),
+ Lecture.lecture.getid());
+ JOptionPane
+ .showMessageDialog(
+ null,
+ "Ihre Veranstaltung wurde erfolgreich ge�ndert. Sie kehren nun zum Hauptmen\u00fc zur\u00fcck.",
+ "Veranstaltung angelegt",
+ JOptionPane.INFORMATION_MESSAGE);
+ // zurueck zum Menue
+ 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);
+ JOptionPane.showMessageDialog(null,
+ e1.getCause()+"\n"+e1.getStackTrace(),
+ "Debug-Message", JOptionPane.ERROR_MESSAGE);
+ }
+
+ dispose();
+
+ }else if (tableAllImages.getSelectedRow() != -1 &&tableAllImages.getValueAt(tableAllImages.getSelectedRow(), 4).toString().equals(username)){
+
+ // 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");
+ 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(),
+ modelAll
+ .getValueAt(
+ tableAllImages
+ .convertRowIndexToModel(tableAllImages
+ .getSelectedRow()), 6)
+ .toString(),
+ modelAll
+ .getValueAt(
+ tableAllImages
+ .convertRowIndexToModel(tableAllImages
+ .getSelectedRow()), 7)
+ .toString(),
+ person.verantwortlicher.getUsername(),
+ person.verantwortlicher.getVorname(),
+ person.verantwortlicher.getName(),
+ person.verantwortlicher.getHochschule(),
+ person.verantwortlicher.getEMail(),
+ person.verantwortlicher.getTel(),
+ person.verantwortlicher.getFakultaet(),
+ Lecture.lecture.getid());
+ JOptionPane
+ .showMessageDialog(
+ null,
+ "Ihre Veranstaltung wurde erfolgreich ge�ndert. Sie kehren nun zum Hauptmen\u00fc zur\u00fcck.",
+ "Veranstaltung angelegt",
+ JOptionPane.INFORMATION_MESSAGE);
+ // zurueck zum Menue
+ 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);
+ JOptionPane.showMessageDialog(null,
+ e1.getCause()+"\n"+e1.getStackTrace(),
+ "Debug-Message", JOptionPane.ERROR_MESSAGE);
+ }
+
+ dispose();
+
+ }
+ else {
+ // nothing selected
+ JOptionPane.showMessageDialog(null,
+ "Bitte w\u00e4hlen Sie ein Image aus.",
+ "Image Auswahl",
+ JOptionPane.INFORMATION_MESSAGE);
+ }
+
+ }
+ });
+ cancelButton.setActionCommand("Cancel");
+ buttonPane.add(cancelButton);
+ }
+ }
+
+ JSeparator separator = new JSeparator();
+ separator.setBounds(0, 79, 912, 1);
+ getContentPane().add(separator);
+
+ JSeparator separator_1 = new JSeparator();
+ separator_1.setBounds(0, 627, 912, 2);
+ getContentPane().add(separator_1);
+
+ JPanel panel = new JPanel();
+ panel.setLayout(null);
+ panel.setBorder(new TitledBorder(null, "Detailinformationen",
+
+ TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel.setBackground(SystemColor.menu);
+ panel.setBounds(586, 85, 316, 531);
+ getContentPane().add(panel);
+
+ JLabel lblName = new JLabel("Name:");
+ lblName.setBounds(10, 87, 130, 14);
+ panel.add(lblName);
+
+ labelName = new JLabel("");
+ labelName.setBounds(10, 102, 296, 14);
+ panel.add(labelName);
+
+ JLabel lblVerantwortlicher = new JLabel("Verantwortlicher:");
+ lblVerantwortlicher.setBounds(10, 259, 130, 14);
+ panel.add(lblVerantwortlicher);
+
+ labelOS = new JLabel("");
+ labelOS.setBounds(10, 216, 296, 14);
+ panel.add(labelOS);
+
+ JLabel lblWeitereVerantwortliche = new JLabel("Betriebssystem:");
+ lblWeitereVerantwortliche.setBounds(10, 202, 130, 14);
+ panel.add(lblWeitereVerantwortliche);
+
+ labelVerantwortlicher = new JLabel("");
+ labelVerantwortlicher.setBounds(10, 272, 296, 14);
+ panel.add(labelVerantwortlicher);
+
+ JLabel label = new JLabel("Weitere Verantwortliche:");
+ label.setBounds(10, 284, 130, 14);
+ panel.add(label);
+
+ labelWeitereVerantwortliche = new JLabel("");
+ labelWeitereVerantwortliche.setBounds(10, 297, 296, 14);
+ panel.add(labelWeitereVerantwortliche);
+
+ labelUpdate = new JLabel("");
+ labelUpdate.setBounds(10, 245, 296, 14);
+ panel.add(labelUpdate);
+
+ JLabel lblLetztesUpdate = new JLabel("Letztes Update:");
+ lblLetztesUpdate.setBounds(10, 231, 130, 14);
+ panel.add(lblLetztesUpdate);
+
+ JLabel lblImageIstVorlage = new JLabel("Image ist Vorlage:");
+ lblImageIstVorlage.setBounds(10, 336, 130, 14);
+ panel.add(lblImageIstVorlage);
+
+ labelVorlage = new JLabel("");
+ labelVorlage.setBounds(10, 350, 296, 14);
+ panel.add(labelVorlage);
+
+ labelLizenzSoftware = new JLabel("");
+ labelLizenzSoftware.setBounds(10, 383, 296, 14);
+ panel.add(labelLizenzSoftware);
+
+ JLabel lblLizenzpflichtigeSoftware = new JLabel("Lizenzpflichtige Software:");
+ lblLizenzpflichtigeSoftware.setBounds(10, 367, 130, 14);
+ panel.add(lblLizenzpflichtigeSoftware);
+
+ JLabel lblInternet = new JLabel("Internetsperre vorhanden:");
+ lblInternet.setBounds(10, 400, 130, 14);
+ panel.add(lblInternet);
+
+ labelInternet = new JLabel("");
+ labelInternet.setBounds(10, 417, 296, 14);
+ panel.add(labelInternet);
+
+ JLabel lblEmpfehlungRam = new JLabel("Empfehlung RAM:");
+ lblEmpfehlungRam.setBounds(10, 432, 130, 14);
+ panel.add(lblEmpfehlungRam);
+
+ labelRam = new JLabel("");
+ labelRam.setBounds(10, 455, 296, 14);
+ panel.add(labelRam);
+
+ JLabel lblEmpfehlungCpu = new JLabel("Empfehlung CPU:");
+ lblEmpfehlungCpu.setBounds(10, 469, 130, 14);
+ panel.add(lblEmpfehlungCpu);
+
+ labelCPU = new JLabel("");
+ labelCPU.setBounds(10, 487, 296, 14);
+ panel.add(labelCPU);
+
+ JLabel lblTechnischeDaten = new JLabel("Technische Daten:");
+ lblTechnischeDaten.setBounds(10, 322, 296, 14);
+ panel.add(lblTechnischeDaten);
+
+ JLabel lblId = new JLabel("ID:");
+ lblId.setBounds(10, 23, 296, 14);
+ panel.add(lblId);
+
+ labelID = new JLabel("");
+ labelID.setBounds(10, 37, 296, 14);
+ panel.add(labelID);
+
+ labelVersion = new JLabel("");
+ labelVersion.setBounds(10, 73, 296, 14);
+ panel.add(labelVersion);
+
+ JLabel lblVersion = new JLabel("Version:");
+ lblVersion.setBounds(10, 57, 296, 14);
+ panel.add(lblVersion);
+
+ JLabel lblBeschreibung = new JLabel("Beschreibung:");
+ lblBeschreibung.setBounds(10, 119, 130, 14);
+ panel.add(lblBeschreibung);
+
+ JScrollPane scrollPane = new JScrollPane();
+ scrollPane.setBounds(10, 135, 296, 65);
+ panel.add(scrollPane);
+
+ textAreadesc = new JTextArea();
+ textAreadesc.setLineWrap(true);
+ textAreadesc.setBackground(SystemColor.menu);
+ scrollPane.setViewportView(textAreadesc);
+
+ JMenuBar menuBar = new JMenuBar();
+ setJMenuBar(menuBar);
+
+ JMenu mnNewMenu_1 = new JMenu("Hilfe");
+ menuBar.add(mnNewMenu_1);
+
+ JMenuItem mntmFaq = new JMenuItem("FAQ");
+ mntmFaq.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+
+ OpenLinks open = new OpenLinks();
+
+ URI windows;
+ try {
+ windows = new URI(Links.getFAQ());
+
+ open.openWebpage(windows);
+
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ });
+ mnNewMenu_1.add(mntmFaq);
+
+
+ JMenuItem mntmOtrs = new JMenuItem("OTRS");
+ mntmOtrs.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+
+ OpenLinks open = new OpenLinks();
+
+ URI windows;
+ try {
+ windows = new URI(Links.getOTRS());
+
+ open.openWebpage(windows);
+
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+ });
+ mnNewMenu_1.add(mntmOtrs);
+
+ JMenuItem mntmAbout = new JMenuItem("About");
+ mntmAbout.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ About_GUI ab = new About_GUI();
+ ab.setVisible(true);
+ }
+ });
+ mnNewMenu_1.add(mntmAbout);
+
+ }
+
+ // Initiale Beffuelung eines Table models
+ public DefaultTableModel initTableModel(DefaultTableModel model) throws TException, ParseException {
+ List<server.Image> images;
+
+ // Hole eine Liste der Images
+ images = client.getImageList();
+
+ Iterator<server.Image> i = images.iterator();
+ SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
+ SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy hh:mm:ss");
+ int x = 0;
+
+ while (i.hasNext()) {
+ // erzeuge Objekte fuer die Tabelle
+ Object[] obj = { images.get(x).getImageName(),
+ images.get(x).getLicenseRestriction(),
+ images.get(x).getOsName(),
+ images.get(x).getLectureName(),
+ images.get(x).getUserData(),
+ out.format(in.parse(images.get(x).updateTime)), images.get(x).id,
+ images.get(x).getVersion(),
+ images.get(x).getIsTemplate() };
+ // Fuege diese Objekte der Tabelle hinzu
+ model.addRow(obj);
+ x++;
+ i.next();
+
+ }
+
+ return model;
+
+
+ }
+ public void writeImageData(String id, String version){
+ try {
+ SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
+ SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy hh:mm:ss");
+ Map<String,String> res=client.getImageData(id,version);
+ labelName.setText(res.get("name"));
+ labelOS.setText(res.get("os"));
+ labelUpdate.setText(out.format(in.parse(res.get("lastupdate"))));
+ labelVerantwortlicher.setText(res.get("owner"));
+ labelWeitereVerantwortliche.setText("Noch nicht Verf�gbar");
+ if(res.get("template").equals("true")){
+ labelVorlage.setText("Ja");
+ }else{
+ labelVorlage.setText("Nein");
+ }
+ if(res.get("license").equals("1")){
+ labelLizenzSoftware.setText("Ja");
+ }
+ else
+ {
+ labelLizenzSoftware.setText("Nein");
+ }
+ if(res.get("internet").equals("1")){
+ labelInternet.setText("Ja");
+ }
+ else
+ {
+ labelInternet.setText("Nein");
+ }
+ labelRam.setText(res.get("ram"));
+ labelCPU.setText(res.get("cpu"));
+ labelID.setText(res.get("id"));
+ labelVersion.setText(res.get("version"));
+ textAreadesc.setText(res.get("desc"));
+ } catch (TException | ParseException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ }
+}
diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java
new file mode 100644
index 00000000..6f0786ef
--- /dev/null
+++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java
@@ -0,0 +1,824 @@
+package gui.lecture;
+
+import gui.intro.About_GUI;
+import gui.intro.MainMenue_GUI;
+
+import java.awt.Color;
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.SystemColor;
+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.net.URI;
+import java.net.URISyntaxException;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Iterator;
+import java.util.List;
+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.JRadioButton;
+import javax.swing.JScrollPane;
+import javax.swing.JSeparator;
+import javax.swing.JTabbedPane;
+import javax.swing.JTable;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+import javax.swing.JTextPane;
+import javax.swing.RowFilter;
+import javax.swing.ScrollPaneConstants;
+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.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableModel;
+import javax.swing.table.TableRowSorter;
+
+import models.Lecture;
+import models.Links;
+import models.person;
+
+import org.apache.thrift.TException;
+
+import server.Server.Client;
+import thrift.ThriftConnection;
+import util.GuiOrganizer;
+import util.OpenLinks;
+
+@SuppressWarnings("serial")
+public class EditLectureSearch_GUI extends JFrame {
+
+ private final JPanel contentPanel = new JPanel();
+ String[] result;
+ JRadioButton rdbtnInternetJa;
+ JRadioButton rdbtnInternetNein;
+ JLabel labelAktiv;
+ JLabel labelstartdate;
+ JLabel labelenddate;
+ JLabel labelimageversion;
+ JTextArea labelName;
+ JTextArea labelimage;
+ JTextArea labeldesc;
+ JLabel labelVerantwortlicher;
+ JTable tableAllLectures;
+ JTable tablemyLectures;
+ private JTextField textFieldName;
+ JTabbedPane tabbedPane;
+ boolean activeSearch = false;
+ String[] titles = { "Veranstaltungsname", "Beschreibung",
+ "G\u00fcltigkeitsdatum", "Aktiv", "Letzte Benutzung",
+ "Verantwortlicher", "Image", "Schlagwort", "ID" };
+ ThriftConnection con = new ThriftConnection();
+ Client client = models.Client.clientcon.getClient();
+ final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) {
+ public boolean isCellEditable(int rowIndex, int mColIndex) {
+ return false;
+ }
+ };
+ final DefaultTableModel modelMyLectures = new DefaultTableModel(titles, 0) {
+ public boolean isCellEditable(int rowIndex, int mColIndex) {
+ return false;
+ }
+ };
+ final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>(
+ modelAll);
+ final TableRowSorter<TableModel> rowSorterMyLectures = new TableRowSorter<TableModel>(
+ modelMyLectures);
+ private JTextField textField;
+
+ /**
+ * 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);
+ }
+
+ @Override
+ public void windowOpened(WindowEvent arg0) {
+ textFieldName.requestFocusInWindow();
+ try {
+ initTableModel(modelMyLectures);
+ initTableModel(modelAll);
+
+ } catch (ParseException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ // auszublendende Angaben
+ // 1=Beschreibung
+ // 2=G\u00fcltigkeitsdatum
+ // 3=Aktiv
+ // 6=Image
+ // 7=Schlagwort
+ // 8=ID
+ tablemyLectures.getColumnModel().getColumn(1).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(1).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(1).setMaxWidth(0);
+ tablemyLectures.getColumnModel().getColumn(2).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(2).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(2).setMaxWidth(0);
+ tablemyLectures.getColumnModel().getColumn(3).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(3).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(3).setMaxWidth(0);
+ tablemyLectures.getColumnModel().getColumn(6).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(6).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(6).setMaxWidth(0);
+ tablemyLectures.getColumnModel().getColumn(7).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(7).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(7).setMaxWidth(0);
+ tablemyLectures.getColumnModel().getColumn(8).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(8).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(8).setMaxWidth(0);
+
+ tableAllLectures.getColumnModel().getColumn(1).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(1).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(1).setMaxWidth(0);
+ tableAllLectures.getColumnModel().getColumn(2).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(2).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(2).setMaxWidth(0);
+ tableAllLectures.getColumnModel().getColumn(3).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(3).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(3).setMaxWidth(0);
+ tableAllLectures.getColumnModel().getColumn(6).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(6).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(6).setMaxWidth(0);
+ tableAllLectures.getColumnModel().getColumn(7).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(7).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(7).setMaxWidth(0);
+ tableAllLectures.getColumnModel().getColumn(8).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(8).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(8).setMaxWidth(0);
+ }
+ });
+ // Verhindert das Vergroessern 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 - Veranstaltung bearbeiten");
+ // Zentriert das Fenster in die Bildmitte
+ setBounds(0, 0, 842, 722);
+ GuiOrganizer.centerGUI(this);
+
+ getContentPane().setLayout(null);
+ {
+ JPanel panel = new JPanel();
+ panel.setBackground(SystemColor.menu);
+ panel.setBounds(10, 11, 816, 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, 66);
+ contentPanel.add(panel_1);
+ panel_1.setLayout(null);
+
+ JLabel lblNewLabel_2 = new JLabel("Name:");
+ lblNewLabel_2.setBounds(10, 30, 80, 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 != "") {
+ activeSearch = true;
+ // Filtere nach der Eingabe
+ rowSorterAll.setRowFilter(RowFilter.regexFilter(
+ textFieldName.getText(), 0));
+ rowSorterMyLectures.setRowFilter(RowFilter.regexFilter(
+ textFieldName.getText(), 0));
+
+ } else {
+ activeSearch = false;
+ String username = person.verantwortlicher.getName() + " "
+ + person.verantwortlicher.getVorname();
+ rowSorterMyLectures.setRowFilter(RowFilter.regexFilter(
+ username, 5));
+ rowSorterAll.setRowFilter(null);
+ }
+ }
+ });
+
+ textFieldName.setBounds(96, 30, 166, 20);
+ panel_1.add(textFieldName);
+ textFieldName.setColumns(10);
+
+ JLabel label = new JLabel("Beschreibung:");
+ label.setBounds(291, 30, 80, 20);
+ panel_1.add(label);
+
+ textField = new JTextField();
+ textField.setColumns(10);
+ textField.setBounds(381, 30, 166, 20);
+ panel_1.add(textField);
+
+ JLabel lblHauptmen = new JLabel("Hauptmen\u00FC");
+ lblHauptmen.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseClicked(MouseEvent arg0) {
+ // oeffnet das Hauptmenue
+
+ 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) {
+ if (tabbedPane.getSelectedIndex() == 0) {
+
+ String username = person.verantwortlicher.getName() + " "
+ + person.verantwortlicher.getVorname();
+ rowSorterMyLectures.setRowFilter(RowFilter.regexFilter(
+ username, 5));
+ } else if (tabbedPane.getSelectedIndex() == 1) {
+ rowSorterAll.setRowFilter(null);
+ }
+
+ }
+ });
+
+ tabbedPane.setBounds(10, 123, 557, 397);
+ contentPanel.add(tabbedPane);
+
+ JScrollPane scrollPaneAllImages = new JScrollPane();
+ tableAllLectures = new JTable();
+ tableAllLectures.getSelectionModel().addListSelectionListener(
+ new ListSelectionListener() {
+ public void valueChanged(ListSelectionEvent e) {
+ String imageid = modelAll
+ .getValueAt(
+ tableAllLectures
+ .convertRowIndexToModel(tableAllLectures
+ .getSelectedRow()), 8)
+ .toString();
+ //System.out.println(imageid);
+
+ try {
+ writeLectureData(imageid);
+ } catch (TException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ } catch (ParseException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ }
+ });
+ 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();
+
+ JScrollPane scrollPaneMyImage = new JScrollPane();
+ tablemyLectures = new JTable();
+ tablemyLectures.getSelectionModel().addListSelectionListener(
+ new ListSelectionListener() {
+ public void valueChanged(ListSelectionEvent e) {
+ String imageid = modelMyLectures.getValueAt(
+ tablemyLectures
+ .convertRowIndexToModel(tablemyLectures
+ .getSelectedRow()), 8)
+ .toString();
+ //System.out.println(imageid);
+
+ try {
+ writeLectureData(imageid);
+ } catch (TException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ } catch (ParseException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ }
+ });
+ 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);
+ {
+ JPanel buttonPane = new JPanel();
+ buttonPane.setBounds(0, 640, 826, 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) {
+ // oeffnet das Hauptmenue
+
+ 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) {
+ String username = person.verantwortlicher.getName()
+ + " " + person.verantwortlicher.getVorname();
+ // check if a row is selected
+ if (tablemyLectures.getSelectedRow() != -1) {
+
+ // a row is selected, do operations
+
+ 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);
+ SimpleDateFormat out = new SimpleDateFormat(
+ "yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat in = new SimpleDateFormat(
+ "dd.MM.yyyy HH:mm:ss");
+ try {
+ enddate = out.format(in.parse(enddate));
+ startdate = out.format(in.parse(startdate));
+ } catch (ParseException e2) {
+ // TODO Auto-generated catch block
+ e2.printStackTrace();
+ }
+
+ 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);
+ }
+
+ // EditImageAllgemein_GUI ea=new
+ // EditImageAllgemein_GUI();
+ EditLectureAllgemein_GUI el = new EditLectureAllgemein_GUI();
+ el.setVisible(true);
+ dispose();
+ } else if (tableAllLectures.getSelectedRow() != -1
+ && tableAllLectures
+ .getValueAt(
+ tableAllLectures
+ .getSelectedRow(), 5)
+ .toString().equals(username)) {
+
+ // a row is selected, do operations
+
+ Lecture.lecture.setid(modelAll
+ .getValueAt(
+ tableAllLectures
+ .convertRowIndexToModel(tableAllLectures
+ .getSelectedRow()),
+ 8).toString());
+ Lecture.lecture.setName(modelAll
+ .getValueAt(
+ tableAllLectures
+ .convertRowIndexToModel(tableAllLectures
+ .getSelectedRow()),
+ 0).toString());
+ Lecture.lecture.setDesc(modelAll
+ .getValueAt(
+ tableAllLectures
+ .convertRowIndexToModel(tableAllLectures
+ .getSelectedRow()),
+ 1).toString());
+ String date = modelAll
+ .getValueAt(
+ tableAllLectures
+ .convertRowIndexToModel(tableAllLectures
+ .getSelectedRow()),
+ 2).toString();
+
+ Lecture.lecture.setLinkedImagename(modelAll
+ .getValueAt(
+ tableAllLectures
+ .convertRowIndexToModel(tableAllLectures
+ .getSelectedRow()),
+ 6).toString());
+
+ int zweitesLeerzeichen = date.indexOf(" ",
+ date.indexOf(" ") + 1);
+
+ String startdate = date.substring(0,
+ zweitesLeerzeichen);
+ String enddate = date.substring(zweitesLeerzeichen);
+ SimpleDateFormat out = new SimpleDateFormat(
+ "yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat in = new SimpleDateFormat(
+ "dd.MM.yyyy HH:mm:ss");
+ try {
+ enddate = out.format(in.parse(enddate));
+ startdate = out.format(in.parse(startdate));
+ } catch (ParseException e2) {
+ // TODO Auto-generated catch block
+ e2.printStackTrace();
+ }
+ 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 (modelAll
+ .getValueAt(
+ tableAllLectures
+ .convertRowIndexToModel(tableAllLectures
+ .getSelectedRow()),
+ 3).toString().equals("1")) {
+ Lecture.lecture.setActive(true);
+ } else {
+ Lecture.lecture.setActive(false);
+ }
+
+ EditLectureAllgemein_GUI el = new EditLectureAllgemein_GUI();
+ el.setVisible(true);
+ dispose();
+ } else {
+ JOptionPane
+ .showMessageDialog(
+ null,
+ "Bitte w\u00e4hlen Sie ein eigenes Image aus.",
+ "Message",
+ JOptionPane.INFORMATION_MESSAGE);
+ } // End Else
+ } // Action
+
+ });
+ btnContinue.setActionCommand("Cancel");
+ buttonPane.add(btnContinue);
+ }
+ }
+
+ JSeparator separator = new JSeparator();
+ separator.setBounds(0, 79, 836, 1);
+ getContentPane().add(separator);
+
+ JSeparator separator_1 = new JSeparator();
+ separator_1.setBounds(0, 628, 836, 1);
+ getContentPane().add(separator_1);
+
+ JPanel panel = new JPanel();
+ panel.setLayout(null);
+ panel.setBorder(new TitledBorder(null, "Detailinformationen",
+
+ TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel.setBackground(SystemColor.menu);
+ panel.setBounds(591, 85, 235, 518);
+ getContentPane().add(panel);
+
+ JLabel lblNewLabel_3 = new JLabel("Name:");
+ lblNewLabel_3.setBounds(10, 27, 104, 14);
+ panel.add(lblNewLabel_3);
+
+ JLabel lblAktiv = new JLabel("Aktiv:");
+ lblAktiv.setBounds(10, 98, 104, 14);
+ panel.add(lblAktiv);
+
+ labelAktiv = new JLabel("");
+ labelAktiv.setBounds(10, 114, 218, 14);
+ panel.add(labelAktiv);
+
+ labelstartdate = new JLabel("");
+ labelstartdate.setBounds(10, 147, 218, 14);
+ panel.add(labelstartdate);
+
+ JLabel lblStartdatum = new JLabel("Startdatum:");
+ lblStartdatum.setBounds(10, 129, 104, 14);
+ panel.add(lblStartdatum);
+
+ labelenddate = new JLabel("");
+ labelenddate.setBounds(10, 175, 218, 14);
+ panel.add(labelenddate);
+
+ JLabel lblEnddatum = new JLabel("Enddatum:");
+ lblEnddatum.setBounds(10, 161, 104, 14);
+ panel.add(lblEnddatum);
+
+ JLabel lblBeschreibung = new JLabel("Beschreibung:");
+ lblBeschreibung.setBounds(10, 189, 104, 14);
+ panel.add(lblBeschreibung);
+
+ JLabel lblImage = new JLabel("Image:");
+ lblImage.setBounds(10, 293, 104, 14);
+ panel.add(lblImage);
+
+ labelVerantwortlicher = new JLabel("");
+ labelVerantwortlicher.setBounds(10, 426, 218, 14);
+ panel.add(labelVerantwortlicher);
+
+ JLabel lblVerantwortlicher = new JLabel("Verantwortlicher:");
+ lblVerantwortlicher.setBounds(10, 411, 104, 14);
+ panel.add(lblVerantwortlicher);
+
+ JLabel lblImageversion = new JLabel("Imageversion:");
+ lblImageversion.setBounds(10, 381, 104, 14);
+ panel.add(lblImageversion);
+
+ labelimageversion = new JLabel("");
+ labelimageversion.setBounds(10, 399, 218, 14);
+ panel.add(labelimageversion);
+
+ labeldesc = new JTextArea();
+ labeldesc.setFont(new Font("Tahoma", Font.PLAIN, 11));
+ labeldesc.setEditable(false);
+ labeldesc.setLineWrap(true);
+ labeldesc.setBackground(SystemColor.menu);
+ labeldesc.setBounds(124, 127, 104, 110);
+ JScrollPane scrollPane = new JScrollPane(labeldesc);
+ scrollPane.setBounds(10, 209, 218, 81);
+ panel.add(scrollPane);
+ // panel.add(labeldesc);
+
+ labelimage = new JTextArea();
+ labelimage.setLineWrap(true);
+ labelimage.setFont(new Font("Tahoma", Font.PLAIN, 11));
+ labelimage.setEditable(false);
+ labelimage.setBackground(SystemColor.menu);
+ labelimage.setBounds(124, 248, 101, 81);
+ JScrollPane scrollPaneImage = new JScrollPane(labelimage);
+ scrollPaneImage.setBounds(10, 309, 215, 69);
+ panel.add(scrollPaneImage);
+
+ labelName = new JTextArea();
+ labelName.setEditable(false);
+ labelName.setFont(new Font("Tahoma", Font.PLAIN, 11));
+ labelName.setBackground(SystemColor.menu);
+ labelName.setBounds(124, 22, 101, 55);
+ JScrollPane scrollPaneName = new JScrollPane(labelName);
+ scrollPaneName.setBounds(10, 40, 218, 55);
+ panel.add(scrollPaneName);
+ // panel.add(labelName);
+ // panel.add(labelimage);
+ JMenuBar menuBar = new JMenuBar();
+ setJMenuBar(menuBar);
+
+ JMenu mnNewMenu_1 = new JMenu("Hilfe");
+ menuBar.add(mnNewMenu_1);
+
+ JMenuItem mntmFaq = new JMenuItem("FAQ");
+ mntmFaq.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+
+ OpenLinks open = new OpenLinks();
+
+ URI windows;
+ try {
+ windows = new URI(Links.getFAQ());
+
+ open.openWebpage(windows);
+
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ });
+ mnNewMenu_1.add(mntmFaq);
+
+ JMenuItem mntmOtrs = new JMenuItem("OTRS");
+ mntmOtrs.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+
+ OpenLinks open = new OpenLinks();
+
+ URI windows;
+ try {
+ windows = new URI(Links.getOTRS());
+
+ open.openWebpage(windows);
+
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+ });
+ mnNewMenu_1.add(mntmOtrs);
+
+ JMenuItem mntmAbout = new JMenuItem("About");
+ mntmAbout.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ About_GUI ab = new About_GUI();
+ ab.setVisible(true);
+ }
+ });
+ mnNewMenu_1.add(mntmAbout);
+
+ }
+
+ // Initiale Beffuelung eines Table models
+ public DefaultTableModel initTableModel(DefaultTableModel model)
+ throws ParseException {
+ List<server.Lecture> lectures;
+ try {
+ // Hole eine Liste der Images
+ lectures = client.getLectureList();
+ Iterator<server.Lecture> i = lectures.iterator();
+ SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
+ int x = 0;
+
+ while (i.hasNext()) {
+ // erzeuge Objekte fuer die Tabelle
+
+ Object[] obj = {
+ lectures.get(x).lecturename,
+ lectures.get(x).desc,
+ out.format(in.parse(lectures.get(x).starttime)) + " "
+ + out.format(in.parse(lectures.get(x).endtime)),
+ lectures.get(x).isActive,
+ out.format(in.parse(lectures.get(x).lastused)),
+ lectures.get(x).username, lectures.get(x).imagename,
+ " ", lectures.get(x).id };
+ // Fuege 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;
+ }
+
+ public void writeLectureData(String id) throws TException, ParseException {
+
+ SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
+ Map<String, String> res = client.getLectureData(id);
+ labelName.setText(res.get("name"));
+ labelAktiv.setText(res.get("isActive"));
+ labeldesc.setText(res.get("desc"));
+ labelVerantwortlicher.setText(res.get("owner"));
+ labelstartdate.setText(out.format(in.parse(res.get("startTime"))));
+ labelenddate.setText(out.format(in.parse(res.get("endTime"))));
+ labelimage.setText(res.get("imagepath").substring(
+ res.get("imagepath").indexOf("/") + 1));
+ labelimageversion.setText(res.get("imageversion"));
+
+ }
+
+}
diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java
new file mode 100644
index 00000000..cfd2337c
--- /dev/null
+++ b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java
@@ -0,0 +1,546 @@
+package gui.lecture;
+
+
+import gui.intro.About_GUI;
+import gui.intro.MainMenue_GUI;
+
+import java.awt.Checkbox;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.SystemColor;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import javax.swing.AbstractButton;
+import javax.swing.ButtonGroup;
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.Icon;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+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.JPanel;
+import javax.swing.JSeparator;
+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.DefaultTableCellRenderer;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.JTableHeader;
+import javax.swing.table.TableCellEditor;
+import javax.swing.table.TableCellRenderer;
+import javax.swing.table.TableColumn;
+import javax.swing.table.TableColumnModel;
+
+import models.Image;
+import models.Links;
+import util.GuiOrganizer;
+import util.OpenLinks;
+import javax.swing.JTable;
+import javax.swing.JScrollPane;
+import javax.swing.ScrollPaneConstants;
+import javax.swing.JTextField;
+
+import org.eclipse.jface.viewers.CheckboxCellEditor;
+
+import java.awt.Choice;
+import javax.swing.JRadioButton;
+
+@SuppressWarnings("serial")
+public class PermissionCreateLecture_GUI extends JFrame {
+
+ private final JPanel contentPanel = new JPanel();
+ String[] result;
+ private JTable table;
+ private Class[] classes;
+ Object[] titles = { "Name","Read", "Write","Admin"};
+
+ final DefaultTableModel model = new DefaultTableModel(titles, 0){
+
+
+
+ public boolean isCellEditable(int rowIndex, int mColIndex) {
+ if(mColIndex>=1){
+ return true;
+ }
+ return false;
+ }
+ public Class getColumnClass(int c) {
+ switch(c){
+ case 0:
+ return String.class;
+ default:
+ return Boolean.class;
+ }
+ }
+
+
+
+ };
+ private JTextField textField;
+ private JTable table_1;
+ private final ButtonGroup buttonGroup = new ButtonGroup();
+
+ public PermissionCreateLecture_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 - Berechtigungen");
+
+ setBounds(0, 0, 603, 722);
+ GuiOrganizer.centerGUI(this);
+
+ 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("Veranstaltungen - Berechtigungen (Nur zur Veranschaulichung)");
+ 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("Definieren Sie hier bitte die gew\u00FCnschten Berechtigungen f\u00FCr ihr Lecture");
+ 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, "Suite-Berechtigungen", TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel_1.setBounds(10, 207, 311, 313);
+ contentPanel.add(panel_1);
+ panel_1.setLayout(null);
+
+ JScrollPane scrollPane = new JScrollPane();
+ scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
+ scrollPane.setBounds(10, 21, 291, 249);
+ panel_1.add(scrollPane);
+
+ table = new JTable();
+ table.setModel(model);
+ table.setSelectionForeground(Color.WHITE);
+ Object[] rowdata={"Max Mustermann", new Boolean(false),new Boolean(false),new Boolean(false),new Boolean(false)};
+ model.addRow(rowdata);
+
+ TableCellRenderer rend=table.getTableHeader().getDefaultRenderer();
+
+
+ TableColumn tc1 = table.getColumnModel().getColumn(1);
+ tc1.setCellEditor(table.getDefaultEditor(Boolean.class));
+ tc1.setCellRenderer(table.getDefaultRenderer(Boolean.class));
+ tc1.setHeaderRenderer(new CheckBoxHeader(new MyItemListener1(),(String) titles[1]));
+
+ TableColumn tc2 = table.getColumnModel().getColumn(2);
+ tc2.setCellEditor(table.getDefaultEditor(Boolean.class));
+ tc2.setCellRenderer(table.getDefaultRenderer(Boolean.class));
+ tc2.setHeaderRenderer(new CheckBoxHeader(new MyItemListener2(),(String) titles[2]));
+
+ TableColumn tc3 = table.getColumnModel().getColumn(3);
+ tc3.setCellEditor(table.getDefaultEditor(Boolean.class));
+ tc3.setCellRenderer(table.getDefaultRenderer(Boolean.class));
+ tc3.setHeaderRenderer(new CheckBoxHeader(new MyItemListener3(),(String) titles[3]));
+ /*
+ TableColumn tc4 = table.getColumnModel().getColumn(4);
+ tc4.setCellEditor(table.getDefaultEditor(Boolean.class));
+ tc4.setCellRenderer(table.getDefaultRenderer(Boolean.class));
+ tc4.setHeaderRenderer(new CheckBoxHeader(new MyItemListener4(),(String) titles[4]));
+ */
+ scrollPane.setViewportView(table);
+
+ JButton btnHinzufgen_1 = new JButton("Hinzuf\u00FCgen");
+ btnHinzufgen_1.setEnabled(false);
+ btnHinzufgen_1.setBounds(10, 279, 89, 23);
+ panel_1.add(btnHinzufgen_1);
+
+ JButton btnLschen_1 = new JButton("L\u00F6schen");
+ btnLschen_1.setEnabled(false);
+ btnLschen_1.setBounds(109, 279, 89, 23);
+ panel_1.add(btnLschen_1);
+
+ JLabel lblHauptmen = new JLabel("Hauptmen\u00FC");
+ lblHauptmen.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseClicked(MouseEvent arg0) {
+
+ PermissionCreateLecture_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, 90, 14);
+ contentPanel.add(lblVlimage);
+
+ JLabel label_2 = new JLabel(">");
+ label_2.setBounds(181, 11, 13, 14);
+ contentPanel.add(label_2);
+
+ JLabel lblNewLabel_1 = new JLabel("Berechtigungen");
+ lblNewLabel_1.setBounds(194, 11, 95, 14);
+ contentPanel.add(lblNewLabel_1);
+
+ JLabel lblName = new JLabel("Name:");
+ lblName.setBounds(10, 36, 46, 20);
+ contentPanel.add(lblName);
+
+ textField = new JTextField();
+ textField.setBounds(69, 36, 171, 20);
+ contentPanel.add(textField);
+ textField.setColumns(10);
+
+ JLabel lblHochschule = new JLabel("Hochschule:");
+ lblHochschule.setBounds(275, 36, 80, 20);
+ contentPanel.add(lblHochschule);
+
+ JComboBox comboBox = new JComboBox();
+ comboBox.setModel(new DefaultComboBoxModel(new String[] {"Hochschule Offenburg", "Hochschule Reutlingen", "Universit\u00E4t Freiburg"}));
+ comboBox.setBounds(365, 36, 202, 20);
+ contentPanel.add(comboBox);
+
+ JPanel panel = new JPanel();
+ panel.setBounds(10, 67, 557, 129);
+ contentPanel.add(panel);
+ panel.setLayout(null);
+ panel.setBorder(new TitledBorder(null, "Beschreibung", TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel.setBackground(SystemColor.menu);
+
+ JLabel label = new JLabel("Read");
+ label.setBounds(20, 18, 90, 20);
+ panel.add(label);
+
+ JLabel label_3 = new JLabel("Write");
+ label_3.setBounds(20, 38, 90, 20);
+ panel.add(label_3);
+
+ JLabel label_5 = new JLabel("Admin");
+ label_5.setBounds(20, 78, 90, 20);
+ panel.add(label_5);
+
+ JLabel label_7 = new JLabel("Image darf gelesen und gestartet werden und ist in Suchfenster sichtbar.");
+ label_7.setBounds(120, 18, 380, 20);
+ panel.add(label_7);
+
+ JLabel lblimageDarfAngepasst = new JLabel("<HTML>Image darf angepasst und &uuml;berschrieben, jedoch nicht gel&ouml;scht werden. Berechtigungen f&uuml;r andere Benutzer festlegen</HTML>");
+ lblimageDarfAngepasst.setBounds(120, 38, 380, 45);
+ panel.add(lblimageDarfAngepasst);
+
+ JLabel lblvolleRechteRead = new JLabel("<HTML>Volle Rechte: read, write, l&ouml;schen und Berechtigungen f&uuml;r andere Benutzer festlegen.</HTML>");
+ lblvolleRechteRead.setBounds(120, 78, 380, 40);
+ panel.add(lblvolleRechteRead);
+
+ JPanel panel_2 = new JPanel();
+ panel_2.setBounds(331, 207, 236, 313);
+ contentPanel.add(panel_2);
+ panel_2.setLayout(null);
+ panel_2.setBorder(new TitledBorder(null, "Sichtbarkeit im VMChooser", TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel_2.setBackground(SystemColor.menu);
+
+ JScrollPane scrollPane_1 = new JScrollPane();
+ scrollPane_1.setEnabled(false);
+ scrollPane_1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
+ scrollPane_1.setBounds(23, 83, 203, 185);
+ panel_2.add(scrollPane_1);
+
+ table_1 = new JTable();
+ scrollPane_1.setViewportView(table_1);
+
+ JRadioButton rdbtnAlle = new JRadioButton("Sichtbar f\u00FCr alle");
+ rdbtnAlle.setEnabled(false);
+ rdbtnAlle.setSelected(true);
+ buttonGroup.add(rdbtnAlle);
+ rdbtnAlle.setBounds(6, 27, 109, 23);
+ panel_2.add(rdbtnAlle);
+
+ JRadioButton rdbtnIndividuell = new JRadioButton("Individuell");
+ rdbtnIndividuell.setEnabled(false);
+ buttonGroup.add(rdbtnIndividuell);
+ rdbtnIndividuell.setBounds(6, 53, 109, 23);
+ panel_2.add(rdbtnIndividuell);
+
+ JButton btnHinzufgen = new JButton("Hinzuf\u00FCgen");
+ btnHinzufgen.setEnabled(false);
+ btnHinzufgen.setBounds(23, 279, 89, 23);
+ panel_2.add(btnHinzufgen);
+
+ JButton btnLschen = new JButton("L\u00F6schen");
+ btnLschen.setEnabled(false);
+ btnLschen.setBounds(122, 279, 89, 23);
+ panel_2.add(btnLschen);
+ {
+ 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) {
+
+
+ CreateLectureAllgemein_GUI sr=new CreateLectureAllgemein_GUI();
+ sr.setVisible(true);
+ dispose();
+ }
+ });
+ cancelButton.setActionCommand("OK");
+ buttonPane.add(cancelButton);
+ //getRootPane().setDefaultButton(cancelButton);
+ }
+ {
+ JButton continueButton = new JButton("Weiter");
+ continueButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+
+ CreateLectureLink_GUI ea=new CreateLectureLink_GUI();
+ ea.setVisible(true);
+ dispose();
+
+ }
+ });
+ continueButton.setActionCommand("Cancel");
+ buttonPane.add(continueButton);
+ getRootPane().setDefaultButton(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 = 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");
+ mntmFaq.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+
+ OpenLinks open = new OpenLinks();
+
+ URI windows;
+ try {
+ windows = new URI(Links.getFAQ());
+
+ open.openWebpage(windows);
+
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ });
+ mnNewMenu_1.add(mntmFaq);
+
+
+ JMenuItem mntmOtrs = new JMenuItem("OTRS");
+ mntmOtrs.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+
+ OpenLinks open = new OpenLinks();
+
+ URI windows;
+ try {
+ windows = new URI(Links.getOTRS());
+
+ open.openWebpage(windows);
+
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+ });
+ mnNewMenu_1.add(mntmOtrs);
+
+ JMenuItem mntmAbout = new JMenuItem("About");
+ mntmAbout.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ About_GUI ab = new About_GUI();
+ ab.setVisible(true);
+ }
+ });
+ mnNewMenu_1.add(mntmAbout);
+
+ }
+ class MyItemListener1 implements ItemListener
+ {
+ public void itemStateChanged(ItemEvent e) {
+ Object source = e.getSource();
+ if (source instanceof AbstractButton == false) return;
+ boolean checked = e.getStateChange() == ItemEvent.SELECTED;
+ for(int x = 0, y = table.getRowCount(); x < y; x++)
+ {
+ table.setValueAt(new Boolean(checked),x,1);
+ }
+ }
+ }
+ class MyItemListener2 implements ItemListener
+ {
+ public void itemStateChanged(ItemEvent e) {
+ Object source = e.getSource();
+ if (source instanceof AbstractButton == false) return;
+ boolean checked = e.getStateChange() == ItemEvent.SELECTED;
+ for(int x = 0, y = table.getRowCount(); x < y; x++)
+ {
+ table.setValueAt(new Boolean(checked),x,2);
+ }
+ }
+ }
+ class MyItemListener3 implements ItemListener
+ {
+ public void itemStateChanged(ItemEvent e) {
+ Object source = e.getSource();
+ if (source instanceof AbstractButton == false) return;
+ boolean checked = e.getStateChange() == ItemEvent.SELECTED;
+ for(int x = 0, y = table.getRowCount(); x < y; x++)
+ {
+ table.setValueAt(new Boolean(checked),x,3);
+ }
+ }
+ }
+ class MyItemListener4 implements ItemListener
+ {
+ public void itemStateChanged(ItemEvent e) {
+ Object source = e.getSource();
+ if (source instanceof AbstractButton == false) return;
+ boolean checked = e.getStateChange() == ItemEvent.SELECTED;
+ for(int x = 0, y = table.getRowCount(); x < y; x++)
+ {
+ table.setValueAt(new Boolean(checked),x,4);
+ }
+ }
+ }
+}
+class CheckBoxHeader extends JCheckBox
+implements TableCellRenderer, MouseListener {
+protected CheckBoxHeader rendererComponent;
+protected int column;
+protected boolean mousePressed = false;
+
+public CheckBoxHeader(ItemListener itemListener ,String text) {
+rendererComponent = this;
+rendererComponent.addItemListener(itemListener);
+rendererComponent.setText(text);
+}
+
+public Component getTableCellRendererComponent(
+ JTable table, Object value,
+ boolean isSelected, boolean hasFocus, int row, int column) {
+if (table != null) {
+ JTableHeader header = table.getTableHeader();
+ if (header != null) {
+ rendererComponent.setForeground(header.getForeground());
+ rendererComponent.setBackground(header.getBackground());
+ rendererComponent.setFont(header.getFont());
+ rendererComponent.setBorder(header.getBorder());
+ header.addMouseListener(rendererComponent);
+ }
+}
+setColumn(column);
+//rendererComponent.setText("Check All");
+//setBorder(UIManager.getBorder("TableHeader.cellBorder"));
+
+return rendererComponent;
+}
+protected void setColumn(int column) {
+this.column = column;
+}
+public int getColumn() {
+return column;
+}
+protected void handleClickEvent(MouseEvent e) {
+if (mousePressed) {
+ mousePressed=false;
+ JTableHeader header = (JTableHeader)(e.getSource());
+ JTable tableView = header.getTable();
+ TableColumnModel columnModel = tableView.getColumnModel();
+ int viewColumn = columnModel.getColumnIndexAtX(e.getX());
+ int column = tableView.convertColumnIndexToModel(viewColumn);
+
+ if (viewColumn == this.column && e.getClickCount() == 1 && column != -1) {
+ doClick();
+ }
+}
+}
+public void mouseClicked(MouseEvent e) {
+handleClickEvent(e);
+((JTableHeader)e.getSource()).repaint();
+}
+public void mousePressed(MouseEvent e) {
+mousePressed = true;
+}
+public void mouseReleased(MouseEvent e) {
+}
+public void mouseEntered(MouseEvent e) {
+}
+public void mouseExited(MouseEvent e) {
+}
+}
diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java
new file mode 100644
index 00000000..da8864c7
--- /dev/null
+++ b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java
@@ -0,0 +1,494 @@
+package gui.lecture;
+
+
+import gui.intro.About_GUI;
+import gui.intro.MainMenue_GUI;
+
+import java.awt.Checkbox;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.SystemColor;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import javax.swing.AbstractButton;
+import javax.swing.ButtonGroup;
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.Icon;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+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.JPanel;
+import javax.swing.JSeparator;
+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.DefaultTableCellRenderer;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.JTableHeader;
+import javax.swing.table.TableCellEditor;
+import javax.swing.table.TableCellRenderer;
+import javax.swing.table.TableColumn;
+import javax.swing.table.TableColumnModel;
+
+import models.Image;
+import models.Links;
+import util.GuiOrganizer;
+import util.OpenLinks;
+import javax.swing.JTable;
+import javax.swing.JScrollPane;
+import javax.swing.ScrollPaneConstants;
+import javax.swing.JTextField;
+
+import org.eclipse.jface.viewers.CheckboxCellEditor;
+
+import java.awt.Choice;
+
+@SuppressWarnings("serial")
+public class PermissionEditLecture_GUI extends JFrame {
+
+ private final JPanel contentPanel = new JPanel();
+ String[] result;
+ private JTable table;
+ private Class[] classes;
+ Object[] titles = { "Name","Read", "Write","Admin"};
+
+ final DefaultTableModel model = new DefaultTableModel(titles, 0){
+
+
+
+ public boolean isCellEditable(int rowIndex, int mColIndex) {
+ if(mColIndex>=1){
+ return true;
+ }
+ return false;
+ }
+ public Class getColumnClass(int c) {
+ switch(c){
+ case 0:
+ return String.class;
+ default:
+ return Boolean.class;
+ }
+ }
+
+
+
+ };
+ private JTextField textField;
+
+ public PermissionEditLecture_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 - Berechtigungen");
+
+ setBounds(0, 0, 603, 722);
+ GuiOrganizer.centerGUI(this);
+
+ 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("Lecture Berechtigungen (Nur zur Veranschaulichung)");
+ 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("Definieren Sie hier bitte die gew\u00FCnschten Berechtigungen f\u00FCr ihr Lecture");
+ 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 = new JPanel();
+ panel.setLayout(null);
+ panel.setBorder(new TitledBorder(null, "Beschreibung", TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel.setBackground(SystemColor.menu);
+ panel.setBounds(10, 67, 557, 129);
+ contentPanel.add(panel);
+
+ JLabel label = new JLabel("Read");
+ label.setBounds(20, 18, 90, 20);
+ panel.add(label);
+
+ JLabel label_3 = new JLabel("Image darf gelesen und gestartet werden und ist in Suchfenster sichtbar.");
+ label_3.setBounds(120, 18, 380, 20);
+ panel.add(label_3);
+
+ JLabel label_4 = new JLabel("Write");
+ label_4.setBounds(20, 38, 90, 20);
+ panel.add(label_4);
+
+ JLabel label_5 = new JLabel("<HTML>Image darf angepasst und überschrieben, jedoch nicht gelöscht werden. Berechtigungen für andere Benutzer festlegen</HTML>");
+ label_5.setBounds(120, 38, 380, 45);
+ panel.add(label_5);
+
+ JLabel label_6 = new JLabel("Admin");
+ label_6.setBounds(20, 78, 90, 20);
+ panel.add(label_6);
+
+ JLabel label_7 = new JLabel("<HTML>Volle Rechte: read, write, löschen und Berechtigungen für andere Benutzer festlegen.</HTML>");
+ label_7.setBounds(120, 78, 380, 40);
+ panel.add(label_7);
+
+ JPanel panel_1 = new JPanel();
+ panel_1.setBackground(SystemColor.menu);
+ panel_1.setBorder(new TitledBorder(null, "Berechtigungen", TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel_1.setBounds(10, 207, 557, 313);
+ contentPanel.add(panel_1);
+ panel_1.setLayout(null);
+
+ JScrollPane scrollPane = new JScrollPane();
+ scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
+ scrollPane.setBounds(10, 21, 537, 281);
+ panel_1.add(scrollPane);
+
+ table = new JTable();
+ table.setModel(model);
+ table.setSelectionForeground(Color.WHITE);
+ Object[] rowdata={"Max Mustermann", new Boolean(false),new Boolean(false),new Boolean(false),new Boolean(false)};
+ model.addRow(rowdata);
+
+ TableCellRenderer rend=table.getTableHeader().getDefaultRenderer();
+
+
+ TableColumn tc1 = table.getColumnModel().getColumn(1);
+ tc1.setCellEditor(table.getDefaultEditor(Boolean.class));
+ tc1.setCellRenderer(table.getDefaultRenderer(Boolean.class));
+ tc1.setHeaderRenderer(new CheckBoxHeader(new MyItemListener1(),(String) titles[1]));
+
+ TableColumn tc2 = table.getColumnModel().getColumn(2);
+ tc2.setCellEditor(table.getDefaultEditor(Boolean.class));
+ tc2.setCellRenderer(table.getDefaultRenderer(Boolean.class));
+ tc2.setHeaderRenderer(new CheckBoxHeader(new MyItemListener2(),(String) titles[2]));
+
+ TableColumn tc3 = table.getColumnModel().getColumn(3);
+ tc3.setCellEditor(table.getDefaultEditor(Boolean.class));
+ tc3.setCellRenderer(table.getDefaultRenderer(Boolean.class));
+ tc3.setHeaderRenderer(new CheckBoxHeader(new MyItemListener3(),(String) titles[3]));
+ /*
+ TableColumn tc4 = table.getColumnModel().getColumn(4);
+ tc4.setCellEditor(table.getDefaultEditor(Boolean.class));
+ tc4.setCellRenderer(table.getDefaultRenderer(Boolean.class));
+ tc4.setHeaderRenderer(new CheckBoxHeader(new MyItemListener4(),(String) titles[4]));
+ */
+ scrollPane.setViewportView(table);
+
+ JLabel lblHauptmen = new JLabel("Hauptmen\u00FC");
+ lblHauptmen.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseClicked(MouseEvent arg0) {
+
+ PermissionEditLecture_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, 90, 14);
+ contentPanel.add(lblVlimage);
+
+ JLabel label_2 = new JLabel(">");
+ label_2.setBounds(181, 11, 13, 14);
+ contentPanel.add(label_2);
+
+ JLabel lblNewLabel_1 = new JLabel("Berechtigungen");
+ lblNewLabel_1.setBounds(194, 11, 99, 14);
+ contentPanel.add(lblNewLabel_1);
+
+ JLabel lblName = new JLabel("Name:");
+ lblName.setBounds(10, 36, 46, 20);
+ contentPanel.add(lblName);
+
+ textField = new JTextField();
+ textField.setBounds(69, 36, 171, 20);
+ contentPanel.add(textField);
+ textField.setColumns(10);
+
+ JLabel lblHochschule = new JLabel("Hochschule:");
+ lblHochschule.setBounds(275, 36, 80, 20);
+ contentPanel.add(lblHochschule);
+
+ JComboBox comboBox = new JComboBox();
+ comboBox.setModel(new DefaultComboBoxModel(new String[] {"Hochschule Offenburg", "Hochschule Reutlingen", "Universit\u00E4t Freiburg"}));
+ comboBox.setBounds(365, 36, 202, 20);
+ contentPanel.add(comboBox);
+ {
+ 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) {
+
+
+ EditLectureAllgemein_GUI sr=new EditLectureAllgemein_GUI();
+ sr.setVisible(true);
+ dispose();
+ }
+ });
+ cancelButton.setActionCommand("OK");
+ buttonPane.add(cancelButton);
+ //getRootPane().setDefaultButton(cancelButton);
+ }
+ {
+ JButton continueButton = new JButton("Weiter");
+ continueButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+
+ EditLectureLink_GUI ea=new EditLectureLink_GUI();
+ ea.setVisible(true);
+ dispose();
+
+ }
+ });
+ continueButton.setActionCommand("Cancel");
+ buttonPane.add(continueButton);
+ getRootPane().setDefaultButton(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 = 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");
+ mntmFaq.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+
+ OpenLinks open = new OpenLinks();
+
+ URI windows;
+ try {
+ windows = new URI(Links.getFAQ());
+
+ open.openWebpage(windows);
+
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ });
+ mnNewMenu_1.add(mntmFaq);
+
+
+ JMenuItem mntmOtrs = new JMenuItem("OTRS");
+ mntmOtrs.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+
+ OpenLinks open = new OpenLinks();
+
+ URI windows;
+ try {
+ windows = new URI(Links.getOTRS());
+
+ open.openWebpage(windows);
+
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+ });
+ mnNewMenu_1.add(mntmOtrs);
+
+ JMenuItem mntmAbout = new JMenuItem("About");
+ mntmAbout.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ About_GUI ab = new About_GUI();
+ ab.setVisible(true);
+ }
+ });
+ mnNewMenu_1.add(mntmAbout);
+
+ }
+ class MyItemListener1 implements ItemListener
+ {
+ public void itemStateChanged(ItemEvent e) {
+ Object source = e.getSource();
+ if (source instanceof AbstractButton == false) return;
+ boolean checked = e.getStateChange() == ItemEvent.SELECTED;
+ for(int x = 0, y = table.getRowCount(); x < y; x++)
+ {
+ table.setValueAt(new Boolean(checked),x,1);
+ }
+ }
+ }
+ class MyItemListener2 implements ItemListener
+ {
+ public void itemStateChanged(ItemEvent e) {
+ Object source = e.getSource();
+ if (source instanceof AbstractButton == false) return;
+ boolean checked = e.getStateChange() == ItemEvent.SELECTED;
+ for(int x = 0, y = table.getRowCount(); x < y; x++)
+ {
+ table.setValueAt(new Boolean(checked),x,2);
+ }
+ }
+ }
+ class MyItemListener3 implements ItemListener
+ {
+ public void itemStateChanged(ItemEvent e) {
+ Object source = e.getSource();
+ if (source instanceof AbstractButton == false) return;
+ boolean checked = e.getStateChange() == ItemEvent.SELECTED;
+ for(int x = 0, y = table.getRowCount(); x < y; x++)
+ {
+ table.setValueAt(new Boolean(checked),x,3);
+ }
+ }
+ }
+ class MyItemListener4 implements ItemListener
+ {
+ public void itemStateChanged(ItemEvent e) {
+ Object source = e.getSource();
+ if (source instanceof AbstractButton == false) return;
+ boolean checked = e.getStateChange() == ItemEvent.SELECTED;
+ for(int x = 0, y = table.getRowCount(); x < y; x++)
+ {
+ table.setValueAt(new Boolean(checked),x,4);
+ }
+ }
+ }
+}
+/*class CheckBoxHeader extends JCheckBox
+implements TableCellRenderer, MouseListener {
+protected CheckBoxHeader rendererComponent;
+protected int column;
+protected boolean mousePressed = false;
+
+public CheckBoxHeader(ItemListener itemListener ,String text) {
+rendererComponent = this;
+rendererComponent.addItemListener(itemListener);
+rendererComponent.setText(text);
+}
+
+public Component getTableCellRendererComponent(
+ JTable table, Object value,
+ boolean isSelected, boolean hasFocus, int row, int column) {
+if (table != null) {
+ JTableHeader header = table.getTableHeader();
+ if (header != null) {
+ rendererComponent.setForeground(header.getForeground());
+ rendererComponent.setBackground(header.getBackground());
+ rendererComponent.setFont(header.getFont());
+ rendererComponent.setBorder(header.getBorder());
+ header.addMouseListener(rendererComponent);
+ }
+}
+setColumn(column);
+//rendererComponent.setText("Check All");
+//setBorder(UIManager.getBorder("TableHeader.cellBorder"));
+
+return rendererComponent;
+}
+protected void setColumn(int column) {
+this.column = column;
+}
+public int getColumn() {
+return column;
+}
+protected void handleClickEvent(MouseEvent e) {
+if (mousePressed) {
+ mousePressed=false;
+ JTableHeader header = (JTableHeader)(e.getSource());
+ JTable tableView = header.getTable();
+ TableColumnModel columnModel = tableView.getColumnModel();
+ int viewColumn = columnModel.getColumnIndexAtX(e.getX());
+ int column = tableView.convertColumnIndexToModel(viewColumn);
+
+ if (viewColumn == this.column && e.getClickCount() == 1 && column != -1) {
+ doClick();
+ }
+}
+}
+public void mouseClicked(MouseEvent e) {
+handleClickEvent(e);
+((JTableHeader)e.getSource()).repaint();
+}
+public void mousePressed(MouseEvent e) {
+mousePressed = true;
+}
+public void mouseReleased(MouseEvent e) {
+}
+public void mouseEntered(MouseEvent e) {
+}
+public void mouseExited(MouseEvent e) {
+}
+} */
diff --git a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java
new file mode 100644
index 00000000..7a6c2118
--- /dev/null
+++ b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java
@@ -0,0 +1,627 @@
+package gui.lecture;
+
+import gui.intro.About_GUI;
+import gui.intro.MainMenue_GUI;
+
+import java.awt.Color;
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.Point;
+import java.awt.SystemColor;
+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.net.URI;
+import java.net.URISyntaxException;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Iterator;
+import java.util.List;
+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.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.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableModel;
+import javax.swing.table.TableRowSorter;
+
+import models.Links;
+import models.person;
+
+import org.apache.thrift.TException;
+
+import server.Server.Client;
+import thrift.ThriftConnection;
+import util.GuiOrganizer;
+import util.OpenLinks;
+import javax.swing.JTextArea;
+import javax.swing.ScrollPaneConstants;
+
+@SuppressWarnings("serial")
+public class SearchLecture_GUI extends JFrame {
+
+ private final JPanel contentPanel = new JPanel();
+ String[] result;
+ JRadioButton rdbtnInternetJa;
+ JRadioButton rdbtnInternetNein;
+ JLabel labelAktiv;
+ JLabel labelstartdate;
+ JLabel labelenddate;
+ JLabel labelimageversion;
+ JTextArea labelName;
+ JTextArea labelimage;
+ JTextArea labeldesc;
+ JLabel labelVerantwortlicher;
+ JTable tableAllLectures;
+ JTable tablemyLectures;
+ private JTextField textFieldName;
+ JTabbedPane tabbedPane;
+ boolean activeSearch=false;
+ String[] titles = { "Veranstaltungsname", "Beschreibung",
+ "G\u00fcltigkeitsdatum", "Aktiv", "Letzte Benutzung",
+ "Verantwortlicher", "Image", "Schlagwort", "ID" };
+ ThriftConnection con = new ThriftConnection();
+ Client client = models.Client.clientcon.getClient();
+ final DefaultTableModel modelAll = new DefaultTableModel(titles, 0){
+ public boolean isCellEditable(int rowIndex, int mColIndex) {
+ return false;
+ }
+ };
+ final DefaultTableModel modelMyLectures = new DefaultTableModel(titles, 0){
+ public boolean isCellEditable(int rowIndex, int mColIndex) {
+ return false;
+ }
+ };
+ final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>(
+ modelAll);
+ final TableRowSorter<TableModel> rowSorterMyLectures = new TableRowSorter<TableModel>(
+ modelMyLectures);
+ private JTextField textField;
+
+
+ /**
+ * Create the dialog.
+ */
+ public SearchLecture_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) {
+ try {
+ initTableModel(modelMyLectures);
+ initTableModel(modelAll);
+
+ } catch (ParseException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ tablemyLectures.getColumnModel().getColumn(1).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(1).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(1).setMaxWidth(0);
+ tablemyLectures.getColumnModel().getColumn(2).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(2).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(2).setMaxWidth(0);
+ tablemyLectures.getColumnModel().getColumn(3).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(3).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(3).setMaxWidth(0);
+ tablemyLectures.getColumnModel().getColumn(6).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(6).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(6).setMaxWidth(0);
+ tablemyLectures.getColumnModel().getColumn(7).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(7).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(7).setMaxWidth(0);
+ tablemyLectures.getColumnModel().getColumn(8).setWidth(0);
+ tablemyLectures.getColumnModel().getColumn(8).setMinWidth(0);
+ tablemyLectures.getColumnModel().getColumn(8).setMaxWidth(0);
+ tableAllLectures.getColumnModel().getColumn(1).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(1).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(1).setMaxWidth(0);
+ tableAllLectures.getColumnModel().getColumn(2).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(2).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(2).setMaxWidth(0);
+ tableAllLectures.getColumnModel().getColumn(3).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(3).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(3).setMaxWidth(0);
+ tableAllLectures.getColumnModel().getColumn(6).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(6).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(6).setMaxWidth(0);
+ tableAllLectures.getColumnModel().getColumn(7).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(7).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(7).setMaxWidth(0);
+ tableAllLectures.getColumnModel().getColumn(8).setWidth(0);
+ tableAllLectures.getColumnModel().getColumn(8).setMinWidth(0);
+ tableAllLectures.getColumnModel().getColumn(8).setMaxWidth(0);
+ }
+ });
+ // Verhindert das Vergroessern 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 - Veranstaltung suchen");
+ // Zentriert das Fenster in die Bildmitte 2;
+ setBounds(0, 0, 842, 722);
+ GuiOrganizer.centerGUI(this);
+
+ getContentPane().setLayout(null);
+ {
+ JPanel panel = new JPanel();
+ panel.setBackground(SystemColor.menu);
+ panel.setBounds(10, 11, 816, 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 Ihrer gew\u00fcnschten Veranstaltung suchen und diese 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, 63);
+ contentPanel.add(panel_1);
+ panel_1.setLayout(null);
+
+ JLabel lblNewLabel_2 = new JLabel("Name:");
+ lblNewLabel_2.setBounds(10, 30, 80, 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 != "") {
+ activeSearch=true;
+ // Filtere nach der Eingabe
+ rowSorterAll.setRowFilter(RowFilter.regexFilter(
+ textFieldName.getText(), 0));
+ rowSorterMyLectures.setRowFilter(RowFilter.regexFilter(
+ textFieldName.getText(), 0));
+
+ }else{
+ activeSearch=false;
+ String username = person.verantwortlicher.getName() + " "
+ + person.verantwortlicher.getVorname();
+ rowSorterMyLectures.setRowFilter(RowFilter.regexFilter(
+ username, 5));
+ rowSorterAll.setRowFilter(null);
+ }
+ }
+ });
+
+ textFieldName.setBounds(96, 30, 166, 20);
+ panel_1.add(textFieldName);
+ textFieldName.setColumns(10);
+
+ JLabel label = new JLabel("Beschreibung:");
+ label.setBounds(291, 30, 80, 20);
+ panel_1.add(label);
+
+ textField = new JTextField();
+ textField.setColumns(10);
+ textField.setBounds(381, 30, 166, 20);
+ panel_1.add(textField);
+
+ JLabel lblHauptmen = new JLabel("Hauptmen\u00fc");
+ lblHauptmen.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseClicked(MouseEvent arg0) {
+ // oeffnet das Hauptmenue
+
+ SearchLecture_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("Veranstaltungssuche");
+ 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) {
+ 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, 123, 557, 397);
+ contentPanel.add(tabbedPane);
+
+
+ JScrollPane scrollPaneAllImages = new JScrollPane();
+ tableAllLectures = new JTable();
+ tableAllLectures.getSelectionModel().addListSelectionListener( new ListSelectionListener()
+ {
+ public void valueChanged(ListSelectionEvent e)
+ {
+ String imageid = modelAll
+ .getValueAt(
+ tableAllLectures
+ .convertRowIndexToModel(tableAllLectures
+ .getSelectedRow()), 8)
+ .toString();
+ //System.out.println(imageid);
+
+ try {
+ writeLectureData(imageid);
+ } catch (TException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ } catch (ParseException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ }
+ });
+ 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();
+
+ JScrollPane scrollPaneMyImage = new JScrollPane();
+ tablemyLectures = new JTable();
+ tablemyLectures.getSelectionModel().addListSelectionListener( new ListSelectionListener()
+ {
+ public void valueChanged(ListSelectionEvent e)
+ {
+ String imageid = modelMyLectures
+ .getValueAt(
+ tablemyLectures
+ .convertRowIndexToModel(tablemyLectures
+ .getSelectedRow()), 8)
+ .toString();
+ //System.out.println(imageid);
+
+ try {
+ writeLectureData(imageid);
+ } catch (TException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ } catch (ParseException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ }
+ });
+ 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);
+ {
+ JPanel buttonPane = new JPanel();
+ buttonPane.setBounds(0, 640, 826, 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) {
+ // oeffnet das Hauptmenue
+
+ MainMenue_GUI main = new MainMenue_GUI();
+ main.setVisible(true);
+ dispose();
+ }
+ });
+ btnBack.setActionCommand("OK");
+ buttonPane.add(btnBack);
+ getRootPane().setDefaultButton(btnBack);
+ }
+ }
+
+ JSeparator separator = new JSeparator();
+ separator.setBounds(0, 79, 836, 1);
+ getContentPane().add(separator);
+
+ JSeparator separator_1 = new JSeparator();
+ separator_1.setBounds(0, 628, 836, 1);
+ getContentPane().add(separator_1);
+
+ JPanel panel = new JPanel();
+ panel.setLayout(null);
+ panel.setBorder(new TitledBorder(null, "Detailinformationen",
+ TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel.setBackground(SystemColor.menu);
+ panel.setBounds(591, 85, 235, 518);
+ getContentPane().add(panel);
+
+ JLabel lblNewLabel_3 = new JLabel("Name:");
+ lblNewLabel_3.setBounds(10, 27, 104, 14);
+ panel.add(lblNewLabel_3);
+
+ JLabel lblAktiv = new JLabel("Aktiv:");
+ lblAktiv.setBounds(10, 98, 104, 14);
+ panel.add(lblAktiv);
+
+ labelAktiv = new JLabel("");
+ labelAktiv.setBounds(10, 114, 218, 14);
+ panel.add(labelAktiv);
+
+ labelstartdate = new JLabel("");
+ labelstartdate.setBounds(10, 147, 218, 14);
+ panel.add(labelstartdate);
+
+ JLabel lblStartdatum = new JLabel("Startdatum:");
+ lblStartdatum.setBounds(10, 129, 104, 14);
+ panel.add(lblStartdatum);
+
+ labelenddate = new JLabel("");
+ labelenddate.setBounds(10, 175, 218, 14);
+ panel.add(labelenddate);
+
+ JLabel lblEnddatum = new JLabel("Enddatum:");
+ lblEnddatum.setBounds(10, 161, 104, 14);
+ panel.add(lblEnddatum);
+
+ JLabel lblBeschreibung = new JLabel("Beschreibung:");
+ lblBeschreibung.setBounds(10, 189, 104, 14);
+ panel.add(lblBeschreibung);
+
+ JLabel lblImage = new JLabel("Image:");
+ lblImage.setBounds(10, 293, 104, 14);
+ panel.add(lblImage);
+
+ labelVerantwortlicher = new JLabel("");
+ labelVerantwortlicher.setBounds(10, 426, 218, 14);
+ panel.add(labelVerantwortlicher);
+
+ JLabel lblVerantwortlicher = new JLabel("Verantwortlicher:");
+ lblVerantwortlicher.setBounds(10, 411, 104, 14);
+ panel.add(lblVerantwortlicher);
+
+ JLabel lblImageversion = new JLabel("Imageversion:");
+ lblImageversion.setBounds(10, 381, 104, 14);
+ panel.add(lblImageversion);
+
+ labelimageversion = new JLabel("");
+ labelimageversion.setBounds(10, 399, 218, 14);
+ panel.add(labelimageversion);
+
+
+ labeldesc = new JTextArea();
+ labeldesc.setFont(new Font("Tahoma", Font.PLAIN, 11));
+ labeldesc.setEditable(false);
+ labeldesc.setLineWrap(true);
+ labeldesc.setBackground(SystemColor.menu);
+ labeldesc.setBounds(124, 127, 104, 110);
+ JScrollPane scrollPane = new JScrollPane(labeldesc);
+ scrollPane.setBounds(10, 209, 218, 81);
+ panel.add(scrollPane);
+ //panel.add(labeldesc);
+
+ labelimage = new JTextArea();
+ labelimage.setLineWrap(true);
+ labelimage.setFont(new Font("Tahoma", Font.PLAIN, 11));
+ labelimage.setEditable(false);
+ labelimage.setBackground(SystemColor.menu);
+ labelimage.setBounds(124, 248, 101, 81);
+ JScrollPane scrollPaneImage = new JScrollPane(labelimage);
+ scrollPaneImage.setBounds(10, 309, 215, 69);
+ panel.add(scrollPaneImage);
+
+ labelName = new JTextArea();
+ labelName.setEditable(false);
+ labelName.setFont(new Font("Tahoma", Font.PLAIN, 11));
+ labelName.setBackground(SystemColor.menu);
+ labelName.setBounds(124, 22, 101, 55);
+ JScrollPane scrollPaneName = new JScrollPane(labelName);
+ scrollPaneName.setBounds(10, 40, 218, 55);
+ panel.add(scrollPaneName);
+ //panel.add(labelName);
+ //panel.add(labelimage);
+
+ JMenuBar menuBar = new JMenuBar();
+ setJMenuBar(menuBar);
+
+ JMenu mnNewMenu_1 = new JMenu("Hilfe");
+ menuBar.add(mnNewMenu_1);
+
+ JMenuItem mntmFaq = new JMenuItem("FAQ");
+ mntmFaq.addMouseListener(new MouseAdapter() {
+ @SuppressWarnings("static-access")
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+
+ OpenLinks open = new OpenLinks();
+
+ URI windows;
+ try {
+ windows = new URI(Links.getFAQ());
+
+ open.openWebpage(windows);
+
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ });
+ mnNewMenu_1.add(mntmFaq);
+
+
+ JMenuItem mntmOtrs = new JMenuItem("OTRS");
+ mntmOtrs.addMouseListener(new MouseAdapter() {
+ @SuppressWarnings("static-access")
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+
+ OpenLinks open = new OpenLinks();
+
+ URI windows;
+ try {
+ windows = new URI(Links.getOTRS());
+
+ open.openWebpage(windows);
+
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+ });
+ mnNewMenu_1.add(mntmOtrs);
+
+ JMenuItem mntmAbout = new JMenuItem("About");
+ mntmAbout.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ About_GUI ab = new About_GUI();
+ ab.setVisible(true);
+ }
+ });
+ mnNewMenu_1.add(mntmAbout);
+
+ }
+
+ // Initiale Beffuelung eines Table models
+ public DefaultTableModel initTableModel(DefaultTableModel model) throws ParseException {
+ List<server.Lecture> lectures;
+ try {
+ // Hole eine Liste der Images
+ lectures = client.getLectureList();
+ Iterator<server.Lecture> i = lectures.iterator();
+ SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
+ int x = 0;
+
+ while (i.hasNext()) {
+ // erzeuge Objekte fuer die Tabelle
+ Object[] obj = {
+ lectures.get(x).lecturename,
+ lectures.get(x).desc,
+ out.format(in.parse(lectures.get(x).starttime)) + " "
+ + out.format(in.parse(lectures.get(x).endtime)),
+ lectures.get(x).isActive, out.format(in.parse(lectures.get(x).lastused)),
+ lectures.get(x).username,
+ lectures.get(x).imagename," " ,lectures.get(x).id };
+ // Fuege 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;
+ }
+ public void writeLectureData(String id) throws TException, ParseException{
+
+ SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
+ Map<String,String> res=client.getLectureData(id);
+ labelName.setText(res.get("name"));
+ labelAktiv.setText(res.get("isActive"));
+ labeldesc.setText(res.get("desc"));
+ labelVerantwortlicher.setText(res.get("owner"));
+ labelstartdate.setText(out.format(in.parse(res.get("startTime"))));
+ labelenddate.setText(out.format(in.parse(res.get("endTime"))));
+ labelimage.setText(res.get("imagepath").substring(res.get("imagepath").indexOf("/")+1));
+ labelimageversion.setText(res.get("imageversion"));
+
+
+ }
+}