summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java')
-rw-r--r--dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java461
1 files changed, 0 insertions, 461 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java
deleted file mode 100644
index eb7a7769..00000000
--- a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java
+++ /dev/null
@@ -1,461 +0,0 @@
-package gui.image;
-
-import gui.helper.ColumnSelector;
-import gui.intro.MainMenue_GUI;
-
-import java.awt.Color;
-import java.awt.FlowLayout;
-import java.awt.Font;
-import java.awt.SystemColor;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.swing.DefaultComboBoxModel;
-import javax.swing.JButton;
-import javax.swing.JComboBox;
-import javax.swing.JInternalFrame;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JSeparator;
-import javax.swing.JTable;
-import javax.swing.JTextPane;
-import javax.swing.ScrollPaneConstants;
-import javax.swing.border.EmptyBorder;
-import javax.swing.border.TitledBorder;
-import javax.swing.table.DefaultTableModel;
-import javax.swing.table.TableColumn;
-
-import models.Image;
-import models.RightsManagement;
-import models.SessionData;
-import models.person;
-
-import org.apache.thrift.TException;
-import org.openslx.sat.thrift.iface.Person;
-import org.openslx.thrifthelper.ThriftManager;
-
-import util.CheckIntegrity;
-import util.GuiManager;
-import util.ListAllOtherUsers_GUI;
-
-@SuppressWarnings("serial")
-public class PermissionEditImage_GUI extends JInternalFrame {
-
- private final JPanel contentPanel = new JPanel();
- private JTable table;
- private static final String[] titles = { "Name", "Lesen", "Schreiben", "Link", "Admin", "userID" };
- private List<Person> map = null; // List of people who have rights
-
- private final DefaultTableModel model = new DefaultTableModel(titles, 0) {
-
- public boolean isCellEditable(int rowIndex, int mColIndex) {
- if (mColIndex >= 1) {
- return true;
- }
- return false;
- }
-
- public Class<?> getColumnClass(int c) {
- switch (c) {
- case 0:
- return String.class;
- default:
- return Boolean.class;
- }
- }
-
- };
- private JLabel lblLinkAllowed;
- private JLabel label_5;
- private JLabel label_6;
- private JLabel lblvolleRechteRead;
- public static final String HELP_MESSAGE = "<html><div align=\"center\">"
- + "Verändern Sie die Berechtigungen für Ihr Image.<br />"
- + "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>";
-
- public PermissionEditImage_GUI() {
-
- setResizable(false);
-
- setTitle("bwLehrpool Suite - Image bearbeiten - " + person.verantwortlicher.getUserID());
-
- setBounds(0, 0, 603, 722);
-
- getContentPane().setLayout(null);
- {
- JPanel panel = new JPanel();
- panel.setBackground(SystemColor.menu);
- panel.setBounds(10, 11, 577, 57);
- getContentPane().add(panel);
- panel.setLayout(null);
- {
- 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);
- txtpnBitteWhlenSie
- .setText("Definieren Sie hier bitte die gewünschten Berechtigungen für Ihr Image");
- txtpnBitteWhlenSie.setBounds(10, 36, 509, 32);
- panel.add(txtpnBitteWhlenSie);
- }
- contentPanel.setBounds(10, 85, 577, 531);
- contentPanel.setBackground(SystemColor.menu);
- contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
- getContentPane().add(contentPanel);
- contentPanel.setLayout(null);
-
- 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.setBounds(10, 170, 557, 354);
- contentPanel.add(panel_1);
- panel_1.setLayout(null);
-
- JScrollPane scrollPane = new JScrollPane();
- scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
- scrollPane.setBounds(10, 21, 537, 185);
- panel_1.add(scrollPane);
-
- table = new JTable();
- table.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent e) {
- checkIntegrity(-1);
- }
-
- });
- table.setModel(model);
- table.setSelectionForeground(Color.WHITE);
-
- // invisible attribute userID for identifying selected user
- 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.ImageId, person.verantwortlicher.getUserID());
- Iterator<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
- (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
- };
- // Fuege diese Objekte der Tabelle hinzu
- model.addRow(obj);
-
- i.next();
- x++;
-
- }
-
- } catch (TException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- } else // read from model
- {
-
- List<person> listt = RightsManagement.rightsManagement.getPermittedUserList();
- Iterator<person> i = listt.iterator();
-
- while (i.hasNext()) {
- // erzeuge Objekte fuer die Tabelle
- person temp = i.next();
-
- Object[] obj = { temp.getName() + ", " + temp.getVorname(), // Name
- temp.isImageRead(), // Read
- temp.isImageWrite(), // Write
- temp.isImageLinkAllowed(), // Link
- temp.isImageAdmin(), // Admin
- temp.getUserID() // userID
- };
-
- // Fuege diese Objekte der Tabelle hinzu
- model.addRow(obj);
- }
- }// end set list of permitted users
-
- TableColumn tc1 = table.getColumnModel().getColumn(1);
- tc1.setCellEditor(table.getDefaultEditor(Boolean.class));
- tc1.setCellRenderer(table.getDefaultRenderer(Boolean.class));
- 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 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 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 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.setBackground(SystemColor.menu);
- panel_2.setBounds(10, 260, 537, 80);
- panel_1.add(panel_2);
-
- JLabel label_7 = new JLabel("Freigabemodus:");
- label_7.setBounds(10, 30, 250, 20);
- 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.setSelectedIndex(Image.ShareMode);
- 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));
- }
- });
- 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
- //LOGGER.info("deletabelRows.length="+deletableRows.length);
-
- for (int i = 0; i < deletableRows.length; i++) {
-
- //LOGGER.info("Deleting rowCount["+i+"], tableRow number "+deletableRows[i-pointerCorrection]);
- model.removeRow(deletableRows[i - pointerCorrection]);
- pointerCorrection++;
- }
- }
- });
- btnDeleteUser.setBounds(133, 217, 113, 23);
- panel_1.add(btnDeleteUser);
-
- JLabel lblHauptmen = new JLabel("Hauptmenü");
- lblHauptmen.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent arg0) {
- GuiManager.show(new MainMenue_GUI());
- }
- });
- lblHauptmen.setForeground(Color.BLUE);
- lblHauptmen.setBounds(10, 11, 61, 14);
- contentPanel.add(lblHauptmen);
-
- JLabel label_1 = new JLabel(">");
- label_1.setBounds(69, 11, 13, 14);
- contentPanel.add(label_1);
-
- JLabel lblVlimage = new JLabel("Image");
- lblVlimage.setForeground(Color.BLUE);
- lblVlimage.setBounds(81, 11, 45, 14);
- contentPanel.add(lblVlimage);
-
- JLabel label_2 = new JLabel(">");
- label_2.setBounds(133, 11, 13, 14);
- contentPanel.add(label_2);
-
- JLabel lblNewLabel_1 = new JLabel("Bearbeiten");
- lblNewLabel_1.setBounds(146, 11, 155, 14);
- contentPanel.add(lblNewLabel_1);
-
- JPanel panel = new JPanel();
- 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.setBackground(SystemColor.menu);
-
- JLabel label = new JLabel("Lesen");
- label.setBounds(28, 18, 90, 20);
- panel.add(label);
-
- JLabel label_3 = new JLabel("Schreiben");
- label_3.setBounds(28, 38, 90, 20);
- panel.add(label_3);
-
- JLabel lblImageLesenUnd = new JLabel("Benutzer kann Image in bwLehrpool Suite sehen.");
- lblImageLesenUnd.setBounds(128, 18, 380, 20);
- panel.add(lblImageLesenUnd);
-
- JLabel lblImageAnpassenUnd = new JLabel(
- "Image sehen, anpassen und überschreiben, jedoch nicht löschen.");
- lblImageAnpassenUnd.setBounds(128, 38, 380, 20);
- panel.add(lblImageAnpassenUnd);
-
- lblLinkAllowed = new JLabel("Link");
- lblLinkAllowed.setBounds(28, 58, 90, 20);
- panel.add(lblLinkAllowed);
-
- label_5 = new JLabel("Admin");
- 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.setBounds(128, 58, 380, 20);
- panel.add(label_6);
-
- lblvolleRechteRead = new JLabel(
- "<HTML>Volle Rechte: Lesen, Schreiben, Löschen, Link und<br>Berechtigungen für andere Benutzer festlegen.</HTML>");
- lblvolleRechteRead.setBounds(128, 78, 380, 40);
- panel.add(lblvolleRechteRead);
- {
- JPanel buttonPane = new JPanel();
- buttonPane.setBounds(0, 640, 597, 33);
- buttonPane.setBackground(SystemColor.menu);
- buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
- getContentPane().add(buttonPane);
- {
- JButton cancelButton = new JButton("Zurück");
- cancelButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- GuiManager.show(new EditImageTechnisch_GUI());
- }
- });
- cancelButton.setActionCommand("OK");
- buttonPane.add(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
- }
-
- saveTableToList();
-
- Image.ShareMode = comboBox_1.getSelectedIndex();
- GuiManager.show(new FTPEditUploader_GUI());
- }
- });
- continueButton.setActionCommand("Cancel");
- buttonPane.add(continueButton);
- getRootPane().setDefaultButton(continueButton);
- }
- }
-
- JSeparator separator = new JSeparator();
- separator.setBounds(0, 78, 597, 2);
- getContentPane().add(separator);
-
- JSeparator separator_1 = new JSeparator();
- 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() {
- 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());
- person temp = new person();
-
- // table.getModel().setValueAt(map.get, i, 5);
-
- 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));
-
- // 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()) {
- // save entry
- list.add(temp);
- } else {
- // do nothing
- }
- }
-
- //permissions could have changed, compare vals at the end and update in db (quick and dirty due to time limitations)
- RightsManagement.rightsManagement.setPermittedUserList(list);
- }// end saveTableToList()
-
- private void checkIntegrity(int row) {
-
- int selectedRow;
-
- if (row == -1) {
- selectedRow = table.getSelectedRow();
- } else {
- selectedRow = row;
- }
-
- boolean isRead, isWrite, isLink, isAdmin;
-
- // collect all row data
- isRead = (boolean) table.getValueAt(selectedRow, 1);
- isWrite = (boolean) table.getValueAt(selectedRow, 2);
- isLink = (boolean) table.getValueAt(selectedRow, 3);
- isAdmin = (boolean) table.getValueAt(selectedRow, 4);
-
- 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()
-
-}// end class
-