From 3231fee56ce50facd8483e7af4d7f9ff63c5bc38 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 6 Mar 2015 18:30:38 +0100 Subject: Aua, aua... --- .../gui/lecture/PermissionEditLecture_GUI.java | 183 ++++----------------- 1 file changed, 36 insertions(+), 147 deletions(-) (limited to 'dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java') diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java index f090eb46..037de54c 100644 --- a/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java @@ -1,23 +1,20 @@ package gui.lecture; +import gui.helper.ColumnSelector; 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.ItemEvent; -import java.awt.event.ItemListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import javax.swing.AbstractButton; import javax.swing.JButton; import javax.swing.JInternalFrame; import javax.swing.JLabel; @@ -28,8 +25,6 @@ import javax.swing.JSeparator; import javax.swing.JTable; import javax.swing.JTextPane; 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.table.DefaultTableModel; @@ -52,16 +47,13 @@ import util.ListAllOtherUsers_GUI; public class PermissionEditLecture_GUI extends JInternalFrame { private final JPanel contentPanel = new JPanel(); - String[] result; private JTable table; - Object[] titles = { "Name", "Lesen", "Schreiben", "Admin", "userID" }; + private String[] titles = { "Name", "Lesen", "Schreiben", "Admin", "userID" }; private List map = null; // List of people who have rights - Component c = null; public static final String HELP_MESSAGE = "
" + "Hier können Sie die Berechtigungen für Ihre Veranstaltung festlegen.
" + "Es wird unterschieden, ob innerhalb der Suite (dieses Programm) Änderungen vorgenommen werden dürfen,
" - + "und/oder ob die Veranstaltung auch im VMChooser angezeigt wird." - + "
"; + + "und/oder ob die Veranstaltung auch im VMChooser angezeigt wird." + ""; final DefaultTableModel model = new DefaultTableModel(titles, 0) { @@ -71,7 +63,7 @@ public class PermissionEditLecture_GUI extends JInternalFrame { } return false; } - + public Class getColumnClass(int c) { switch (c) { case 0: @@ -84,21 +76,11 @@ public class PermissionEditLecture_GUI extends JInternalFrame { }; public PermissionEditLecture_GUI() { - setResizable(false); - - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } 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); - getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -107,8 +89,7 @@ public class PermissionEditLecture_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)); @@ -130,8 +111,8 @@ public class PermissionEditLecture_GUI extends JInternalFrame { 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, 130); contentPanel.add(panel); @@ -165,15 +146,14 @@ public class PermissionEditLecture_GUI extends JInternalFrame { 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); @@ -183,14 +163,15 @@ public class PermissionEditLecture_GUI extends JInternalFrame { public void mouseClicked(MouseEvent e) { checkIntegrity(-1); } + @Override public void mouseReleased(MouseEvent e) { table.clearSelection(); //just one row is selectable - table.setRowSelectionInterval(table.rowAtPoint(e.getPoint()), table.rowAtPoint(e.getPoint())); + table.setRowSelectionInterval(table.rowAtPoint(e.getPoint()), table.rowAtPoint(e.getPoint())); } }); - + table.setModel(model); table.setSelectionForeground(Color.WHITE); table.getTableHeader().setReorderingAllowed(false); @@ -204,24 +185,20 @@ public class PermissionEditLecture_GUI extends JInternalFrame { //System.out.println("Loading data from db"); try { - map = ThriftManager.getSatClient().getPermissionForUserAndLecture( - SessionData.authToken,Lecture.lecture.getid(),person.verantwortlicher.getUserID() - ); + map = ThriftManager.getSatClient().getPermissionForUserAndLecture(SessionData.authToken, + Lecture.lecture.getid(), person.verantwortlicher.getUserID()); Iterator 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 + 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); @@ -231,16 +208,13 @@ public class PermissionEditLecture_GUI extends JInternalFrame { } } catch (TException e1) { - + e1.printStackTrace(); } } else // read from model { - //System.out.println("reading from model"); - //System.out.println("RightsManagement.rightsManagement.getPermittedUserList().size() = "+ RightsManagement.rightsManagement.getPermittedUserList().size()); - List listt = RightsManagement.rightsManagement - .getPermittedUserList(); + List listt = RightsManagement.rightsManagement.getPermittedUserList(); Iterator i = listt.iterator(); while (i.hasNext()) { @@ -253,37 +227,25 @@ public class PermissionEditLecture_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 - // Object[] rowdata={"Max Mustermann", new Boolean(false),new - // Boolean(false),new Boolean(false),new Boolean(false)}; - // model.addRow(rowdata); - - 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.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(table, 1), 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])); + tc2.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(table, 1, 2), 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])); + tc3.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(table, 1, 2, 3), titles[3])); scrollPane.setViewportView(table); @@ -291,7 +253,7 @@ public class PermissionEditLecture_GUI extends JInternalFrame { btnAddUser.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // show list of all other relevant users - GuiManager.openPopup(new ListAllOtherUsers_GUI(table, 4)); + GuiManager.openPopup(new ListAllOtherUsers_GUI(table, 4)); // give access to the table model and inform that // the userID is position 5 in the model } @@ -310,13 +272,8 @@ public class PermissionEditLecture_GUI extends JInternalFrame { // 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++; } @@ -355,15 +312,14 @@ public class PermissionEditLecture_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); 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); @@ -403,7 +359,6 @@ public class PermissionEditLecture_GUI extends JInternalFrame { }); cancelButton.setActionCommand("OK"); buttonPane.add(cancelButton); - // getRootPane().setDefaultButton(cancelButton); } { JButton continueButton = new JButton("Weiter"); @@ -413,9 +368,7 @@ public class PermissionEditLecture_GUI extends JInternalFrame { // 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"); + checkIntegrity(i); // check integrity of each line again } saveTableToList(); @@ -452,7 +405,6 @@ public class PermissionEditLecture_GUI extends JInternalFrame { separator_1.setBounds(0, 627, 597, 2); getContentPane().add(separator_1); - }// end constructor private void checkIntegrity(int row) { @@ -472,7 +424,7 @@ public class PermissionEditLecture_GUI extends JInternalFrame { isWrite = (boolean) table.getValueAt(selectedRow, 2); isAdmin = (boolean) table.getValueAt(selectedRow, 3); - boolean[] checkedVals = CheckIntegrity.isIntegreForLecture(isRead, isWrite,isAdmin); + boolean[] checkedVals = CheckIntegrity.isIntegreForLecture(isRead, isWrite, isAdmin); table.setValueAt(checkedVals[0], selectedRow, 1); table.setValueAt(checkedVals[1], selectedRow, 2); @@ -488,33 +440,23 @@ public class PermissionEditLecture_GUI extends JInternalFrame { // 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(","); + seperatorIndex = table.getModel().getValueAt(i, 0).toString().indexOf(","); 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)); + 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()) { + if (temp.isLecture_admin() || temp.isLecture_write() || temp.isLecture_read()) { // save entry list.add(temp); } else { @@ -525,57 +467,4 @@ public class PermissionEditLecture_GUI extends JInternalFrame { RightsManagement.rightsManagement.setPermittedUserList(list); }// end saveTableToList() - //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 = table.getRowCount(); x < y; x++) { - table.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 = table.getRowCount(); x < y; x++) { - table.setValueAt(new Boolean(checked), x, 1); - table.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 = table.getRowCount(); x < y; x++) { - table.setValueAt(new Boolean(checked), x, 1); - table.setValueAt(new Boolean(checked), x, 2); - 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); - } - } - } } -- cgit v1.2.3-55-g7522