diff options
| author | Michael Wilson | 2014-10-27 18:13:20 +0100 |
|---|---|---|
| committer | Michael Wilson | 2014-10-27 18:13:20 +0100 |
| commit | 0ed4549c028e2523534a09fd6e41c49c9d178ec1 (patch) | |
| tree | b7a829b485b644eadb4801faad15be8a81c723b1 /dozentenmodul/src/main/java | |
| parent | Merge branch 'master' of ssh://git.openslx.org/openslx-ng/tutor-module (diff) | |
| download | tutor-module-0ed4549c028e2523534a09fd6e41c49c9d178ec1.tar.gz tutor-module-0ed4549c028e2523534a09fd6e41c49c9d178ec1.tar.xz tutor-module-0ed4549c028e2523534a09fd6e41c49c9d178ec1.zip | |
Sämtliche Logik und Grafiken zur Vergabe und Verwaltung von Berechtigungen eingeführt. Kleinere Bugs sind bekannt, werden aktuell behoben
Diffstat (limited to 'dozentenmodul/src/main/java')
13 files changed, 1705 insertions, 1324 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java index 09cf5dd8..239b5a0f 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java @@ -1,6 +1,7 @@ package gui.image; import gui.intro.About_GUI; +import gui.intro.ListAllOtherUsers_GUI; import gui.intro.MainMenue_GUI; import java.awt.Color; @@ -77,6 +78,8 @@ public class PermissionCreateImage_GUI extends JFrame { private List<Person> map = null; // List of people who have rights Component c = null; // Map<String,String> ogUsers = new HashMap(); + + List<String> user = new ArrayList<String>(); final DefaultTableModel model = new DefaultTableModel(titles, 0) { @@ -112,6 +115,8 @@ public class PermissionCreateImage_GUI extends JFrame { + "implizit freigeben darf. Eine Person mit Adminrechten darf zusätzlich das Image löschen und Berechtigungen<br />" + "für andere Benutzer festlegen und ist somit wie der Besitzer zu betrachten." + "</div></html>"; + private JButton btnAddUser; + private JButton btnDeleteUser; public PermissionCreateImage_GUI(Component formerGUI) { addWindowListener(new WindowAdapter() { @@ -165,16 +170,16 @@ public class PermissionCreateImage_GUI extends JFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Berechtigungen", + panel_1.setBorder(new TitledBorder(null, "Weitere Berechtigungen", TitledBorder.LEADING, TitledBorder.TOP, null, null)); - panel_1.setBounds(10, 170, 557, 354); + panel_1.setBounds(10, 170, 557, 361); contentPanel.add(panel_1); panel_1.setLayout(null); JScrollPane scrollPane = new JScrollPane(); scrollPane .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - scrollPane.setBounds(10, 21, 537, 228); + scrollPane.setBounds(10, 21, 537, 185); panel_1.add(scrollPane); table = new JTable(); @@ -193,13 +198,20 @@ public class PermissionCreateImage_GUI extends JFrame { table.getColumnModel().getColumn(5).setWidth(0); table.getColumnModel().getColumn(5).setMinWidth(0); table.getColumnModel().getColumn(5).setMaxWidth(0); - - // if new session, get values for table from database + + + // if new session, get values for table from database -> initialiting users if (RightsManagement.rightsManagement.getPermittedUserList().size() <= 0) { System.out.println("Loading data from db"); - try { - map = client.getAllOtherSatelliteUsers(person.verantwortlicher - .getUserID()); + //do nothing + /*try { + + user.add(0, person.verantwortlicher.getUserID()); + if(user==null){ + System.out.println("user is null"); + } + //map = client.getAllOtherSatelliteUsers(person.verantwortlicher.getUserID()); + map = client.getAllOtherSatelliteUsers(user); Iterator<server.generated.Person> i = map.iterator(); int x = 0; @@ -224,7 +236,7 @@ public class PermissionCreateImage_GUI extends JFrame { } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); - } + }*/ } else // read from model { System.out.println("reading from model"); @@ -239,7 +251,6 @@ public class PermissionCreateImage_GUI extends JFrame { int x = 0; while (i.hasNext()) { - // System.out.println("current pos=" + x); // erzeuge Objekte fuer die Tabelle person temp = i.next(); @@ -259,14 +270,16 @@ public class PermissionCreateImage_GUI extends JFrame { x++; } }// end set list of permitted users + - TableCellRenderer rend = table.getTableHeader().getDefaultRenderer(); + //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])); + // tc1.setCellRenderer(cellRenderer) TableColumn tc2 = table.getColumnModel().getColumn(2); @@ -286,7 +299,8 @@ public class PermissionCreateImage_GUI extends JFrame { tc4.setCellRenderer(table.getDefaultRenderer(Boolean.class)); tc4.setHeaderRenderer(new CheckBoxHeader(new MyItemListener4(), (String) titles[4])); - + + scrollPane.setViewportView(table); JPanel panel = new JPanel(); @@ -309,6 +323,37 @@ public class PermissionCreateImage_GUI extends JFrame { comboBox_1.setSelectedIndex(0); comboBox_1.setBounds(270, 30, 250, 20); panel.add(comboBox_1); + + btnAddUser = new JButton("Hinzufügen..."); + btnAddUser.setBounds(10, 217, 113, 23); + panel_1.add(btnAddUser); + + btnDeleteUser = new JButton("Löschen"); + btnDeleteUser.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + + // delete selected users from table + int[] deletableRows= table.getSelectedRows(); + int pointerCorrection=0; //after deleting a row, the length of selected rows is reduced by 1. This pointer counts the already deleted rows and correct the offset of i + LOGGER.info("deletabelRows.length="+deletableRows.length); + + for (int i=0; i<deletableRows.length; i++){ + + LOGGER.info("Deleting rowCount["+i+"], tableRow number "+deletableRows[i-pointerCorrection]); + model.removeRow(deletableRows[i-pointerCorrection]); + pointerCorrection++; + } + } + }); + btnDeleteUser.setBounds(134, 217, 113, 23); + panel_1.add(btnDeleteUser); + btnAddUser.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + //show list of all other relevant users + ListAllOtherUsers_GUI lu = new ListAllOtherUsers_GUI(c, table, 5); //give access to the table model and inform that the userID is position 5 in the model + lu.setVisible(true); + } + }); JLabel lblHauptmen = new JLabel("Hauptmenü"); lblHauptmen.addMouseListener(new MouseAdapter() { @@ -509,8 +554,8 @@ public class PermissionCreateImage_GUI extends JFrame { } }); menuBar.add(mnNewMenu_Info); - c = this; - + c = this; + this.setLocationRelativeTo(formerGUI); this.setVisible(true); }// end constructor @@ -673,7 +718,6 @@ public class PermissionCreateImage_GUI extends JFrame { RightsManagement.rightsManagement.setPermittedUserList(list); }// end saveTableToList() - } // end class class CheckBoxHeader extends JCheckBox implements TableCellRenderer, diff --git a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java index 9ab70a5f..8de41289 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java @@ -1,6 +1,7 @@ package gui.image; import gui.intro.About_GUI; +import gui.intro.ListAllOtherUsers_GUI; import gui.intro.MainMenue_GUI; import java.awt.Color; @@ -25,7 +26,6 @@ import java.util.List; import javax.swing.AbstractButton; import javax.swing.DefaultComboBoxModel; import javax.swing.JButton; -import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; @@ -37,7 +37,6 @@ 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.ScrollPaneConstants; import javax.swing.UIManager; @@ -48,21 +47,24 @@ import javax.swing.table.DefaultTableModel; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; -import org.apache.thrift.TException; - import models.Image; import models.Links; import models.RightsManagement; import models.person; + +import org.apache.log4j.Logger; +import org.apache.thrift.TException; + import server.generated.Person; import server.generated.Server.Client; import util.CheckIntegrity; -import util.GuiOrganizer; import util.OpenLinks; @SuppressWarnings("serial") public class PermissionEditImage_GUI extends JFrame { - + + private final static Logger LOGGER = Logger + .getLogger(PermissionCreateImage_GUI.class); Client client = models.Client.clientcon.getClient(); private final JPanel contentPanel = new JPanel(); String[] result; @@ -156,7 +158,7 @@ public class PermissionEditImage_GUI extends JFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Berechtigungen", + panel_1.setBorder(new TitledBorder(null, "Weitere Berechtigungen", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_1.setBounds(10, 170, 557, 354); contentPanel.add(panel_1); @@ -165,7 +167,7 @@ public class PermissionEditImage_GUI extends JFrame { JScrollPane scrollPane = new JScrollPane(); scrollPane .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - scrollPane.setBounds(10, 21, 537, 228); + scrollPane.setBounds(10, 21, 537, 185); panel_1.add(scrollPane); table = new JTable(); @@ -314,6 +316,39 @@ public class PermissionEditImage_GUI extends JFrame { comboBox_1.setSelectedIndex(Image.image.getShareMode()); comboBox_1.setBounds(270, 30, 250, 20); panel_2.add(comboBox_1); + + JButton btnAddUser = new JButton("Hinzufügen..."); + btnAddUser.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + //show list of all other relevant users + ListAllOtherUsers_GUI lu = new ListAllOtherUsers_GUI(c, table, 5); //give access to the table model and inform that the userID is position 5 in the model + lu.setVisible(true); + + } + }); + btnAddUser.setBounds(10, 217, 113, 23); + panel_1.add(btnAddUser); + + JButton btnDeleteUser = new JButton("Löschen"); + btnDeleteUser.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + + + // delete selected users from table + int[] deletableRows= table.getSelectedRows(); + int pointerCorrection=0; //after deleting a row, the length of selected rows is reduced by 1. This pointer counts the already deleted rows and correct the offset of i + LOGGER.info("deletabelRows.length="+deletableRows.length); + + for (int i=0; i<deletableRows.length; i++){ + + LOGGER.info("Deleting rowCount["+i+"], tableRow number "+deletableRows[i-pointerCorrection]); + model.removeRow(deletableRows[i-pointerCorrection]); + pointerCorrection++; + } + } + }); + btnDeleteUser.setBounds(133, 217, 113, 23); + panel_1.add(btnDeleteUser); JLabel lblHauptmen = new JLabel("Hauptmenü"); lblHauptmen.addMouseListener(new MouseAdapter() { @@ -672,40 +707,5 @@ public class PermissionEditImage_GUI extends JFrame { } } } -} - -/* - * 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) { } } - */ +}// end class + diff --git a/dozentenmodul/src/main/java/gui/intro/ListAllOtherUsers_GUI.java b/dozentenmodul/src/main/java/gui/intro/ListAllOtherUsers_GUI.java new file mode 100644 index 00000000..c67ad6cb --- /dev/null +++ b/dozentenmodul/src/main/java/gui/intro/ListAllOtherUsers_GUI.java @@ -0,0 +1,417 @@ +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); + final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>( + modelUsers); + private JButton btnAdd; + private List<Person> map = null; // List of people + private JTextField textField; + Component c = null; + private JTable table; + private int userIDPos; + + List<String> user = new ArrayList<String>(); + + private static final String HELP_MESSAGE = "<html><div align=\"center\">" + + "In der Übersicht sehen Sie primär alle Veranstaltungen, die Sie erzeugt haben.<br />" + + "Sie können die Veranstaltungen hier löschen. Alternativ werden veraltete Einträge irgendwann automatisch gelöscht.<br />" + + "Veraltet bedeutet, dass Veranstaltungen, die drei Monate lang nicht augerufen wurden, vorerst deaktiviert werden." + + "</div></html>"; + + /** + * + * 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); + } + + System.out.println("Info in row(" + + pos + + ") is=" + + tableUsers.getValueAt(selectedRows[pos], + 0)); + 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 + System.out.println("adding value'"+ person.verantwortlicher.getUserID()); + user.add(0, person.verantwortlicher.getUserID()); + + //users already in table + for(int y=0; y<table.getRowCount(); y++){ + System.out.println("adding value'"+table.getValueAt(y, userIDPos)+"'"); + user.add(""+table.getValueAt(y, userIDPos)); + } + System.out.println("user has '"+user.size()+"' elements."); + + + //get the info + map = client.getAllOtherSatelliteUsers(user); + Iterator<server.generated.Person> 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/MainMenue_GUI.java b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java index 04a74ab8..fd95bd8d 100644 --- a/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java +++ b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java @@ -45,7 +45,9 @@ import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import models.GUIRights; +import models.Image; import models.ImageRights; +import models.Lecture; import models.Links; import models.RightsManagement; import models.SessionData; @@ -139,6 +141,7 @@ public class MainMenue_GUI extends JFrame { //reset the list of permissions every time the user goes back to the main menu RightsManagement.rightsManagement.getPermittedUserList().clear(); + contentPanel.setBounds(10, 104, 567, 502); contentPanel.setBackground(SystemColor.menu); @@ -504,14 +507,13 @@ public class MainMenue_GUI extends JFrame { - - - - - c = this; }// end main + + + + /** * Enables/disables radio button given the user's rights */ diff --git a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java index 8d85ed47..2f4d958a 100644 --- a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java @@ -51,8 +51,10 @@ import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; import javax.swing.table.TableRowSorter; +import models.Image; import models.Lecture; import models.Links; +import models.RightsManagement; import models.person; import org.apache.thrift.TException; @@ -175,53 +177,7 @@ public class CreateLectureLink_GUI extends JFrame { 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(); } }); @@ -466,6 +422,8 @@ public class CreateLectureLink_GUI extends JFrame { try { DateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss"); + + //create new lecture client.writeLecturedata( Lecture.lecture.getName(), Lecture.lecture.getShortDesc(), @@ -485,6 +443,8 @@ public class CreateLectureLink_GUI extends JFrame { person.verantwortlicher.getEMail(), person.verantwortlicher.getTel(), person.verantwortlicher.getFakultaet()); + + //set rights for this user client.writeLectureRights( Lecture.lecture.getName(), person.verantwortlicher.getUsername(), @@ -493,6 +453,21 @@ public class CreateLectureLink_GUI extends JFrame { person.verantwortlicher.getEMail(), person.verantwortlicher.getHochschule(), person.verantwortlicher.getRole()); + + //set rights for additional users + for(int i=0; i< RightsManagement.rightsManagement.getPermittedUserList().size(); i++){ + System.out.println("Writing additional rights for user "+RightsManagement.rightsManagement.getPermittedUserList().get(i).getUserID()+", User "+(i+1)+"/"+RightsManagement.rightsManagement.getPermittedUserList().size()); + client.writeAdditionalLectureRights( + Lecture.lecture.getName(), + 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() + ); + + }//end for + + JOptionPane .showMessageDialog( c, @@ -519,103 +494,6 @@ public class CreateLectureLink_GUI extends JFrame { 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( c, - * "Ihre Veranstaltung wurde erfolgreich angelegt. Sie kehren nun zum Hauptmenü zurück." - * , "Veranstaltung angelegt", - * JOptionPane.INFORMATION_MESSAGE); // zurueck zum - * Menue MainMenue_GUI m = new MainMenue_GUI(c); - * m.setVisible(true); } catch (TException e1) { // - * TODO Auto-generated catch block - * e1.printStackTrace(); JOptionPane - * .showMessageDialog( c, - * "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten." - * , "Error", JOptionPane.ERROR_MESSAGE); - * JOptionPane.showMessageDialog(c, - * 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( c, - * "Ihre Veranstaltung wurde erfolgreich angelegt. Sie kehren nun zum Hauptmenü zurück." - * , "Veranstaltung angelegt", - * JOptionPane.INFORMATION_MESSAGE); // zurueck zum - * Menue MainMenue_GUI m = new MainMenue_GUI(c); - * m.setVisible(true); } catch (TException e1) { // - * TODO Auto-generated catch block - * e1.printStackTrace(); JOptionPane - * .showMessageDialog( c, - * "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten." - * , "Error", JOptionPane.ERROR_MESSAGE); - * JOptionPane.showMessageDialog(c, - * e1.getCause()+"\n"+e1.getStackTrace(), - * "Debug-Message", JOptionPane.ERROR_MESSAGE); } - * - * dispose(); - */ } else { // nothing selected JOptionPane.showMessageDialog(c, diff --git a/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java index cbde2d18..38d29620 100644 --- a/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java @@ -1,7 +1,6 @@ package gui.lecture; import gui.intro.About_GUI; -import gui.intro.Login_GUI; import gui.intro.MainMenue_GUI; import java.awt.Color; @@ -36,19 +35,15 @@ 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; @@ -63,13 +58,13 @@ import org.apache.thrift.TException; import server.generated.Server.Client; import thrift.ThriftConnection; -import util.GuiOrganizer; import util.OpenLinks; @SuppressWarnings("serial") public class DeleteLecture_GUI extends JFrame { - - private final static Logger LOGGER = Logger.getLogger(DeleteLecture_GUI.class); + + private final static Logger LOGGER = Logger + .getLogger(DeleteLecture_GUI.class); private final JPanel contentPanel = new JPanel(); String[] result; @@ -85,11 +80,11 @@ public class DeleteLecture_GUI extends JFrame { JLabel labelVerantwortlicher; JTable tablemyLectures; private JTextField textFieldName; - boolean activeSearch=false; + boolean activeSearch = false; String[] titles = { "Veranstaltungsname", "Beschreibung", "Gültigkeitsdatum", "Aktiv", "Letzte Benutzung", "Verantwortlicher", "Image", "Schlagwort", "ID" }; - + ThriftConnection con = new ThriftConnection(); Client client = models.Client.clientcon.getClient(); final DefaultTableModel modelAll = new DefaultTableModel(titles, 0); @@ -102,15 +97,13 @@ public class DeleteLecture_GUI extends JFrame { private JTextField textField; Component c = null; - - private static final String HELP_MESSAGE = "<html><div align=\"center\">" + - "In der Übersicht sehen Sie primär alle Veranstaltungen, die Sie erzeugt haben.<br />" + - "Sie können die Veranstaltungen hier löschen. Alternativ werden veraltete Einträge irgendwann automatisch gelöscht.<br />" + - "Veraltet bedeutet, dass Veranstaltungen, die drei Monate lang nicht augerufen wurden, vorerst deaktiviert werden." + - "</div></html>"; + private static final String HELP_MESSAGE = "<html><div align=\"center\">" + + "In der Übersicht sehen Sie primär alle Veranstaltungen, die Sie erzeugt haben.<br />" + + "Sie können die Veranstaltungen hier löschen. Alternativ werden veraltete Einträge irgendwann automatisch gelöscht.<br />" + + "Veraltet bedeutet, dass Veranstaltungen, die drei Monate lang nicht augerufen wurden, vorerst deaktiviert werden." + + "</div></html>"; - /** * Create the dialog. */ @@ -122,6 +115,7 @@ public class DeleteLecture_GUI extends JFrame { con.closeThriftConnection(); System.exit(0); } + @Override public void windowOpened(WindowEvent arg0) { textFieldName.requestFocusInWindow(); @@ -133,7 +127,7 @@ public class DeleteLecture_GUI extends JFrame { // TODO Auto-generated catch block e.printStackTrace(); } - + // auszublendende Angaben // 1=Beschreibung // 2=Gültigkeitsdatum @@ -159,27 +153,39 @@ public class DeleteLecture_GUI extends JFrame { 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); - */ + * 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 @@ -199,7 +205,6 @@ public class DeleteLecture_GUI extends JFrame { setBounds(0, 0, 842, 722); setLocationRelativeTo(formerGUI); - getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -250,15 +255,15 @@ public class DeleteLecture_GUI extends JFrame { String stext = textFieldName.getText(); // Wenn Textfield nicht leer if (stext != "") { - activeSearch=true; + activeSearch = true; // Filtere nach der Eingabe rowSorterAll.setRowFilter(RowFilter.regexFilter( textFieldName.getText(), 0)); rowSorterMyLectures.setRowFilter(RowFilter.regexFilter( textFieldName.getText(), 0)); - }else{ - activeSearch=false; + } else { + activeSearch = false; String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname(); rowSorterMyLectures.setRowFilter(RowFilter.regexFilter( @@ -277,7 +282,7 @@ public class DeleteLecture_GUI extends JFrame { @Override public void mouseClicked(MouseEvent arg0) { // oeffnet das Hauptmenue - + DeleteLecture_GUI.this.setVisible(false); MainMenue_GUI main = new MainMenue_GUI(c); main.setVisible(true); @@ -307,38 +312,36 @@ public class DeleteLecture_GUI extends JFrame { scrollPaneMyImage.setBounds(10, 120, 552, 369); contentPanel.add(scrollPaneMyImage); tablemyLectures = new JTable(); - tablemyLectures.getSelectionModel().addListSelectionListener( new ListSelectionListener() - { - public void valueChanged(ListSelectionEvent e) - { - String imageid = modelMyLectures - .getValueAt( + tablemyLectures.getSelectionModel().addListSelectionListener( + new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + String imageid = modelMyLectures.getValueAt( tablemyLectures .convertRowIndexToModel(tablemyLectures .getSelectedRow()), 8) - .toString(); - - try { - writeLectureData(imageid); - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } catch (ParseException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } - } - }); + .toString(); + + 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); + + 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); { JPanel buttonPane = new JPanel(); buttonPane.setBounds(0, 640, 826, 33); @@ -350,7 +353,7 @@ public class DeleteLecture_GUI extends JFrame { btnBack.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // oeffnet das Hauptmenue - + MainMenue_GUI main = new MainMenue_GUI(c); main.setVisible(true); dispose(); @@ -369,69 +372,68 @@ public class DeleteLecture_GUI extends JFrame { 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)); + 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); @@ -441,8 +443,8 @@ public class DeleteLecture_GUI extends JFrame { JScrollPane scrollPane = new JScrollPane(labeldesc); scrollPane.setBounds(10, 209, 218, 81); panel.add(scrollPane); - //panel.add(labeldesc); - + // panel.add(labeldesc); + labelimage = new JTextArea(); labelimage.setLineWrap(true); labelimage.setFont(new Font("Tahoma", Font.PLAIN, 11)); @@ -452,7 +454,7 @@ public class DeleteLecture_GUI extends JFrame { 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)); @@ -461,100 +463,103 @@ public class DeleteLecture_GUI extends JFrame { JScrollPane scrollPaneName = new JScrollPane(labelName); scrollPaneName.setBounds(10, 40, 218, 55); panel.add(scrollPaneName); - - button = new JButton("Löschen"); - 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(c, - "Wollen Sie diese Daten löschen?", "Löschen?", - 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(); - LOGGER.info("Lösche Veranstaltung: " + lectureID); - try { - if(client.deleteLecture(lectureID, person.verantwortlicher.getHochschule(),person.verantwortlicher.getUsername())){ - LOGGER.info("Löschen erfolgreich."); - //delete successful - - DeleteLecture_GUI dl = new DeleteLecture_GUI(c); - dl.setVisible(true); - dispose(); - } else { - //delete not successful - LOGGER.error("Konnte Veranstaltung '" + lectureID + "' nicht aus der Datenbank löschen!"); - JOptionPane + + button = new JButton("Löschen"); + 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(c, + "Wollen Sie diese Daten löschen?", "Löschen?", + 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(); + LOGGER.info("Lösche Veranstaltung: " + lectureID); + try { + if (client.deleteLecture(lectureID, + person.verantwortlicher.getHochschule(), + person.verantwortlicher.getUsername())) { + LOGGER.info("Löschen erfolgreich."); + // delete successful + + DeleteLecture_GUI dl = new DeleteLecture_GUI(c); + dl.setVisible(true); + dispose(); + } else { + // delete not successful + LOGGER.error("Konnte Veranstaltung '" + + lectureID + + "' nicht aus der Datenbank löschen!"); + JOptionPane .showMessageDialog( c, "Löschen der Veranstaltung aus der 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öschen?", "Löschen?", - 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(); - LOGGER.info("Lösche Veranstaltung: "+lectureID); - try { - if(client.deleteLecture(lectureID, person.verantwortlicher.getHochschule(),person.verantwortlicher.getUsername())){ - LOGGER.info("Löschen erfolgreich."); - //delete successful - - DeleteLecture_GUI dl = new DeleteLecture_GUI(); - dl.setVisible(true); - dispose(); - } else { - //delete not successful - LOGGER.error("Konnte Veranstaltung '" + lectureID + "' nicht aus der Datenbank löschen!"); - JOptionPane - .showMessageDialog( - null, - "Löschen 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ählen Sie ein eigenes Image aus.", - "Message", - 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öschen?", "Löschen?", + * 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(); + * LOGGER.info("Lösche Veranstaltung: "+lectureID); try { + * if(client.deleteLecture(lectureID, + * person.verantwortlicher.getHochschule + * (),person.verantwortlicher.getUsername())){ + * LOGGER.info("Löschen erfolgreich."); //delete successful + * + * DeleteLecture_GUI dl = new DeleteLecture_GUI(); + * dl.setVisible(true); dispose(); } else { //delete not + * successful LOGGER.error("Konnte Veranstaltung '" + lectureID + * + "' nicht aus der Datenbank löschen!"); JOptionPane + * .showMessageDialog( null, + * "Löschen 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ählen Sie ein eigenes Image aus.", "Message", + * JOptionPane.INFORMATION_MESSAGE); } + */ - } - }); + } + }); JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); @@ -566,15 +571,15 @@ public class DeleteLecture_GUI extends JFrame { 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(); @@ -582,7 +587,6 @@ public class DeleteLecture_GUI extends JFrame { } }); mnNewMenu_1.add(mntmFaq); - JMenuItem mntmOtrs = new JMenuItem("OTRS"); mntmOtrs.addMouseListener(new MouseAdapter() { @@ -590,22 +594,22 @@ public class DeleteLecture_GUI extends JFrame { 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) { @@ -614,30 +618,35 @@ public class DeleteLecture_GUI extends JFrame { } }); 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); + JOptionPane.showMessageDialog(c, HELP_MESSAGE, + "Hilfe zu dieser Oberfläche", + JOptionPane.INFORMATION_MESSAGE); } }); menuBar.add(mnNewMenu_Info); - + c = this; } // Initiale Beffuelung eines Table models - public DefaultTableModel initTableModel(DefaultTableModel model) throws ParseException { + public DefaultTableModel initTableModel(DefaultTableModel model) + throws ParseException { List<server.generated.Lecture> lectures; try { // Hole eine Liste der erlaubten Images für die diese Person - //lectures = client.getLectureList(); - lectures = client.getLectureListPermissionWrite(person.verantwortlicher.getUserID()); + // lectures = client.getLectureList(); + lectures = client + .getLectureListPermissionWrite(person.verantwortlicher + .getUserID()); Iterator<server.generated.Lecture> i = lectures.iterator(); - SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); + 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()) { @@ -647,9 +656,10 @@ public class DeleteLecture_GUI extends JFrame { 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 }; + 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++; @@ -664,20 +674,21 @@ public class DeleteLecture_GUI extends JFrame { } 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); + + 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)); + labelimage.setText(res.get("imagepath").substring( + res.get("imagepath").indexOf("/") + 1)); labelimageversion.setText(res.get("imageversion")); - -} -} + } +}//end class diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java index 179064ea..2fa014b8 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java @@ -402,24 +402,7 @@ public class EditLectureAllgemein_GUI extends JFrame { { 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( @@ -481,7 +464,7 @@ public class EditLectureAllgemein_GUI extends JFrame { && isDateOrderCorrect == true && descriptionLenghtOK() == true) { // everything is ok, proceed - Lecture.lecture.setName(textFieldLaborname + Lecture.lecture.setNewName(textFieldLaborname .getText()); Lecture.lecture.setDesc(description.getText()); Lecture.lecture.setEnddate(dateChooserend.getDate()); diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java index 1db2c46b..478c1bc0 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java @@ -52,8 +52,10 @@ import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; import javax.swing.table.TableRowSorter; +import models.Image; import models.Lecture; import models.Links; +import models.RightsManagement; import models.person; import org.apache.thrift.TException; @@ -94,26 +96,27 @@ public class EditLectureLink_GUI extends JFrame { JTable tablePublicVorlagen = new JTable(); private JTextField textFieldName; JTabbedPane tabbedPane; - boolean activeSearch=false; + boolean activeSearch = false; Component c = null; String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", - "Verantwortlicher", "Letztes Update", "ID", "Version","Template" }; + "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 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 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 DefaultTableModel modelPublicVorlagen = new DefaultTableModel(titles, + 0) { + public boolean isCellEditable(int rowIndex, int mColIndex) { + return false; + } }; final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>( modelAll); @@ -122,11 +125,11 @@ public class EditLectureLink_GUI extends JFrame { final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>( modelPublicVorlagen); private JTextField textField; - - private static final String HELP_MESSAGE = "<html><div align=\"center\">" + - "Ändern Sie hier das Image, zu dem Ihre Veranstaltung gehört.<br />" + - "Wählen Sie das Image aus, das zu Ihrer Veranstaltung passt und klicken Sie anschließend auf \"Veranstaltung ändern und abschließen\"." + - "</div></html>"; + + private static final String HELP_MESSAGE = "<html><div align=\"center\">" + + "Ändern Sie hier das Image, zu dem Ihre Veranstaltung gehört.<br />" + + "Wählen Sie das Image aus, das zu Ihrer Veranstaltung passt und klicken Sie anschließend auf \"Veranstaltung ändern und abschließen\"." + + "</div></html>"; /** * Create the dialog. @@ -138,6 +141,7 @@ public class EditLectureLink_GUI extends JFrame { con.closeThriftConnection(); System.exit(0); } + @Override public void windowOpened(WindowEvent arg0) { try { @@ -173,23 +177,33 @@ public class EditLectureLink_GUI extends JFrame { 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(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(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(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(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); - + 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); @@ -218,11 +232,10 @@ public class EditLectureLink_GUI extends JFrame { e.printStackTrace(); } setTitle("bwLehrpool Suite - Veranstaltung bearbeiten"); - + setBounds(0, 0, 918, 722); setLocationRelativeTo(formerGUI); - final DefaultTableModel model = new DefaultTableModel(titles, 0); getContentPane().setLayout(null); @@ -233,7 +246,8 @@ public class EditLectureLink_GUI extends JFrame { getContentPane().add(panel); panel.setLayout(null); { - JLabel lblNewLabel = new JLabel("Veranstaltung auf ein Image verlinken"); + JLabel lblNewLabel = new JLabel( + "Veranstaltung auf ein Image verlinken"); lblNewLabel.setBounds(10, 11, 509, 22); panel.add(lblNewLabel); lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); @@ -276,7 +290,7 @@ public class EditLectureLink_GUI extends JFrame { String stext = textFieldName.getText(); // Wenn Textfield nicht leer if (stext != "") { - activeSearch=true; + activeSearch = true; // Filtere nach der Eingabe rowSorterAll.setRowFilter(RowFilter.regexFilter( textFieldName.getText(), 0)); @@ -285,8 +299,8 @@ public class EditLectureLink_GUI extends JFrame { rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter( textFieldName.getText(), 0)); - }else{ - activeSearch=false; + } else { + activeSearch = false; String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname(); rowSorterMyImages.setRowFilter(RowFilter.regexFilter( @@ -319,15 +333,15 @@ public class EditLectureLink_GUI extends JFrame { public void actionPerformed(ActionEvent arg0) { // Prueft das die Auswahl nicht leer ist if (comboBox.getSelectedItem().toString() != "") { - activeSearch=true; + 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; + } else { + activeSearch = false; String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname(); rowSorterMyImages.setRowFilter(RowFilter.regexFilter( @@ -375,17 +389,20 @@ public class EditLectureLink_GUI extends JFrame { tabbedPane = new JTabbedPane(JTabbedPane.TOP); tabbedPane.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent arg0) { - if (tabbedPane.getSelectedIndex() == 0 && activeSearch==false) { + 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){ + } else if (tabbedPane.getSelectedIndex() == 1 + && activeSearch == false) { + rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter( + "true", 8)); + } else if (tabbedPane.getSelectedIndex() == 2 + && activeSearch == false) { rowSorterAll.setRowFilter(null); - } + } } }); @@ -394,27 +411,24 @@ public class EditLectureLink_GUI extends JFrame { contentPanel.add(tabbedPane); JScrollPane scrollPaneAllImages = new JScrollPane(); - tableAllImages.getSelectionModel().addListSelectionListener( new ListSelectionListener() - { - public void valueChanged(ListSelectionEvent e) - { + tableAllImages.getSelectionModel().addListSelectionListener( + new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { - String imageid = modelAll - .getValueAt( + String imageid = modelAll.getValueAt( tableAllImages .convertRowIndexToModel(tableAllImages .getSelectedRow()), 6) - .toString(); - String version = modelAll - .getValueAt( + .toString(); + String version = modelAll.getValueAt( tableAllImages .convertRowIndexToModel(tableAllImages .getSelectedRow()), 7) - .toString(); - writeImageData(imageid, version); + .toString(); + writeImageData(imageid, version); - } - }); + } + }); tableAllImages.setModel(modelAll); tableAllImages.getColumnModel().getColumn(1).sizeWidthToFit(); tableAllImages.getColumnModel().getColumn(2).sizeWidthToFit(); @@ -422,68 +436,62 @@ public class EditLectureLink_GUI extends JFrame { 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) + JScrollPane scrollPaneMyImage = new JScrollPane(); + tablemyImages.getSelectionModel().addListSelectionListener( + new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + String imageid = modelMyImages.getValueAt( + tablemyImages + .convertRowIndexToModel(tablemyImages + .getSelectedRow()), 6) .toString(); - String version = modelMyImages - .getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 7) + String version = modelMyImages.getValueAt( + tablemyImages + .convertRowIndexToModel(tablemyImages + .getSelectedRow()), 7) .toString(); - 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 + 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(); - String version = modelPublicVorlagen + String version = modelPublicVorlagen .getValueAt( tablePublicVorlagen .convertRowIndexToModel(tablePublicVorlagen .getSelectedRow()), 7) .toString(); - 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); - + 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); @@ -498,8 +506,7 @@ public class EditLectureLink_GUI extends JFrame { tableCoopImages.getColumnModel().getColumn(5).sizeWidthToFit(); scrollPaneCoopImages.setViewportView(tableCoopImages); - tabbedPane.addTab("bwLehrpool", null, scrollPaneCoopImages, - null); + tabbedPane.addTab("bwLehrpool", null, scrollPaneCoopImages, null); tabbedPane.setEnabledAt(3, false); JButton btnLinkLschen = new JButton("Link löschen"); @@ -507,7 +514,6 @@ public class EditLectureLink_GUI extends JFrame { btnLinkLschen.setBounds(478, 508, 89, 23); contentPanel.add(btnLinkLschen); - { JPanel buttonPane = new JPanel(); buttonPane.setBounds(0, 640, 902, 33); @@ -519,7 +525,8 @@ public class EditLectureLink_GUI extends JFrame { okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - PermissionEditLecture_GUI el = new PermissionEditLecture_GUI(c); + PermissionEditLecture_GUI el = new PermissionEditLecture_GUI( + c); el.setVisible(true); dispose(); } @@ -533,10 +540,10 @@ public class EditLectureLink_GUI extends JFrame { "Veranstaltung ändern und abschließen"); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - String username = person.verantwortlicher.getName() + " " - + person.verantwortlicher.getVorname(); + String username = person.verantwortlicher.getName() + + " " + person.verantwortlicher.getVorname(); // check if a row is selected - if (tablemyImages.getSelectedRow() != -1){ + if (tablemyImages.getSelectedRow() != -1) { // a row is selected, do operations String imagename = tablemyImages.getValueAt( @@ -545,6 +552,8 @@ public class EditLectureLink_GUI extends JFrame { try { DateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd hh:mm:ss"); + + // update the lecture client.updateLecturedata( Lecture.lecture.getName(), Lecture.lecture.getNewName(), @@ -558,16 +567,17 @@ public class EditLectureLink_GUI extends JFrame { .toString(), Lecture.lecture.isActive(), modelMyImages - .getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 6).toString(), - modelMyImages - .getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 7) - .toString(), + .getValueAt( + tablemyImages + .convertRowIndexToModel(tablemyImages + .getSelectedRow()), + 6).toString(), + modelMyImages + .getValueAt( + tablemyImages + .convertRowIndexToModel(tablemyImages + .getSelectedRow()), + 7).toString(), person.verantwortlicher.getUsername(), person.verantwortlicher.getVorname(), person.verantwortlicher.getName(), @@ -576,6 +586,46 @@ public class EditLectureLink_GUI extends JFrame { person.verantwortlicher.getTel(), person.verantwortlicher.getFakultaet(), Lecture.lecture.getid()); + + // remove all additional user permissions on + // first stage + client.deleteAllAdditionalLecturePermissions( + Lecture.lecture.getid(), + person.verantwortlicher.getUserID()); + + // then, add user permissions as they have been + // set new + for (int i = 0; i < RightsManagement.rightsManagement + .getPermittedUserList().size(); i++) { + System.out + .println("Writing additional rights for user " + + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).getUserID() + + ", User " + + i + + "/" + + RightsManagement.rightsManagement + .getPermittedUserList() + .size()); + client.writeAdditionalLectureRights( + Lecture.lecture.getName(), + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).getUserID(), // userID + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageRead(),// read + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageWrite(),// write + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageAdmin()// admin + ); + + }// end for + JOptionPane .showMessageDialog( c, @@ -594,14 +644,20 @@ public class EditLectureLink_GUI extends JFrame { "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", "Error", JOptionPane.ERROR_MESSAGE); - JOptionPane.showMessageDialog(c, - e1.getCause()+"\n"+e1.getStackTrace(), - "Debug-Message", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(c, e1.getCause() + + "\n" + e1.getStackTrace(), + "Debug-Message", + JOptionPane.ERROR_MESSAGE); } - + dispose(); - }else if (tablePublicVorlagen.getSelectedRow() != -1 &&tablePublicVorlagen.getValueAt(tablePublicVorlagen.getSelectedRow(), 4).toString().equals(username)){ + } else if (tablePublicVorlagen.getSelectedRow() != -1 + && tablePublicVorlagen + .getValueAt( + tablePublicVorlagen + .getSelectedRow(), 4) + .toString().equals(username)) { // a row is selected, do operations String imagename = tablePublicVorlagen.getValueAt( @@ -623,15 +679,17 @@ public class EditLectureLink_GUI extends JFrame { .toString(), Lecture.lecture.isActive(), modelPublicVorlagen - .getValueAt( - tablePublicVorlagen - .convertRowIndexToModel(tablePublicVorlagen - .getSelectedRow()), 6).toString(), - modelPublicVorlagen - .getValueAt( - tablePublicVorlagen - .convertRowIndexToModel(tablePublicVorlagen - .getSelectedRow()), 7).toString(), + .getValueAt( + tablePublicVorlagen + .convertRowIndexToModel(tablePublicVorlagen + .getSelectedRow()), + 6).toString(), + modelPublicVorlagen + .getValueAt( + tablePublicVorlagen + .convertRowIndexToModel(tablePublicVorlagen + .getSelectedRow()), + 7).toString(), person.verantwortlicher.getUsername(), person.verantwortlicher.getVorname(), person.verantwortlicher.getName(), @@ -640,6 +698,45 @@ public class EditLectureLink_GUI extends JFrame { person.verantwortlicher.getTel(), person.verantwortlicher.getFakultaet(), Lecture.lecture.getid()); + + // remove all additional user permissions on + // first stage + client.deleteAllAdditionalLecturePermissions( + Lecture.lecture.getid(), + person.verantwortlicher.getUserID()); + + // then, add user permissions as they have been + // set new + for (int i = 0; i < RightsManagement.rightsManagement + .getPermittedUserList().size(); i++) { + System.out + .println("Writing additional rights for user " + + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).getUserID() + + ", User " + + i + + "/" + + RightsManagement.rightsManagement + .getPermittedUserList() + .size()); + client.writeAdditionalLectureRights( + Lecture.lecture.getName(), + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).getUserID(), // userID + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageRead(),// read + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageWrite(),// write + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageAdmin()// admin + ); + } + JOptionPane .showMessageDialog( c, @@ -658,14 +755,19 @@ public class EditLectureLink_GUI extends JFrame { "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", "Error", JOptionPane.ERROR_MESSAGE); - JOptionPane.showMessageDialog(c, - e1.getCause()+"\n"+e1.getStackTrace(), - "Debug-Message", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(c, e1.getCause() + + "\n" + e1.getStackTrace(), + "Debug-Message", + JOptionPane.ERROR_MESSAGE); } - + dispose(); - }else if (tableAllImages.getSelectedRow() != -1 &&tableAllImages.getValueAt(tableAllImages.getSelectedRow(), 4).toString().equals(username)){ + } else if (tableAllImages.getSelectedRow() != -1 + && tableAllImages + .getValueAt( + tableAllImages.getSelectedRow(), + 4).toString().equals(username)) { // a row is selected, do operations String imagename = tableAllImages.getValueAt( @@ -686,18 +788,16 @@ public class EditLectureLink_GUI extends JFrame { Lecture.lecture.getEnddate()) .toString(), Lecture.lecture.isActive(), - modelAll - .getValueAt( + modelAll.getValueAt( tableAllImages .convertRowIndexToModel(tableAllImages - .getSelectedRow()), 6) - .toString(), - modelAll - .getValueAt( + .getSelectedRow()), + 6).toString(), + modelAll.getValueAt( tableAllImages .convertRowIndexToModel(tableAllImages - .getSelectedRow()), 7) - .toString(), + .getSelectedRow()), + 7).toString(), person.verantwortlicher.getUsername(), person.verantwortlicher.getVorname(), person.verantwortlicher.getName(), @@ -706,6 +806,45 @@ public class EditLectureLink_GUI extends JFrame { person.verantwortlicher.getTel(), person.verantwortlicher.getFakultaet(), Lecture.lecture.getid()); + + // remove all additional user permissions on + // first stage + client.deleteAllAdditionalLecturePermissions( + Lecture.lecture.getid(), + person.verantwortlicher.getUserID()); + + // then, add user permissions as they have been + // set new + for (int i = 0; i < RightsManagement.rightsManagement + .getPermittedUserList().size(); i++) { + System.out + .println("Writing additional rights for user " + + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).getUserID() + + ", User " + + i + + "/" + + RightsManagement.rightsManagement + .getPermittedUserList() + .size()); + client.writeAdditionalLectureRights( + Lecture.lecture.getName(), + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).getUserID(), // userID + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageRead(),// read + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageWrite(),// write + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageAdmin()// admin + ); + } + JOptionPane .showMessageDialog( c, @@ -724,15 +863,17 @@ public class EditLectureLink_GUI extends JFrame { "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); + JOptionPane.showMessageDialog( + null, + e1.getCause() + "\n" + + e1.getStackTrace(), + "Debug-Message", + JOptionPane.ERROR_MESSAGE); } - + dispose(); - } - else { + } else { // nothing selected JOptionPane.showMessageDialog(c, "Bitte wählen Sie ein Image aus.", @@ -754,124 +895,125 @@ public class EditLectureLink_GUI extends JFrame { 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)); + 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:"); + + 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); @@ -887,15 +1029,15 @@ public class EditLectureLink_GUI extends JFrame { 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(); @@ -903,7 +1045,6 @@ public class EditLectureLink_GUI extends JFrame { } }); mnNewMenu_1.add(mntmFaq); - JMenuItem mntmOtrs = new JMenuItem("OTRS"); mntmOtrs.addMouseListener(new MouseAdapter() { @@ -911,22 +1052,22 @@ public class EditLectureLink_GUI extends JFrame { 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) { @@ -940,75 +1081,74 @@ public class EditLectureLink_GUI extends JFrame { mnNewMenu_Info.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - JOptionPane.showMessageDialog(c, HELP_MESSAGE, "Hilfe zu dieser Oberfläche", JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(c, HELP_MESSAGE, + "Hilfe zu dieser Oberfläche", + JOptionPane.INFORMATION_MESSAGE); } }); menuBar.add(mnNewMenu_Info); - + c = this; - + } // Initiale Beffuelung eines Table models - public DefaultTableModel initTableModel(DefaultTableModel model) throws TException, ParseException { + public DefaultTableModel initTableModel(DefaultTableModel model) + throws TException, ParseException { List<server.generated.Image> images; - - // Hole eine Liste der Images - images = client.getImageListPermissionLink(person.verantwortlicher.getUserID()); - - Iterator<server.generated.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(); - } + // Hole eine Liste der Images + images = client.getImageListPermissionLink(person.verantwortlicher + .getUserID()); + + Iterator<server.generated.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; - 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); + + 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")){ + if (res.get("template").equals("true")) { labelVorlage.setText("Ja"); - }else{ + } else { labelVorlage.setText("Nein"); } - if(res.get("license").equals("1")){ + if (res.get("license").equals("1")) { labelLizenzSoftware.setText("Ja"); - } - else - { + } else { labelLizenzSoftware.setText("Nein"); } - if(res.get("internet").equals("1")){ + if (res.get("internet").equals("1")) { labelInternet.setText("Ja"); - } - else - { + } else { labelInternet.setText("Nein"); } labelRam.setText(res.get("ram")); diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java index 0ae9147a..01b93f47 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java @@ -156,26 +156,6 @@ public class EditLectureSearch_GUI extends JFrame { 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 diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java index de19520b..378273b3 100644 --- a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java @@ -1,6 +1,7 @@ package gui.lecture; import gui.intro.About_GUI; +import gui.intro.ListAllOtherUsers_GUI; import gui.intro.MainMenue_GUI; import java.awt.Color; @@ -80,7 +81,7 @@ public class PermissionCreateLecture_GUI extends JFrame { Client client = models.Client.clientcon.getClient(); String[] result; private Class[] classes; - //private JTable table = null; + // private JTable table = null; private JTable tablePermittedUsers = null; private final ButtonGroup buttonGroup = new ButtonGroup(); Object[] titles = { "Name", "Read", "Write", "Admin", "userID" }; @@ -92,23 +93,15 @@ public class PermissionCreateLecture_GUI extends JFrame { + "und/oder ob die Veranstaltung auch im VMChooser angezeigt wird." + "</div></html>"; private List<Person> map = null; // List of people who have rights - + final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; - + final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>( modelMyImages); - - - - - - - - final DefaultTableModel model = new DefaultTableModel(titles, 0) { @@ -130,7 +123,7 @@ public class PermissionCreateLecture_GUI extends JFrame { }; - //private JTable tablePermittedUsers; + // private JTable tablePermittedUsers; public PermissionCreateLecture_GUI(Component formerGUI) { addWindowListener(new WindowAdapter() { @@ -145,7 +138,6 @@ public class PermissionCreateLecture_GUI extends JFrame { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { - // TODO Auto-generated catch block e.printStackTrace(); } setTitle("bwLehrpool Suite - Berechtigungen"); @@ -182,14 +174,7 @@ public class PermissionCreateLecture_GUI extends JFrame { getContentPane().add(contentPanel); contentPanel.setLayout(null); - - - - - - - - //tablePermittedUsers = new JTable(); + // tablePermittedUsers = new JTable(); tablePermittedUsers = new JTable(); tablePermittedUsers.addMouseListener(new MouseAdapter() { @Override @@ -209,44 +194,7 @@ public class PermissionCreateLecture_GUI extends JFrame { // if new session, get values for table from database if (RightsManagement.rightsManagement.getPermittedUserList().size() <= 0) { System.out.println("Loading data from db"); - // System.out.println(RightsManagement.rightsManagement.getPmImageCreateList().size()); - - // person.verantwortlicher.getUserID(); - // System.out.println("Current userID: " - // +person.verantwortlicher.getUserID()); - - /* - try { - map = client.getAllOtherSatelliteUsers(person.verantwortlicher - .getUserID()); - Iterator<server.generated.Person> i = map.iterator(); - - int x = 0; - while (i.hasNext()) { - // erzeuge Objekte fuer die Tabelle - Object[] obj = { - map.get(x).getNachname() + ", " - + map.get(x).getVorname(), // Name - false, // Read - false, // Write - false, // Link - false, // Admin - map.get(x).getUserID() // userID - }; - // Fuege diese Objekte der Tabelle hinzu - model.addRow(obj); - i.next(); - x++; - } - // System.out.println("Number of returned users in permission list: "+ - // map.size()); - - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } - */ } else // read from model { System.out.println("reading from model"); @@ -261,21 +209,20 @@ public class PermissionCreateLecture_GUI extends JFrame { int x = 0; while (i.hasNext()) { - // System.out.println("current pos=" + x); // erzeuge Objekte fuer die Tabelle person temp = i.next(); Object[] obj = { temp.getName() + ", " + temp.getVorname(), // Name - temp.isImageRead(), // Read - temp.isImageWrite(), // Write - temp.isImageLinkAllowed(), // Link - temp.isImageAdmin(), // Admin + temp.isLecture_read(), // Read + temp.isLecture_write(), // Write + // temp.isImageLinkAllowed(), // Link + temp.isLecture_admin(), // Admin temp.getUserID() // userID }; System.out.println("Processing: " + temp.getName() + ", " - + temp.getVorname() + ", " + temp.isImageRead() + ", " - + temp.isImageWrite() + ", " + temp.isImageLinkAllowed() + ", " - + temp.isImageAdmin() + ", " + temp.getUserID()); + + temp.getVorname() + ", " + temp.isLecture_read() + + ", " + temp.isLecture_write() + ", " + + temp.isLecture_admin() + ", " + temp.getUserID()); // Fuege diese Objekte der Tabelle hinzu model.addRow(obj); x++; @@ -283,24 +230,27 @@ public class PermissionCreateLecture_GUI extends JFrame { }// end set list of permitted users // table wird hier nie initialisiert und ist entsprechend null - + if (tablePermittedUsers == null) LOGGER.error("NPE incoming..."); TableColumn tc1 = tablePermittedUsers.getColumnModel().getColumn(1); tc1.setCellEditor(tablePermittedUsers.getDefaultEditor(Boolean.class)); - tc1.setCellRenderer(tablePermittedUsers.getDefaultRenderer(Boolean.class)); + tc1.setCellRenderer(tablePermittedUsers + .getDefaultRenderer(Boolean.class)); tc1.setHeaderRenderer(new CheckBoxHeader(new MyItemListener1(), (String) titles[1])); TableColumn tc2 = tablePermittedUsers.getColumnModel().getColumn(2); tc2.setCellEditor(tablePermittedUsers.getDefaultEditor(Boolean.class)); - tc2.setCellRenderer(tablePermittedUsers.getDefaultRenderer(Boolean.class)); + tc2.setCellRenderer(tablePermittedUsers + .getDefaultRenderer(Boolean.class)); tc2.setHeaderRenderer(new CheckBoxHeader(new MyItemListener2(), (String) titles[2])); TableColumn tc3 = tablePermittedUsers.getColumnModel().getColumn(3); tc3.setCellEditor(tablePermittedUsers.getDefaultEditor(Boolean.class)); - tc3.setCellRenderer(tablePermittedUsers.getDefaultRenderer(Boolean.class)); + tc3.setCellRenderer(tablePermittedUsers + .getDefaultRenderer(Boolean.class)); tc3.setHeaderRenderer(new CheckBoxHeader(new MyItemListener3(), (String) titles[3])); @@ -377,14 +327,6 @@ public class PermissionCreateLecture_GUI extends JFrame { lblvolleRechteRead.setBounds(128, 78, 380, 40); panel.add(lblvolleRechteRead); - JCheckBox checkBox = new JCheckBox(""); - checkBox.setBounds(123, 118, 21, 23); - panel.add(checkBox); - - JLabel label_4 = new JLabel("Für alle sichtbar"); - label_4.setBounds(28, 119, 90, 20); - panel.add(label_4); - JPanel panel_1 = new JPanel(); panel_1.setLayout(null); panel_1.setBorder(new TitledBorder(null, "Suite-Berechtigungen", @@ -398,23 +340,52 @@ public class PermissionCreateLecture_GUI extends JFrame { .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); scrollPaneMyImage.setBounds(10, 28, 291, 251); panel_1.add(scrollPaneMyImage); - - + tablePermittedUsers.setBounds(0, 0, 555, 1); - //panel_1.add(tablePermittedUsers); - + // panel_1.add(tablePermittedUsers); + scrollPaneMyImage.setViewportView(tablePermittedUsers); - - - JButton button = new JButton("Hinzufügen"); - button.setBounds(10, 290, 89, 23); - panel_1.add(button); + JButton btnAddUser = new JButton("Hinzufügen..."); + btnAddUser.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + // show list of all other relevant users + ListAllOtherUsers_GUI lu = new ListAllOtherUsers_GUI(c, + tablePermittedUsers, 4); // give access to the table + // model and inform that the + // userID is position 5 in + // the model + lu.setVisible(true); + } + }); + btnAddUser.setBounds(10, 290, 113, 23); + panel_1.add(btnAddUser); + + JButton btnDeleteUser = new JButton("Löschen"); + btnDeleteUser.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { - JButton button_1 = new JButton("Löschen"); - button_1.setEnabled(false); - button_1.setBounds(109, 290, 89, 23); - panel_1.add(button_1); + // delete selected users from table + int[] deletableRows = tablePermittedUsers.getSelectedRows(); + int pointerCorrection = 0; // after deleting a row, the length + // of selected rows is reduced by 1. + // This pointer counts the already + // deleted rows and correct the + // offset of i + LOGGER.info("deletabelRows.length=" + deletableRows.length); + + for (int i = 0; i < deletableRows.length; i++) { + + LOGGER.info("Deleting rowCount[" + i + + "], tableRow number " + + deletableRows[i - pointerCorrection]); + model.removeRow(deletableRows[i - pointerCorrection]); + pointerCorrection++; + } + } + }); + btnDeleteUser.setBounds(133, 290, 113, 23); + panel_1.add(btnDeleteUser); JPanel panel_2 = new JPanel(); panel_2.setLayout(null); @@ -477,6 +448,16 @@ public class PermissionCreateLecture_GUI extends JFrame { continueButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + // before save, check integrity to avoid dblClick errors + // of rights + for (int i = 0; i < tablePermittedUsers.getRowCount(); i++) { + checkIntegrity(i); // check integrity of each line + // again + System.out.println("in auto-correct"); + } + + saveTableToList(); + CreateLectureLink_GUI ea = new CreateLectureLink_GUI(c); ea.setVisible(true); dispose(); @@ -513,11 +494,8 @@ public class PermissionCreateLecture_GUI extends JFrame { URI windows; try { windows = new URI(Links.getFAQ()); - open.openWebpage(windows); - } catch (URISyntaxException e) { - // TODO Auto-generated catch block e.printStackTrace(); } } @@ -534,11 +512,8 @@ public class PermissionCreateLecture_GUI extends JFrame { URI windows; try { windows = new URI(Links.getOTRS()); - open.openWebpage(windows); - } catch (URISyntaxException e) { - // TODO Auto-generated catch block e.printStackTrace(); } @@ -580,21 +555,19 @@ public class PermissionCreateLecture_GUI extends JFrame { selectedRow = row; } - boolean isRead, isWrite, isLink, isAdmin; + boolean isRead, isWrite, isAdmin; // collect all row data isRead = (boolean) tablePermittedUsers.getValueAt(selectedRow, 1); isWrite = (boolean) tablePermittedUsers.getValueAt(selectedRow, 2); - isLink = (boolean) tablePermittedUsers.getValueAt(selectedRow, 3); - isAdmin = (boolean) tablePermittedUsers.getValueAt(selectedRow, 4); + isAdmin = (boolean) tablePermittedUsers.getValueAt(selectedRow, 3); - boolean[] checkedVals = CheckIntegrity.isIntegre(isRead, isWrite, - isLink, isAdmin); + boolean[] checkedVals = CheckIntegrity.isIntegre(isRead, isWrite,isAdmin, false); tablePermittedUsers.setValueAt(checkedVals[0], selectedRow, 1); tablePermittedUsers.setValueAt(checkedVals[1], selectedRow, 2); - tablePermittedUsers.setValueAt(checkedVals[2], selectedRow, 3); - tablePermittedUsers.setValueAt(checkedVals[3], selectedRow, 4); + tablePermittedUsers.setValueAt(checkedVals[3], selectedRow, 3); + // tablePermittedUsers.setValueAt(checkedVals[3], selectedRow, 4); }// end checkIntegrity() // Column 0 == Concat user name @@ -661,37 +634,42 @@ public class PermissionCreateLecture_GUI extends JFrame { int seperatorIndex = 0; // get values from table and save the checkbox values - if (map == null) - System.out.println("Error: map is null"); // for (int i = 0; i < map.size(); i++) { for (int i = 0; i < tablePermittedUsers.getRowCount(); i++) { // System.out.println("in for, rowcount="+table.getRowCount()); person temp = new person(); - // table.getModel().setValueAt(map.get, i, 5); - - temp.setUserID(tablePermittedUsers.getModel().getValueAt(i, 5).toString()); // get - // userID - temp.setImageAdmin(Boolean.parseBoolean(tablePermittedUsers.getModel() - .getValueAt(i, 4).toString())); // get Admin - temp.setImageLinkAllowed(Boolean.parseBoolean(tablePermittedUsers.getModel() - .getValueAt(i, 3).toString()));// get Link - temp.setImageWrite(Boolean.parseBoolean(tablePermittedUsers.getModel() - .getValueAt(i, 2).toString()));// get Write - temp.setImageRead(Boolean.parseBoolean(tablePermittedUsers.getModel().getValueAt(i, 1) - .toString()));// get Read - seperatorIndex = tablePermittedUsers.getModel().getValueAt(i, 0).toString() - .indexOf(","); - temp.setName(tablePermittedUsers.getModel().getValueAt(i, 0).toString() - .substring(0, seperatorIndex)); - temp.setVorname(tablePermittedUsers.getModel().getValueAt(i, 0).toString() - .substring(seperatorIndex + 2)); + seperatorIndex = tablePermittedUsers.getModel().getValueAt(i, 0) + .toString().indexOf(","); + LOGGER.info(tablePermittedUsers.getModel().getValueAt(i, 4) + .toString() +" (userID)\t"+ Boolean.parseBoolean(tablePermittedUsers + .getModel().getValueAt(i, 3).toString())+"(admin)\t"+Boolean.parseBoolean(tablePermittedUsers + .getModel().getValueAt(i, 2).toString())+"(write)\t"+Boolean.parseBoolean(tablePermittedUsers + .getModel().getValueAt(i, 1).toString())+"(read)\t"+tablePermittedUsers.getModel().getValueAt(i, 0) + .toString().substring(0, seperatorIndex)+"(Nachname)\t"+tablePermittedUsers.getModel().getValueAt(i, 0) + .toString().substring(seperatorIndex + 2)+"(Vorname)"); + + temp.setUserID(tablePermittedUsers.getModel().getValueAt(i, 4) + .toString()); // get + // userID + temp.setLecture_admin(Boolean.parseBoolean(tablePermittedUsers + .getModel().getValueAt(i, 3).toString())); // get Admin + temp.setLecture_write(Boolean.parseBoolean(tablePermittedUsers + .getModel().getValueAt(i, 2).toString()));// get Write + temp.setLecture_read(Boolean.parseBoolean(tablePermittedUsers + .getModel().getValueAt(i, 1).toString()));// get Read + seperatorIndex = tablePermittedUsers.getModel().getValueAt(i, 0) + .toString().indexOf(","); + temp.setName(tablePermittedUsers.getModel().getValueAt(i, 0) + .toString().substring(0, seperatorIndex)); + temp.setVorname(tablePermittedUsers.getModel().getValueAt(i, 0) + .toString().substring(seperatorIndex + 2)); // check if at least one checkbox is checked. If yes, save this // entry into list, if not ignore this entry - if (temp.isImageAdmin() || temp.isImageLinkAllowed() || temp.isImageWrite() - || temp.isImageRead()) { + if (temp.isLecture_admin() || temp.isLecture_write() + || temp.isLecture_read()) { // save entry list.add(temp); } else { @@ -699,9 +677,6 @@ public class PermissionCreateLecture_GUI extends JFrame { } } - System.out.println("Setting list information.\tTable size: " - + tablePermittedUsers.getRowCount() + "\t List length (=selected users): " - + list.size()); for (int y = 0; y < list.size(); y++) { System.out.println("" + list.get(y).getName()); } diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java index f2e29690..cb01d824 100644 --- a/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java @@ -1,7 +1,8 @@ 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; @@ -19,6 +20,9 @@ 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.AbstractButton; import javax.swing.DefaultComboBoxModel; @@ -46,45 +50,56 @@ import javax.swing.table.DefaultTableModel; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; +import models.Image; +import models.Lecture; import models.Links; +import models.RightsManagement; +import models.person; +import server.generated.Person; +import server.generated.Server.Client; +import util.CheckIntegrity; import util.OpenLinks; import javax.swing.JCheckBox; +import org.apache.log4j.Logger; +import org.apache.thrift.TException; + @SuppressWarnings("serial") public class PermissionEditLecture_GUI extends JFrame { + private final static Logger LOGGER = Logger + .getLogger(PermissionCreateImage_GUI.class); + Client client = models.Client.clientcon.getClient(); private final JPanel contentPanel = new JPanel(); String[] result; private JTable table; private Class[] classes; - Object[] titles = { "Name","Read", "Write","Admin"}; + Object[] titles = { "Name", "Read", "Write", "Admin", "userID" }; + private List<Person> map = null; // List of people who have rights Component c = null; - private static final String HELP_MESSAGE = "<html><div align=\"center\">" + - "Hier können Sie die Berechtigungen für Ihre Veranstaltung festlegen.<br />" + - "Es wird unterschieden, ob innerhalb der Suite (dieses Programm) Änderungen vorgenommen werden dürfen, <br />" + - "und/oder ob die Veranstaltung auch im VMChooser angezeigt wird." + - "</div></html>"; - - 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 static final String HELP_MESSAGE = "<html><div align=\"center\">" + + "Hier können Sie die Berechtigungen für Ihre Veranstaltung festlegen.<br />" + + "Es wird unterschieden, ob innerhalb der Suite (dieses Programm) Änderungen vorgenommen werden dürfen, <br />" + + "und/oder ob die Veranstaltung auch im VMChooser angezeigt wird." + + "</div></html>"; + + 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; + } + } }; @@ -96,7 +111,7 @@ public class PermissionEditLecture_GUI extends JFrame { } }); setResizable(false); - + try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException @@ -117,16 +132,18 @@ public class PermissionEditLecture_GUI extends JFrame { getContentPane().add(panel); panel.setLayout(null); { - JLabel lblNewLabel = new JLabel("Veranstaltung - Berechtigungen (Nur zur Veranschaulichung)"); + JLabel lblNewLabel = new JLabel( + "Veranstaltung - Berechtigungen"); 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ünschten Berechtigungen für Ihre Veranstaltung"); + txtpnBitteWhlenSie + .setText("Definieren Sie hier bitte die gewünschten Berechtigungen für Ihre Veranstaltung"); txtpnBitteWhlenSie.setBounds(10, 36, 509, 32); panel.add(txtpnBitteWhlenSie); } @@ -135,159 +152,261 @@ public class PermissionEditLecture_GUI extends JFrame { 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.setBorder(new TitledBorder(null, "Beschreibung", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel.setBackground(SystemColor.menu); - panel.setBounds(10, 35, 557, 148); + panel.setBounds(10, 35, 557, 130); contentPanel.add(panel); - + JLabel label = new JLabel("Read"); label.setBounds(28, 18, 90, 20); panel.add(label); - - JLabel label_3 = new JLabel("Image darf gelesen und gestartet werden und ist in Suchfenster sichtbar."); + + JLabel label_3 = new JLabel( + "Image darf gelesen und gestartet werden und ist in Suchfenster sichtbar."); label_3.setBounds(128, 18, 380, 20); panel.add(label_3); - + JLabel label_4 = new JLabel("Write"); label_4.setBounds(28, 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>"); + + 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(128, 38, 380, 45); panel.add(label_5); - + JLabel label_6 = new JLabel("Admin"); label_6.setBounds(28, 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>"); + + JLabel label_7 = new JLabel( + "<HTML>Volle Rechte: read, write, löschen und Berechtigungen für andere Benutzer festlegen.</HTML>"); label_7.setBounds(128, 78, 380, 40); panel.add(label_7); - - JLabel label_8 = new JLabel("Für alle sichtbar"); - label_8.setBounds(28, 119, 90, 20); - panel.add(label_8); - - JCheckBox checkBox = new JCheckBox(""); - checkBox.setBounds(123, 118, 21, 23); - panel.add(checkBox); - + 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.setBorder(new TitledBorder(null, "Suite-Berechtigungen", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_1.setBounds(10, 194, 311, 326); contentPanel.add(panel_1); panel_1.setLayout(null); - + JScrollPane scrollPane = new JScrollPane(); - scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + scrollPane + .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); scrollPane.setBounds(10, 28, 291, 251); 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])); - */ + + // invisible attribute userID for identifying selected user + table.getColumnModel().getColumn(4).setWidth(0); + table.getColumnModel().getColumn(4).setMinWidth(0); + table.getColumnModel().getColumn(4).setMaxWidth(0); + + // if new session, get values for table from database + if (RightsManagement.rightsManagement.getPermittedUserList().size() <= 0) { + System.out.println("Loading data from db"); + try { + + map = client.getPermissionForUserAndLecture( + person.verantwortlicher.getUserID(), + Lecture.lecture.getid()); + Iterator<server.generated.Person> i = map.iterator(); + + int x = 0; + + while (i.hasNext()) { + // erzeuge Objekte fuer die Tabelle + Object[] obj = { + map.get(x).getNachname() + ", " + + map.get(x).getVorname(), // Name + (boolean) map.get(x).isLecture_read(), // Read + (boolean) map.get(x).isLecture_write(), // Write + (boolean) map.get(x).isLecture_admin(), // Admin + map.get(x).getUserID() // userID + }; + // System.out.println(map.get(x).isImage_read() + ""); + // Fuege diese Objekte der Tabelle hinzu + model.addRow(obj); + + i.next(); + x++; + + } + + } catch (TException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + } else // read from model + { + System.out.println("reading from model"); + System.out + .println("RightsManagement.rightsManagement.getPermittedUserList().size() = " + + RightsManagement.rightsManagement + .getPermittedUserList().size()); + + List<person> listt = RightsManagement.rightsManagement + .getPermittedUserList(); + Iterator<person> i = listt.iterator(); + + int x = 0; + while (i.hasNext()) { + // System.out.println("current pos=" + x); + // erzeuge Objekte fuer die Tabelle + person temp = i.next(); + + Object[] obj = { temp.getName() + ", " + temp.getVorname(), // Name + temp.isLecture_read(), // Read + temp.isLecture_write(), // Write + temp.isLecture_admin(), // Admin + temp.getUserID() // userID + }; + System.out.println("Processing: " + temp.getName() + ", " + + temp.getVorname() + ", " + temp.isLecture_read() + + ", " + temp.isLecture_write() + ", " + + temp.isLecture_admin() + ", " + temp.getUserID()); + // Fuege diese Objekte der Tabelle hinzu + model.addRow(obj); + x++; + } + }// end set list of permitted users + + // 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])); + scrollPane.setViewportView(table); - - JButton button = new JButton("Hinzufügen"); - button.setEnabled(false); - button.setBounds(10, 290, 89, 23); - panel_1.add(button); - - JButton button_1 = new JButton("Löschen"); - button_1.setEnabled(false); - button_1.setBounds(109, 290, 89, 23); - panel_1.add(button_1); - + + JButton btnAddUser = new JButton("Hinzufügen"); + btnAddUser.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + // show list of all other relevant users + ListAllOtherUsers_GUI lu = new ListAllOtherUsers_GUI(c, table, + 4); // give access to the table model and inform that + // the userID is position 5 in the model + lu.setVisible(true); + } + }); + btnAddUser.setBounds(10, 290, 113, 23); + panel_1.add(btnAddUser); + + JButton btnDeleteUser = new JButton("Löschen"); + btnDeleteUser.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + + // delete selected users from table + int[] deletableRows = table.getSelectedRows(); + int pointerCorrection = 0; // after deleting a row, the length + // of selected rows is reduced by 1. + // This pointer counts the already + // deleted rows and correct the + // offset of i + LOGGER.info("deletabelRows.length=" + deletableRows.length); + + for (int i = 0; i < deletableRows.length; i++) { + + LOGGER.info("Deleting rowCount[" + i + + "], tableRow number " + + deletableRows[i - pointerCorrection]); + model.removeRow(deletableRows[i - pointerCorrection]); + pointerCorrection++; + } + } + }); + btnDeleteUser.setBounds(133, 290, 113, 23); + panel_1.add(btnDeleteUser); + JLabel lblHauptmen = new JLabel("Hauptmenü"); lblHauptmen.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - + PermissionEditLecture_GUI.this.setVisible(false); - MainMenue_GUI main=new MainMenue_GUI(c); + MainMenue_GUI main = new MainMenue_GUI(c); 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("Bearbeiten"); lblNewLabel_1.setBounds(194, 11, 155, 14); contentPanel.add(lblNewLabel_1); - + JPanel panel_2 = new JPanel(); panel_2.setLayout(null); - panel_2.setBorder(new TitledBorder(null, "Sichtbarkeit im VMChooser", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_2.setBorder(new TitledBorder(null, "Sichtbarkeit im VMChooser", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_2.setBackground(SystemColor.menu); panel_2.setBounds(331, 194, 236, 326); contentPanel.add(panel_2); - + final JScrollPane scrollPane_1 = new JScrollPane(); - scrollPane_1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + scrollPane_1 + .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); scrollPane_1.setEnabled(false); scrollPane_1.setBounds(16, 88, 210, 191); panel_2.add(scrollPane_1); - + JRadioButton rdbtnAlle = new JRadioButton("Sichtbar für alle"); rdbtnAlle.setSelected(true); rdbtnAlle.setEnabled(false); rdbtnAlle.setBounds(6, 32, 109, 23); panel_2.add(rdbtnAlle); - + JRadioButton rdbtnIndividuell = new JRadioButton("Individuell"); rdbtnIndividuell.setEnabled(false); rdbtnIndividuell.setBounds(6, 58, 109, 23); panel_2.add(rdbtnIndividuell); - + final JButton btnAddVmUser = new JButton("Hinzufügen"); btnAddVmUser.setEnabled(false); btnAddVmUser.setBounds(23, 290, 89, 23); panel_2.add(btnAddVmUser); - + final JButton btnDelVmUser = new JButton("Löschen"); btnDelVmUser.setEnabled(false); btnDelVmUser.setBounds(122, 290, 89, 23); @@ -302,26 +421,36 @@ public class PermissionEditLecture_GUI extends JFrame { JButton cancelButton = new JButton("Zurück"); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - - - EditLectureAllgemein_GUI sr=new EditLectureAllgemein_GUI(c); + + EditLectureAllgemein_GUI sr = new EditLectureAllgemein_GUI( + c); sr.setVisible(true); dispose(); } }); cancelButton.setActionCommand("OK"); buttonPane.add(cancelButton); - //getRootPane().setDefaultButton(cancelButton); + // getRootPane().setDefaultButton(cancelButton); } { JButton continueButton = new JButton("Weiter"); continueButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - - EditLectureLink_GUI ea=new EditLectureLink_GUI(c); + + // before save, check integrity to avoid dblClick errors + // of rights + for (int i = 0; i < table.getRowCount(); i++) { + checkIntegrity(i); // check integrity of each line + // again + System.out.println("in auto-correct"); + } + + saveTableToList(); + + EditLectureLink_GUI ea = new EditLectureLink_GUI(c); ea.setVisible(true); dispose(); - + } }); continueButton.setActionCommand("Cancel"); @@ -329,8 +458,7 @@ public class PermissionEditLecture_GUI extends JFrame { getRootPane().setDefaultButton(continueButton); } } - - + rdbtnAlle.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { scrollPane_1.setEnabled(false); @@ -338,42 +466,42 @@ public class PermissionEditLecture_GUI extends JFrame { btnDelVmUser.setEnabled(false); } }); - + rdbtnIndividuell.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { scrollPane_1.setEnabled(true); btnAddVmUser.setEnabled(true); - btnDelVmUser.setEnabled(true); + btnDelVmUser.setEnabled(true); } }); - + JSeparator separator = new JSeparator(); separator.setBounds(0, 78, 597, 2); getContentPane().add(separator); - + JSeparator separator_1 = new JSeparator(); separator_1.setBounds(0, 627, 597, 2); getContentPane().add(separator_1); - + JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); - + JMenu mnNewMenu_1 = new JMenu("Hilfe"); menuBar.add(mnNewMenu_1); - + JMenuItem mntmFaq = new JMenuItem("FAQ"); 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(); @@ -381,7 +509,6 @@ public class PermissionEditLecture_GUI extends JFrame { } }); mnNewMenu_1.add(mntmFaq); - JMenuItem mntmOtrs = new JMenuItem("OTRS"); mntmOtrs.addMouseListener(new MouseAdapter() { @@ -389,22 +516,22 @@ public class PermissionEditLecture_GUI extends JFrame { 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) { @@ -413,130 +540,194 @@ public class PermissionEditLecture_GUI extends JFrame { } }); 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); + JOptionPane.showMessageDialog(c, HELP_MESSAGE, + "Hilfe zu dieser Oberfläche", + JOptionPane.INFORMATION_MESSAGE); } }); menuBar.add(mnNewMenu_Info); - + c = this; - + + }// end constructor + + private void checkIntegrity(int row) { + + int selectedRow; + + if (row == -1) { + selectedRow = table.getSelectedRow(); + } else { + selectedRow = row; + } + + boolean isRead, isWrite, isAdmin; + + // collect all row data + isRead = (boolean) table.getValueAt(selectedRow, 1); + isWrite = (boolean) table.getValueAt(selectedRow, 2); + isAdmin = (boolean) table.getValueAt(selectedRow, 3); + + boolean[] checkedVals = CheckIntegrity.isIntegre(isRead, isWrite,isAdmin, false); + + table.setValueAt(checkedVals[0], selectedRow, 1); + table.setValueAt(checkedVals[1], selectedRow, 2); + table.setValueAt(checkedVals[3], selectedRow, 3); + }// end checkIntegrity() + + // save the entered rights into the model and prepare them to be written to + // the database + private void saveTableToList() { + System.out.println("Saving Table to List"); + + List<person> list = new ArrayList<person>(); + + int seperatorIndex = 0; + + // get values from table and save the checkbox values + + // for (int i = 0; i < map.size(); i++) { + for (int i = 0; i < table.getRowCount(); i++) { + // System.out.println("in for, rowcount="+table.getRowCount()); + person temp = new person(); + + seperatorIndex = table.getModel().getValueAt(i, 0).toString() + .indexOf(","); + LOGGER.info(table.getModel().getValueAt(i, 4).toString() + + " (userID)\t" + + Boolean.parseBoolean(table.getModel().getValueAt(i, 3) + .toString()) + + "(admin)\t" + + Boolean.parseBoolean(table.getModel().getValueAt(i, 2) + .toString()) + + "(write)\t" + + Boolean.parseBoolean(table.getModel().getValueAt(i, 1) + .toString()) + + "(read)\t" + + table.getModel().getValueAt(i, 0).toString() + .substring(0, seperatorIndex) + + "(Nachname)\t" + + table.getModel().getValueAt(i, 0).toString() + .substring(seperatorIndex + 2) + "(Vorname)"); + + temp.setUserID(table.getModel().getValueAt(i, 4).toString()); // get + // userID + temp.setLecture_admin(Boolean.parseBoolean(table.getModel() + .getValueAt(i, 3).toString())); // get Admin + temp.setLecture_write(Boolean.parseBoolean(table.getModel() + .getValueAt(i, 2).toString()));// get Write + temp.setLecture_read(Boolean.parseBoolean(table.getModel() + .getValueAt(i, 1).toString()));// get Read + seperatorIndex = table.getModel().getValueAt(i, 0).toString() + .indexOf(","); + temp.setName(table.getModel().getValueAt(i, 0).toString() + .substring(0, seperatorIndex)); + temp.setVorname(table.getModel().getValueAt(i, 0).toString() + .substring(seperatorIndex + 2)); + + // check if at least one checkbox is checked. If yes, save this + // entry into list, if not ignore this entry + if (temp.isLecture_admin() || temp.isLecture_write() + || temp.isLecture_read()) { + // save entry + list.add(temp); + } else { + // do nothing + } + } + + for (int y = 0; y < list.size(); y++) { + System.out.println("" + list.get(y).getName()); + } + + RightsManagement.rightsManagement.setPermittedUserList(list); + }// end saveTableToList() + + 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 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) { -} -} */ +/* + * 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/models/person.java b/dozentenmodul/src/main/java/models/person.java index c786598c..4ad5bb3d 100644 --- a/dozentenmodul/src/main/java/models/person.java +++ b/dozentenmodul/src/main/java/models/person.java @@ -10,11 +10,10 @@ public class person { private String EMail; private String Tel; private String Fakultaet; - private boolean ischecked; private String role; + private boolean ischecked; private boolean image_read; private boolean image_write; - // private boolean changePermission; private boolean image_admin; private boolean image_linkAllowed; private boolean lecture_read; diff --git a/dozentenmodul/src/main/java/util/ListAllOtherUsers.java b/dozentenmodul/src/main/java/util/ListAllOtherUsers.java deleted file mode 100644 index 98b26e03..00000000 --- a/dozentenmodul/src/main/java/util/ListAllOtherUsers.java +++ /dev/null @@ -1,239 +0,0 @@ -package util; - -import gui.image.CreateImageAllgemein_GUI; -import gui.image.DeleteImage_GUI; -import gui.image.SearchEditImage_GUI; -import gui.image.SearchImage_GUI; -import gui.intro.About_GUI; -import gui.intro.MainMenue_GUI; -import gui.lecture.CreateLectureAllgemein_GUI; -import gui.lecture.DeleteLecture_GUI; -import gui.lecture.EditLectureSearch_GUI; -import gui.lecture.SearchLecture_GUI; - -import java.awt.Component; -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 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.JTextPane; -import javax.swing.SwingConstants; -import javax.swing.ToolTipManager; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; -import javax.swing.border.EmptyBorder; -import javax.swing.border.TitledBorder; - -import models.GUIRights; -import models.ImageRights; -import models.Links; -import models.RightsManagement; -import models.SessionData; -import models.person; - -import org.apache.log4j.Logger; -import javax.swing.JScrollPane; -import javax.swing.ScrollPaneConstants; -import javax.swing.JTable; -import java.awt.Color; - - -public class ListAllOtherUsers extends JFrame { - - - private final static Logger LOGGER = Logger.getLogger(MainMenue_GUI.class); - - private final JPanel contentPanel = new JPanel(); - - private JMenuItem mntmAbout; - Component c = null; - private JTable table; - - - /** - * Create the dialog. - */ - public ListAllOtherUsers(Component formerGUI) { - - addWindowListener(new WindowAdapter() { - @Override - public void windowClosing(WindowEvent arg0) { - System.exit(0); - } - }); - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - setTitle("bwLehrpool Suite - Connected Server: " - + SessionData.session.getServerAdress()); - setBounds(0, 0, 603, 722); - this.setLocationRelativeTo(formerGUI); - - getContentPane().setLayout(null); - { - JPanel panel = new JPanel(); - panel.setBackground(SystemColor.menu); - panel.setBounds(10, 11, 567, 69); - getContentPane().add(panel); - panel.setLayout(null); - { - JLabel lblNewLabel = new JLabel("Liste aller Benutzer"); - lblNewLabel.setBounds(10, 11, 509, 22); - panel.add(lblNewLabel); - lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); - } - - JTextPane txtpnBitteWhlenSie = new JTextPane(); - txtpnBitteWhlenSie.setEditable(false); - txtpnBitteWhlenSie.setBackground(SystemColor.menu); - txtpnBitteWhlenSie - .setText("Bitte markeiren Sie Benutzer, denen Sie bestimmte Rechte vergeben möchten."); - txtpnBitteWhlenSie.setBounds(10, 36, 509, 22); - panel.add(txtpnBitteWhlenSie); - } - - //reset the list of permissions every time the user goes back to the main menu - RightsManagement.rightsManagement.getPermittedUserList().clear(); - - contentPanel.setBounds(10, 104, 567, 502); - contentPanel.setBackground(SystemColor.menu); - - contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); - getContentPane().add(contentPanel); - contentPanel.setLayout(null); - - JScrollPane scrollPane = new JScrollPane(); - scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - scrollPane.setBounds(0, 0, 567, 491); - contentPanel.add(scrollPane); - - table = new JTable(); - table.setSelectionForeground(Color.WHITE); - table.setBounds(0, 0, 535, 1); - //contentPanel.add(table); - scrollPane.setViewportView(table); - - // ToolTipp lange anzeigen - 60sec - ToolTipManager.sharedInstance().setDismissDelay(60000); - { - JPanel buttonPane = new JPanel(); - buttonPane.setBounds(0, 630, 587, 33); - buttonPane.setBackground(SystemColor.menu); - buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); - getContentPane().add(buttonPane); - { - JButton continueButton = new JButton("Speichern"); - - - continueButton.setActionCommand("OK"); - buttonPane.add(continueButton); - getRootPane().setDefaultButton(continueButton); - } - } - { - JSeparator separator = new JSeparator(); - separator.setBounds(0, 617, 587, 2); - getContentPane().add(separator); - } - { - JSeparator separator = new JSeparator(); - separator.setBounds(0, 91, 587, 2); - getContentPane().add(separator); - } - - JMenuBar menuBar = new JMenuBar(); - setJMenuBar(menuBar); - - JMenu mnNewMenu_1 = new JMenu("Hilfe"); - menuBar.add(mnNewMenu_1); - - //Template for Help-Buttons - /* - JMenu mnNewMenu_Info = new JMenu("Info"); - mnNewMenu_Info.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent arg0) { - JOptionPane.showMessageDialog(null, HELP_MESSAGE, "Hilfe zu dieser Oberfläche", JOptionPane.INFORMATION_MESSAGE); - } - }); - menuBar.add(mnNewMenu_Info); - * - */ - - - JMenuItem mntmFaq = new JMenuItem("FAQ"); - mntmFaq.addMouseListener(new MouseAdapter() { - @Override - public void mousePressed(MouseEvent arg0) { - URI windows; - try { - windows = new URI(Links.getFAQ()); - OpenLinks.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) { - URI windows; - try { - windows = new URI(Links.getOTRS()); - OpenLinks.openWebpage(windows); - } catch (URISyntaxException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - }); - mnNewMenu_1.add(mntmOtrs); - - mntmAbout = new JMenuItem("About"); - mntmAbout.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - About_GUI ab = new About_GUI(); - ab.setVisible(true); - } - }); - mnNewMenu_1.add(mntmAbout); - - c = this; - }// end main - - /** - * Enables/disables radio button given the user's rights - */ - - - -} |
