diff options
Diffstat (limited to 'dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java')
| -rw-r--r-- | dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java | 630 |
1 files changed, 385 insertions, 245 deletions
diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java index 1db2c46b..478c1bc0 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java @@ -52,8 +52,10 @@ import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; import javax.swing.table.TableRowSorter; +import models.Image; import models.Lecture; import models.Links; +import models.RightsManagement; import models.person; import org.apache.thrift.TException; @@ -94,26 +96,27 @@ public class EditLectureLink_GUI extends JFrame { JTable tablePublicVorlagen = new JTable(); private JTextField textFieldName; JTabbedPane tabbedPane; - boolean activeSearch=false; + boolean activeSearch = false; Component c = null; String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", - "Verantwortlicher", "Letztes Update", "ID", "Version","Template" }; + "Verantwortlicher", "Letztes Update", "ID", "Version", "Template" }; ThriftConnection con = new ThriftConnection(); Client client = models.Client.clientcon.getClient(); - final DefaultTableModel modelAll = new DefaultTableModel(titles, 0){ - public boolean isCellEditable(int rowIndex, int mColIndex) { - return false; - } + final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { + public boolean isCellEditable(int rowIndex, int mColIndex) { + return false; + } }; - final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0){ - public boolean isCellEditable(int rowIndex, int mColIndex) { - return false; - } + final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) { + public boolean isCellEditable(int rowIndex, int mColIndex) { + return false; + } }; - final DefaultTableModel modelPublicVorlagen = new DefaultTableModel(titles, 0){ - public boolean isCellEditable(int rowIndex, int mColIndex) { - return false; - } + final DefaultTableModel modelPublicVorlagen = new DefaultTableModel(titles, + 0) { + public boolean isCellEditable(int rowIndex, int mColIndex) { + return false; + } }; final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>( modelAll); @@ -122,11 +125,11 @@ public class EditLectureLink_GUI extends JFrame { final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>( modelPublicVorlagen); private JTextField textField; - - private static final String HELP_MESSAGE = "<html><div align=\"center\">" + - "Ändern Sie hier das Image, zu dem Ihre Veranstaltung gehört.<br />" + - "Wählen Sie das Image aus, das zu Ihrer Veranstaltung passt und klicken Sie anschließend auf \"Veranstaltung ändern und abschließen\"." + - "</div></html>"; + + private static final String HELP_MESSAGE = "<html><div align=\"center\">" + + "Ändern Sie hier das Image, zu dem Ihre Veranstaltung gehört.<br />" + + "Wählen Sie das Image aus, das zu Ihrer Veranstaltung passt und klicken Sie anschließend auf \"Veranstaltung ändern und abschließen\"." + + "</div></html>"; /** * Create the dialog. @@ -138,6 +141,7 @@ public class EditLectureLink_GUI extends JFrame { con.closeThriftConnection(); System.exit(0); } + @Override public void windowOpened(WindowEvent arg0) { try { @@ -173,23 +177,33 @@ public class EditLectureLink_GUI extends JFrame { tablemyImages.getColumnModel().getColumn(7).setWidth(0); tablemyImages.getColumnModel().getColumn(7).setMinWidth(0); tablemyImages.getColumnModel().getColumn(7).setMaxWidth(0); - + tablePublicVorlagen.getColumnModel().getColumn(1).setWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(1).setMinWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(1).setMaxWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(1) + .setMinWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(1) + .setMaxWidth(0); tablePublicVorlagen.getColumnModel().getColumn(3).setWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(3).setMinWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(3).setMaxWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(3) + .setMinWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(3) + .setMaxWidth(0); tablePublicVorlagen.getColumnModel().getColumn(8).setWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(8).setMinWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(8).setMaxWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(8) + .setMinWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(8) + .setMaxWidth(0); tablePublicVorlagen.getColumnModel().getColumn(6).setWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(6).setMinWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(6).setMaxWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(6) + .setMinWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(6) + .setMaxWidth(0); tablePublicVorlagen.getColumnModel().getColumn(7).setWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(7).setMinWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(7).setMaxWidth(0); - + tablePublicVorlagen.getColumnModel().getColumn(7) + .setMinWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(7) + .setMaxWidth(0); + tableAllImages.getColumnModel().getColumn(1).setWidth(0); tableAllImages.getColumnModel().getColumn(1).setMinWidth(0); tableAllImages.getColumnModel().getColumn(1).setMaxWidth(0); @@ -218,11 +232,10 @@ public class EditLectureLink_GUI extends JFrame { e.printStackTrace(); } setTitle("bwLehrpool Suite - Veranstaltung bearbeiten"); - + setBounds(0, 0, 918, 722); setLocationRelativeTo(formerGUI); - final DefaultTableModel model = new DefaultTableModel(titles, 0); getContentPane().setLayout(null); @@ -233,7 +246,8 @@ public class EditLectureLink_GUI extends JFrame { getContentPane().add(panel); panel.setLayout(null); { - JLabel lblNewLabel = new JLabel("Veranstaltung auf ein Image verlinken"); + JLabel lblNewLabel = new JLabel( + "Veranstaltung auf ein Image verlinken"); lblNewLabel.setBounds(10, 11, 509, 22); panel.add(lblNewLabel); lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); @@ -276,7 +290,7 @@ public class EditLectureLink_GUI extends JFrame { String stext = textFieldName.getText(); // Wenn Textfield nicht leer if (stext != "") { - activeSearch=true; + activeSearch = true; // Filtere nach der Eingabe rowSorterAll.setRowFilter(RowFilter.regexFilter( textFieldName.getText(), 0)); @@ -285,8 +299,8 @@ public class EditLectureLink_GUI extends JFrame { rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter( textFieldName.getText(), 0)); - }else{ - activeSearch=false; + } else { + activeSearch = false; String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname(); rowSorterMyImages.setRowFilter(RowFilter.regexFilter( @@ -319,15 +333,15 @@ public class EditLectureLink_GUI extends JFrame { public void actionPerformed(ActionEvent arg0) { // Prueft das die Auswahl nicht leer ist if (comboBox.getSelectedItem().toString() != "") { - activeSearch=true; + activeSearch = true; rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox .getSelectedItem().toString(), 2)); rowSorterMyImages.setRowFilter(RowFilter.regexFilter( comboBox.getSelectedItem().toString(), 2)); rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter( comboBox.getSelectedItem().toString(), 2)); - }else{ - activeSearch=false; + } else { + activeSearch = false; String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname(); rowSorterMyImages.setRowFilter(RowFilter.regexFilter( @@ -375,17 +389,20 @@ public class EditLectureLink_GUI extends JFrame { tabbedPane = new JTabbedPane(JTabbedPane.TOP); tabbedPane.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent arg0) { - if (tabbedPane.getSelectedIndex() == 0 && activeSearch==false) { + if (tabbedPane.getSelectedIndex() == 0 && activeSearch == false) { String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname(); rowSorterMyImages.setRowFilter(RowFilter.regexFilter( username, 4)); - }else if(tabbedPane.getSelectedIndex()==1 && activeSearch==false){ - rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter("true", 8)); - } else if(tabbedPane.getSelectedIndex()==2 && activeSearch==false){ + } else if (tabbedPane.getSelectedIndex() == 1 + && activeSearch == false) { + rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter( + "true", 8)); + } else if (tabbedPane.getSelectedIndex() == 2 + && activeSearch == false) { rowSorterAll.setRowFilter(null); - } + } } }); @@ -394,27 +411,24 @@ public class EditLectureLink_GUI extends JFrame { contentPanel.add(tabbedPane); JScrollPane scrollPaneAllImages = new JScrollPane(); - tableAllImages.getSelectionModel().addListSelectionListener( new ListSelectionListener() - { - public void valueChanged(ListSelectionEvent e) - { + tableAllImages.getSelectionModel().addListSelectionListener( + new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { - String imageid = modelAll - .getValueAt( + String imageid = modelAll.getValueAt( tableAllImages .convertRowIndexToModel(tableAllImages .getSelectedRow()), 6) - .toString(); - String version = modelAll - .getValueAt( + .toString(); + String version = modelAll.getValueAt( tableAllImages .convertRowIndexToModel(tableAllImages .getSelectedRow()), 7) - .toString(); - writeImageData(imageid, version); + .toString(); + writeImageData(imageid, version); - } - }); + } + }); tableAllImages.setModel(modelAll); tableAllImages.getColumnModel().getColumn(1).sizeWidthToFit(); tableAllImages.getColumnModel().getColumn(2).sizeWidthToFit(); @@ -422,68 +436,62 @@ public class EditLectureLink_GUI extends JFrame { tableAllImages.getColumnModel().getColumn(4).sizeWidthToFit(); tableAllImages.getColumnModel().getColumn(5).sizeWidthToFit(); tableAllImages.setRowSorter(rowSorterAll); - JScrollPane scrollPaneMyImage = new JScrollPane(); - tablemyImages.getSelectionModel().addListSelectionListener( new ListSelectionListener() - { - public void valueChanged(ListSelectionEvent e) - { - String imageid = modelMyImages - .getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 6) + JScrollPane scrollPaneMyImage = new JScrollPane(); + tablemyImages.getSelectionModel().addListSelectionListener( + new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + String imageid = modelMyImages.getValueAt( + tablemyImages + .convertRowIndexToModel(tablemyImages + .getSelectedRow()), 6) .toString(); - String version = modelMyImages - .getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 7) + String version = modelMyImages.getValueAt( + tablemyImages + .convertRowIndexToModel(tablemyImages + .getSelectedRow()), 7) .toString(); - writeImageData(imageid, version); - } - }); - tablemyImages.setModel(modelMyImages); - tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit(); - tablemyImages.getColumnModel().getColumn(2).sizeWidthToFit(); - tablemyImages.getColumnModel().getColumn(3).sizeWidthToFit(); - tablemyImages.getColumnModel().getColumn(4).sizeWidthToFit(); - tablemyImages.getColumnModel().getColumn(5).sizeWidthToFit(); - tablemyImages.setRowSorter(rowSorterMyImages); - scrollPaneMyImage.setViewportView(tablemyImages); - tabbedPane.addTab("Meine Images", null, scrollPaneMyImage, null); - - JScrollPane scrollPanePublicVorlagen = new JScrollPane(); - scrollPanePublicVorlagen.setEnabled(false); - tablePublicVorlagen.getSelectionModel().addListSelectionListener( new ListSelectionListener() - { - public void valueChanged(ListSelectionEvent e) - { - String imageid = modelPublicVorlagen + writeImageData(imageid, version); + } + }); + tablemyImages.setModel(modelMyImages); + tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit(); + tablemyImages.getColumnModel().getColumn(2).sizeWidthToFit(); + tablemyImages.getColumnModel().getColumn(3).sizeWidthToFit(); + tablemyImages.getColumnModel().getColumn(4).sizeWidthToFit(); + tablemyImages.getColumnModel().getColumn(5).sizeWidthToFit(); + tablemyImages.setRowSorter(rowSorterMyImages); + scrollPaneMyImage.setViewportView(tablemyImages); + tabbedPane.addTab("Meine Images", null, scrollPaneMyImage, null); + + JScrollPane scrollPanePublicVorlagen = new JScrollPane(); + scrollPanePublicVorlagen.setEnabled(false); + tablePublicVorlagen.getSelectionModel().addListSelectionListener( + new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + String imageid = modelPublicVorlagen .getValueAt( tablePublicVorlagen .convertRowIndexToModel(tablePublicVorlagen .getSelectedRow()), 6) .toString(); - String version = modelPublicVorlagen + String version = modelPublicVorlagen .getValueAt( tablePublicVorlagen .convertRowIndexToModel(tablePublicVorlagen .getSelectedRow()), 7) .toString(); - writeImageData(imageid, version); - } - }); - tablePublicVorlagen.setModel(modelPublicVorlagen); - tablePublicVorlagen.getColumnModel().getColumn(1).sizeWidthToFit(); - tablePublicVorlagen.getColumnModel().getColumn(2).sizeWidthToFit(); - tablePublicVorlagen.getColumnModel().getColumn(3).sizeWidthToFit(); - tablePublicVorlagen.getColumnModel().getColumn(4).sizeWidthToFit(); - tablePublicVorlagen.getColumnModel().getColumn(5).sizeWidthToFit(); - tablePublicVorlagen.setRowSorter(rowSorterPublicVorlagen); - scrollPanePublicVorlagen.setViewportView(tablePublicVorlagen); - tabbedPane.addTab("Vorlagen", null, - scrollPanePublicVorlagen, null); - + writeImageData(imageid, version); + } + }); + tablePublicVorlagen.setModel(modelPublicVorlagen); + tablePublicVorlagen.getColumnModel().getColumn(1).sizeWidthToFit(); + tablePublicVorlagen.getColumnModel().getColumn(2).sizeWidthToFit(); + tablePublicVorlagen.getColumnModel().getColumn(3).sizeWidthToFit(); + tablePublicVorlagen.getColumnModel().getColumn(4).sizeWidthToFit(); + tablePublicVorlagen.getColumnModel().getColumn(5).sizeWidthToFit(); + tablePublicVorlagen.setRowSorter(rowSorterPublicVorlagen); + scrollPanePublicVorlagen.setViewportView(tablePublicVorlagen); + tabbedPane.addTab("Vorlagen", null, scrollPanePublicVorlagen, null); scrollPaneAllImages.setViewportView(tableAllImages); tabbedPane.addTab("Alle", null, scrollPaneAllImages, null); @@ -498,8 +506,7 @@ public class EditLectureLink_GUI extends JFrame { tableCoopImages.getColumnModel().getColumn(5).sizeWidthToFit(); scrollPaneCoopImages.setViewportView(tableCoopImages); - tabbedPane.addTab("bwLehrpool", null, scrollPaneCoopImages, - null); + tabbedPane.addTab("bwLehrpool", null, scrollPaneCoopImages, null); tabbedPane.setEnabledAt(3, false); JButton btnLinkLschen = new JButton("Link löschen"); @@ -507,7 +514,6 @@ public class EditLectureLink_GUI extends JFrame { btnLinkLschen.setBounds(478, 508, 89, 23); contentPanel.add(btnLinkLschen); - { JPanel buttonPane = new JPanel(); buttonPane.setBounds(0, 640, 902, 33); @@ -519,7 +525,8 @@ public class EditLectureLink_GUI extends JFrame { okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - PermissionEditLecture_GUI el = new PermissionEditLecture_GUI(c); + PermissionEditLecture_GUI el = new PermissionEditLecture_GUI( + c); el.setVisible(true); dispose(); } @@ -533,10 +540,10 @@ public class EditLectureLink_GUI extends JFrame { "Veranstaltung ändern und abschließen"); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - String username = person.verantwortlicher.getName() + " " - + person.verantwortlicher.getVorname(); + String username = person.verantwortlicher.getName() + + " " + person.verantwortlicher.getVorname(); // check if a row is selected - if (tablemyImages.getSelectedRow() != -1){ + if (tablemyImages.getSelectedRow() != -1) { // a row is selected, do operations String imagename = tablemyImages.getValueAt( @@ -545,6 +552,8 @@ public class EditLectureLink_GUI extends JFrame { try { DateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd hh:mm:ss"); + + // update the lecture client.updateLecturedata( Lecture.lecture.getName(), Lecture.lecture.getNewName(), @@ -558,16 +567,17 @@ public class EditLectureLink_GUI extends JFrame { .toString(), Lecture.lecture.isActive(), modelMyImages - .getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 6).toString(), - modelMyImages - .getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 7) - .toString(), + .getValueAt( + tablemyImages + .convertRowIndexToModel(tablemyImages + .getSelectedRow()), + 6).toString(), + modelMyImages + .getValueAt( + tablemyImages + .convertRowIndexToModel(tablemyImages + .getSelectedRow()), + 7).toString(), person.verantwortlicher.getUsername(), person.verantwortlicher.getVorname(), person.verantwortlicher.getName(), @@ -576,6 +586,46 @@ public class EditLectureLink_GUI extends JFrame { person.verantwortlicher.getTel(), person.verantwortlicher.getFakultaet(), Lecture.lecture.getid()); + + // remove all additional user permissions on + // first stage + client.deleteAllAdditionalLecturePermissions( + Lecture.lecture.getid(), + person.verantwortlicher.getUserID()); + + // then, add user permissions as they have been + // set new + for (int i = 0; i < RightsManagement.rightsManagement + .getPermittedUserList().size(); i++) { + System.out + .println("Writing additional rights for user " + + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).getUserID() + + ", User " + + i + + "/" + + RightsManagement.rightsManagement + .getPermittedUserList() + .size()); + client.writeAdditionalLectureRights( + Lecture.lecture.getName(), + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).getUserID(), // userID + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageRead(),// read + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageWrite(),// write + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageAdmin()// admin + ); + + }// end for + JOptionPane .showMessageDialog( c, @@ -594,14 +644,20 @@ public class EditLectureLink_GUI extends JFrame { "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", "Error", JOptionPane.ERROR_MESSAGE); - JOptionPane.showMessageDialog(c, - e1.getCause()+"\n"+e1.getStackTrace(), - "Debug-Message", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(c, e1.getCause() + + "\n" + e1.getStackTrace(), + "Debug-Message", + JOptionPane.ERROR_MESSAGE); } - + dispose(); - }else if (tablePublicVorlagen.getSelectedRow() != -1 &&tablePublicVorlagen.getValueAt(tablePublicVorlagen.getSelectedRow(), 4).toString().equals(username)){ + } else if (tablePublicVorlagen.getSelectedRow() != -1 + && tablePublicVorlagen + .getValueAt( + tablePublicVorlagen + .getSelectedRow(), 4) + .toString().equals(username)) { // a row is selected, do operations String imagename = tablePublicVorlagen.getValueAt( @@ -623,15 +679,17 @@ public class EditLectureLink_GUI extends JFrame { .toString(), Lecture.lecture.isActive(), modelPublicVorlagen - .getValueAt( - tablePublicVorlagen - .convertRowIndexToModel(tablePublicVorlagen - .getSelectedRow()), 6).toString(), - modelPublicVorlagen - .getValueAt( - tablePublicVorlagen - .convertRowIndexToModel(tablePublicVorlagen - .getSelectedRow()), 7).toString(), + .getValueAt( + tablePublicVorlagen + .convertRowIndexToModel(tablePublicVorlagen + .getSelectedRow()), + 6).toString(), + modelPublicVorlagen + .getValueAt( + tablePublicVorlagen + .convertRowIndexToModel(tablePublicVorlagen + .getSelectedRow()), + 7).toString(), person.verantwortlicher.getUsername(), person.verantwortlicher.getVorname(), person.verantwortlicher.getName(), @@ -640,6 +698,45 @@ public class EditLectureLink_GUI extends JFrame { person.verantwortlicher.getTel(), person.verantwortlicher.getFakultaet(), Lecture.lecture.getid()); + + // remove all additional user permissions on + // first stage + client.deleteAllAdditionalLecturePermissions( + Lecture.lecture.getid(), + person.verantwortlicher.getUserID()); + + // then, add user permissions as they have been + // set new + for (int i = 0; i < RightsManagement.rightsManagement + .getPermittedUserList().size(); i++) { + System.out + .println("Writing additional rights for user " + + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).getUserID() + + ", User " + + i + + "/" + + RightsManagement.rightsManagement + .getPermittedUserList() + .size()); + client.writeAdditionalLectureRights( + Lecture.lecture.getName(), + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).getUserID(), // userID + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageRead(),// read + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageWrite(),// write + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageAdmin()// admin + ); + } + JOptionPane .showMessageDialog( c, @@ -658,14 +755,19 @@ public class EditLectureLink_GUI extends JFrame { "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", "Error", JOptionPane.ERROR_MESSAGE); - JOptionPane.showMessageDialog(c, - e1.getCause()+"\n"+e1.getStackTrace(), - "Debug-Message", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(c, e1.getCause() + + "\n" + e1.getStackTrace(), + "Debug-Message", + JOptionPane.ERROR_MESSAGE); } - + dispose(); - }else if (tableAllImages.getSelectedRow() != -1 &&tableAllImages.getValueAt(tableAllImages.getSelectedRow(), 4).toString().equals(username)){ + } else if (tableAllImages.getSelectedRow() != -1 + && tableAllImages + .getValueAt( + tableAllImages.getSelectedRow(), + 4).toString().equals(username)) { // a row is selected, do operations String imagename = tableAllImages.getValueAt( @@ -686,18 +788,16 @@ public class EditLectureLink_GUI extends JFrame { Lecture.lecture.getEnddate()) .toString(), Lecture.lecture.isActive(), - modelAll - .getValueAt( + modelAll.getValueAt( tableAllImages .convertRowIndexToModel(tableAllImages - .getSelectedRow()), 6) - .toString(), - modelAll - .getValueAt( + .getSelectedRow()), + 6).toString(), + modelAll.getValueAt( tableAllImages .convertRowIndexToModel(tableAllImages - .getSelectedRow()), 7) - .toString(), + .getSelectedRow()), + 7).toString(), person.verantwortlicher.getUsername(), person.verantwortlicher.getVorname(), person.verantwortlicher.getName(), @@ -706,6 +806,45 @@ public class EditLectureLink_GUI extends JFrame { person.verantwortlicher.getTel(), person.verantwortlicher.getFakultaet(), Lecture.lecture.getid()); + + // remove all additional user permissions on + // first stage + client.deleteAllAdditionalLecturePermissions( + Lecture.lecture.getid(), + person.verantwortlicher.getUserID()); + + // then, add user permissions as they have been + // set new + for (int i = 0; i < RightsManagement.rightsManagement + .getPermittedUserList().size(); i++) { + System.out + .println("Writing additional rights for user " + + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).getUserID() + + ", User " + + i + + "/" + + RightsManagement.rightsManagement + .getPermittedUserList() + .size()); + client.writeAdditionalLectureRights( + Lecture.lecture.getName(), + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).getUserID(), // userID + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageRead(),// read + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageWrite(),// write + RightsManagement.rightsManagement + .getPermittedUserList() + .get(i).isImageAdmin()// admin + ); + } + JOptionPane .showMessageDialog( c, @@ -724,15 +863,17 @@ public class EditLectureLink_GUI extends JFrame { "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", "Error", JOptionPane.ERROR_MESSAGE); - JOptionPane.showMessageDialog(null, - e1.getCause()+"\n"+e1.getStackTrace(), - "Debug-Message", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog( + null, + e1.getCause() + "\n" + + e1.getStackTrace(), + "Debug-Message", + JOptionPane.ERROR_MESSAGE); } - + dispose(); - } - else { + } else { // nothing selected JOptionPane.showMessageDialog(c, "Bitte wählen Sie ein Image aus.", @@ -754,124 +895,125 @@ public class EditLectureLink_GUI extends JFrame { JSeparator separator_1 = new JSeparator(); separator_1.setBounds(0, 627, 912, 2); getContentPane().add(separator_1); - + JPanel panel = new JPanel(); panel.setLayout(null); panel.setBorder(new TitledBorder(null, "Detailinformationen", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel.setBackground(SystemColor.menu); panel.setBounds(586, 85, 316, 531); getContentPane().add(panel); - + JLabel lblName = new JLabel("Name:"); lblName.setBounds(10, 87, 130, 14); panel.add(lblName); - + labelName = new JLabel(""); labelName.setBounds(10, 102, 296, 14); panel.add(labelName); - + JLabel lblVerantwortlicher = new JLabel("Verantwortlicher:"); lblVerantwortlicher.setBounds(10, 259, 130, 14); panel.add(lblVerantwortlicher); - + labelOS = new JLabel(""); labelOS.setBounds(10, 216, 296, 14); panel.add(labelOS); - + JLabel lblWeitereVerantwortliche = new JLabel("Betriebssystem:"); lblWeitereVerantwortliche.setBounds(10, 202, 130, 14); panel.add(lblWeitereVerantwortliche); - + labelVerantwortlicher = new JLabel(""); labelVerantwortlicher.setBounds(10, 272, 296, 14); panel.add(labelVerantwortlicher); - + JLabel label = new JLabel("Weitere Verantwortliche:"); label.setBounds(10, 284, 130, 14); panel.add(label); - + labelWeitereVerantwortliche = new JLabel(""); labelWeitereVerantwortliche.setBounds(10, 297, 296, 14); panel.add(labelWeitereVerantwortliche); - + labelUpdate = new JLabel(""); labelUpdate.setBounds(10, 245, 296, 14); panel.add(labelUpdate); - + JLabel lblLetztesUpdate = new JLabel("Letztes Update:"); lblLetztesUpdate.setBounds(10, 231, 130, 14); panel.add(lblLetztesUpdate); - + JLabel lblImageIstVorlage = new JLabel("Image ist Vorlage:"); lblImageIstVorlage.setBounds(10, 336, 130, 14); panel.add(lblImageIstVorlage); - + labelVorlage = new JLabel(""); labelVorlage.setBounds(10, 350, 296, 14); panel.add(labelVorlage); - + labelLizenzSoftware = new JLabel(""); labelLizenzSoftware.setBounds(10, 383, 296, 14); panel.add(labelLizenzSoftware); - - JLabel lblLizenzpflichtigeSoftware = new JLabel("Lizenzpflichtige Software:"); + + JLabel lblLizenzpflichtigeSoftware = new JLabel( + "Lizenzpflichtige Software:"); lblLizenzpflichtigeSoftware.setBounds(10, 367, 130, 14); panel.add(lblLizenzpflichtigeSoftware); - + JLabel lblInternet = new JLabel("Internetsperre vorhanden:"); lblInternet.setBounds(10, 400, 130, 14); panel.add(lblInternet); - + labelInternet = new JLabel(""); labelInternet.setBounds(10, 417, 296, 14); panel.add(labelInternet); - + JLabel lblEmpfehlungRam = new JLabel("Empfehlung RAM:"); lblEmpfehlungRam.setBounds(10, 432, 130, 14); panel.add(lblEmpfehlungRam); - + labelRam = new JLabel(""); labelRam.setBounds(10, 455, 296, 14); panel.add(labelRam); - + JLabel lblEmpfehlungCpu = new JLabel("Empfehlung CPU:"); lblEmpfehlungCpu.setBounds(10, 469, 130, 14); panel.add(lblEmpfehlungCpu); - + labelCPU = new JLabel(""); labelCPU.setBounds(10, 487, 296, 14); panel.add(labelCPU); - + JLabel lblTechnischeDaten = new JLabel("Technische Daten:"); lblTechnischeDaten.setBounds(10, 322, 296, 14); panel.add(lblTechnischeDaten); - + JLabel lblId = new JLabel("ID:"); lblId.setBounds(10, 23, 296, 14); panel.add(lblId); - + labelID = new JLabel(""); labelID.setBounds(10, 37, 296, 14); panel.add(labelID); - + labelVersion = new JLabel(""); labelVersion.setBounds(10, 73, 296, 14); panel.add(labelVersion); - + JLabel lblVersion = new JLabel("Version:"); lblVersion.setBounds(10, 57, 296, 14); panel.add(lblVersion); - + JLabel lblBeschreibung = new JLabel("Beschreibung:"); lblBeschreibung.setBounds(10, 119, 130, 14); panel.add(lblBeschreibung); - + JScrollPane scrollPane = new JScrollPane(); scrollPane.setBounds(10, 135, 296, 65); panel.add(scrollPane); - + textAreadesc = new JTextArea(); textAreadesc.setLineWrap(true); textAreadesc.setBackground(SystemColor.menu); @@ -887,15 +1029,15 @@ public class EditLectureLink_GUI extends JFrame { mntmFaq.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { - + OpenLinks open = new OpenLinks(); - + URI windows; try { windows = new URI(Links.getFAQ()); - + open.openWebpage(windows); - + } catch (URISyntaxException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -903,7 +1045,6 @@ public class EditLectureLink_GUI extends JFrame { } }); mnNewMenu_1.add(mntmFaq); - JMenuItem mntmOtrs = new JMenuItem("OTRS"); mntmOtrs.addMouseListener(new MouseAdapter() { @@ -911,22 +1052,22 @@ public class EditLectureLink_GUI extends JFrame { public void mousePressed(MouseEvent arg0) { OpenLinks open = new OpenLinks(); - + URI windows; try { windows = new URI(Links.getOTRS()); - + open.openWebpage(windows); - + } catch (URISyntaxException e) { // TODO Auto-generated catch block e.printStackTrace(); } - + } }); mnNewMenu_1.add(mntmOtrs); - + JMenuItem mntmAbout = new JMenuItem("About"); mntmAbout.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { @@ -940,75 +1081,74 @@ public class EditLectureLink_GUI extends JFrame { mnNewMenu_Info.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - JOptionPane.showMessageDialog(c, HELP_MESSAGE, "Hilfe zu dieser Oberfläche", JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(c, HELP_MESSAGE, + "Hilfe zu dieser Oberfläche", + JOptionPane.INFORMATION_MESSAGE); } }); menuBar.add(mnNewMenu_Info); - + c = this; - + } // Initiale Beffuelung eines Table models - public DefaultTableModel initTableModel(DefaultTableModel model) throws TException, ParseException { + public DefaultTableModel initTableModel(DefaultTableModel model) + throws TException, ParseException { List<server.generated.Image> images; - - // Hole eine Liste der Images - images = client.getImageListPermissionLink(person.verantwortlicher.getUserID()); - - Iterator<server.generated.Image> i = images.iterator(); - SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); - SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy hh:mm:ss"); - int x = 0; - - while (i.hasNext()) { - // erzeuge Objekte fuer die Tabelle - Object[] obj = { images.get(x).getImageName(), - images.get(x).getLicenseRestriction(), - images.get(x).getOsName(), - images.get(x).getLectureName(), - images.get(x).getUserData(), - out.format(in.parse(images.get(x).updateTime)), images.get(x).id, - images.get(x).getVersion(), - images.get(x).getIsTemplate() }; - // Fuege diese Objekte der Tabelle hinzu - model.addRow(obj); - x++; - i.next(); - } + // Hole eine Liste der Images + images = client.getImageListPermissionLink(person.verantwortlicher + .getUserID()); + + Iterator<server.generated.Image> i = images.iterator(); + SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss"); + int x = 0; + + while (i.hasNext()) { + // erzeuge Objekte fuer die Tabelle + Object[] obj = { images.get(x).getImageName(), + images.get(x).getLicenseRestriction(), + images.get(x).getOsName(), images.get(x).getLectureName(), + images.get(x).getUserData(), + out.format(in.parse(images.get(x).updateTime)), + images.get(x).id, images.get(x).getVersion(), + images.get(x).getIsTemplate() }; + // Fuege diese Objekte der Tabelle hinzu + model.addRow(obj); + x++; + i.next(); + + } + + return model; - return model; - - } - public void writeImageData(String id, String version){ - try { - SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); - SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy hh:mm:ss"); - Map<String,String> res=client.getImageData(id,version); + + public void writeImageData(String id, String version) { + try { + SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss"); + Map<String, String> res = client.getImageData(id, version); labelName.setText(res.get("name")); labelOS.setText(res.get("os")); labelUpdate.setText(out.format(in.parse(res.get("lastupdate")))); labelVerantwortlicher.setText(res.get("owner")); labelWeitereVerantwortliche.setText("Noch nicht Verfügbar"); - if(res.get("template").equals("true")){ + if (res.get("template").equals("true")) { labelVorlage.setText("Ja"); - }else{ + } else { labelVorlage.setText("Nein"); } - if(res.get("license").equals("1")){ + if (res.get("license").equals("1")) { labelLizenzSoftware.setText("Ja"); - } - else - { + } else { labelLizenzSoftware.setText("Nein"); } - if(res.get("internet").equals("1")){ + if (res.get("internet").equals("1")) { labelInternet.setText("Ja"); - } - else - { + } else { labelInternet.setText("Nein"); } labelRam.setText(res.get("ram")); |
