diff options
Diffstat (limited to 'dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java')
| -rw-r--r-- | dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java | 213 |
1 files changed, 172 insertions, 41 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java index d6ddc911..deddedda 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java @@ -1,9 +1,9 @@ package gui.image; import gui.intro.About_GUI; +import gui.intro.Login_GUI; import gui.intro.MainMenue_GUI; -import java.awt.Checkbox; import java.awt.Color; import java.awt.Component; import java.awt.FlowLayout; @@ -18,14 +18,14 @@ import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; -import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; import javax.swing.AbstractButton; -import javax.swing.ButtonGroup; import javax.swing.DefaultComboBoxModel; -import javax.swing.Icon; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; @@ -35,41 +35,48 @@ import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; +import javax.swing.JScrollPane; import javax.swing.JSeparator; +import javax.swing.JTable; +import javax.swing.JTextField; 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.DefaultTableCellRenderer; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; -import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; import models.Image; +import models.ImageRights; import models.Links; -import util.GuiOrganizer; -import util.OpenLinks; -import javax.swing.JTable; -import javax.swing.JScrollPane; -import javax.swing.ScrollPaneConstants; -import javax.swing.JTextField; +import models.RightsManagement; -import org.eclipse.jface.viewers.CheckboxCellEditor; +import org.apache.log4j.Logger; +import org.apache.thrift.TException; -import java.awt.Choice; +import server.generated.Server.Client; +import server.generated.Person; +import models.person; +import util.GuiOrganizer; +import util.OpenLinks; @SuppressWarnings("serial") public class PermissionCreateImage_GUI extends JFrame { + private final static Logger LOGGER = Logger.getLogger(Login_GUI.class); + Client client = models.Client.clientcon.getClient(); private final JPanel contentPanel = new JPanel(); String[] result; - private JTable table; + private JTable table = null; private Class[] classes; - Object[] titles = { "Name", "Read", "Write", "Link","Admin"}; + Object[] titles = { "Name", "Read", "Write", "Link", "Admin", "userID" }; + private List<Person> map = null; + // Map<String,String> ogUsers = new HashMap(); final DefaultTableModel model = new DefaultTableModel(titles, 0) { @@ -90,6 +97,7 @@ public class PermissionCreateImage_GUI extends JFrame { } }; + private JTextField textField; private JLabel lblRead; private JLabel lblWrite; @@ -169,10 +177,81 @@ public class PermissionCreateImage_GUI extends JFrame { table = new JTable(); table.setModel(model); table.setSelectionForeground(Color.WHITE); - Object[] rowdata = { "Max Mustermann", new Boolean(false), - new Boolean(false), new Boolean(false), new Boolean(false), - new Boolean(false) }; - model.addRow(rowdata); + + // 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); + + // if new session, get values for table from database + if (RightsManagement.rightsManagement.getPmImageCreateList().size() <= 0) { + System.out.println("getting data from db"); + System.out.println(RightsManagement.rightsManagement + .getPmImageCreateList().size()); + try { + map = client.getAllOGUsers(); + Iterator<server.generated.Person> i = map.iterator(); + + int x = 0; + while (i.hasNext()) { + // erzeuge Objekte fuer die Tabelle + Object[] obj = { + map.get(x).getNachname() + ", " + + map.get(x).getVorname(), // Name + false, // Read + false, // Write + false, // Link + false, // Admin + map.get(x).getUserID() // userID + }; + // Fuege diese Objekte der Tabelle hinzu + model.addRow(obj); + i.next(); + x++; + + } + System.out + .println("Number of returned users in permission list: " + + map.size()); + + } catch (TException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + } else // read from model + { + System.out + .println("RightsManagement.rightsManagement.getPmImageCreateList().size() " + + RightsManagement.rightsManagement + .getPmImageCreateList().size()); + System.out.println("reading from model"); + List<person> listt = RightsManagement.rightsManagement + .getPmImageCreateList(); + Iterator<person> i = listt.iterator(); + + int x = 0; + while (i.hasNext()) { + System.out.println("current pos=" + x); + // erzeuge Objekte fuer die Tabelle + person temp = i.next(); + + Object[] obj = { temp.getName() + ", " + temp.getVorname(), // Name + temp.isRead(), // Read + temp.isWrite(), // Write + temp.isLinkAllowed(), // Link + temp.isAdmin(), // Admin + temp.getUserID() // userID + }; + System.out.println("Processing: " + temp.getName() + ", " + + temp.getVorname() + ", " + temp.isRead() + ", " + + temp.isWrite() + ", " + temp.isLinkAllowed() + ", " + + temp.isAdmin() + ", " + temp.getUserID()); + // Fuege diese Objekte der Tabelle hinzu + model.addRow(obj); + x++; + + } + } TableCellRenderer rend = table.getTableHeader().getDefaultRenderer(); @@ -200,35 +279,30 @@ public class PermissionCreateImage_GUI extends JFrame { 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])); - */ + scrollPane.setViewportView(table); - + JPanel panel = new JPanel(); panel.setLayout(null); panel.setBorder(new TitledBorder(null, "Freigabe", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel.setBackground(SystemColor.menu); panel.setBounds(10, 201, 537, 80); panel_1.add(panel); - + JLabel label = new JLabel("Freigabemodus:"); label.setBounds(10, 30, 250, 20); panel.add(label); - + final JComboBox comboBox_1 = new JComboBox(); - comboBox_1.setModel(new DefaultComboBoxModel(new String[] { - "Lokal (Eigene Hochschule)", - "Öffentlich (Alle Hochschulen)" })); + comboBox_1 + .setModel(new DefaultComboBoxModel(new String[] { + "Lokal (Eigene Hochschule)", + "Öffentlich (Alle Hochschulen)" })); comboBox_1.setSelectedIndex(0); comboBox_1.setBounds(270, 30, 250, 20); panel.add(comboBox_1); - + JLabel lblHauptmen = new JLabel("Hauptmenü"); lblHauptmen.addMouseListener(new MouseAdapter() { @Override @@ -260,7 +334,7 @@ public class PermissionCreateImage_GUI extends JFrame { lblNewLabel_1.setBounds(146, 11, 80, 14); contentPanel.add(lblNewLabel_1); - JLabel lblName = new JLabel("Name:"); + JLabel lblName = new JLabel("Nach Namen filtern:"); lblName.setBounds(10, 36, 46, 20); contentPanel.add(lblName); @@ -323,11 +397,11 @@ public class PermissionCreateImage_GUI extends JFrame { "Erzeugung einer Veranstaltung auf ein Image ist erlaubt."); lblLinkallowedDesc.setBounds(120, 58, 380, 20); panel_2.add(lblLinkallowedDesc); - + chckbxFrAlleSichtbar = new JCheckBox(""); chckbxFrAlleSichtbar.setBounds(115, 119, 21, 23); panel_2.add(chckbxFrAlleSichtbar); - + lblFuerAlleSichtbar = new JLabel("Für alle sichtbar"); lblFuerAlleSichtbar.setBounds(20, 120, 90, 20); panel_2.add(lblFuerAlleSichtbar); @@ -342,7 +416,7 @@ public class PermissionCreateImage_GUI extends JFrame { cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - //CreateImageFreigabe_GUI sr = new CreateImageFreigabe_GUI(); + CreateImageTechnisch_GUI ci = new CreateImageTechnisch_GUI(); ci.setVisible(true); dispose(); @@ -357,6 +431,8 @@ public class PermissionCreateImage_GUI extends JFrame { continueButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + saveTableToList(); + Image.image.setShareMode(comboBox_1.getSelectedIndex()); FTPCreateUploader_GUI ea = new FTPCreateUploader_GUI(); ea.setVisible(true); @@ -497,6 +573,61 @@ public class PermissionCreateImage_GUI extends JFrame { } } } + + public void createRightsList() { + // ///// + } + + private void saveTableToList() { + 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("Fuck: 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()); + person temp = new person(); + + // table.getModel().setValueAt(map.get, i, 5); + + temp.setUserID(table.getModel().getValueAt(i, 5).toString()); // get + // userID + temp.setAdmin(Boolean.parseBoolean(table.getModel() + .getValueAt(i, 4).toString())); // get Admin + temp.setLinkAllowed(Boolean.parseBoolean(table.getModel() + .getValueAt(i, 3).toString()));// get Link + temp.setWrite(Boolean.parseBoolean(table.getModel() + .getValueAt(i, 2).toString()));// get Write + temp.setRead(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)); + + list.add(temp); + + System.out.println(temp.getName() + ", " + temp.getVorname() + ", " + + temp.getUserID() + ", " + temp.isAdmin() + ", " + + temp.isLinkAllowed() + ", " + temp.isWrite() + ", " + + temp.isRead()); + } + System.out.println("Now setting List information. Length is: " + + list.size()); + for (int y = 0; y < list.size(); y++) { + System.out.println("" + list.get(y).getName()); + } + RightsManagement.rightsManagement.setPmImageCreateList(list); + + } + } class CheckBoxHeader extends JCheckBox implements TableCellRenderer, @@ -524,8 +655,7 @@ class CheckBoxHeader extends JCheckBox implements TableCellRenderer, } } setColumn(column); - // rendererComponent.setText("Check All"); - // setBorder(UIManager.getBorder("TableHeader.cellBorder")); + return rendererComponent; } @@ -571,4 +701,5 @@ class CheckBoxHeader extends JCheckBox implements TableCellRenderer, public void mouseExited(MouseEvent e) { } + } |
