From c27d50c575ff5867aef8f10ccf2b5f2ac43dae08 Mon Sep 17 00:00:00 2001 From: Nino Breuer Date: Fri, 28 Nov 2014 16:07:58 +0100 Subject: • changed implementation of user authentication. • changed position of class file • fixed some little things (not necessary to mention) Important Notes: •organizationID in token returns "wrong" values, therefore university is still set by client. To be fixed someday. • userID is the value with which the user starts his log in. this value is not represented in the token! (as it is not(!) the email). To be implemented someday, as this value is represented in the masterserver. • Feature isn't well tested. --- dozentenmodul/src/main/java/ftp/DownloadTask.java | 3 +- .../java/gui/image/CreateImageAllgemein_GUI.java | 10 + .../java/gui/image/CreateImageTechnisch_GUI.java | 11 +- .../src/main/java/gui/image/DeleteImage_GUI.java | 35 +- .../java/gui/image/EditImageAllgemein_GUI.java | 11 +- .../java/gui/image/EditImageTechnisch_GUI.java | 14 +- .../main/java/gui/image/FTPCreateUploader_GUI.java | 61 +-- .../main/java/gui/image/FTPEditDownloader_GUI.java | 33 +- .../main/java/gui/image/FTPEditUploader_GUI.java | 62 +-- .../java/gui/image/FTPSearchDownloader_GUI.java | 34 +- .../java/gui/image/PermissionCreateImage_GUI.java | 16 +- .../java/gui/image/PermissionEditImage_GUI.java | 19 +- .../main/java/gui/image/SearchEditImage_GUI.java | 24 +- .../src/main/java/gui/image/SearchImage_GUI.java | 27 +- .../main/java/gui/intro/ListAllOtherUsers_GUI.java | 417 --------------------- .../src/main/java/gui/intro/Login_GUI.java | 15 +- .../src/main/java/gui/intro/MainMenue_GUI.java | 18 +- .../gui/lecture/CreateLectureAllgemein_GUI.java | 11 + .../java/gui/lecture/CreateLectureLink_GUI.java | 43 +-- .../main/java/gui/lecture/DeleteLecture_GUI.java | 63 ++-- .../java/gui/lecture/EditLectureAllgemein_GUI.java | 9 +- .../main/java/gui/lecture/EditLectureLink_GUI.java | 61 ++- .../java/gui/lecture/EditLectureSearch_GUI.java | 20 +- .../gui/lecture/PermissionCreateLecture_GUI.java | 14 +- .../gui/lecture/PermissionEditLecture_GUI.java | 20 +- .../main/java/gui/lecture/SearchLecture_GUI.java | 22 +- .../main/java/thrift/MasterThriftConnection.java | 2 +- .../src/main/java/thrift/ThriftConnection.java | 1 + .../src/main/java/util/ListAllOtherUsers_GUI.java | 403 ++++++++++++++++++++ 29 files changed, 791 insertions(+), 688 deletions(-) delete mode 100644 dozentenmodul/src/main/java/gui/intro/ListAllOtherUsers_GUI.java create mode 100644 dozentenmodul/src/main/java/util/ListAllOtherUsers_GUI.java (limited to 'dozentenmodul/src') diff --git a/dozentenmodul/src/main/java/ftp/DownloadTask.java b/dozentenmodul/src/main/java/ftp/DownloadTask.java index eee607be..ae607c8a 100644 --- a/dozentenmodul/src/main/java/ftp/DownloadTask.java +++ b/dozentenmodul/src/main/java/ftp/DownloadTask.java @@ -11,6 +11,7 @@ import javax.swing.JOptionPane; import javax.swing.SwingWorker; import models.Image; +import models.SessionData; import org.apache.commons.io.FileUtils; import org.apache.log4j.Logger; @@ -152,7 +153,7 @@ public class DownloadTask extends SwingWorker { LOGGER.debug("Image's ID: " + Image.image.getImageId()); Map imageData = null; try { - imageData = models.Client.clientcon.getClient().getImageData(Image.image.getImageId(), Image.image.getVersion()); + imageData = models.Client.clientcon.getClient().getImageData(Image.image.getImageId(), Image.image.getVersion(), SessionData.session.getAuthToken()); } catch (TException e) { LOGGER.error("Thrift exception during transfer, see trace: ", e); return false; diff --git a/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java index 5d72fc36..b10000ef 100644 --- a/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java @@ -36,13 +36,16 @@ import javax.swing.border.TitledBorder; import models.Image; import models.Links; +import models.SessionData; import models.person; +import server.generated.Server.Client; import util.GuiOrganizer; import util.OpenLinks; import javax.swing.JScrollPane; import org.apache.log4j.Logger; +import org.apache.thrift.TException; @SuppressWarnings("serial") public class CreateImageAllgemein_GUI extends JFrame { @@ -70,6 +73,7 @@ public class CreateImageAllgemein_GUI extends JFrame { "Um das Image richtig zuordnen zu können, werden hier einige grundlegende Informationen benötigt.
" + "Geben Sie daher bitte einen allgemeinen Namen, sowie eine genauere Beschreibung ihres Images (Labors) an.
" + ""; + Client client = models.Client.clientcon.getClient(); /** * Create the dialog. @@ -78,6 +82,12 @@ public class CreateImageAllgemein_GUI extends JFrame { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { + try { + client.setSessionInvalid(SessionData.session.getAuthToken()); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } // Beendet das Fenster auf X System.exit(0); } diff --git a/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java b/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java index b77f93ea..12ef7554 100644 --- a/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java @@ -43,6 +43,7 @@ import javax.swing.border.TitledBorder; import models.Image; import models.Links; +import models.SessionData; import server.generated.Server.Client; import thrift.ThriftConnection; import util.GuiOrganizer; @@ -60,7 +61,7 @@ public class CreateImageTechnisch_GUI extends JFrame { * Logger instance for this class. */ private final static Logger LOGGER = Logger.getLogger(CreateImageTechnisch_GUI.class); - + private final JPanel contentPanel = new JPanel(); String[] result; JSpinner spinnerCPU; @@ -89,6 +90,12 @@ public class CreateImageTechnisch_GUI extends JFrame { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { + try { + client.setSessionInvalid(SessionData.session.getAuthToken()); + } catch (TException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } System.exit(0); } }); @@ -184,7 +191,7 @@ public class CreateImageTechnisch_GUI extends JFrame { comboBox = new JComboBox(); List os = null; try { - os = client.getAllOS(); + os = client.getAllOS(SessionData.session.getAuthToken()); for(int i=0; i list = client.getAllOS(); + List list = client.getAllOS(SessionData.session.getAuthToken()); // Leeres Item hinzufuegen comboBox.addItem(""); for (int i = 0; i < list.size(); i++) { @@ -376,7 +375,7 @@ public class DeleteImage_GUI extends JFrame { // oeffnet das Hauuetmenue con.closeThriftConnection(); - + // oeffnet das Hauuetmenue DeleteImage_GUI.this.setVisible(false); @@ -412,8 +411,7 @@ public class DeleteImage_GUI extends JFrame { String imageid = ""; String imageversion = ""; int eingabe; - String username = person.verantwortlicher.getName() + " " - + person.verantwortlicher.getVorname(); + if (tablemyImages.getSelectedRowCount() != 0) { // frage, soll das selektierte Daten geloescht werden? @@ -441,11 +439,12 @@ public class DeleteImage_GUI extends JFrame { try { if (!client.connectedToLecture(imageid, - imageversion)) { + imageversion,SessionData.session.getAuthToken())) { try { - client.deleteImageServer(imageid, - imageversion); - if (client.deleteImageData(imageid,imageversion)) { + + client.deleteImageServer(imageid,imageversion, SessionData.session.getAuthToken()); + + if (client.deleteImageData(imageid,imageversion,SessionData.session.getAuthToken())) { LOGGER.info("Image '"+imageid+"' erfolgreich gelöscht."); @@ -787,7 +786,7 @@ public class DeleteImage_GUI extends JFrame { images = client.getImageList(person.verantwortlicher.getUserID()); } else { //get permitted list - images = client.getImageListPermissionAdmin(person.verantwortlicher.getUserID()); + images = client.getImageListPermissionAdmin(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); } Iterator i = images.iterator(); @@ -854,7 +853,7 @@ public class DeleteImage_GUI extends JFrame { try { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map res = client.getImageData(id, version); + Map res = client.getImageData(id, version,SessionData.session.getAuthToken()); labelName.setText(res.get("name")); labelOS.setText(res.get("os")); labelUpdate.setText(out.format(in.parse(res.get("lastupdate")))); diff --git a/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java index a848c805..273e3748 100644 --- a/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java @@ -39,6 +39,7 @@ import javax.swing.border.TitledBorder; import models.Image; import models.ItemOwner; import models.Links; +import models.SessionData; import models.person; import org.apache.log4j.Logger; @@ -95,6 +96,12 @@ public class EditImageAllgemein_GUI extends JFrame { public void windowClosing(WindowEvent arg0) { // Beendet die Anwendung bei einem Klick auf das X con.closeThriftConnection(); + try { + client.setSessionInvalid(SessionData.session.getAuthToken()); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } System.exit(0); } }); @@ -439,8 +446,8 @@ public class EditImageAllgemein_GUI extends JFrame { public void initData() { try { - Map map = client.getImageData( - Image.image.getImageId(), Image.image.getVersion()); + Map map = client.getImageData(Image.image.getImageId(), Image.image.getVersion(),SessionData.session.getAuthToken()); + if (map.get("internet").equals("0")) { Image.image.setInternet(false); } else { diff --git a/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java b/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java index f9701a0c..418ce276 100644 --- a/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java @@ -41,6 +41,7 @@ import thrift.ThriftConnection; import util.OpenLinks; import models.Image; import models.Links; +import models.SessionData; import models.person; import javax.swing.JComboBox; @@ -82,7 +83,12 @@ public class EditImageTechnisch_GUI extends JFrame { @Override public void windowClosing(WindowEvent arg0) { // Beendet die Anwendung bei Klick auf das X - + try { + client.setSessionInvalid(SessionData.session.getAuthToken()); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } System.exit(0); } @@ -174,7 +180,7 @@ public class EditImageTechnisch_GUI extends JFrame { comboBox = new JComboBox(); List os = null; try { - os=client.getAllOS(); + os=client.getAllOS(SessionData.session.getAuthToken()); for(int i=0;i"; public PermissionEditImage_GUI(Component formerGUI) { - - try { - client.setTokenForSession(SessionData.session.getAuthToken()); - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } - + addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { + try { + client.setSessionInvalid(SessionData.session.getAuthToken()); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } System.exit(0); } }); @@ -203,7 +202,7 @@ public class PermissionEditImage_GUI extends JFrame { //System.out.println("Loading data from db"); try { - map = client.getPermissionForUserAndImage(person.verantwortlicher.getUserID(), Image.image.getImageId()); + map = client.getPermissionForUserAndImage(SessionData.session.getAuthToken(),Image.image.getImageId(),person.verantwortlicher.getUserID()); Iterator i = map.iterator(); int x = 0; diff --git a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java index 7b8578c6..1b5feb6e 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java @@ -147,13 +147,6 @@ public class SearchEditImage_GUI extends JFrame { */ public SearchEditImage_GUI(Component formerGUI) { - try { - client.setTokenForSession(SessionData.session.getAuthToken()); - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } - filters.add(RowFilter.regexFilter(".", 0)); rf = RowFilter.orFilter(filters); @@ -163,7 +156,14 @@ public class SearchEditImage_GUI extends JFrame { @Override public void windowClosing(WindowEvent arg0) { // Beendet die Anwendung nach klick auf X + try { + client.setSessionInvalid(SessionData.session.getAuthToken()); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } con.closeThriftConnection(); + System.exit(0); } @@ -321,7 +321,7 @@ public class SearchEditImage_GUI extends JFrame { try { // Holt sich eine Liste aller verfuegbaren Betriebssysteme vom // Server - List list = client.getAllOS(); + List list = client.getAllOS(SessionData.session.getAuthToken()); // Leeres Item hinzufuegen comboBox.addItem(""); for (int i = 0; i < list.size(); i++) { @@ -763,7 +763,7 @@ public class SearchEditImage_GUI extends JFrame { images = client.getImageList(person.verantwortlicher.getUserID()); } else { //only get permitted list - images = client.getImageListPermissionWrite(person.verantwortlicher.getUserID()); + images = client.getImageListPermissionWrite(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); } Iterator i = images.iterator(); @@ -830,7 +830,7 @@ public class SearchEditImage_GUI extends JFrame { try { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map res = client.getImageData(id, version); + Map res = client.getImageData(id, version,SessionData.session.getAuthToken()); labelName.setText(res.get("name")); labelOS.setText(res.get("os")); labelUpdate.setText(out.format(in.parse(res.get("lastupdate")))); @@ -859,7 +859,7 @@ public class SearchEditImage_GUI extends JFrame { textAreadesc.setText(res.get("desc")); res.clear(); - List contacts = client.getAdditionalImageContacts(id); + List contacts = client.getAdditionalImageContacts(id,SessionData.session.getAuthToken()); labelWeitereVerantwortliche.setText(""); for (int i = 0; i < contacts.size(); i++) { @@ -879,7 +879,7 @@ public class SearchEditImage_GUI extends JFrame { try { //get values from server and set them in model - map=client.getItemOwner(imageid); + map=client.getItemOwner(imageid,SessionData.session.getAuthToken()); ItemOwner.itemOwner.setUserID(map.get("userID")); ItemOwner.itemOwner.setUsername(map.get("loginName")); diff --git a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java index a0d36c5a..e9decd1b 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java @@ -167,20 +167,17 @@ public class SearchImage_GUI extends JFrame { */ public SearchImage_GUI(Component formerGUI) { - - - try { - client.setTokenForSession(SessionData.session.getAuthToken()); - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } - addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { // Beendet die Anwendung nach klick auf X + try { + client.setSessionInvalid(SessionData.session.getAuthToken()); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } con.closeThriftConnection(); System.exit(0); } @@ -430,7 +427,7 @@ public class SearchImage_GUI extends JFrame { try { // Holt sich eine Liste aller verfuegbaren Betriebssysteme vom // Server - List list = client.getAllOS(); + List list = client.getAllOS(SessionData.session.getAuthToken()); // Leeres Item hinzufuegen comboBox.addItem(""); for (int i = 0; i < list.size(); i++) { @@ -1024,7 +1021,7 @@ public class SearchImage_GUI extends JFrame { //get complete list images = client.getImageList(person.verantwortlicher.getUserID()); } else { - images = client.getImageListPermissionRead(person.verantwortlicher.getUserID()); + images = client.getImageListPermissionRead(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); } Iterator i = images.iterator(); @@ -1069,7 +1066,7 @@ public class SearchImage_GUI extends JFrame { List images; try { // Hole eine Liste der Images - images = client.getImageList(person.verantwortlicher.getUserID()); + images = client.getImageList(SessionData.session.getAuthToken()); Iterator i = images.iterator(); SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -1117,7 +1114,7 @@ public class SearchImage_GUI extends JFrame { List images; try { // Hole eine Liste der Images - images = client.getImageListAllTemplates(); + images = client.getImageListAllTemplates(SessionData.session.getAuthToken()); Iterator i = images.iterator(); SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -1183,7 +1180,7 @@ public class SearchImage_GUI extends JFrame { try { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map res = client.getImageData(id, version); + Map res = client.getImageData(id, version,SessionData.session.getAuthToken()); labelName.setText(res.get("name")); labelOS.setText(res.get("os")); labelUpdate.setText(out.format(in.parse(res.get("lastupdate")))); @@ -1210,7 +1207,7 @@ public class SearchImage_GUI extends JFrame { labelVersion.setText(res.get("version")); textAreadesc.setText(res.get("desc")); - List contacts = client.getAdditionalImageContacts(id); + List contacts = client.getAdditionalImageContacts(id,SessionData.session.getAuthToken()); labelWeitereVerantwortliche.setText(""); for (int i = 0; i < contacts.size(); i++) { diff --git a/dozentenmodul/src/main/java/gui/intro/ListAllOtherUsers_GUI.java b/dozentenmodul/src/main/java/gui/intro/ListAllOtherUsers_GUI.java deleted file mode 100644 index 4c24e035..00000000 --- a/dozentenmodul/src/main/java/gui/intro/ListAllOtherUsers_GUI.java +++ /dev/null @@ -1,417 +0,0 @@ -package gui.intro; - -import gui.intro.About_GUI; -import gui.intro.MainMenue_GUI; - -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.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.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.swing.DefaultListSelectionModel; -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.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.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.log4j.Logger; -import org.apache.thrift.TException; - -import server.generated.Person; -import server.generated.Server.Client; -import thrift.ThriftConnection; -import util.OpenLinks; -import javax.swing.ListSelectionModel; - -@SuppressWarnings("serial") -public class ListAllOtherUsers_GUI extends JFrame { - - private final static Logger LOGGER = Logger - .getLogger(ListAllOtherUsers_GUI.class); - - private final JPanel contentPanel = new JPanel(); - String[] result; - JTable tableUsers; - boolean activeSearch = false; - - String[] titles = { "userID", "Nachname", "Vorname", "Mail" }; - - ThriftConnection con = new ThriftConnection(); - Client client = models.Client.clientcon.getClient(); - //final DefaultTableModel modelUsers = new DefaultTableModel(titles, 0); - - private JButton btnAdd; - private List map = null; // List of people - private JTextField textField; - Component c = null; - private JTable table; - private int userIDPos; - - List user = new ArrayList(); - - private static final String HELP_MESSAGE = "
" - + "In der Übersicht sehen Sie primär alle Veranstaltungen, die Sie erzeugt haben.
" - + "Sie können die Veranstaltungen hier löschen. Alternativ werden veraltete Einträge irgendwann automatisch gelöscht.
" - + "Veraltet bedeutet, dass Veranstaltungen, die drei Monate lang nicht augerufen wurden, vorerst deaktiviert werden." - + "
"; - - - //prevent table cells being clickable - final DefaultTableModel modelUsers = new DefaultTableModel(titles, 0){ - public boolean isCellEditable(int rowIndex, int mColIndex) { - return false; - } - }; - - final TableRowSorter rowSorterAll = new TableRowSorter(modelUsers); - - /** - * - * Constructor - */ - - public ListAllOtherUsers_GUI(Component formerGUI, final JTable table, - final int userIDPos) { - - // get table model to work with - final DefaultTableModel model = (DefaultTableModel) table.getModel(); - - //set incoming table - this.table=table; - this.userIDPos=userIDPos; - - addWindowListener(new WindowAdapter() { - @Override - public void windowClosing(WindowEvent arg0) { - // Beendet die Anwendung nach klick auf X - con.closeThriftConnection(); - dispose(); - } - - @Override - public void windowOpened(WindowEvent arg0) { - - // auszublendende Angaben - // 0=userID - - tableUsers.getColumnModel().getColumn(0).setWidth(0); - tableUsers.getColumnModel().getColumn(0).setMinWidth(0); - tableUsers.getColumnModel().getColumn(0).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) { - - e.printStackTrace(); - } - // Setzt den Fenstertitel - setTitle("bwLehrpool Suite - Benutzer hinzufügen"); - // Zentriert das Fenster in die Bildmitte - setBounds(0, 0, 531, 673); - setLocationRelativeTo(formerGUI); - - getContentPane().setLayout(null); - { - JPanel panel = new JPanel(); - panel.setBackground(SystemColor.menu); - panel.setBounds(10, 11, 570, 57); - getContentPane().add(panel); - panel.setLayout(null); - { - JLabel lblNewLabel = new JLabel("Benutzer hinzufügen"); - 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ählen Sie bitte aus der unten stehenden Liste Benutzer aus, denen Sie Rechte vergeben möchten."); - txtpnBitteWhlenSie.setBounds(10, 36, 509, 32); - panel.add(txtpnBitteWhlenSie); - } - contentPanel.setBounds(10, 176, 498, 359); - contentPanel.setBackground(SystemColor.menu); - contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); - getContentPane().add(contentPanel); - contentPanel.setLayout(null); - JScrollPane scrollPaneMyImage = new JScrollPane(); - scrollPaneMyImage.setBounds(0, 0, 498, 359); - contentPanel.add(scrollPaneMyImage); - tableUsers = new JTable(); - tableUsers.setSelectionModel(new MyDefaultListSelectionModel()); - - tableUsers.setModel(modelUsers); - - tableUsers.getColumnModel().getColumn(1).sizeWidthToFit();// Nachname - tableUsers.getColumnModel().getColumn(2).sizeWidthToFit();// Vorname - tableUsers.getColumnModel().getColumn(3).sizeWidthToFit();// email - - // initialize content - initTableContent(); - - tableUsers.setRowSorter(rowSorterAll); - - scrollPaneMyImage.setViewportView(tableUsers); - { - JPanel buttonPane = new JPanel(); - buttonPane.setBounds(0, 568, 508, 33); - buttonPane.setBackground(SystemColor.menu); - buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); - getContentPane().add(buttonPane); - - btnAdd = new JButton("Übernehmen und schließen"); - buttonPane.add(btnAdd); - { - JButton btnCancel = new JButton("Abbrechen"); - buttonPane.add(btnCancel); - btnCancel.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - // only close window - dispose(); - } - }); - btnCancel.setActionCommand("OK"); - getRootPane().setDefaultButton(btnCancel); - } - btnAdd.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - // save the user list and go back to last GUI - int pos = 0; // pointer for array - int[] selectedRows = tableUsers.getSelectedRows(); // list - - // check if a row is selected - if (selectedRows.length > 0) { - // step through entries - for (int i = 0; i < selectedRows.length; i++) { - // get userID and write it to the table in former - // GUI - - if (table.getColumnCount() == 6) { // is it an image - // GUI? - - Object[] obj = { - tableUsers.getValueAt( - selectedRows[pos], 1) - + ", " - + tableUsers.getValueAt( - selectedRows[pos], 2), // Nachname - // und - // Vorname - false, // Read image - false, // Write image - false, // Link image - false, // Admin image - tableUsers.getValueAt( - selectedRows[pos], 0) // userID - }; - model.addRow(obj); - - } else if (table.getColumnCount() == 5) { // is it a - // lecture - // GUI? - Object[] obj = { - tableUsers.getValueAt( - selectedRows[pos], 1) - + ", " - + tableUsers.getValueAt( - selectedRows[pos], 2), // Nachname - // und - // Vorname - false, // Read image - false, // Write image - false, // Admin image - tableUsers.getValueAt( - selectedRows[pos], 0) // userID - }; - model.addRow(obj); - } - - pos++;// next selected row - } - }// end if - - dispose(); - }// end actionPerformed - }); - } - - JSeparator separator = new JSeparator(); - separator.setBounds(0, 79, 836, 1); - getContentPane().add(separator); - - JSeparator separator_1 = new JSeparator(); - separator_1.setBounds(0, 552, 836, 1); - getContentPane().add(separator_1); - - JMenuBar menuBar = new JMenuBar(); - setJMenuBar(menuBar); - - JMenu mnNewMenu_1 = new JMenu("Hilfe"); - menuBar.add(mnNewMenu_1); - - JMenuItem mntmFaq = new JMenuItem("FAQ"); - 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) { - - 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) { - 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); - - JMenu mnNewMenu_Info = new JMenu("Info"); - mnNewMenu_Info.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent arg0) { - JOptionPane.showMessageDialog(c, HELP_MESSAGE, - "Hilfe zu dieser Oberfläche", - JOptionPane.INFORMATION_MESSAGE); - } - }); - menuBar.add(mnNewMenu_Info); - - c = this; - - } - - - // get users from db which are not in listed in the permission yet - public void initTableContent() { - - //LOGGER.info("Getting list of all other users from server"); - try { - - //set users which are NOT to be listed in table - //logged on user - user.add(0, person.verantwortlicher.getUserID()); - - //users already in table - for(int y=0; y i = map.iterator(); - - int x = 0; - while (i.hasNext()) { - // erzeuge Objekte fuer die Tabelle - Object[] obj = { map.get(x).getUserID(), // userID - map.get(x).getNachname(), // Nachname - map.get(x).getVorname(),// Vorname - map.get(x).getMail() // EMail - }; - // Fuege diese Objekte der Tabelle hinzu - modelUsers.addRow(obj); - i.next(); - x++; - }// end while - - } catch (TException e2) { - LOGGER.info("Failed to get List of users from server"); - e2.printStackTrace(); - } - }// end initTableContent -}// end class ListAllOtherUsers - -@SuppressWarnings("serial") -class MyDefaultListSelectionModel extends DefaultListSelectionModel { - - public MyDefaultListSelectionModel() { - super(); - } - - public void setSelectionInterval(int index0, int index1) { - if (isSelectedIndex(index0)) { - super.removeSelectionInterval(index0, index1); - } else { - super.addSelectionInterval(index0, index1); - } - } -}// end class MyDefaultListSelectionModel \ No newline at end of file diff --git a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java index 17de8772..b875fb58 100644 --- a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java +++ b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java @@ -98,6 +98,7 @@ public class Login_GUI extends JFrame { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { + System.exit(0); } }); @@ -323,6 +324,7 @@ public class Login_GUI extends JFrame { LOGGER.info("Authentifizierung von '" + lblusername.getText() + "' erfolgreich."); user = client.getUserFromToken(result.authToken); authToken = result.authToken; + } catch (org.openslx.imagemaster.thrift.iface.AuthenticationException e) { setStatus( @@ -463,23 +465,28 @@ public class Login_GUI extends JFrame { server.generated.Server.Client client_2 = models.Client.clientcon.getClient(); try { - client_2.setTokenForSession(authToken); + boolean authenticated = client_2.authenticated(authToken); + + if(!authenticated) + { + //TODO message for user and deactivation of menu points, actually just system exit + System.exit(0); + } } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { - String pk_institution = client_2.setInstitution(person.verantwortlicher.getHochschule()); + String pk_institution = client_2.setInstitution(person.verantwortlicher.getHochschule(),SessionData.session.getAuthToken()); //LOGGER.info("Institution of user is: "+pk_institution); - client_2.setPerson(person.verantwortlicher.getUserID(), person.verantwortlicher.getName(), person.verantwortlicher.getVorname(), person.verantwortlicher.getEMail(), pk_institution); + client_2.setPerson(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken(),pk_institution); //LOGGER.info("user data, ID="+person.verantwortlicher.getUserID()+" , Name="+person.verantwortlicher.getName()+" , Vorname="+ person.verantwortlicher.getVorname()+" , E-Mail="+ person.verantwortlicher.getEMail()+" , Institution="+ pk_institution); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); } - // Pruefe ob Bills Of Rights schon akzeptiert wurden, // wenn nicht zeige diese an if (!Config.getBillOfRights()) { diff --git a/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java index bd69571e..01b4aaeb 100644 --- a/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java +++ b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java @@ -58,6 +58,7 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; +import server.generated.Server.Client; import util.GuiOrganizer; import util.News; import util.OpenLinks; @@ -84,6 +85,8 @@ public class MainMenue_GUI extends JFrame { private final ButtonGroup buttonGroup = new ButtonGroup(); private JMenuItem mntmAbout; Component c = null; + + Client client = models.Client.clientcon.getClient(); @@ -94,7 +97,7 @@ public class MainMenue_GUI extends JFrame { // for testing ImageRights imageRights = new ImageRights(); - + boolean tokenDeleted; public MainMenue_GUI(Component formerGUI) { @@ -102,7 +105,18 @@ public class MainMenue_GUI extends JFrame { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { - System.exit(0); + try { + tokenDeleted = client.setSessionInvalid(SessionData.session.getAuthToken()); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + if(tokenDeleted) + { + System.out.println("test"); + System.exit(0); + } + } }); try { diff --git a/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java index 9f2c56d1..9ea9f779 100644 --- a/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java @@ -39,10 +39,14 @@ import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; +import org.apache.thrift.TException; + import models.Image; import models.Lecture; import models.Links; +import models.SessionData; import models.person; +import server.generated.Server.Client; import util.GuiOrganizer; import util.OpenLinks; @@ -68,6 +72,7 @@ public class CreateLectureAllgemein_GUI extends JFrame { Date startDate = new Date(); Date endDate; Component c = null; + Client client = models.Client.clientcon.getClient(); private boolean descriptionLengthOK = false; // description may not be // longer than // MAX_DESCRIPTION_LENGTH @@ -90,6 +95,12 @@ public class CreateLectureAllgemein_GUI extends JFrame { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { + try { + client.setSessionInvalid(SessionData.session.getAuthToken()); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } System.exit(0); } diff --git a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java index 8559c68a..2549e60f 100644 --- a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java @@ -136,13 +136,7 @@ public class CreateLectureLink_GUI extends JFrame { * Create the dialog. */ public CreateLectureLink_GUI(Component formerGUI) { - - try { - client.setTokenForSession(SessionData.session.getAuthToken()); - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } + filters.add(RowFilter.regexFilter(".", 0)); rf = RowFilter.orFilter(filters); @@ -150,6 +144,12 @@ public class CreateLectureLink_GUI extends JFrame { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { + try { + client.setSessionInvalid(SessionData.session.getAuthToken()); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } con.closeThriftConnection(); System.exit(0); } @@ -303,7 +303,7 @@ public class CreateLectureLink_GUI extends JFrame { comboBox = new JComboBox(); try { - List list = client.getAllOS(); + List list = client.getAllOS(SessionData.session.getAuthToken()); comboBox.addItem(""); for (int i = 0; i < list.size(); i++) { comboBox.addItem(list.get(i)); @@ -464,26 +464,22 @@ public class CreateLectureLink_GUI extends JFrame { formatter.format(Lecture.lecture.getEnddate()).toString(), Lecture.lecture.isActive(), imageID, - person.verantwortlicher.getUsername(), - person.verantwortlicher.getVorname(), - person.verantwortlicher.getName(), - person.verantwortlicher.getHochschule(), - person.verantwortlicher.getEMail(), + SessionData.session.getAuthToken(), person.verantwortlicher.getTel(), person.verantwortlicher.getFakultaet(), - uuid); + uuid, + person.verantwortlicher.getHochschule()); System.out.println("imageID" + " " + imageID); System.out.println("lectureID" + " " + uuid); //set rights for this user client.writeLectureRights( uuid, - person.verantwortlicher.getUsername(), - person.verantwortlicher.getName(), - person.verantwortlicher.getVorname(), - person.verantwortlicher.getEMail(), + person.verantwortlicher.getRole(), + SessionData.session.getAuthToken(), person.verantwortlicher.getHochschule(), - person.verantwortlicher.getRole()); + person.verantwortlicher.getUserID() + ); //set rights for additional users for(int i=0; i< RightsManagement.rightsManagement.getPermittedUserList().size(); i++){ @@ -493,7 +489,8 @@ public class CreateLectureLink_GUI extends JFrame { RightsManagement.rightsManagement.getPermittedUserList().get(i).getUserID(), RightsManagement.rightsManagement.getPermittedUserList().get(i).isLecture_read(), RightsManagement.rightsManagement.getPermittedUserList().get(i).isLecture_write(), - RightsManagement.rightsManagement.getPermittedUserList().get(i).isLecture_admin() + RightsManagement.rightsManagement.getPermittedUserList().get(i).isLecture_admin(), + SessionData.session.getAuthToken() ); }//end for @@ -744,7 +741,7 @@ public class CreateLectureLink_GUI extends JFrame { try { - uuid = client.createRandomUUID(); + uuid = client.createRandomUUID(SessionData.session.getAuthToken()); } catch (TException e1) { @@ -766,7 +763,7 @@ public class CreateLectureLink_GUI extends JFrame { //get complete list images = client.getImageList(person.verantwortlicher.getUserID()); } else { - images = client.getImageListPermissionLink(person.verantwortlicher.getUserID()); + images = client.getImageListPermissionLink(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); } Iterator i = images.iterator(); @@ -818,7 +815,7 @@ public class CreateLectureLink_GUI extends JFrame { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map res = client.getImageData(id, version); + Map res = client.getImageData(id, version,SessionData.session.getAuthToken()); labelName.setText(res.get("name")); labelOS.setText(res.get("os")); labelUpdate.setText(out.format(in.parse(res.get("lastupdate")))); diff --git a/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java index 58fadc72..6d908413 100644 --- a/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java @@ -107,20 +107,13 @@ public class DeleteLecture_GUI extends JFrame { + ""; RowFilter rf = null; - List> filters = new ArrayList>( - 2); + List> filters = new ArrayList>(2); /** * Create the dialog. */ public DeleteLecture_GUI(Component formerGUI) { - try { - client.setTokenForSession(SessionData.session.getAuthToken()); - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } filters.add(RowFilter.regexFilter(".", 0)); rf = RowFilter.orFilter(filters); @@ -129,6 +122,12 @@ public class DeleteLecture_GUI extends JFrame { @Override public void windowClosing(WindowEvent arg0) { // Beendet die Anwendung nach klick auf X + try { + client.setSessionInvalid(SessionData.session.getAuthToken()); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } con.closeThriftConnection(); System.exit(0); } @@ -152,6 +151,7 @@ public class DeleteLecture_GUI extends JFrame { // 6=Image // 7=Schlagwort // 8=ID + tablemyLectures.getColumnModel().getColumn(1).setWidth(0); tablemyLectures.getColumnModel().getColumn(1).setMinWidth(0); tablemyLectures.getColumnModel().getColumn(1).setMaxWidth(0); @@ -176,10 +176,12 @@ public class DeleteLecture_GUI extends JFrame { tablemyLectures.addMouseListener(new MouseAdapter() { @Override - public void mouseReleased(MouseEvent e) { + public void mouseReleased(MouseEvent e) + { tablemyLectures.clearSelection(); //just one row is selectablemyLectures tablemyLectures.setRowSelectionInterval(tablemyLectures.rowAtPoint(e.getPoint()), tablemyLectures.rowAtPoint(e.getPoint())); + System.out.println(tablemyLectures.getSelectedRow()); } }); @@ -201,7 +203,7 @@ public class DeleteLecture_GUI extends JFrame { // Zentriert das Fenster in die Bildmitte setBounds(0, 0, 842, 722); setLocationRelativeTo(formerGUI); - + getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -210,8 +212,7 @@ public class DeleteLecture_GUI extends JFrame { getContentPane().add(panel); panel.setLayout(null); { - JLabel lblNewLabel = new JLabel( - "Zu löschende Veranstaltung wählen"); + JLabel lblNewLabel = new JLabel("Zu löschende Veranstaltung wählen"); lblNewLabel.setBounds(10, 11, 509, 22); panel.add(lblNewLabel); lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); @@ -238,7 +239,7 @@ public class DeleteLecture_GUI extends JFrame { panel_1.setBounds(10, 49, 557, 64); contentPanel.add(panel_1); panel_1.setLayout(null); - + JLabel lblNewLabel_2 = new JLabel("Volltextsuche:"); lblNewLabel_2.setBounds(30, 30, 80, 20); panel_1.add(lblNewLabel_2); @@ -379,14 +380,22 @@ public class DeleteLecture_GUI extends JFrame { lectureID = modelMyLectures .getValueAt( tablemyLectures - .convertColumnIndexToModel(tablemyLectures - .getSelectedRow()), 8) - .toString(); + .convertRowIndexToModel(tablemyLectures + .getSelectedRow()), + 8).toString(); + + //int test = tablemyLectures.convertColumnIndexToModel(tablemyLectures.getSelectedRow()); + + // LOGGER.info("Lösche Veranstaltung: " + lectureID); try { - if (client.deleteLecture(lectureID, - person.verantwortlicher.getHochschule(), - person.verantwortlicher.getUsername())) { + if (client.deleteLecture( + lectureID, + SessionData.session.getAuthToken(), + person.verantwortlicher.getHochschule() + ) + ) + { // delete successful LOGGER.info("Veranstaltung erfolgreich '"+lectureID+"' gelöscht."); @@ -615,15 +624,17 @@ public class DeleteLecture_GUI extends JFrame { throws ParseException { List lectures; try { - // Hole eine Liste der erlaubten Images für die diese Person - if(person.verantwortlicher.getRole()=="Admin"){ + if(person.verantwortlicher.getRole()=="Admin") + { //get complete list - lectures = client.getLectureList(); - } else { + lectures = client.getLectureList(SessionData.session.getAuthToken()); + } + else + { //get permitted list - lectures = client.getLectureListPermissionAdmin(person.verantwortlicher.getUserID()); + lectures = client.getLectureListPermissionAdmin(SessionData.session.getAuthToken()); } Iterator i = lectures.iterator(); @@ -648,12 +659,12 @@ public class DeleteLecture_GUI extends JFrame { i.next(); } - return model; } catch (TException e1) { e1.printStackTrace(); } + return model; } @@ -677,7 +688,7 @@ public class DeleteLecture_GUI extends JFrame { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map res = client.getLectureData(id); + Map res = client.getLectureData(id,SessionData.session.getAuthToken()); labelName.setText(res.get("name")); labelAktiv.setText(res.get("isActive")); labeldesc.setText(res.get("desc")); diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java index 1d144c89..eae7a49c 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java @@ -47,6 +47,7 @@ import models.Image; import models.ItemOwner; import models.Lecture; import models.Links; +import models.SessionData; //import models.person; import models.person; @@ -99,6 +100,12 @@ public class EditLectureAllgemein_GUI extends JFrame { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { + try { + client.setSessionInvalid(SessionData.session.getAuthToken()); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } System.exit(0); } }); @@ -498,7 +505,7 @@ public class EditLectureAllgemein_GUI extends JFrame { //check which GUI to open try { - if(client.userIsLectureAdmin(person.verantwortlicher.getUserID(), Lecture.lecture.getid())){ + if(client.userIsLectureAdmin(person.verantwortlicher.getUserID(), Lecture.lecture.getid(),SessionData.session.getAuthToken())){ //user is admin of the lecture PermissionEditLecture_GUI ev = new PermissionEditLecture_GUI(c); ev.setVisible(true); diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java index d1fe57e3..a92b2dec 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java @@ -150,16 +150,16 @@ public class EditLectureLink_GUI extends JFrame { */ public EditLectureLink_GUI(Component formerGUI) { - try { - client.setTokenForSession(SessionData.session.getAuthToken()); - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { + try { + client.setSessionInvalid(SessionData.session.getAuthToken()); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } con.closeThriftConnection(); System.exit(0); } @@ -416,7 +416,7 @@ public class EditLectureLink_GUI extends JFrame { comboBox = new JComboBox(); try { - List list = client.getAllOS(); + List list = client.getAllOS(SessionData.session.getAuthToken()); comboBox.addItem(""); for (int i = 0; i < list.size(); i++) { comboBox.addItem(list.get(i)); @@ -630,7 +630,7 @@ public class EditLectureLink_GUI extends JFrame { //check which GUI to open try { - if(client.userIsLectureAdmin(person.verantwortlicher.getUserID(), Lecture.lecture.getid())){ + if(client.userIsLectureAdmin(person.verantwortlicher.getUserID(), Lecture.lecture.getid(),SessionData.session.getAuthToken())){ //user is admin of the lecture PermissionEditLecture_GUI ev = new PermissionEditLecture_GUI(c); ev.setVisible(true); @@ -692,19 +692,17 @@ public class EditLectureLink_GUI extends JFrame { .convertRowIndexToModel(tablemyImages .getSelectedRow()), 7).toString(), - person.verantwortlicher.getUsername(), - person.verantwortlicher.getVorname(), - person.verantwortlicher.getName(), - person.verantwortlicher.getHochschule(), - person.verantwortlicher.getEMail(), + SessionData.session.getAuthToken(), person.verantwortlicher.getTel(), person.verantwortlicher.getFakultaet(), - Lecture.lecture.getid()); + Lecture.lecture.getid(), + person.verantwortlicher.getHochschule()); // remove all additional user permissions on // first stage client.deleteAllAdditionalLecturePermissions( Lecture.lecture.getid(), + SessionData.session.getAuthToken(), person.verantwortlicher.getUserID()); // then, add user permissions as they have been @@ -741,7 +739,8 @@ public class EditLectureLink_GUI extends JFrame { .get(i).isLecture_write(),// write RightsManagement.rightsManagement .getPermittedUserList() - .get(i).isLecture_admin()// admin + .get(i).isLecture_admin(),// admin + SessionData.session.getAuthToken() ); }// end for @@ -810,19 +809,17 @@ public class EditLectureLink_GUI extends JFrame { .convertRowIndexToModel(tablePublicVorlagen .getSelectedRow()), 7).toString(), - person.verantwortlicher.getUsername(), - person.verantwortlicher.getVorname(), - person.verantwortlicher.getName(), - person.verantwortlicher.getHochschule(), - person.verantwortlicher.getEMail(), + SessionData.session.getAuthToken(), person.verantwortlicher.getTel(), person.verantwortlicher.getFakultaet(), - Lecture.lecture.getid()); + Lecture.lecture.getid(), + person.verantwortlicher.getHochschule()); // remove all additional user permissions on // first stage client.deleteAllAdditionalLecturePermissions( Lecture.lecture.getid(), + SessionData.session.getAuthToken(), person.verantwortlicher.getUserID()); // then, add user permissions as they have been @@ -853,7 +850,8 @@ public class EditLectureLink_GUI extends JFrame { .get(i).isImageWrite(),// write RightsManagement.rightsManagement .getPermittedUserList() - .get(i).isImageAdmin()// admin + .get(i).isImageAdmin(),// admin + SessionData.session.getAuthToken() ); } @@ -918,19 +916,17 @@ public class EditLectureLink_GUI extends JFrame { .convertRowIndexToModel(tableAllImages .getSelectedRow()), 7).toString(), - person.verantwortlicher.getUsername(), - person.verantwortlicher.getVorname(), - person.verantwortlicher.getName(), - person.verantwortlicher.getHochschule(), - person.verantwortlicher.getEMail(), + SessionData.session.getAuthToken(), person.verantwortlicher.getTel(), person.verantwortlicher.getFakultaet(), - Lecture.lecture.getid()); + Lecture.lecture.getid(), + person.verantwortlicher.getHochschule()); // remove all additional user permissions on // first stage client.deleteAllAdditionalLecturePermissions( Lecture.lecture.getid(), + SessionData.session.getAuthToken(), person.verantwortlicher.getUserID()); // then, add user permissions as they have been @@ -961,7 +957,8 @@ public class EditLectureLink_GUI extends JFrame { .get(i).isImageWrite(),// write RightsManagement.rightsManagement .getPermittedUserList() - .get(i).isImageAdmin()// admin + .get(i).isImageAdmin(),// admin + SessionData.session.getAuthToken() ); } @@ -1224,7 +1221,7 @@ public class EditLectureLink_GUI extends JFrame { } else { //get permitted list images = client.getImageListPermissionLink(person.verantwortlicher - .getUserID()); + .getUserID(),SessionData.session.getAuthToken()); } Iterator i = images.iterator(); @@ -1260,7 +1257,7 @@ public class EditLectureLink_GUI extends JFrame { // Hole eine Liste der Images //images = client.getImageListPermissionLink(person.verantwortlicher.getUserID()); - images = client.getImageListAllTemplates(); + images = client.getImageListAllTemplates(SessionData.session.getAuthToken()); Iterator i = images.iterator(); SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -1312,7 +1309,7 @@ public class EditLectureLink_GUI extends JFrame { try { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map res = client.getImageData(id, version); + Map res = client.getImageData(id, version,SessionData.session.getAuthToken()); labelName.setText(res.get("name")); labelOS.setText(res.get("os")); labelUpdate.setText(out.format(in.parse(res.get("lastupdate")))); diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java index 6131350c..92981146 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java @@ -114,12 +114,6 @@ public class EditLectureSearch_GUI extends JFrame { */ public EditLectureSearch_GUI(Component formerGUI) { - try { - client.setTokenForSession(SessionData.session.getAuthToken()); - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } filters.add(RowFilter.regexFilter(".", 0)); rf = RowFilter.orFilter(filters); @@ -128,6 +122,12 @@ public class EditLectureSearch_GUI extends JFrame { @Override public void windowClosing(WindowEvent arg0) { // Beendet die Anwendung nach klick auf X + try { + client.setSessionInvalid(SessionData.session.getAuthToken()); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } con.closeThriftConnection(); System.exit(0); } @@ -665,10 +665,10 @@ public class EditLectureSearch_GUI extends JFrame { // Hole eine Liste der erlaubten Images für die diese Person if(person.verantwortlicher.getRole()=="Admin"){ //get complete list - lectures = client.getLectureList(); + lectures = client.getLectureList(SessionData.session.getAuthToken()); } else { //get permitted list - lectures = client.getLectureListPermissionWrite(person.verantwortlicher.getUserID()); + lectures = client.getLectureListPermissionWrite(SessionData.session.getAuthToken()); } Iterator i = lectures.iterator(); @@ -724,7 +724,7 @@ public class EditLectureSearch_GUI extends JFrame { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map res = client.getLectureData(id); + Map res = client.getLectureData(id,SessionData.session.getAuthToken()); labelName.setText(res.get("name")); labelAktiv.setText(res.get("isActive")); labeldesc.setText(res.get("desc")); @@ -742,7 +742,7 @@ public class EditLectureSearch_GUI extends JFrame { try { // get values from server and set them in model - map = client.getItemOwner(lectureid); + map = client.getItemOwner(lectureid,SessionData.session.getAuthToken()); ItemOwner.itemOwner.setUserID(map.get("userID")); ItemOwner.itemOwner.setUsername(map.get("loginName")); diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java index 2fb0cc7a..f32648f0 100644 --- a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java @@ -1,7 +1,6 @@ package gui.lecture; import gui.intro.About_GUI; -import gui.intro.ListAllOtherUsers_GUI; import gui.intro.MainMenue_GUI; import java.awt.Color; @@ -64,6 +63,7 @@ import org.apache.thrift.TException; import server.generated.Person; import server.generated.Server.Client; import util.CheckIntegrity; +import util.ListAllOtherUsers_GUI; import util.OpenLinks; @SuppressWarnings("serial") @@ -123,16 +123,16 @@ public class PermissionCreateLecture_GUI extends JFrame { public PermissionCreateLecture_GUI(Component formerGUI) { - try { - client.setTokenForSession(SessionData.session.getAuthToken()); - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { + try { + client.setSessionInvalid(SessionData.session.getAuthToken()); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } System.exit(0); } }); diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java index db947b27..52e9746a 100644 --- a/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java @@ -2,7 +2,6 @@ package gui.lecture; import gui.image.PermissionCreateImage_GUI; import gui.intro.About_GUI; -import gui.intro.ListAllOtherUsers_GUI; import gui.intro.MainMenue_GUI; import java.awt.Color; @@ -59,6 +58,7 @@ import models.person; import server.generated.Person; import server.generated.Server.Client; import util.CheckIntegrity; +import util.ListAllOtherUsers_GUI; import util.OpenLinks; import javax.swing.JCheckBox; @@ -106,16 +106,16 @@ public class PermissionEditLecture_GUI extends JFrame { public PermissionEditLecture_GUI(Component formerGUI) { - try { - client.setTokenForSession(SessionData.session.getAuthToken()); - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } - + addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { + try { + client.setSessionInvalid(SessionData.session.getAuthToken()); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } System.exit(0); } }); @@ -239,8 +239,8 @@ public class PermissionEditLecture_GUI extends JFrame { try { map = client.getPermissionForUserAndLecture( - person.verantwortlicher.getUserID(), - Lecture.lecture.getid()); + SessionData.session.getAuthToken(),Lecture.lecture.getid(),person.verantwortlicher.getUserID() + ); Iterator i = map.iterator(); int x = 0; diff --git a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java index 7401dc1c..fc00997f 100644 --- a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java @@ -119,13 +119,7 @@ public class SearchLecture_GUI extends JFrame { * Create the dialog. */ public SearchLecture_GUI(Component formerGUI) { - - try { - client.setTokenForSession(SessionData.session.getAuthToken()); - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } + filters.add(RowFilter.regexFilter(".", 0)); rf = RowFilter.orFilter(filters); @@ -136,6 +130,12 @@ public class SearchLecture_GUI extends JFrame { public void windowClosing(WindowEvent arg0) { // Beendet die Anwendung nach klick auf X con.closeThriftConnection(); + try { + client.setSessionInvalid(SessionData.session.getAuthToken()); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } System.exit(0); } @Override @@ -633,10 +633,10 @@ public class SearchLecture_GUI extends JFrame { // Hole eine Liste der erlaubten Images für die diese Person if(person.verantwortlicher.getRole()=="Admin"){ //get complete list - lectures = client.getLectureList(); + lectures = client.getLectureList(SessionData.session.getAuthToken()); } else { //get permitted list - lectures = client.getLectureListPermissionRead(person.verantwortlicher.getUserID()); + lectures = client.getLectureListPermissionRead(SessionData.session.getAuthToken()); } Iterator i = lectures.iterator(); @@ -675,7 +675,7 @@ public class SearchLecture_GUI extends JFrame { try { // Hole eine Liste der erlaubten Images für die diese Person //lectures = client.getLectureList(); - lectures = client.getLectureList(); + lectures = client.getLectureList(SessionData.session.getAuthToken()); Iterator i = lectures.iterator(); SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); @@ -726,7 +726,7 @@ public class SearchLecture_GUI extends JFrame { SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map res=client.getLectureData(id); + Map res=client.getLectureData(id,SessionData.session.getAuthToken()); labelName.setText(res.get("name")); labelAktiv.setText(res.get("isActive")); labeldesc.setText(res.get("desc")); diff --git a/dozentenmodul/src/main/java/thrift/MasterThriftConnection.java b/dozentenmodul/src/main/java/thrift/MasterThriftConnection.java index 7c1259f9..a5df03c2 100644 --- a/dozentenmodul/src/main/java/thrift/MasterThriftConnection.java +++ b/dozentenmodul/src/main/java/thrift/MasterThriftConnection.java @@ -35,7 +35,7 @@ public class MasterThriftConnection { return client; } - + public void closeMasterThriftConnection() { transport.close(); } diff --git a/dozentenmodul/src/main/java/thrift/ThriftConnection.java b/dozentenmodul/src/main/java/thrift/ThriftConnection.java index 50315ae5..8b0221e8 100644 --- a/dozentenmodul/src/main/java/thrift/ThriftConnection.java +++ b/dozentenmodul/src/main/java/thrift/ThriftConnection.java @@ -49,6 +49,7 @@ public class ThriftConnection { public void closeThriftConnection() { + //System.out.println("Ich funktioniere auch, wenn ich nicht geschlossen, sondern im TaskManager gekillt werde"); //works LOGGER.info("Verbindung wird geplant getrennt."); transport.close(); } diff --git a/dozentenmodul/src/main/java/util/ListAllOtherUsers_GUI.java b/dozentenmodul/src/main/java/util/ListAllOtherUsers_GUI.java new file mode 100644 index 00000000..ae097426 --- /dev/null +++ b/dozentenmodul/src/main/java/util/ListAllOtherUsers_GUI.java @@ -0,0 +1,403 @@ +package util; + +import gui.intro.About_GUI; + +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.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.ArrayList; +import java.util.Iterator; +import java.util.List; + +import javax.swing.DefaultListSelectionModel; +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.JScrollPane; +import javax.swing.JSeparator; +import javax.swing.JTable; +import javax.swing.JTextField; +import javax.swing.JTextPane; +import javax.swing.UIManager; +import javax.swing.UnsupportedLookAndFeelException; +import javax.swing.border.EmptyBorder; +import javax.swing.table.DefaultTableModel; +import javax.swing.table.TableModel; +import javax.swing.table.TableRowSorter; + +import models.Links; +import models.SessionData; +import models.person; + +import org.apache.log4j.Logger; +import org.apache.thrift.TException; + +import server.generated.Person; +import server.generated.Server.Client; +import thrift.ThriftConnection; + +@SuppressWarnings("serial") +public class ListAllOtherUsers_GUI extends JFrame { + + private final static Logger LOGGER = Logger + .getLogger(ListAllOtherUsers_GUI.class); + + private final JPanel contentPanel = new JPanel(); + String[] result; + JTable tableUsers; + boolean activeSearch = false; + + String[] titles = { "userID", "Nachname", "Vorname", "Mail" }; + + ThriftConnection con = new ThriftConnection(); + Client client = models.Client.clientcon.getClient(); + //final DefaultTableModel modelUsers = new DefaultTableModel(titles, 0); + + private JButton btnAdd; + private List map = null; // List of people + private JTextField textField; + Component c = null; + private JTable table; + private int userIDPos; + + List user = new ArrayList(); + + private static final String HELP_MESSAGE = "
" + + "In der Übersicht sehen Sie primär alle Veranstaltungen, die Sie erzeugt haben.
" + + "Sie können die Veranstaltungen hier löschen. Alternativ werden veraltete Einträge irgendwann automatisch gelöscht.
" + + "Veraltet bedeutet, dass Veranstaltungen, die drei Monate lang nicht augerufen wurden, vorerst deaktiviert werden." + + "
"; + + + //prevent table cells being clickable + final DefaultTableModel modelUsers = new DefaultTableModel(titles, 0){ + public boolean isCellEditable(int rowIndex, int mColIndex) { + return false; + } + }; + + final TableRowSorter rowSorterAll = new TableRowSorter(modelUsers); + + /** + * + * Constructor + */ + + public ListAllOtherUsers_GUI(Component formerGUI, final JTable table, + final int userIDPos) { + + // get table model to work with + final DefaultTableModel model = (DefaultTableModel) table.getModel(); + + //set incoming table + this.table=table; + this.userIDPos=userIDPos; + + addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent arg0) { + // Beendet die Anwendung nach klick auf X + con.closeThriftConnection(); + dispose(); + } + + @Override + public void windowOpened(WindowEvent arg0) { + + // auszublendende Angaben + // 0=userID + + tableUsers.getColumnModel().getColumn(0).setWidth(0); + tableUsers.getColumnModel().getColumn(0).setMinWidth(0); + tableUsers.getColumnModel().getColumn(0).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) { + + e.printStackTrace(); + } + // Setzt den Fenstertitel + setTitle("bwLehrpool Suite - Benutzer hinzufügen"); + // Zentriert das Fenster in die Bildmitte + setBounds(0, 0, 531, 673); + setLocationRelativeTo(formerGUI); + + getContentPane().setLayout(null); + { + JPanel panel = new JPanel(); + panel.setBackground(SystemColor.menu); + panel.setBounds(10, 11, 570, 57); + getContentPane().add(panel); + panel.setLayout(null); + { + JLabel lblNewLabel = new JLabel("Benutzer hinzufügen"); + 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ählen Sie bitte aus der unten stehenden Liste Benutzer aus, denen Sie Rechte vergeben möchten."); + txtpnBitteWhlenSie.setBounds(10, 36, 509, 32); + panel.add(txtpnBitteWhlenSie); + } + contentPanel.setBounds(10, 176, 498, 359); + contentPanel.setBackground(SystemColor.menu); + contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); + getContentPane().add(contentPanel); + contentPanel.setLayout(null); + JScrollPane scrollPaneMyImage = new JScrollPane(); + scrollPaneMyImage.setBounds(0, 0, 498, 359); + contentPanel.add(scrollPaneMyImage); + tableUsers = new JTable(); + tableUsers.setSelectionModel(new MyDefaultListSelectionModel()); + + tableUsers.setModel(modelUsers); + + tableUsers.getColumnModel().getColumn(1).sizeWidthToFit();// Nachname + tableUsers.getColumnModel().getColumn(2).sizeWidthToFit();// Vorname + tableUsers.getColumnModel().getColumn(3).sizeWidthToFit();// email + + // initialize content + initTableContent(); + + tableUsers.setRowSorter(rowSorterAll); + + scrollPaneMyImage.setViewportView(tableUsers); + { + JPanel buttonPane = new JPanel(); + buttonPane.setBounds(0, 568, 508, 33); + buttonPane.setBackground(SystemColor.menu); + buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); + getContentPane().add(buttonPane); + + btnAdd = new JButton("Übernehmen und schließen"); + buttonPane.add(btnAdd); + { + JButton btnCancel = new JButton("Abbrechen"); + buttonPane.add(btnCancel); + btnCancel.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + // only close window + dispose(); + } + }); + btnCancel.setActionCommand("OK"); + getRootPane().setDefaultButton(btnCancel); + } + btnAdd.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + // save the user list and go back to last GUI + int pos = 0; // pointer for array + int[] selectedRows = tableUsers.getSelectedRows(); // list + + // check if a row is selected + if (selectedRows.length > 0) { + // step through entries + for (int i = 0; i < selectedRows.length; i++) { + // get userID and write it to the table in former + // GUI + + if (table.getColumnCount() == 6) { // is it an image + // GUI? + + Object[] obj = { + tableUsers.getValueAt( + selectedRows[pos], 1) + + ", " + + tableUsers.getValueAt( + selectedRows[pos], 2), // Nachname + // und + // Vorname + false, // Read image + false, // Write image + false, // Link image + false, // Admin image + tableUsers.getValueAt( + selectedRows[pos], 0) // userID + }; + model.addRow(obj); + + } else if (table.getColumnCount() == 5) { // is it a + // lecture + // GUI? + Object[] obj = { + tableUsers.getValueAt( + selectedRows[pos], 1) + + ", " + + tableUsers.getValueAt( + selectedRows[pos], 2), // Nachname + // und + // Vorname + false, // Read image + false, // Write image + false, // Admin image + tableUsers.getValueAt( + selectedRows[pos], 0) // userID + }; + model.addRow(obj); + } + + pos++;// next selected row + } + }// end if + + dispose(); + }// end actionPerformed + }); + } + + JSeparator separator = new JSeparator(); + separator.setBounds(0, 79, 836, 1); + getContentPane().add(separator); + + JSeparator separator_1 = new JSeparator(); + separator_1.setBounds(0, 552, 836, 1); + getContentPane().add(separator_1); + + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + + JMenu mnNewMenu_1 = new JMenu("Hilfe"); + menuBar.add(mnNewMenu_1); + + JMenuItem mntmFaq = new JMenuItem("FAQ"); + 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) { + + 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) { + 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); + + JMenu mnNewMenu_Info = new JMenu("Info"); + mnNewMenu_Info.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent arg0) { + JOptionPane.showMessageDialog(c, HELP_MESSAGE, + "Hilfe zu dieser Oberfläche", + JOptionPane.INFORMATION_MESSAGE); + } + }); + menuBar.add(mnNewMenu_Info); + + c = this; + + } + + + // get users from db which are not in listed in the permission yet + public void initTableContent() { + + //LOGGER.info("Getting list of all other users from server"); + try { + + //set users which are NOT to be listed in table + //logged on user + user.add(0, person.verantwortlicher.getUserID()); + + //users already in table + for(int y=0; y i = map.iterator(); + + int x = 0; + while (i.hasNext()) { + // erzeuge Objekte fuer die Tabelle + Object[] obj = { map.get(x).getUserID(), // userID + map.get(x).getNachname(), // Nachname + map.get(x).getVorname(),// Vorname + map.get(x).getMail() // EMail + }; + // Fuege diese Objekte der Tabelle hinzu + modelUsers.addRow(obj); + i.next(); + x++; + }// end while + + } catch (TException e2) { + LOGGER.info("Failed to get List of users from server"); + e2.printStackTrace(); + } + }// end initTableContent +}// end class ListAllOtherUsers + +@SuppressWarnings("serial") +class MyDefaultListSelectionModel extends DefaultListSelectionModel { + + public MyDefaultListSelectionModel() { + super(); + } + + public void setSelectionInterval(int index0, int index1) { + if (isSelectedIndex(index0)) { + super.removeSelectionInterval(index0, index1); + } else { + super.addSelectionInterval(index0, index1); + } + } +}// end class MyDefaultListSelectionModel \ No newline at end of file -- cgit v1.2.3-55-g7522