diff options
Diffstat (limited to 'dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java')
| -rw-r--r-- | dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java | 241 |
1 files changed, 57 insertions, 184 deletions
diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java index 93006089..c08c5eb1 100644 --- a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java @@ -1,5 +1,6 @@ package gui.lecture; +import gui.helper.ColumnSelector; import gui.intro.MainMenue_GUI; import java.awt.Color; @@ -9,7 +10,6 @@ import java.awt.Font; import java.awt.SystemColor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; @@ -18,7 +18,6 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import javax.swing.AbstractButton; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JInternalFrame; @@ -39,8 +38,6 @@ import javax.swing.table.JTableHeader; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; -import javax.swing.table.TableModel; -import javax.swing.table.TableRowSorter; import models.RightsManagement; import models.person; @@ -53,28 +50,14 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { private final JPanel contentPanel = new JPanel(); - String[] result; - // private JTable table = null; private JTable tablePermittedUsers = null; - Object[] titles = { "Name", "Lesen", "Schreiben", "Admin", "userID" }; - // Object[] titles = { "Name", "Read", "Write", "Link", "Admin", "userID" }; - Component c = null; + private static final String[] titles = { "Name", "Lesen", "Schreiben", "Admin", "userID" }; public static final String HELP_MESSAGE = "<html><div align=\"center\">" + "Hier können Sie die Berechtigungen für Ihre Veranstaltung ändern.<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 modelMyImages = new DefaultTableModel(titles, 0) { - public boolean isCellEditable(int rowIndex, int mColIndex) { - return false; - } - }; + + "und/oder ob die Veranstaltung auch im VMChooser angezeigt wird." + "</div></html>"; - final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>( - modelMyImages); - - final DefaultTableModel model = new DefaultTableModel(titles, 0) { + private final DefaultTableModel model = new DefaultTableModel(titles, 0) { @Override public boolean isCellEditable(int rowIndex, int mColIndex) { @@ -104,11 +87,11 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { + } catch (ClassNotFoundException | InstantiationException | IllegalAccessException + | UnsupportedLookAndFeelException e) { e.printStackTrace(); } - setTitle("bwLehrpool Suite - Berechtigungen - "+person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Berechtigungen - " + person.verantwortlicher.getUserID()); setBounds(0, 0, 603, 722); @@ -120,8 +103,7 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { getContentPane().add(panel); panel.setLayout(null); { - JLabel lblNewLabel = new JLabel( - "Veranstaltung - Berechtigungen"); + JLabel lblNewLabel = new JLabel("Veranstaltung - Berechtigungen"); lblNewLabel.setBounds(10, 11, 509, 22); panel.add(lblNewLabel); lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); @@ -148,11 +130,13 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { public void mouseClicked(MouseEvent e) { checkIntegrity(-1); } + @Override public void mouseReleased(MouseEvent e) { tablePermittedUsers.clearSelection(); //just one row is selectable - tablePermittedUsers.setRowSelectionInterval(tablePermittedUsers.rowAtPoint(e.getPoint()), tablePermittedUsers.rowAtPoint(e.getPoint())); + tablePermittedUsers.setRowSelectionInterval(tablePermittedUsers.rowAtPoint(e.getPoint()), + tablePermittedUsers.rowAtPoint(e.getPoint())); } }); @@ -165,19 +149,8 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { tablePermittedUsers.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"); - - } 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(); + if (RightsManagement.rightsManagement.getPermittedUserList().size() > 0) { + List<person> listt = RightsManagement.rightsManagement.getPermittedUserList(); Iterator<person> i = listt.iterator(); while (i.hasNext()) { @@ -191,47 +164,29 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { 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); } }// 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.setHeaderRenderer(new CheckBoxHeader(new MyItemListener1(), - (String) titles[1])); + tc1.setCellRenderer(tablePermittedUsers.getDefaultRenderer(Boolean.class)); + tc1.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(tablePermittedUsers, 1), titles[1])); TableColumn tc2 = tablePermittedUsers.getColumnModel().getColumn(2); tc2.setCellEditor(tablePermittedUsers.getDefaultEditor(Boolean.class)); - tc2.setCellRenderer(tablePermittedUsers - .getDefaultRenderer(Boolean.class)); - tc2.setHeaderRenderer(new CheckBoxHeader(new MyItemListener2(), - (String) titles[2])); + tc2.setCellRenderer(tablePermittedUsers.getDefaultRenderer(Boolean.class)); + tc2.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(tablePermittedUsers, 1, 2), titles[2])); TableColumn tc3 = tablePermittedUsers.getColumnModel().getColumn(3); tc3.setCellEditor(tablePermittedUsers.getDefaultEditor(Boolean.class)); - tc3.setCellRenderer(tablePermittedUsers - .getDefaultRenderer(Boolean.class)); - tc3.setHeaderRenderer(new CheckBoxHeader(new MyItemListener3(), - (String) titles[3])); - - tc1.setHeaderRenderer(new CheckBoxHeader(new MyItemListener1(), - (String) titles[1])); - tc2.setHeaderRenderer(new CheckBoxHeader(new MyItemListener2(), - (String) titles[2])); - tc3.setHeaderRenderer(new CheckBoxHeader(new MyItemListener3(), - (String) titles[3])); + tc3.setCellRenderer(tablePermittedUsers.getDefaultRenderer(Boolean.class)); + tc3.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(tablePermittedUsers, 1, 2, 3), titles[3])); + + tc1.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(tablePermittedUsers, 1), titles[1])); + tc2.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(tablePermittedUsers, 1, 2), titles[2])); + tc3.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(tablePermittedUsers, 1, 2, 3), titles[3])); JLabel lblHauptmen = new JLabel("Hauptmenü"); lblHauptmen.addMouseListener(new MouseAdapter() { @@ -265,8 +220,8 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { panel.setBounds(10, 35, 557, 148); contentPanel.add(panel); 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); JLabel label = new JLabel("Lesen"); @@ -281,8 +236,7 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { label_5.setBounds(28, 58, 90, 20); panel.add(label_5); - JLabel label_7 = new JLabel( - "Veranstaltung ist in bwLehrpool Suite und VMchooser sichtbar."); + JLabel label_7 = new JLabel("Veranstaltung ist in bwLehrpool Suite und VMchooser sichtbar."); label_7.setBounds(128, 18, 419, 20); panel.add(label_7); @@ -298,15 +252,14 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { JPanel panel_1 = new JPanel(); panel_1.setLayout(null); - 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.setBackground(SystemColor.menu); panel_1.setBounds(10, 194, 311, 326); contentPanel.add(panel_1); JScrollPane scrollPaneMyImage = new JScrollPane(); - scrollPaneMyImage - .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + scrollPaneMyImage.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); scrollPaneMyImage.setBounds(10, 28, 291, 251); panel_1.add(scrollPaneMyImage); @@ -320,10 +273,8 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { public void actionPerformed(ActionEvent e) { // show list of all other relevant users GuiManager.openPopup(new ListAllOtherUsers_GUI(tablePermittedUsers, 4)); - // give access to the table - // model and inform that the - // userID is position 5 in - // the model + // give access to the table model and inform that the + // userID is position 5 in the model } }); btnAddUser.setBounds(10, 290, 113, 23); @@ -335,18 +286,10 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { // 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); - + 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 for (int i = 0; i < deletableRows.length; i++) { - - //LOGGER.info("Deleting rowCount[" + i - // + "], tableRow number " - // + deletableRows[i - pointerCorrection]); model.removeRow(deletableRows[i - pointerCorrection]); pointerCorrection++; } @@ -357,15 +300,14 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { 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); 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); @@ -438,7 +380,6 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { separator_1.setBounds(0, 627, 597, 2); getContentPane().add(separator_1); - }// end constructor private void checkIntegrity(int row) { @@ -458,7 +399,7 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { isWrite = (boolean) tablePermittedUsers.getValueAt(selectedRow, 2); isAdmin = (boolean) tablePermittedUsers.getValueAt(selectedRow, 3); - boolean[] checkedVals = CheckIntegrity.isIntegreForLecture(isRead, isWrite,isAdmin); + boolean[] checkedVals = CheckIntegrity.isIntegreForLecture(isRead, isWrite, isAdmin); tablePermittedUsers.setValueAt(checkedVals[0], selectedRow, 1); tablePermittedUsers.setValueAt(checkedVals[1], selectedRow, 2); @@ -467,61 +408,6 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { // Column 0 == Concat user name - // Read column - 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 = tablePermittedUsers.getRowCount(); x < y; x++) { - tablePermittedUsers.setValueAt(new Boolean(checked), x, 1); - } - } - } - - // Write column - 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 = tablePermittedUsers.getRowCount(); x < y; x++) { - tablePermittedUsers.setValueAt(new Boolean(checked), x, 1); //set read - tablePermittedUsers.setValueAt(new Boolean(checked), x, 2); - } - } - } - - // Admin column - 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 = tablePermittedUsers.getRowCount(); x < y; x++) { - tablePermittedUsers.setValueAt(new Boolean(checked), x, 1); - tablePermittedUsers.setValueAt(new Boolean(checked), x, 2); // set write - tablePermittedUsers.setValueAt(new Boolean(checked), x, 3); - } - } - } - - // Invisible userID column - 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 = tablePermittedUsers.getRowCount(); x < y; x++) { - tablePermittedUsers.setValueAt(new Boolean(checked), x, 4); - } - } - } - // save the entered rights into the model and prepare them to be written to // the database private void saveTableToList() { @@ -538,36 +424,25 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { // System.out.println("in for, rowcount="+table.getRowCount()); person temp = new person(); - 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 + seperatorIndex = tablePermittedUsers.getModel().getValueAt(i, 0).toString().indexOf(","); + + 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)); + 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.isLecture_admin() || temp.isLecture_write() - || temp.isLecture_read()) { + if (temp.isLecture_admin() || temp.isLecture_write() || temp.isLecture_read()) { // save entry list.add(temp); } else { @@ -584,8 +459,7 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { }// end class -class CheckBoxHeader extends JCheckBox implements TableCellRenderer, - MouseListener { +class CheckBoxHeader extends JCheckBox implements TableCellRenderer, MouseListener { private static final long serialVersionUID = -132401386877928691L; protected CheckBoxHeader rendererComponent; protected int column; @@ -597,8 +471,8 @@ class CheckBoxHeader extends JCheckBox implements TableCellRenderer, rendererComponent.setText(text); } - public Component getTableCellRendererComponent(JTable table, Object value, - boolean isSelected, boolean hasFocus, int row, int column) { + 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) { @@ -631,8 +505,7 @@ class CheckBoxHeader extends JCheckBox implements TableCellRenderer, int viewColumn = columnModel.getColumnIndexAtX(e.getX()); int column = tableView.convertColumnIndexToModel(viewColumn); - if (viewColumn == this.column && e.getClickCount() == 1 - && column != -1) { + if (viewColumn == this.column && e.getClickCount() == 1 && column != -1) { doClick(); } } |
