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 | |
| 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')
3 files changed, 139 insertions, 517 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java index 608815d6..ba6c056c 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java @@ -231,12 +231,12 @@ public class FTPEditDownloader_GUI extends JInternalFrame implements lblPath.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent arg0) { - if (lblPath.getText().trim().trim() == null) { + if (lblPath.getText().trim().isEmpty()) { // wenn leer, dann upload button nicht freigeben btnDownloadStarten.setEnabled(false); btnDownloadStarten.setText("Bitte warten"); } else { - // wenn leer, dann upload button freigeben + // wenn NICHT leer, dann upload button freigeben btnDownloadStarten.setEnabled(true); btnDownloadStarten.setText("Download starten"); } @@ -531,7 +531,7 @@ public class FTPEditDownloader_GUI extends JInternalFrame implements btnDownloadStoppen.setEnabled(true); } - if ("bytesread" == arg0.getPropertyName()) { + if (arg0.getPropertyName().equals("bytesread")) { bytesread = (long) arg0.getNewValue(); lblFertig.setText((bytesread / 1024 / 1024) + " MB"); lblVerbleibend @@ -549,7 +549,7 @@ public class FTPEditDownloader_GUI extends JInternalFrame implements + " Minuten"); } - if ("filesize" == arg0.getPropertyName()) { + if (arg0.getPropertyName().equals("filesize")) { filesize = (long) arg0.getNewValue(); lblFilesize.setText((filesize / 1024 / 1024) + " MB"); @@ -561,8 +561,8 @@ public class FTPEditDownloader_GUI extends JInternalFrame implements public boolean isCurrentlyLoading() { isCurrentlyLoading = false; - if (lblVerbleibend.getText().trim().trim().equals("0 MB") - || lblVerbleibend.getText().trim().trim().equals("0")) { + if (lblVerbleibend.getText().trim().equals("0 MB") + || lblVerbleibend.getText().trim().equals("0")) { isCurrentlyLoading = false; } else { isCurrentlyLoading = true; diff --git a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java index a008b6a5..8fab2da8 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java @@ -1,5 +1,6 @@ package gui.image; +import gui.helper.ColumnSelector; import gui.intro.MainMenue_GUI; import java.awt.Color; @@ -32,8 +33,6 @@ import javax.swing.JTable; import javax.swing.JTextPane; import javax.swing.ListSelectionModel; 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; @@ -45,9 +44,6 @@ import javax.swing.table.TableColumnModel; import models.Image; import models.RightsManagement; import models.person; - -import org.openslx.sat.thrift.iface.Person; - import util.CheckIntegrity; import util.GuiManager; import util.ListAllOtherUsers_GUI; @@ -56,12 +52,8 @@ import util.ListAllOtherUsers_GUI; public class PermissionCreateImage_GUI extends JInternalFrame { private final JPanel contentPanel = new JPanel(); - String[] result; private JTable table = null; - Object[] titles = { "Name", "Lesen", "Schreiben", "Link", "Admin", "userID" }; - private List<Person> map = null; // List of people who have rights - Component c = null; - + private String[] titles = { "Name", "Lesen", "Schreiben", "Link", "Admin", "userID" }; final DefaultTableModel model = new DefaultTableModel(titles, 0) { @@ -82,7 +74,7 @@ public class PermissionCreateImage_GUI extends JInternalFrame { } }; - + private JLabel lblRead; private JLabel lblWrite; private JLabel lblAdmin; @@ -96,41 +88,17 @@ public class PermissionCreateImage_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>"; private JButton btnAddUser; private JButton btnDeleteUser; public PermissionCreateImage_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()); - setBounds(0, 0, 603, 722); + setTitle("bwLehrpool Suite - Image bearbeiten - " + person.verantwortlicher.getUserID()); + setBounds(0, 0, 603, 722); getContentPane().setLayout(null); { @@ -140,8 +108,7 @@ public class PermissionCreateImage_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)); @@ -163,8 +130,8 @@ public class PermissionCreateImage_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, 361); contentPanel.add(panel_1); panel_1.setLayout(null); @@ -181,14 +148,15 @@ public class PermissionCreateImage_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.clearSelection(); // just one row is selectable + table.setRowSelectionInterval(table.rowAtPoint(e.getPoint()), table.rowAtPoint(e.getPoint())); } }); - + table.setModel(model); table.setSelectionForeground(Color.WHITE); table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); @@ -197,55 +165,12 @@ public class PermissionCreateImage_GUI extends JInternalFrame { 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 -> initialiting users - if (RightsManagement.rightsManagement.getPermittedUserList().size() <= 0) { - //System.out.println("Loading data from db"); - //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; - 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++; - } + // if new session, get values for table from database -> initialiting + // users + if (RightsManagement.rightsManagement.getPermittedUserList().size() > 0) { - } 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(); + List<person> listt = RightsManagement.rightsManagement.getPermittedUserList(); Iterator<person> i = listt.iterator(); while (i.hasNext()) { @@ -259,53 +184,36 @@ public class PermissionCreateImage_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 - - - //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) - + 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])); - - + tc4.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(table, 1, 2, 3, 4), titles[4])); + scrollPane.setViewportView(table); JPanel panel = new JPanel(); panel.setLayout(null); - panel.setBorder(new TitledBorder(null, "Freigabe", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel.setBorder(new TitledBorder(null, "Freigabe", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel.setBackground(SystemColor.menu); panel.setBounds(10, 260, 537, 80); panel_1.add(panel); @@ -315,33 +223,30 @@ public class PermissionCreateImage_GUI extends JInternalFrame { panel.add(label); 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(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]); + int[] deletableRows = table.getSelectedRows(); + // 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 pointerCorrection = 0; + + for (int i = 0; i < deletableRows.length; i++) { + model.removeRow(deletableRows[i - pointerCorrection]); pointerCorrection++; - } + } } }); btnDeleteUser.setBounds(134, 217, 113, 23); @@ -349,7 +254,8 @@ public class PermissionCreateImage_GUI extends JInternalFrame { btnAddUser.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // show list of all other relevant users - // 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 GuiManager.openPopup(new ListAllOtherUsers_GUI(table, 5)); } }); @@ -384,8 +290,8 @@ public class PermissionCreateImage_GUI extends JInternalFrame { JPanel panel_2 = new JPanel(); panel_2.setBackground(SystemColor.menu); - panel_2.setBorder(new TitledBorder(null, "Beschreibung", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_2.setBorder(new TitledBorder(null, "Beschreibung", TitledBorder.LEADING, TitledBorder.TOP, + null, null)); panel_2.setBounds(10, 35, 557, 124); contentPanel.add(panel_2); panel_2.setLayout(null); @@ -406,13 +312,11 @@ public class PermissionCreateImage_GUI extends JInternalFrame { lblLinkallowed.setBounds(28, 58, 90, 20); panel_2.add(lblLinkallowed); - lblReadDesc = new JLabel( - "Benutzer kann Image in bwLehrpool Suite sehen."); + lblReadDesc = new JLabel("Benutzer kann Image in bwLehrpool Suite sehen."); lblReadDesc.setBounds(128, 18, 380, 20); panel_2.add(lblReadDesc); - lblWriteDesc = new JLabel( - "Image sehen, anpassen und überschreiben, jedoch nicht löschen."); + lblWriteDesc = new JLabel("Image sehen, anpassen und überschreiben, jedoch nicht löschen."); lblWriteDesc.setBounds(128, 38, 380, 20); panel_2.add(lblWriteDesc); @@ -421,8 +325,7 @@ public class PermissionCreateImage_GUI extends JInternalFrame { lblAdminDesc.setBounds(128, 78, 380, 40); panel_2.add(lblAdminDesc); - lblLinkallowedDesc = new JLabel( - "Erzeugung einer Veranstaltung auf ein Image ist erlaubt."); + lblLinkallowedDesc = new JLabel("Erzeugung einer Veranstaltung auf ein Image ist erlaubt."); lblLinkallowedDesc.setBounds(128, 58, 380, 20); panel_2.add(lblLinkallowedDesc); { @@ -452,7 +355,7 @@ public class PermissionCreateImage_GUI extends JInternalFrame { for (int i = 0; i < table.getRowCount(); i++) { checkIntegrity(i); // check integrity of each line // again - //System.out.println("in auto-correct"); + // System.out.println("in auto-correct"); } saveTableToList(); @@ -496,8 +399,7 @@ public class PermissionCreateImage_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); @@ -505,66 +407,6 @@ public class PermissionCreateImage_GUI extends JInternalFrame { table.setValueAt(checkedVals[3], selectedRow, 4); }// end checkIntegrity() - // 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); //set read - table.setValueAt(new Boolean(checked), x, 2); // set write - } - } - } - - // Link 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); //set read - table.setValueAt(new Boolean(checked), x, 3); //set link - } - } - } - - // Admin 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 = 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 - //TODO - //also set table header (un-)selected - } - - } - } - // invisible userID column class MyItemListener5 implements ItemListener { public void itemStateChanged(ItemEvent e) { @@ -578,23 +420,15 @@ public class PermissionCreateImage_GUI extends JInternalFrame { } } - // public void createRightsList() { - // ///// - // } - // 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"); + // 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 - if (map == null) - //System.out.println("Error: map is null"); - // for (int i = 0; i < map.size(); i++) { for (int i = 0; i < table.getRowCount(); i++) { // System.out.println("in for, rowcount="+table.getRowCount()); @@ -604,25 +438,17 @@ public class PermissionCreateImage_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 { @@ -630,47 +456,38 @@ public class PermissionCreateImage_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()); - //} - RightsManagement.rightsManagement.setPermittedUserList(list); }// end saveTableToList() } // end class -class CheckBoxHeader extends JCheckBox implements TableCellRenderer,MouseListener -{ +class CheckBoxHeader extends JCheckBox implements TableCellRenderer, MouseListener { private static final long serialVersionUID = 6189969287264710386L; - protected CheckBoxHeader rendererComponent; protected int column; protected boolean mousePressed = false; - //protected boolean readFlag = false, writeFlag = false, linkFlag = false, adminFlag = false; - + + // protected boolean readFlag = false, writeFlag = false, linkFlag = false, + // adminFlag = false; public CheckBoxHeader(ItemListener itemListener, String text) { - rendererComponent = this; - rendererComponent.addItemListener(itemListener); - rendererComponent.setText(text); + this.addItemListener(itemListener); + this.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) { - rendererComponent.setForeground(header.getForeground()); - rendererComponent.setBackground(header.getBackground()); - rendererComponent.setFont(header.getFont()); - rendererComponent.setBorder(header.getBorder()); - header.addMouseListener(rendererComponent); + this.setForeground(header.getForeground()); + this.setBackground(header.getBackground()); + this.setFont(header.getFont()); + this.setBorder(header.getBorder()); + header.addMouseListener(this); } } setColumn(column); - return rendererComponent; + return this; } protected void setColumn(int column) { @@ -681,59 +498,19 @@ class CheckBoxHeader extends JCheckBox implements TableCellRenderer,MouseListene return column; } - protected void handleClickEvent(MouseEvent e) - { - - if (mousePressed) - { + 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) - { + if (viewColumn == this.column && e.getClickCount() == 1 && column != -1) doClick(); - } - - - /* - //also set dependent headers clicked - switch(viewColumn) - { - - case 2: //write - //also set read - if (viewColumn == ++this.column && e.getClickCount() == 1 && column != -1 && writeFlag == false && readFlag == false) //going backward through table --> ++ - { - doClick(); - writeFlag = true; - readFlag = true; - } - break; - case 3: //link - //also set read - if (viewColumn == (this.column+2) && e.getClickCount() == 1 && column != -1) //going backward through table --> ++ - { - //System.out.println("clickCount: " + e.getClickCount()); - doClick(); - //System.out.println("viewColumn = " + viewColumn + "++this.column = "+ ++this.column); - } - break; - - case 4: //admin - - break; - default: - break; - } - */ } - - //doClick(); } public void mouseClicked(MouseEvent e) { 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 |
