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 | 233 |
1 files changed, 104 insertions, 129 deletions
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()); } |
