diff options
| author | Simon Rettberg | 2015-03-05 18:45:29 +0100 |
|---|---|---|
| committer | Simon Rettberg | 2015-03-05 18:45:29 +0100 |
| commit | 04cd6cd0a88bcfddd3aa7937b05ba440fc00f8e9 (patch) | |
| tree | 11b69c823d1bff926027dcc61026eaaa90cf363e /dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java | |
| parent | [client] Make SessionData a static class instead of a class that doesn't know... (diff) | |
| download | tutor-module-04cd6cd0a88bcfddd3aa7937b05ba440fc00f8e9.tar.gz tutor-module-04cd6cd0a88bcfddd3aa7937b05ba440fc00f8e9.tar.xz tutor-module-04cd6cd0a88bcfddd3aa7937b05ba440fc00f8e9.zip | |
MACHETE KILLT CODEZEILEN
Diffstat (limited to 'dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java')
| -rw-r--r-- | dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java | 275 |
1 files changed, 60 insertions, 215 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java index a2f4aa5a..cbbd2eba 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java @@ -1,9 +1,9 @@ package gui.image; +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; @@ -29,8 +29,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; @@ -51,16 +49,13 @@ import util.ListAllOtherUsers_GUI; @SuppressWarnings("serial") public class PermissionEditImage_GUI extends JInternalFrame { - + private final JPanel contentPanel = new JPanel(); - String[] result; private JTable table; - Object[] titles = { "Name", "Lesen", "Schreiben", "Link", "Admin", "userID" }; + private static final String[] titles = { "Name", "Lesen", "Schreiben", "Link", "Admin", "userID" }; private List<Person> map = null; // List of people who have rights - Component c = null; - - final DefaultTableModel model = new DefaultTableModel(titles, 0) { + private final DefaultTableModel model = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { if (mColIndex >= 1) { @@ -88,38 +83,16 @@ public class PermissionEditImage_GUI extends JInternalFrame { + "Sie können die Rechte Lesen, Schreiben, Link und Admin vergeben.<br />" + "Link bedeutet, dass diese Person Veranstaltungen auf Ihr Image verlinken darf und dieses somit<br />" + "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>"; + + "für andere Benutzer festlegen und ist somit wie der Besitzer zu betrachten." + "</div></html>"; public PermissionEditImage_GUI() { -// -// addWindowListener(new WindowAdapter() { -// @Override -// public void windowClosing(WindowEvent arg0) { -// try { -// client.setSessionInvalid(SessionData.AuthToken); -// } catch (TException e) { -// // TODO Auto-generated catch block -// e.printStackTrace(); -// } -// System.exit(0); -// } -// }); setResizable(false); - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - setTitle("bwLehrpool Suite - Image bearbeiten - "+person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Image bearbeiten - " + person.verantwortlicher.getUserID()); setBounds(0, 0, 603, 722); - getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -128,13 +101,12 @@ public class PermissionEditImage_GUI extends JInternalFrame { getContentPane().add(panel); panel.setLayout(null); { - JLabel lblNewLabel = new JLabel( - "Image Berechtigungen"); + JLabel lblNewLabel = new JLabel("Image 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); @@ -151,15 +123,14 @@ public class PermissionEditImage_GUI extends JInternalFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Weitere Berechtigungen", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + 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); panel_1.setLayout(null); JScrollPane scrollPane = new JScrollPane(); - scrollPane - .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); scrollPane.setBounds(10, 21, 537, 185); panel_1.add(scrollPane); @@ -178,35 +149,32 @@ public class PermissionEditImage_GUI extends JInternalFrame { table.getColumnModel().getColumn(5).setWidth(0); table.getColumnModel().getColumn(5).setMinWidth(0); table.getColumnModel().getColumn(5).setMaxWidth(0); - + table.getTableHeader().setReorderingAllowed(false); // if new session, get values for table from database if (RightsManagement.rightsManagement.getPermittedUserList().size() <= 0) { //System.out.println("Loading data from db"); try { - - map = ThriftManager.getSatClient().getPermissionForUserAndImage(SessionData.authToken,Image.image.getImageId(),person.verantwortlicher.getUserID()); + + map = ThriftManager.getSatClient().getPermissionForUserAndImage(SessionData.authToken, + Image.image.getImageId(), person.verantwortlicher.getUserID()); Iterator<Person> i = map.iterator(); int x = 0; - - while (i.hasNext()) - { + + while (i.hasNext()) { // erzeuge Objekte fuer die Tabelle - Object[] obj = { - map.get(x).getNachname() + ", " - + map.get(x).getVorname(), // Name - (boolean)map.get(x).isImage_read(), // Read - (boolean)map.get(x).isImage_write(), // Write - (boolean)map.get(x).isImage_link(), // Link - (boolean)map.get(x).isImage_admin(), // Admin + Object[] obj = { map.get(x).getNachname() + ", " + map.get(x).getVorname(), // Name + (boolean) map.get(x).isImage_read(), // Read + (boolean) map.get(x).isImage_write(), // Write + (boolean) map.get(x).isImage_link(), // Link + (boolean) map.get(x).isImage_admin(), // Admin map.get(x).getUserID() // userID }; - //System.out.println(map.get(x).isImage_read()+"gfhfxg"); // Fuege diese Objekte der Tabelle hinzu model.addRow(obj); - + i.next(); x++; @@ -218,18 +186,11 @@ public class PermissionEditImage_GUI extends JInternalFrame { } } 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(); + + List<person> listt = RightsManagement.rightsManagement.getPermittedUserList(); Iterator<person> i = listt.iterator(); while (i.hasNext()) { - // System.out.println("current pos=" + x); // erzeuge Objekte fuer die Tabelle person temp = i.next(); @@ -240,58 +201,38 @@ public class PermissionEditImage_GUI extends JInternalFrame { temp.isImageAdmin(), // Admin temp.getUserID() // userID }; - //System.out.println("Processing: " + temp.getName() + ", " - // + temp.getVorname() + ", " + temp.isImageRead() + ", " - // + temp.isImageWrite() + ", " + temp.isImageLinkAllowed() + ", " - // + temp.isImageAdmin() + ", " + 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, 3), 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])); - /* - * TableColumn tc5 = table.getColumnModel().getColumn(5); - * tc5.setCellEditor(table.getDefaultEditor(Boolean.class)); - * tc5.setCellRenderer(table.getDefaultRenderer(Boolean.class)); - * tc5.setHeaderRenderer(new CheckBoxHeader(new MyItemListener5(), - * (String) titles[5])); - */ + tc4.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(table, 1, 2, 3, 4), titles[4])); + scrollPane.setViewportView(table); JPanel panel_2 = new JPanel(); panel_2.setLayout(null); - panel_2.setBorder(new TitledBorder(null, "Freigabe", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_2.setBorder(new TitledBorder(null, "Freigabe", TitledBorder.LEADING, TitledBorder.TOP, null, + null)); panel_2.setBackground(SystemColor.menu); panel_2.setBounds(10, 260, 537, 80); panel_1.add(panel_2); @@ -301,38 +242,35 @@ public class PermissionEditImage_GUI extends JInternalFrame { panel_2.add(label_7); final JComboBox<String> comboBox_1 = new JComboBox<>(); - comboBox_1 - .setModel(new DefaultComboBoxModel<String>(new String[] { - "Lokal (Eigene Hochschule)", - "Öffentlich (Alle Hochschulen)" })); + comboBox_1.setModel(new DefaultComboBoxModel<String>(new String[] { "Lokal (Eigene Hochschule)", + "Öffentlich (Alle Hochschulen)" })); 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 - GuiManager.openPopup(new ListAllOtherUsers_GUI(table, 5)); + GuiManager.openPopup(new ListAllOtherUsers_GUI(table, 5)); } }); 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 + 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++){ - + + for (int i = 0; i < deletableRows.length; i++) { + //LOGGER.info("Deleting rowCount["+i+"], tableRow number "+deletableRows[i-pointerCorrection]); - model.removeRow(deletableRows[i-pointerCorrection]); + model.removeRow(deletableRows[i - pointerCorrection]); pointerCorrection++; } } @@ -372,8 +310,8 @@ public class PermissionEditImage_GUI extends JInternalFrame { panel.setBounds(10, 35, 557, 124); 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"); @@ -384,8 +322,7 @@ public class PermissionEditImage_GUI extends JInternalFrame { label_3.setBounds(28, 38, 90, 20); panel.add(label_3); - JLabel lblImageLesenUnd = new JLabel( - "Benutzer kann Image in bwLehrpool Suite sehen."); + JLabel lblImageLesenUnd = new JLabel("Benutzer kann Image in bwLehrpool Suite sehen."); lblImageLesenUnd.setBounds(128, 18, 380, 20); panel.add(lblImageLesenUnd); @@ -402,8 +339,7 @@ public class PermissionEditImage_GUI extends JInternalFrame { label_5.setBounds(28, 78, 90, 20); panel.add(label_5); - label_6 = new JLabel( - "Erzeugung einer Veranstaltung auf ein Image ist erlaubt."); + label_6 = new JLabel("Erzeugung einer Veranstaltung auf ein Image ist erlaubt."); label_6.setBounds(128, 58, 380, 20); panel.add(label_6); @@ -426,19 +362,16 @@ public class PermissionEditImage_GUI extends JInternalFrame { }); cancelButton.setActionCommand("OK"); buttonPane.add(cancelButton); - // getRootPane().setDefaultButton(cancelButton); } { JButton continueButton = new JButton("Weiter"); continueButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - + // 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(); @@ -461,19 +394,15 @@ public class PermissionEditImage_GUI extends JInternalFrame { separator_1.setBounds(0, 627, 597, 2); getContentPane().add(separator_1); - } - + // save the entered rights into the model and prepare them to be written to // the database private void saveTableToList() { - //LOGGER.info("Saving Table to List"); - List<person> list = new ArrayList<person>(); int seperatorIndex = 0; - // for (int i = 0; i < map.size(); i++) { for (int i = 0; i < table.getRowCount(); i++) { // System.out.println("in for, rowcount="+table.getRowCount()); @@ -483,25 +412,17 @@ public class PermissionEditImage_GUI extends JInternalFrame { temp.setUserID(table.getModel().getValueAt(i, 5).toString()); // get // userID - temp.setImageAdmin(Boolean.parseBoolean(table.getModel() - .getValueAt(i, 4).toString())); // get Admin - temp.setImageLinkAllowed(Boolean.parseBoolean(table.getModel() - .getValueAt(i, 3).toString()));// get Link - temp.setImageWrite(Boolean.parseBoolean(table.getModel() - .getValueAt(i, 2).toString()));// get Write - temp.setImageRead(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.setImageAdmin(Boolean.parseBoolean(table.getModel().getValueAt(i, 4).toString())); // get Admin + temp.setImageLinkAllowed(Boolean.parseBoolean(table.getModel().getValueAt(i, 3).toString()));// get Link + temp.setImageWrite(Boolean.parseBoolean(table.getModel().getValueAt(i, 2).toString()));// get Write + temp.setImageRead(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.isImageAdmin() || temp.isImageLinkAllowed() || temp.isImageWrite() - || temp.isImageRead()) { + if (temp.isImageAdmin() || temp.isImageLinkAllowed() || temp.isImageWrite() || temp.isImageRead()) { // save entry list.add(temp); } else { @@ -509,19 +430,8 @@ public class PermissionEditImage_GUI extends JInternalFrame { } } - - /* - System.out.println("Setting list information.\tTable size: " - + table.getRowCount() + "\t List length (=selected users): " - + list.size()); - for (int y = 0; y < list.size(); y++) { - System.out.println("" + list.get(y).getName()); - } - */ - //permissions could have changed, compare vals at the end and update in db (quick and dirty due to time limitations) RightsManagement.rightsManagement.setPermittedUserList(list); - //LOGGER.info("number of permission="+list.size()); }// end saveTableToList() private void checkIntegrity(int row) { @@ -542,78 +452,13 @@ public class PermissionEditImage_GUI extends JInternalFrame { isLink = (boolean) table.getValueAt(selectedRow, 3); isAdmin = (boolean) table.getValueAt(selectedRow, 4); - boolean[] checkedVals = CheckIntegrity.isIntegreForImage(isRead, isWrite, - isLink, isAdmin); + boolean[] checkedVals = CheckIntegrity.isIntegreForImage(isRead, isWrite, isLink, isAdmin); table.setValueAt(checkedVals[0], selectedRow, 1); table.setValueAt(checkedVals[1], selectedRow, 2); table.setValueAt(checkedVals[2], selectedRow, 3); table.setValueAt(checkedVals[3], selectedRow, 4); }// end checkIntegrity() - - 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, 1); //set read - table.setValueAt(new Boolean(checked), x, 2); // set write - } - } - } - - 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); //set read - table.setValueAt(new Boolean(checked), x, 3); //set link - } - } - } - - 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, 1); //set read - table.setValueAt(new Boolean(checked), x, 2); //set write - table.setValueAt(new Boolean(checked), x, 3); //set link - table.setValueAt(new Boolean(checked), x, 4); //set admin - } - } - } - - class MyItemListener5 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, 5); - } - } - } }// end class |
