From 64c2bf490691b0d86f939bc1a15f64b66884d41f Mon Sep 17 00:00:00 2001 From: Michael Wilson Date: Mon, 13 Oct 2014 17:00:22 +0200 Subject: Rechteverwaltung weiter umgesetzt: -Alle Instanzen von Listen der Images sind nun auf die Rechte des eingeloggten Benutzers beschränkt --- .../src/main/java/server/ServerHandler.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'dozentenmodulserver/src/main/java/server/ServerHandler.java') diff --git a/dozentenmodulserver/src/main/java/server/ServerHandler.java b/dozentenmodulserver/src/main/java/server/ServerHandler.java index a66083c5..e5b4caa8 100644 --- a/dozentenmodulserver/src/main/java/server/ServerHandler.java +++ b/dozentenmodulserver/src/main/java/server/ServerHandler.java @@ -198,23 +198,32 @@ public class ServerHandler implements Server.Iface { } @Override - public List getImageList() throws TException { - return sql.getImageList(); - + public List getImageListPermissionWrite(String userID) throws TException { + return sql.getImageListPermissionWrite(userID); + } + + @Override + public List getImageListPermissionRead(String userID) throws TException { + return sql.getImageListPermissionWrite(userID); + } + + + @Override + public List getImageListPermissionLink(String userID) throws TException { + return sql.getImageListPermissionWrite(userID); } @Override public List getAllOS() throws TException { return sql.getAllOS(); - } @Override public Map getPersonData(String Vorname, String Nachname) throws TException { return sql.getPersonData(Vorname, Nachname); - } + @Override public boolean writeLecturedata(String name, String shortdesc, String desc, -- cgit v1.2.3-55-g7522 From 8f0b1e666e98035297b95a1a8224c77d78edff36 Mon Sep 17 00:00:00 2001 From: Michael Wilson Date: Tue, 14 Oct 2014 18:54:28 +0200 Subject: Diverse Änderungen für Berechtigungen --- .../main/java/gui/image/FTPCreateUploader_GUI.java | 14 +- .../java/gui/image/PermissionCreateImage_GUI.java | 201 ++--- .../src/main/java/gui/intro/Login_GUI.java | 2 +- .../gui/lecture/PermissionCreateLecture_GUI.java | 689 +++++++++----- .../src/main/java/models/RightsManagement.java | 17 +- .../src/main/java/server/ServerHandler.java | 5 + .../src/main/java/server/generated/Person.java | 670 +++++++++++++- .../src/main/java/server/generated/Server.java | 998 +++++++++++++++++++++ dozentenmodulserver/thrift/server.thrift | 9 +- 9 files changed, 2229 insertions(+), 376 deletions(-) (limited to 'dozentenmodulserver/src/main/java/server/ServerHandler.java') diff --git a/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java index af126285..4e5ce376 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java @@ -684,15 +684,15 @@ public class FTPCreateUploader_GUI extends JFrame implements person.verantwortlicher.getRole() ); - for(int i=0; i< RightsManagement.rightsManagement.getPmImageCreateList().size(); i++){ - System.out.println("Writing additional rights for user "+RightsManagement.rightsManagement.getPmImageCreateList().get(i).getUserID()+", User "+i+"/"+RightsManagement.rightsManagement.getPmImageCreateList().size()); + 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.writeAdditionalImageRights( Image.image.getImagename(), - RightsManagement.rightsManagement.getPmImageCreateList().get(i).getUserID(), - RightsManagement.rightsManagement.getPmImageCreateList().get(i).isRead(), - RightsManagement.rightsManagement.getPmImageCreateList().get(i).isWrite(), - RightsManagement.rightsManagement.getPmImageCreateList().get(i).isLinkAllowed(), - RightsManagement.rightsManagement.getPmImageCreateList().get(i).isAdmin() + RightsManagement.rightsManagement.getPermittedUserList().get(i).getUserID(), + RightsManagement.rightsManagement.getPermittedUserList().get(i).isRead(), + RightsManagement.rightsManagement.getPermittedUserList().get(i).isWrite(), + RightsManagement.rightsManagement.getPermittedUserList().get(i).isLinkAllowed(), + RightsManagement.rightsManagement.getPermittedUserList().get(i).isAdmin() ); }//end for diff --git a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java index f68b9926..b957afa6 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java @@ -67,14 +67,15 @@ import util.OpenLinks; @SuppressWarnings("serial") public class PermissionCreateImage_GUI extends JFrame { - private final static Logger LOGGER = Logger.getLogger(PermissionCreateImage_GUI.class); + private final static Logger LOGGER = Logger + .getLogger(PermissionCreateImage_GUI.class); Client client = models.Client.clientcon.getClient(); private final JPanel contentPanel = new JPanel(); String[] result; private JTable table = null; private Class[] classes; Object[] titles = { "Name", "Read", "Write", "Link", "Admin", "userID" }; - private List map = null; + private List map = null; // List of people who have rights Component c = null; // Map ogUsers = new HashMap(); @@ -107,13 +108,13 @@ public class PermissionCreateImage_GUI extends JFrame { private JLabel lblWriteDesc; private JLabel lblAdminDesc; private JLabel lblLinkallowedDesc; - private static final String HELP_MESSAGE = "
" + - "Legen Sie fest, welche Personen welche Rechte an Ihrem Image haben.
" + - "Sie können die Rechte read, write, link und admin vergeben.
" + - "Link bedeutet, dass diese Person Veranstaltungen auf Ihr Image verlinken darf und dieses somit
" + - "implizit freigeben darf. Eine Person mit Adminrechten darf zusätzlich das Image löschen und Berechtigungen
" + - "für andere Benutzer festlegen und ist somit wie der Besitzer zu betrachten." + - "
"; + private static final String HELP_MESSAGE = "
" + + "Legen Sie fest, welche Personen welche Rechte an Ihrem Image haben.
" + + "Sie können die Rechte read, write, link und admin vergeben.
" + + "Link bedeutet, dass diese Person Veranstaltungen auf Ihr Image verlinken darf und dieses somit
" + + "implizit freigeben darf. Eine Person mit Adminrechten darf zusätzlich das Image löschen und Berechtigungen
" + + "für andere Benutzer festlegen und ist somit wie der Besitzer zu betrachten." + + "
"; public PermissionCreateImage_GUI(Component formerGUI) { addWindowListener(new WindowAdapter() { @@ -135,16 +136,6 @@ public class PermissionCreateImage_GUI extends JFrame { setBounds(0, 0, 603, 722); setLocationRelativeTo(formerGUI); - - - // - //System.out.println("formergui X oben:"+formerGUI.getLocation().getX()); - //System.out.println("formergui Y oben:"+formerGUI.getLocation().getY()); - - //System.out.println("this oben: "+this.getLocation().getX()); - //System.out.println("this oben: "+this.getLocation().getY()); - - //System.out.println("------------------------------------------"); getContentPane().setLayout(null); { @@ -190,35 +181,28 @@ public class PermissionCreateImage_GUI extends JFrame { panel_1.add(scrollPane); table = new JTable(); - table.addMouseListener(new MouseAdapter() - { + table.addMouseListener(new MouseAdapter() { @Override - public void mouseClicked(MouseEvent e) - { + 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); // if new session, get values for table from database - if (RightsManagement.rightsManagement.getPmImageCreateList().size() <= 0) { + if (RightsManagement.rightsManagement.getPermittedUserList().size() <= 0) { System.out.println("Loading data from db"); - //System.out.println(RightsManagement.rightsManagement.getPmImageCreateList().size()); - - person.verantwortlicher.getUserID(); - //System.out.println("Current userID: " +person.verantwortlicher.getUserID()); - try { - map = client.getAllOtherSatelliteUsers(person.verantwortlicher.getUserID()); + map = client.getAllOtherSatelliteUsers(person.verantwortlicher + .getUserID()); Iterator i = map.iterator(); int x = 0; @@ -239,7 +223,6 @@ public class PermissionCreateImage_GUI extends JFrame { x++; } - //System.out.println("Number of returned users in permission list: "+ map.size()); } catch (TException e1) { // TODO Auto-generated catch block @@ -247,18 +230,19 @@ public class PermissionCreateImage_GUI extends JFrame { } } else // read from model { + System.out.println("reading from model"); System.out - .println("RightsManagement.rightsManagement.getPmImageCreateList().size() " + .println("RightsManagement.rightsManagement.getPermittedUserList().size() = " + RightsManagement.rightsManagement - .getPmImageCreateList().size()); - System.out.println("reading from model"); + .getPermittedUserList().size()); + List listt = RightsManagement.rightsManagement - .getPmImageCreateList(); + .getPermittedUserList(); Iterator i = listt.iterator(); int x = 0; while (i.hasNext()) { - //System.out.println("current pos=" + x); + // System.out.println("current pos=" + x); // erzeuge Objekte fuer die Tabelle person temp = i.next(); @@ -276,9 +260,8 @@ public class PermissionCreateImage_GUI extends JFrame { // Fuege diese Objekte der Tabelle hinzu model.addRow(obj); x++; - } - } + }// end set list of permitted users TableCellRenderer rend = table.getTableHeader().getDefaultRenderer(); @@ -287,8 +270,7 @@ public class PermissionCreateImage_GUI extends JFrame { tc1.setCellRenderer(table.getDefaultRenderer(Boolean.class)); tc1.setHeaderRenderer(new CheckBoxHeader(new MyItemListener1(), (String) titles[1])); - //tc1.setCellRenderer(cellRenderer) - + // tc1.setCellRenderer(cellRenderer) TableColumn tc2 = table.getColumnModel().getColumn(2); tc2.setCellEditor(table.getDefaultEditor(Boolean.class)); @@ -308,7 +290,6 @@ public class PermissionCreateImage_GUI extends JFrame { tc4.setHeaderRenderer(new CheckBoxHeader(new MyItemListener4(), (String) titles[4])); - scrollPane.setViewportView(table); JPanel panel = new JPanel(); @@ -437,8 +418,8 @@ public class PermissionCreateImage_GUI extends JFrame { cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - - CreateImageTechnisch_GUI ci = new CreateImageTechnisch_GUI(c); + CreateImageTechnisch_GUI ci = new CreateImageTechnisch_GUI( + c); ci.setVisible(true); dispose(); } @@ -451,11 +432,12 @@ public class PermissionCreateImage_GUI extends JFrame { 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 + + // 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"); } @@ -539,62 +521,49 @@ public class PermissionCreateImage_GUI extends JFrame { } }); mnNewMenu_1.add(mntmAbout); - + JMenu mnNewMenu_Info = new JMenu("Info"); 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; - //System.out.println("formergui unten X:"+formerGUI.getLocation().getX()); - //System.out.println("formergui unten Y:"+formerGUI.getLocation().getY()); - - //System.out.println("this unten X: "+this.getLocation().getX()); - //System.out.println("this unten Y: "+this.getLocation().getY()); - - + this.setLocationRelativeTo(formerGUI); - - //this.setLocation(1238, 53); - this.setVisible(true); - - //System.out.println("this on screen unten X: "+this.getLocationOnScreen().getX()); - //System.out.println("this on screen unten Y: "+this.getLocationOnScreen().getY()); - } - - private void checkIntegrity(int row) - { - + }// end constructor + + private void checkIntegrity(int row) { + int selectedRow; - - if(row == -1) - { + + if (row == -1) { selectedRow = table.getSelectedRow(); - } - else - { + } else { selectedRow = row; } - + boolean isRead, isWrite, isLink, isAdmin; - - //collect all row data - isRead = (boolean) table.getValueAt(selectedRow, 1); + + // collect all row data + isRead = (boolean) table.getValueAt(selectedRow, 1); isWrite = (boolean) table.getValueAt(selectedRow, 2); - isLink = (boolean) table.getValueAt(selectedRow, 3); + isLink = (boolean) table.getValueAt(selectedRow, 3); isAdmin = (boolean) table.getValueAt(selectedRow, 4); - - boolean[] checkedVals = CheckIntegrity.isIntegre(isRead, isWrite, isLink, isAdmin); - + + boolean[] checkedVals = CheckIntegrity.isIntegre(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() // Read column class MyItemListener1 implements ItemListener { @@ -609,7 +578,7 @@ public class PermissionCreateImage_GUI extends JFrame { } } - //Write column + // Write column class MyItemListener2 implements ItemListener { public void itemStateChanged(ItemEvent e) { Object source = e.getSource(); @@ -623,7 +592,7 @@ public class PermissionCreateImage_GUI extends JFrame { } } - //Link column + // Link column class MyItemListener3 implements ItemListener { public void itemStateChanged(ItemEvent e) { Object source = e.getSource(); @@ -636,7 +605,7 @@ public class PermissionCreateImage_GUI extends JFrame { } } - //Admin column + // Admin column class MyItemListener4 implements ItemListener { public void itemStateChanged(ItemEvent e) { Object source = e.getSource(); @@ -648,8 +617,8 @@ public class PermissionCreateImage_GUI extends JFrame { } } } - - //invisible userID column + + // invisible userID column class MyItemListener5 implements ItemListener { public void itemStateChanged(ItemEvent e) { Object source = e.getSource(); @@ -662,10 +631,12 @@ public class PermissionCreateImage_GUI extends JFrame { } } - public void createRightsList() { - // ///// - } + // 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"); @@ -674,11 +645,12 @@ public class PermissionCreateImage_GUI extends JFrame { 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++) { + 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()); + // System.out.println("in for, rowcount="+table.getRowCount()); person temp = new person(); // table.getModel().setValueAt(map.get, i, 5); @@ -700,33 +672,28 @@ public class PermissionCreateImage_GUI extends JFrame { 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.isAdmin() || temp.isLinkAllowed() || temp.isWrite() || temp.isRead() ){ - //save entry + // check if at least one checkbox is checked. If yes, save this + // entry into list, if not ignore this entry + if (temp.isAdmin() || temp.isLinkAllowed() || temp.isWrite() + || temp.isRead()) { + // save entry list.add(temp); } else { - //do nothing + // do nothing } - - - /* - System.out.println(temp.getName() + ", " + temp.getVorname() + ", " - + temp.getUserID() + ", " + temp.isAdmin() + ", " - + temp.isLinkAllowed() + ", " + temp.isWrite() + ", " - + temp.isRead()); - */ } - - System.out.println("Setting list information.\tTable size: "+table.getRowCount()+"\t List length (=selected users): "+ list.size()); + + 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.setPmImageCreateList(list); - } + RightsManagement.rightsManagement.setPermittedUserList(list); + }// end saveTableToList() -} +} // end class class CheckBoxHeader extends JCheckBox implements TableCellRenderer, MouseListener { @@ -739,9 +706,6 @@ class CheckBoxHeader extends JCheckBox implements TableCellRenderer, rendererComponent.addItemListener(itemListener); rendererComponent.setText(text); } - - - public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { @@ -757,7 +721,6 @@ class CheckBoxHeader extends JCheckBox implements TableCellRenderer, } setColumn(column); - return rendererComponent; } diff --git a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java index 323a2a00..b43c6a4d 100644 --- a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java +++ b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java @@ -214,7 +214,7 @@ public class Login_GUI extends JFrame { panel_1.setBounds(10, 143, 334, 181); contentPane.add(panel_1); - rdbtnBwIDM = new JRadioButton("Regisitriert bei bwIDM"); + rdbtnBwIDM = new JRadioButton("Registriert bei bwIDM"); rdbtnBwIDM.setBounds(32, 35, 244, 23); panel_1.add(rdbtnBwIDM); diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java index d449ddcf..a37b2e9c 100644 --- a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java @@ -1,6 +1,5 @@ package gui.lecture; - import gui.intro.About_GUI; import gui.intro.MainMenue_GUI; @@ -20,6 +19,9 @@ import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; 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; @@ -52,48 +54,55 @@ import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; import org.apache.log4j.Logger; +import org.apache.thrift.TException; import models.Links; +import models.RightsManagement; +import models.person; +import server.generated.Person; +import server.generated.Server.Client; +import util.CheckIntegrity; import util.OpenLinks; @SuppressWarnings("serial") public class PermissionCreateLecture_GUI extends JFrame { // Logger for this class - private final static Logger LOGGER = Logger.getLogger(PermissionCreateLecture_GUI.class); + private final static Logger LOGGER = Logger + .getLogger(PermissionCreateLecture_GUI.class); private final JPanel contentPanel = new JPanel(); + Client client = models.Client.clientcon.getClient(); String[] result; private Class[] classes; - private JTable table; - Object[] titles = { "Name","Read", "Write","Admin"}; + private JTable table = null; + Object[] titles = { "Name", "Read", "Write", "Admin", "userID" }; + // Object[] titles = { "Name", "Read", "Write", "Link", "Admin", "userID" }; Component c = null; - private static final String HELP_MESSAGE = "
" + - "Hier können Sie die Berechtigungen für Ihre Veranstaltung ändern.
" + - "Es wird unterschieden, ob innerhalb der Suite (dieses Programm) Änderungen vorgenommen werden dürfen,
" + - "und/oder ob die Veranstaltung auch im VMChooser angezeigt wird." + - "
"; - - 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 static final String HELP_MESSAGE = "
" + + "Hier können Sie die Berechtigungen für Ihre Veranstaltung ändern.
" + + "Es wird unterschieden, ob innerhalb der Suite (dieses Programm) Änderungen vorgenommen werden dürfen,
" + + "und/oder ob die Veranstaltung auch im VMChooser angezeigt wird." + + "
"; + private List map = null; // List of people who have rights + + 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 JTextField textField; @@ -107,7 +116,7 @@ public class PermissionCreateLecture_GUI extends JFrame { } }); setResizable(false); - + try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException @@ -128,16 +137,18 @@ public class PermissionCreateLecture_GUI extends JFrame { getContentPane().add(panel); panel.setLayout(null); { - JLabel lblNewLabel = new JLabel("Veranstaltung - Berechtigungen (Nur zur Veranschaulichung)"); + JLabel lblNewLabel = new JLabel( + "Veranstaltung - Berechtigungen (Nur zur Veranschaulichung)"); 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 Ihre Veranstaltung"); + txtpnBitteWhlenSie + .setText("Definieren Sie hier bitte die gewünschten Berechtigungen für Ihre Veranstaltung"); txtpnBitteWhlenSie.setBounds(10, 36, 509, 32); panel.add(txtpnBitteWhlenSie); } @@ -146,169 +157,278 @@ public class PermissionCreateLecture_GUI extends JFrame { contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); getContentPane().add(contentPanel); contentPanel.setLayout(null); - Object[] rowdata={"Max Mustermann", new Boolean(false),new Boolean(false),new Boolean(false),new Boolean(false)}; + Object[] rowdata = { "Max Mustermann", new Boolean(false), + new Boolean(false), new Boolean(false), new Boolean(false) }; model.addRow(rowdata); - + + 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(4).setWidth(0); + table.getColumnModel().getColumn(4).setMinWidth(0); + table.getColumnModel().getColumn(4).setMaxWidth(0); + + // if new session, get values for table from database + if (RightsManagement.rightsManagement.getPermittedUserList().size() <= 0) { + System.out.println("Loading data from db"); + // System.out.println(RightsManagement.rightsManagement.getPmImageCreateList().size()); + + // person.verantwortlicher.getUserID(); + // System.out.println("Current userID: " + // +person.verantwortlicher.getUserID()); + + try { + map = client.getAllOtherSatelliteUsers(person.verantwortlicher + .getUserID()); + Iterator 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("reading from model"); + System.out + .println("RightsManagement.rightsManagement.getPermittedUserList().size() = " + + RightsManagement.rightsManagement + .getPermittedUserList().size()); + + List listt = RightsManagement.rightsManagement + .getPermittedUserList(); + Iterator 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++; + } + }// end set list of permitted users + // table wird hier nie initialisiert und ist entsprechend null - if (table == null) LOGGER.error("NPE incoming..."); - 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])); - - 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])); - - 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])); - - tc1.setHeaderRenderer(new CheckBoxHeader(new MyItemListener1(),(String) titles[1])); - tc2.setHeaderRenderer(new CheckBoxHeader(new MyItemListener2(),(String) titles[2])); - tc3.setHeaderRenderer(new CheckBoxHeader(new MyItemListener3(),(String) titles[3])); - + if (table == null) + LOGGER.error("NPE incoming..."); + 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])); + + 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])); + + 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])); + + tc1.setHeaderRenderer(new CheckBoxHeader(new MyItemListener1(), + (String) titles[1])); + tc2.setHeaderRenderer(new CheckBoxHeader(new MyItemListener2(), + (String) titles[2])); + tc3.setHeaderRenderer(new CheckBoxHeader(new MyItemListener3(), + (String) titles[3])); + JLabel lblHauptmen = new JLabel("Hauptmenü"); lblHauptmen.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - + PermissionCreateLecture_GUI.this.setVisible(false); - MainMenue_GUI main=new MainMenue_GUI(c); + MainMenue_GUI main = new MainMenue_GUI(c); main.setVisible(true); } }); 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("Veranstaltung"); lblVlimage.setForeground(Color.BLUE); lblVlimage.setBounds(81, 11, 90, 14); contentPanel.add(lblVlimage); - + JLabel label_2 = new JLabel(">"); label_2.setBounds(181, 11, 13, 14); contentPanel.add(label_2); - + JLabel lblNewLabel_1 = new JLabel("Berechtigungen"); lblNewLabel_1.setBounds(194, 11, 95, 14); contentPanel.add(lblNewLabel_1); - + JLabel lblName = new JLabel("Name:"); lblName.setBounds(10, 36, 46, 20); contentPanel.add(lblName); - + textField = new JTextField(); textField.setBounds(69, 36, 171, 20); contentPanel.add(textField); textField.setColumns(10); - + JLabel lblHochschule = new JLabel("Hochschule:"); lblHochschule.setBounds(275, 36, 80, 20); contentPanel.add(lblHochschule); - + JComboBox comboBox = new JComboBox(); - comboBox.setModel(new DefaultComboBoxModel(new String[] {"Hochschule Offenburg", "Hochschule Reutlingen", "Universität Freiburg"})); + comboBox.setModel(new DefaultComboBoxModel(new String[] { + "Hochschule Offenburg", "Hochschule Reutlingen", + "Universität Freiburg" })); comboBox.setBounds(365, 36, 202, 20); contentPanel.add(comboBox); - + JPanel panel = new JPanel(); panel.setBounds(10, 67, 557, 148); 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("Read"); label.setBounds(20, 18, 90, 20); panel.add(label); - + JLabel label_3 = new JLabel("Write"); label_3.setBounds(20, 38, 90, 20); panel.add(label_3); - + JLabel label_5 = new JLabel("Admin"); label_5.setBounds(20, 78, 90, 20); panel.add(label_5); - - JLabel label_7 = new JLabel("Image darf gelesen und gestartet werden und ist in Suchfenster sichtbar."); + + JLabel label_7 = new JLabel( + "Image darf gelesen und gestartet werden und ist in Suchfenster sichtbar."); label_7.setBounds(120, 18, 380, 20); panel.add(label_7); - - JLabel lblimageDarfAngepasst = new JLabel("Image darf angepasst und überschrieben, jedoch nicht gelöscht werden. Berechtigungen für andere Benutzer festlegen"); + + JLabel lblimageDarfAngepasst = new JLabel( + "Image darf angepasst und überschrieben, jedoch nicht gelöscht werden. Berechtigungen für andere Benutzer festlegen"); lblimageDarfAngepasst.setBounds(120, 38, 380, 45); panel.add(lblimageDarfAngepasst); - - JLabel lblvolleRechteRead = new JLabel("Volle Rechte: read, write, löschen und Berechtigungen für andere Benutzer festlegen."); + + JLabel lblvolleRechteRead = new JLabel( + "Volle Rechte: read, write, löschen und Berechtigungen für andere Benutzer festlegen."); lblvolleRechteRead.setBounds(120, 78, 380, 40); panel.add(lblvolleRechteRead); - + JCheckBox checkBox = new JCheckBox(""); checkBox.setBounds(115, 118, 21, 23); panel.add(checkBox); - + JLabel label_4 = new JLabel("Für alle sichtbar"); label_4.setBounds(20, 119, 90, 20); panel.add(label_4); - + JPanel panel_1 = new JPanel(); panel_1.setLayout(null); - panel_1.setBorder(new TitledBorder(null, "Suite-Berechtigungen", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBorder(new TitledBorder(null, "Suite-Berechtigungen", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_1.setBackground(SystemColor.menu); panel_1.setBounds(10, 226, 311, 294); contentPanel.add(panel_1); - + JScrollPane scrollPane = new JScrollPane(); - scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + scrollPane + .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); scrollPane.setBounds(10, 28, 291, 223); panel_1.add(scrollPane); - + JButton button = new JButton("Hinzufügen"); button.setEnabled(false); button.setBounds(10, 260, 89, 23); panel_1.add(button); - + JButton button_1 = new JButton("Löschen"); button_1.setEnabled(false); button_1.setBounds(109, 260, 89, 23); panel_1.add(button_1); - + JPanel panel_2 = new JPanel(); panel_2.setLayout(null); - panel_2.setBorder(new TitledBorder(null, "Sichtbarkeit im VMChooser", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_2.setBorder(new TitledBorder(null, "Sichtbarkeit im VMChooser", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_2.setBackground(SystemColor.menu); panel_2.setBounds(331, 226, 236, 294); contentPanel.add(panel_2); - + JScrollPane scrollPane_1 = new JScrollPane(); - scrollPane_1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + scrollPane_1 + .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); scrollPane_1.setEnabled(false); scrollPane_1.setBounds(23, 88, 203, 161); panel_2.add(scrollPane_1); - + JRadioButton radioButton = new JRadioButton("Sichtbar für alle"); radioButton.setSelected(true); radioButton.setEnabled(false); radioButton.setBounds(6, 32, 109, 23); panel_2.add(radioButton); - + JRadioButton radioButton_1 = new JRadioButton("Individuell"); radioButton_1.setEnabled(false); radioButton_1.setBounds(6, 58, 109, 23); panel_2.add(radioButton_1); - + JButton button_2 = new JButton("Hinzufügen"); button_2.setEnabled(false); button_2.setBounds(23, 260, 89, 23); panel_2.add(button_2); - + JButton button_3 = new JButton("Löschen"); button_3.setEnabled(false); button_3.setBounds(122, 260, 89, 23); @@ -323,26 +443,26 @@ public class PermissionCreateLecture_GUI extends JFrame { JButton cancelButton = new JButton("Zurück"); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - - - CreateLectureAllgemein_GUI sr=new CreateLectureAllgemein_GUI(c); + + CreateLectureAllgemein_GUI sr = new CreateLectureAllgemein_GUI( + c); sr.setVisible(true); dispose(); } }); cancelButton.setActionCommand("OK"); buttonPane.add(cancelButton); - //getRootPane().setDefaultButton(cancelButton); + // getRootPane().setDefaultButton(cancelButton); } { JButton continueButton = new JButton("Weiter"); continueButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - - CreateLectureLink_GUI ea=new CreateLectureLink_GUI(c); + + CreateLectureLink_GUI ea = new CreateLectureLink_GUI(c); ea.setVisible(true); dispose(); - + } }); continueButton.setActionCommand("Cancel"); @@ -350,34 +470,34 @@ public class PermissionCreateLecture_GUI extends JFrame { 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); - + JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); - + JMenu mnNewMenu_1 = new JMenu("Hilfe"); menuBar.add(mnNewMenu_1); - + JMenuItem mntmFaq = new JMenuItem("FAQ"); 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(); @@ -385,7 +505,6 @@ public class PermissionCreateLecture_GUI extends JFrame { } }); mnNewMenu_1.add(mntmFaq); - JMenuItem mntmOtrs = new JMenuItem("OTRS"); mntmOtrs.addMouseListener(new MouseAdapter() { @@ -393,22 +512,22 @@ public class PermissionCreateLecture_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) { @@ -417,131 +536,233 @@ public class PermissionCreateLecture_GUI extends JFrame { } }); mnNewMenu_1.add(mntmAbout); - - + JMenu mnNewMenu_Info = new JMenu("Info"); 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; - + + }// end constructor + + 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.isIntegre(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() + + // Column 0 == Concat user name + + // 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, 2); + } + } + } + + // Admin 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, 3); + } + } + } + + // Invisible userID 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, 4); + } + } + } + + // 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"); + + List list = new ArrayList(); + + 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()); + 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)); + + // check if at least one checkbox is checked. If yes, save this + // entry into list, if not ignore this entry + if (temp.isAdmin() || temp.isLinkAllowed() || temp.isWrite() + || temp.isRead()) { + // save entry + list.add(temp); + } else { + // do nothing + } + } + + 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 { + protected CheckBoxHeader rendererComponent; + protected int column; + protected boolean mousePressed = false; + + public CheckBoxHeader(ItemListener itemListener, String text) { + rendererComponent = this; + rendererComponent.addItemListener(itemListener); + rendererComponent.setText(text); + } + + 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); + } + } + setColumn(column); + // rendererComponent.setText("Check All"); + // setBorder(UIManager.getBorder("TableHeader.cellBorder")); + + return rendererComponent; + } + + protected void setColumn(int column) { + this.column = column; + } + + public int getColumn() { + return column; + } + + 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) { + doClick(); + } + } + } + + public void mouseClicked(MouseEvent e) { + handleClickEvent(e); + ((JTableHeader) e.getSource()).repaint(); + } + + public void mousePressed(MouseEvent e) { + mousePressed = true; + } + + public void mouseReleased(MouseEvent e) { + } + + public void mouseEntered(MouseEvent e) { + } + + public void mouseExited(MouseEvent e) { } - 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,2); - } - } - } - 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,3); - } - } - } - 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,4); - } - } - } } -class CheckBoxHeader extends JCheckBox -implements TableCellRenderer, MouseListener { -protected CheckBoxHeader rendererComponent; -protected int column; -protected boolean mousePressed = false; - -public CheckBoxHeader(ItemListener itemListener ,String text) { -rendererComponent = this; -rendererComponent.addItemListener(itemListener); -rendererComponent.setText(text); -} - -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); - } -} -setColumn(column); -//rendererComponent.setText("Check All"); -//setBorder(UIManager.getBorder("TableHeader.cellBorder")); - -return rendererComponent; -} -protected void setColumn(int column) { -this.column = column; -} -public int getColumn() { -return column; -} -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) { - doClick(); - } -} -} -public void mouseClicked(MouseEvent e) { -handleClickEvent(e); -((JTableHeader)e.getSource()).repaint(); -} -public void mousePressed(MouseEvent e) { -mousePressed = true; -} -public void mouseReleased(MouseEvent e) { -} -public void mouseEntered(MouseEvent e) { -} -public void mouseExited(MouseEvent e) { -} -} diff --git a/dozentenmodul/src/main/java/models/RightsManagement.java b/dozentenmodul/src/main/java/models/RightsManagement.java index 38661870..d2de8e8c 100644 --- a/dozentenmodul/src/main/java/models/RightsManagement.java +++ b/dozentenmodul/src/main/java/models/RightsManagement.java @@ -10,22 +10,19 @@ public class RightsManagement { // } + //list which holds all selected users and permissions for this session and type (either for image or lecture, depending on + private List permittedUserList = new ArrayList(); - - //list which holds all users and (non-)selected values of the table rightstable in permissionCreateImage - private List pmImageCreateList = new ArrayList(); - - - + public static RightsManagement rightsManagement = new RightsManagement(); - public List getPmImageCreateList() { - return pmImageCreateList; + public List getPermittedUserList() { + return permittedUserList; } - public void setPmImageCreateList(List list) { - this.pmImageCreateList = list; + public void setPermittedUserList(List list) { + this.permittedUserList = list; } } diff --git a/dozentenmodulserver/src/main/java/server/ServerHandler.java b/dozentenmodulserver/src/main/java/server/ServerHandler.java index e5b4caa8..af2734df 100644 --- a/dozentenmodulserver/src/main/java/server/ServerHandler.java +++ b/dozentenmodulserver/src/main/java/server/ServerHandler.java @@ -575,5 +575,10 @@ public class ServerHandler implements Server.Iface { log.info(new Date() + " - written additional image rights for "+userID); return success; } + + @Override + public List getPermissionForUserAndImage(String userID, String imageID) throws TException { + return sql.getPermissionForUserAndImage(userID, imageID); + } }// end class diff --git a/dozentenmodulserver/src/main/java/server/generated/Person.java b/dozentenmodulserver/src/main/java/server/generated/Person.java index 19084ac9..8129579b 100644 --- a/dozentenmodulserver/src/main/java/server/generated/Person.java +++ b/dozentenmodulserver/src/main/java/server/generated/Person.java @@ -38,6 +38,13 @@ public class Person implements org.apache.thrift.TBase, private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userID", org.apache.thrift.protocol.TType.STRING, (short)1); private static final org.apache.thrift.protocol.TField NACHNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("Nachname", org.apache.thrift.protocol.TType.STRING, (short)2); private static final org.apache.thrift.protocol.TField VORNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("Vorname", org.apache.thrift.protocol.TType.STRING, (short)3); + private static final org.apache.thrift.protocol.TField IMAGE_READ_FIELD_DESC = new org.apache.thrift.protocol.TField("image_read", org.apache.thrift.protocol.TType.BOOL, (short)4); + private static final org.apache.thrift.protocol.TField IMAGE_WRITE_FIELD_DESC = new org.apache.thrift.protocol.TField("image_write", org.apache.thrift.protocol.TType.BOOL, (short)5); + private static final org.apache.thrift.protocol.TField IMAGE_ADMIN_FIELD_DESC = new org.apache.thrift.protocol.TField("image_admin", org.apache.thrift.protocol.TType.BOOL, (short)6); + private static final org.apache.thrift.protocol.TField IMAGE_LINK_FIELD_DESC = new org.apache.thrift.protocol.TField("image_link", org.apache.thrift.protocol.TType.BOOL, (short)7); + private static final org.apache.thrift.protocol.TField LECTURE_READ_FIELD_DESC = new org.apache.thrift.protocol.TField("lecture_read", org.apache.thrift.protocol.TType.BOOL, (short)8); + private static final org.apache.thrift.protocol.TField LECTURE_WRITE_FIELD_DESC = new org.apache.thrift.protocol.TField("lecture_write", org.apache.thrift.protocol.TType.BOOL, (short)9); + private static final org.apache.thrift.protocol.TField LECTURE_ADMIN_FIELD_DESC = new org.apache.thrift.protocol.TField("lecture_admin", org.apache.thrift.protocol.TType.BOOL, (short)10); private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); static { @@ -48,12 +55,26 @@ public class Person implements org.apache.thrift.TBase, public String userID; // required public String Nachname; // required public String Vorname; // required + public boolean image_read; // required + public boolean image_write; // required + public boolean image_admin; // required + public boolean image_link; // required + public boolean lecture_read; // required + public boolean lecture_write; // required + public boolean lecture_admin; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { USER_ID((short)1, "userID"), NACHNAME((short)2, "Nachname"), - VORNAME((short)3, "Vorname"); + VORNAME((short)3, "Vorname"), + IMAGE_READ((short)4, "image_read"), + IMAGE_WRITE((short)5, "image_write"), + IMAGE_ADMIN((short)6, "image_admin"), + IMAGE_LINK((short)7, "image_link"), + LECTURE_READ((short)8, "lecture_read"), + LECTURE_WRITE((short)9, "lecture_write"), + LECTURE_ADMIN((short)10, "lecture_admin"); private static final Map byName = new HashMap(); @@ -74,6 +95,20 @@ public class Person implements org.apache.thrift.TBase, return NACHNAME; case 3: // VORNAME return VORNAME; + case 4: // IMAGE_READ + return IMAGE_READ; + case 5: // IMAGE_WRITE + return IMAGE_WRITE; + case 6: // IMAGE_ADMIN + return IMAGE_ADMIN; + case 7: // IMAGE_LINK + return IMAGE_LINK; + case 8: // LECTURE_READ + return LECTURE_READ; + case 9: // LECTURE_WRITE + return LECTURE_WRITE; + case 10: // LECTURE_ADMIN + return LECTURE_ADMIN; default: return null; } @@ -114,6 +149,14 @@ public class Person implements org.apache.thrift.TBase, } // isset id assignments + private static final int __IMAGE_READ_ISSET_ID = 0; + private static final int __IMAGE_WRITE_ISSET_ID = 1; + private static final int __IMAGE_ADMIN_ISSET_ID = 2; + private static final int __IMAGE_LINK_ISSET_ID = 3; + private static final int __LECTURE_READ_ISSET_ID = 4; + private static final int __LECTURE_WRITE_ISSET_ID = 5; + private static final int __LECTURE_ADMIN_ISSET_ID = 6; + private byte __isset_bitfield = 0; public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -123,6 +166,20 @@ public class Person implements org.apache.thrift.TBase, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); tmpMap.put(_Fields.VORNAME, new org.apache.thrift.meta_data.FieldMetaData("Vorname", org.apache.thrift.TFieldRequirementType.DEFAULT, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.IMAGE_READ, new org.apache.thrift.meta_data.FieldMetaData("image_read", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.IMAGE_WRITE, new org.apache.thrift.meta_data.FieldMetaData("image_write", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.IMAGE_ADMIN, new org.apache.thrift.meta_data.FieldMetaData("image_admin", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.IMAGE_LINK, new org.apache.thrift.meta_data.FieldMetaData("image_link", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.LECTURE_READ, new org.apache.thrift.meta_data.FieldMetaData("lecture_read", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.LECTURE_WRITE, new org.apache.thrift.meta_data.FieldMetaData("lecture_write", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.LECTURE_ADMIN, new org.apache.thrift.meta_data.FieldMetaData("lecture_admin", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); metaDataMap = Collections.unmodifiableMap(tmpMap); org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Person.class, metaDataMap); } @@ -133,18 +190,40 @@ public class Person implements org.apache.thrift.TBase, public Person( String userID, String Nachname, - String Vorname) + String Vorname, + boolean image_read, + boolean image_write, + boolean image_admin, + boolean image_link, + boolean lecture_read, + boolean lecture_write, + boolean lecture_admin) { this(); this.userID = userID; this.Nachname = Nachname; this.Vorname = Vorname; + this.image_read = image_read; + setImage_readIsSet(true); + this.image_write = image_write; + setImage_writeIsSet(true); + this.image_admin = image_admin; + setImage_adminIsSet(true); + this.image_link = image_link; + setImage_linkIsSet(true); + this.lecture_read = lecture_read; + setLecture_readIsSet(true); + this.lecture_write = lecture_write; + setLecture_writeIsSet(true); + this.lecture_admin = lecture_admin; + setLecture_adminIsSet(true); } /** * Performs a deep copy on other. */ public Person(Person other) { + __isset_bitfield = other.__isset_bitfield; if (other.isSetUserID()) { this.userID = other.userID; } @@ -154,6 +233,13 @@ public class Person implements org.apache.thrift.TBase, if (other.isSetVorname()) { this.Vorname = other.Vorname; } + this.image_read = other.image_read; + this.image_write = other.image_write; + this.image_admin = other.image_admin; + this.image_link = other.image_link; + this.lecture_read = other.lecture_read; + this.lecture_write = other.lecture_write; + this.lecture_admin = other.lecture_admin; } public Person deepCopy() { @@ -165,6 +251,20 @@ public class Person implements org.apache.thrift.TBase, this.userID = null; this.Nachname = null; this.Vorname = null; + setImage_readIsSet(false); + this.image_read = false; + setImage_writeIsSet(false); + this.image_write = false; + setImage_adminIsSet(false); + this.image_admin = false; + setImage_linkIsSet(false); + this.image_link = false; + setLecture_readIsSet(false); + this.lecture_read = false; + setLecture_writeIsSet(false); + this.lecture_write = false; + setLecture_adminIsSet(false); + this.lecture_admin = false; } public String getUserID() { @@ -239,6 +339,167 @@ public class Person implements org.apache.thrift.TBase, } } + public boolean isImage_read() { + return this.image_read; + } + + public Person setImage_read(boolean image_read) { + this.image_read = image_read; + setImage_readIsSet(true); + return this; + } + + public void unsetImage_read() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __IMAGE_READ_ISSET_ID); + } + + /** Returns true if field image_read is set (has been assigned a value) and false otherwise */ + public boolean isSetImage_read() { + return EncodingUtils.testBit(__isset_bitfield, __IMAGE_READ_ISSET_ID); + } + + public void setImage_readIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __IMAGE_READ_ISSET_ID, value); + } + + public boolean isImage_write() { + return this.image_write; + } + + public Person setImage_write(boolean image_write) { + this.image_write = image_write; + setImage_writeIsSet(true); + return this; + } + + public void unsetImage_write() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __IMAGE_WRITE_ISSET_ID); + } + + /** Returns true if field image_write is set (has been assigned a value) and false otherwise */ + public boolean isSetImage_write() { + return EncodingUtils.testBit(__isset_bitfield, __IMAGE_WRITE_ISSET_ID); + } + + public void setImage_writeIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __IMAGE_WRITE_ISSET_ID, value); + } + + public boolean isImage_admin() { + return this.image_admin; + } + + public Person setImage_admin(boolean image_admin) { + this.image_admin = image_admin; + setImage_adminIsSet(true); + return this; + } + + public void unsetImage_admin() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __IMAGE_ADMIN_ISSET_ID); + } + + /** Returns true if field image_admin is set (has been assigned a value) and false otherwise */ + public boolean isSetImage_admin() { + return EncodingUtils.testBit(__isset_bitfield, __IMAGE_ADMIN_ISSET_ID); + } + + public void setImage_adminIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __IMAGE_ADMIN_ISSET_ID, value); + } + + public boolean isImage_link() { + return this.image_link; + } + + public Person setImage_link(boolean image_link) { + this.image_link = image_link; + setImage_linkIsSet(true); + return this; + } + + public void unsetImage_link() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __IMAGE_LINK_ISSET_ID); + } + + /** Returns true if field image_link is set (has been assigned a value) and false otherwise */ + public boolean isSetImage_link() { + return EncodingUtils.testBit(__isset_bitfield, __IMAGE_LINK_ISSET_ID); + } + + public void setImage_linkIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __IMAGE_LINK_ISSET_ID, value); + } + + public boolean isLecture_read() { + return this.lecture_read; + } + + public Person setLecture_read(boolean lecture_read) { + this.lecture_read = lecture_read; + setLecture_readIsSet(true); + return this; + } + + public void unsetLecture_read() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __LECTURE_READ_ISSET_ID); + } + + /** Returns true if field lecture_read is set (has been assigned a value) and false otherwise */ + public boolean isSetLecture_read() { + return EncodingUtils.testBit(__isset_bitfield, __LECTURE_READ_ISSET_ID); + } + + public void setLecture_readIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __LECTURE_READ_ISSET_ID, value); + } + + public boolean isLecture_write() { + return this.lecture_write; + } + + public Person setLecture_write(boolean lecture_write) { + this.lecture_write = lecture_write; + setLecture_writeIsSet(true); + return this; + } + + public void unsetLecture_write() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __LECTURE_WRITE_ISSET_ID); + } + + /** Returns true if field lecture_write is set (has been assigned a value) and false otherwise */ + public boolean isSetLecture_write() { + return EncodingUtils.testBit(__isset_bitfield, __LECTURE_WRITE_ISSET_ID); + } + + public void setLecture_writeIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __LECTURE_WRITE_ISSET_ID, value); + } + + public boolean isLecture_admin() { + return this.lecture_admin; + } + + public Person setLecture_admin(boolean lecture_admin) { + this.lecture_admin = lecture_admin; + setLecture_adminIsSet(true); + return this; + } + + public void unsetLecture_admin() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __LECTURE_ADMIN_ISSET_ID); + } + + /** Returns true if field lecture_admin is set (has been assigned a value) and false otherwise */ + public boolean isSetLecture_admin() { + return EncodingUtils.testBit(__isset_bitfield, __LECTURE_ADMIN_ISSET_ID); + } + + public void setLecture_adminIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __LECTURE_ADMIN_ISSET_ID, value); + } + public void setFieldValue(_Fields field, Object value) { switch (field) { case USER_ID: @@ -265,6 +526,62 @@ public class Person implements org.apache.thrift.TBase, } break; + case IMAGE_READ: + if (value == null) { + unsetImage_read(); + } else { + setImage_read((Boolean)value); + } + break; + + case IMAGE_WRITE: + if (value == null) { + unsetImage_write(); + } else { + setImage_write((Boolean)value); + } + break; + + case IMAGE_ADMIN: + if (value == null) { + unsetImage_admin(); + } else { + setImage_admin((Boolean)value); + } + break; + + case IMAGE_LINK: + if (value == null) { + unsetImage_link(); + } else { + setImage_link((Boolean)value); + } + break; + + case LECTURE_READ: + if (value == null) { + unsetLecture_read(); + } else { + setLecture_read((Boolean)value); + } + break; + + case LECTURE_WRITE: + if (value == null) { + unsetLecture_write(); + } else { + setLecture_write((Boolean)value); + } + break; + + case LECTURE_ADMIN: + if (value == null) { + unsetLecture_admin(); + } else { + setLecture_admin((Boolean)value); + } + break; + } } @@ -279,6 +596,27 @@ public class Person implements org.apache.thrift.TBase, case VORNAME: return getVorname(); + case IMAGE_READ: + return Boolean.valueOf(isImage_read()); + + case IMAGE_WRITE: + return Boolean.valueOf(isImage_write()); + + case IMAGE_ADMIN: + return Boolean.valueOf(isImage_admin()); + + case IMAGE_LINK: + return Boolean.valueOf(isImage_link()); + + case LECTURE_READ: + return Boolean.valueOf(isLecture_read()); + + case LECTURE_WRITE: + return Boolean.valueOf(isLecture_write()); + + case LECTURE_ADMIN: + return Boolean.valueOf(isLecture_admin()); + } throw new IllegalStateException(); } @@ -296,6 +634,20 @@ public class Person implements org.apache.thrift.TBase, return isSetNachname(); case VORNAME: return isSetVorname(); + case IMAGE_READ: + return isSetImage_read(); + case IMAGE_WRITE: + return isSetImage_write(); + case IMAGE_ADMIN: + return isSetImage_admin(); + case IMAGE_LINK: + return isSetImage_link(); + case LECTURE_READ: + return isSetLecture_read(); + case LECTURE_WRITE: + return isSetLecture_write(); + case LECTURE_ADMIN: + return isSetLecture_admin(); } throw new IllegalStateException(); } @@ -340,6 +692,69 @@ public class Person implements org.apache.thrift.TBase, return false; } + boolean this_present_image_read = true; + boolean that_present_image_read = true; + if (this_present_image_read || that_present_image_read) { + if (!(this_present_image_read && that_present_image_read)) + return false; + if (this.image_read != that.image_read) + return false; + } + + boolean this_present_image_write = true; + boolean that_present_image_write = true; + if (this_present_image_write || that_present_image_write) { + if (!(this_present_image_write && that_present_image_write)) + return false; + if (this.image_write != that.image_write) + return false; + } + + boolean this_present_image_admin = true; + boolean that_present_image_admin = true; + if (this_present_image_admin || that_present_image_admin) { + if (!(this_present_image_admin && that_present_image_admin)) + return false; + if (this.image_admin != that.image_admin) + return false; + } + + boolean this_present_image_link = true; + boolean that_present_image_link = true; + if (this_present_image_link || that_present_image_link) { + if (!(this_present_image_link && that_present_image_link)) + return false; + if (this.image_link != that.image_link) + return false; + } + + boolean this_present_lecture_read = true; + boolean that_present_lecture_read = true; + if (this_present_lecture_read || that_present_lecture_read) { + if (!(this_present_lecture_read && that_present_lecture_read)) + return false; + if (this.lecture_read != that.lecture_read) + return false; + } + + boolean this_present_lecture_write = true; + boolean that_present_lecture_write = true; + if (this_present_lecture_write || that_present_lecture_write) { + if (!(this_present_lecture_write && that_present_lecture_write)) + return false; + if (this.lecture_write != that.lecture_write) + return false; + } + + boolean this_present_lecture_admin = true; + boolean that_present_lecture_admin = true; + if (this_present_lecture_admin || that_present_lecture_admin) { + if (!(this_present_lecture_admin && that_present_lecture_admin)) + return false; + if (this.lecture_admin != that.lecture_admin) + return false; + } + return true; } @@ -386,6 +801,76 @@ public class Person implements org.apache.thrift.TBase, return lastComparison; } } + lastComparison = Boolean.valueOf(isSetImage_read()).compareTo(other.isSetImage_read()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetImage_read()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.image_read, other.image_read); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetImage_write()).compareTo(other.isSetImage_write()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetImage_write()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.image_write, other.image_write); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetImage_admin()).compareTo(other.isSetImage_admin()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetImage_admin()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.image_admin, other.image_admin); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetImage_link()).compareTo(other.isSetImage_link()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetImage_link()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.image_link, other.image_link); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetLecture_read()).compareTo(other.isSetLecture_read()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetLecture_read()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.lecture_read, other.lecture_read); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetLecture_write()).compareTo(other.isSetLecture_write()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetLecture_write()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.lecture_write, other.lecture_write); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetLecture_admin()).compareTo(other.isSetLecture_admin()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetLecture_admin()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.lecture_admin, other.lecture_admin); + if (lastComparison != 0) { + return lastComparison; + } + } return 0; } @@ -429,6 +914,34 @@ public class Person implements org.apache.thrift.TBase, sb.append(this.Vorname); } first = false; + if (!first) sb.append(", "); + sb.append("image_read:"); + sb.append(this.image_read); + first = false; + if (!first) sb.append(", "); + sb.append("image_write:"); + sb.append(this.image_write); + first = false; + if (!first) sb.append(", "); + sb.append("image_admin:"); + sb.append(this.image_admin); + first = false; + if (!first) sb.append(", "); + sb.append("image_link:"); + sb.append(this.image_link); + first = false; + if (!first) sb.append(", "); + sb.append("lecture_read:"); + sb.append(this.lecture_read); + first = false; + if (!first) sb.append(", "); + sb.append("lecture_write:"); + sb.append(this.lecture_write); + first = false; + if (!first) sb.append(", "); + sb.append("lecture_admin:"); + sb.append(this.lecture_admin); + first = false; sb.append(")"); return sb.toString(); } @@ -448,6 +961,8 @@ public class Person implements org.apache.thrift.TBase, private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); @@ -496,6 +1011,62 @@ public class Person implements org.apache.thrift.TBase, org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; + case 4: // IMAGE_READ + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.image_read = iprot.readBool(); + struct.setImage_readIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 5: // IMAGE_WRITE + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.image_write = iprot.readBool(); + struct.setImage_writeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 6: // IMAGE_ADMIN + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.image_admin = iprot.readBool(); + struct.setImage_adminIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 7: // IMAGE_LINK + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.image_link = iprot.readBool(); + struct.setImage_linkIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 8: // LECTURE_READ + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.lecture_read = iprot.readBool(); + struct.setLecture_readIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 9: // LECTURE_WRITE + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.lecture_write = iprot.readBool(); + struct.setLecture_writeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 10: // LECTURE_ADMIN + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.lecture_admin = iprot.readBool(); + struct.setLecture_adminIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; default: org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } @@ -526,6 +1097,27 @@ public class Person implements org.apache.thrift.TBase, oprot.writeString(struct.Vorname); oprot.writeFieldEnd(); } + oprot.writeFieldBegin(IMAGE_READ_FIELD_DESC); + oprot.writeBool(struct.image_read); + oprot.writeFieldEnd(); + oprot.writeFieldBegin(IMAGE_WRITE_FIELD_DESC); + oprot.writeBool(struct.image_write); + oprot.writeFieldEnd(); + oprot.writeFieldBegin(IMAGE_ADMIN_FIELD_DESC); + oprot.writeBool(struct.image_admin); + oprot.writeFieldEnd(); + oprot.writeFieldBegin(IMAGE_LINK_FIELD_DESC); + oprot.writeBool(struct.image_link); + oprot.writeFieldEnd(); + oprot.writeFieldBegin(LECTURE_READ_FIELD_DESC); + oprot.writeBool(struct.lecture_read); + oprot.writeFieldEnd(); + oprot.writeFieldBegin(LECTURE_WRITE_FIELD_DESC); + oprot.writeBool(struct.lecture_write); + oprot.writeFieldEnd(); + oprot.writeFieldBegin(LECTURE_ADMIN_FIELD_DESC); + oprot.writeBool(struct.lecture_admin); + oprot.writeFieldEnd(); oprot.writeFieldStop(); oprot.writeStructEnd(); } @@ -553,7 +1145,28 @@ public class Person implements org.apache.thrift.TBase, if (struct.isSetVorname()) { optionals.set(2); } - oprot.writeBitSet(optionals, 3); + if (struct.isSetImage_read()) { + optionals.set(3); + } + if (struct.isSetImage_write()) { + optionals.set(4); + } + if (struct.isSetImage_admin()) { + optionals.set(5); + } + if (struct.isSetImage_link()) { + optionals.set(6); + } + if (struct.isSetLecture_read()) { + optionals.set(7); + } + if (struct.isSetLecture_write()) { + optionals.set(8); + } + if (struct.isSetLecture_admin()) { + optionals.set(9); + } + oprot.writeBitSet(optionals, 10); if (struct.isSetUserID()) { oprot.writeString(struct.userID); } @@ -563,12 +1176,33 @@ public class Person implements org.apache.thrift.TBase, if (struct.isSetVorname()) { oprot.writeString(struct.Vorname); } + if (struct.isSetImage_read()) { + oprot.writeBool(struct.image_read); + } + if (struct.isSetImage_write()) { + oprot.writeBool(struct.image_write); + } + if (struct.isSetImage_admin()) { + oprot.writeBool(struct.image_admin); + } + if (struct.isSetImage_link()) { + oprot.writeBool(struct.image_link); + } + if (struct.isSetLecture_read()) { + oprot.writeBool(struct.lecture_read); + } + if (struct.isSetLecture_write()) { + oprot.writeBool(struct.lecture_write); + } + if (struct.isSetLecture_admin()) { + oprot.writeBool(struct.lecture_admin); + } } @Override public void read(org.apache.thrift.protocol.TProtocol prot, Person struct) throws org.apache.thrift.TException { TTupleProtocol iprot = (TTupleProtocol) prot; - BitSet incoming = iprot.readBitSet(3); + BitSet incoming = iprot.readBitSet(10); if (incoming.get(0)) { struct.userID = iprot.readString(); struct.setUserIDIsSet(true); @@ -581,6 +1215,34 @@ public class Person implements org.apache.thrift.TBase, struct.Vorname = iprot.readString(); struct.setVornameIsSet(true); } + if (incoming.get(3)) { + struct.image_read = iprot.readBool(); + struct.setImage_readIsSet(true); + } + if (incoming.get(4)) { + struct.image_write = iprot.readBool(); + struct.setImage_writeIsSet(true); + } + if (incoming.get(5)) { + struct.image_admin = iprot.readBool(); + struct.setImage_adminIsSet(true); + } + if (incoming.get(6)) { + struct.image_link = iprot.readBool(); + struct.setImage_linkIsSet(true); + } + if (incoming.get(7)) { + struct.lecture_read = iprot.readBool(); + struct.setLecture_readIsSet(true); + } + if (incoming.get(8)) { + struct.lecture_write = iprot.readBool(); + struct.setLecture_writeIsSet(true); + } + if (incoming.get(9)) { + struct.lecture_admin = iprot.readBool(); + struct.setLecture_adminIsSet(true); + } } } diff --git a/dozentenmodulserver/src/main/java/server/generated/Server.java b/dozentenmodulserver/src/main/java/server/generated/Server.java index 424bd869..364331a5 100644 --- a/dozentenmodulserver/src/main/java/server/generated/Server.java +++ b/dozentenmodulserver/src/main/java/server/generated/Server.java @@ -90,6 +90,8 @@ public class Server { public boolean writeAdditionalImageRights(String imageName, String userID, boolean isRead, boolean isWrite, boolean isLinkAllowed, boolean isAdmin) throws org.apache.thrift.TException; + public List getPermissionForUserAndImage(String userID, String imageID) throws org.apache.thrift.TException; + } public interface AsyncIface { @@ -148,6 +150,8 @@ public class Server { public void writeAdditionalImageRights(String imageName, String userID, boolean isRead, boolean isWrite, boolean isLinkAllowed, boolean isAdmin, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + public void getPermissionForUserAndImage(String userID, String imageID, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + } public static class Client extends org.apache.thrift.TServiceClient implements Iface { @@ -875,6 +879,30 @@ public class Server { throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "writeAdditionalImageRights failed: unknown result"); } + public List getPermissionForUserAndImage(String userID, String imageID) throws org.apache.thrift.TException + { + send_getPermissionForUserAndImage(userID, imageID); + return recv_getPermissionForUserAndImage(); + } + + public void send_getPermissionForUserAndImage(String userID, String imageID) throws org.apache.thrift.TException + { + getPermissionForUserAndImage_args args = new getPermissionForUserAndImage_args(); + args.setUserID(userID); + args.setImageID(imageID); + sendBase("getPermissionForUserAndImage", args); + } + + public List recv_getPermissionForUserAndImage() throws org.apache.thrift.TException + { + getPermissionForUserAndImage_result result = new getPermissionForUserAndImage_result(); + receiveBase(result, "getPermissionForUserAndImage"); + if (result.isSetSuccess()) { + return result.success; + } + throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getPermissionForUserAndImage failed: unknown result"); + } + } public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface { public static class Factory implements org.apache.thrift.async.TAsyncClientFactory { @@ -2009,6 +2037,41 @@ public class Server { } } + public void getPermissionForUserAndImage(String userID, String imageID, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + getPermissionForUserAndImage_call method_call = new getPermissionForUserAndImage_call(userID, imageID, resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class getPermissionForUserAndImage_call extends org.apache.thrift.async.TAsyncMethodCall { + private String userID; + private String imageID; + public getPermissionForUserAndImage_call(String userID, String imageID, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + super(client, protocolFactory, transport, resultHandler, false); + this.userID = userID; + this.imageID = imageID; + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getPermissionForUserAndImage", org.apache.thrift.protocol.TMessageType.CALL, 0)); + getPermissionForUserAndImage_args args = new getPermissionForUserAndImage_args(); + args.setUserID(userID); + args.setImageID(imageID); + args.write(prot); + prot.writeMessageEnd(); + } + + public List getResult() throws org.apache.thrift.TException { + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_getPermissionForUserAndImage(); + } + } + } public static class Processor extends org.apache.thrift.TBaseProcessor implements org.apache.thrift.TProcessor { @@ -2049,6 +2112,7 @@ public class Server { processMap.put("writeLectureRights", new writeLectureRights()); processMap.put("getAllOtherSatelliteUsers", new getAllOtherSatelliteUsers()); processMap.put("writeAdditionalImageRights", new writeAdditionalImageRights()); + processMap.put("getPermissionForUserAndImage", new getPermissionForUserAndImage()); return processMap; } @@ -2607,6 +2671,26 @@ public class Server { } } + public static class getPermissionForUserAndImage extends org.apache.thrift.ProcessFunction { + public getPermissionForUserAndImage() { + super("getPermissionForUserAndImage"); + } + + public getPermissionForUserAndImage_args getEmptyArgsInstance() { + return new getPermissionForUserAndImage_args(); + } + + protected boolean isOneway() { + return false; + } + + public getPermissionForUserAndImage_result getResult(I iface, getPermissionForUserAndImage_args args) throws org.apache.thrift.TException { + getPermissionForUserAndImage_result result = new getPermissionForUserAndImage_result(); + result.success = iface.getPermissionForUserAndImage(args.userID, args.imageID); + return result; + } + } + } public static class AsyncProcessor extends org.apache.thrift.TBaseAsyncProcessor { @@ -2647,6 +2731,7 @@ public class Server { processMap.put("writeLectureRights", new writeLectureRights()); processMap.put("getAllOtherSatelliteUsers", new getAllOtherSatelliteUsers()); processMap.put("writeAdditionalImageRights", new writeAdditionalImageRights()); + processMap.put("getPermissionForUserAndImage", new getPermissionForUserAndImage()); return processMap; } @@ -4042,6 +4127,57 @@ public class Server { } } + public static class getPermissionForUserAndImage extends org.apache.thrift.AsyncProcessFunction> { + public getPermissionForUserAndImage() { + super("getPermissionForUserAndImage"); + } + + public getPermissionForUserAndImage_args getEmptyArgsInstance() { + return new getPermissionForUserAndImage_args(); + } + + public AsyncMethodCallback> getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback>() { + public void onComplete(List o) { + getPermissionForUserAndImage_result result = new getPermissionForUserAndImage_result(); + result.success = o; + try { + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid); + return; + } catch (Exception e) { + LOGGER.error("Exception writing to internal frame buffer", e); + } + fb.close(); + } + public void onError(Exception e) { + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY; + org.apache.thrift.TBase msg; + getPermissionForUserAndImage_result result = new getPermissionForUserAndImage_result(); + { + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage()); + } + try { + fcall.sendResponse(fb,msg,msgType,seqid); + return; + } catch (Exception ex) { + LOGGER.error("Exception writing to internal frame buffer", ex); + } + fb.close(); + } + }; + } + + protected boolean isOneway() { + return false; + } + + public void start(I iface, getPermissionForUserAndImage_args args, org.apache.thrift.async.AsyncMethodCallback> resultHandler) throws TException { + iface.getPermissionForUserAndImage(args.userID, args.imageID,resultHandler); + } + } + } public static class getFtpUser_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { @@ -31957,4 +32093,866 @@ public class Server { } + public static class getPermissionForUserAndImage_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPermissionForUserAndImage_args"); + + private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userID", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final org.apache.thrift.protocol.TField IMAGE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("imageID", org.apache.thrift.protocol.TType.STRING, (short)2); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new getPermissionForUserAndImage_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new getPermissionForUserAndImage_argsTupleSchemeFactory()); + } + + public String userID; // required + public String imageID; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + USER_ID((short)1, "userID"), + IMAGE_ID((short)2, "imageID"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // USER_ID + return USER_ID; + case 2: // IMAGE_ID + return IMAGE_ID; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userID", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.IMAGE_ID, new org.apache.thrift.meta_data.FieldMetaData("imageID", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPermissionForUserAndImage_args.class, metaDataMap); + } + + public getPermissionForUserAndImage_args() { + } + + public getPermissionForUserAndImage_args( + String userID, + String imageID) + { + this(); + this.userID = userID; + this.imageID = imageID; + } + + /** + * Performs a deep copy on other. + */ + public getPermissionForUserAndImage_args(getPermissionForUserAndImage_args other) { + if (other.isSetUserID()) { + this.userID = other.userID; + } + if (other.isSetImageID()) { + this.imageID = other.imageID; + } + } + + public getPermissionForUserAndImage_args deepCopy() { + return new getPermissionForUserAndImage_args(this); + } + + @Override + public void clear() { + this.userID = null; + this.imageID = null; + } + + public String getUserID() { + return this.userID; + } + + public getPermissionForUserAndImage_args setUserID(String userID) { + this.userID = userID; + return this; + } + + public void unsetUserID() { + this.userID = null; + } + + /** Returns true if field userID is set (has been assigned a value) and false otherwise */ + public boolean isSetUserID() { + return this.userID != null; + } + + public void setUserIDIsSet(boolean value) { + if (!value) { + this.userID = null; + } + } + + public String getImageID() { + return this.imageID; + } + + public getPermissionForUserAndImage_args setImageID(String imageID) { + this.imageID = imageID; + return this; + } + + public void unsetImageID() { + this.imageID = null; + } + + /** Returns true if field imageID is set (has been assigned a value) and false otherwise */ + public boolean isSetImageID() { + return this.imageID != null; + } + + public void setImageIDIsSet(boolean value) { + if (!value) { + this.imageID = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case USER_ID: + if (value == null) { + unsetUserID(); + } else { + setUserID((String)value); + } + break; + + case IMAGE_ID: + if (value == null) { + unsetImageID(); + } else { + setImageID((String)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case USER_ID: + return getUserID(); + + case IMAGE_ID: + return getImageID(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case USER_ID: + return isSetUserID(); + case IMAGE_ID: + return isSetImageID(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof getPermissionForUserAndImage_args) + return this.equals((getPermissionForUserAndImage_args)that); + return false; + } + + public boolean equals(getPermissionForUserAndImage_args that) { + if (that == null) + return false; + + boolean this_present_userID = true && this.isSetUserID(); + boolean that_present_userID = true && that.isSetUserID(); + if (this_present_userID || that_present_userID) { + if (!(this_present_userID && that_present_userID)) + return false; + if (!this.userID.equals(that.userID)) + return false; + } + + boolean this_present_imageID = true && this.isSetImageID(); + boolean that_present_imageID = true && that.isSetImageID(); + if (this_present_imageID || that_present_imageID) { + if (!(this_present_imageID && that_present_imageID)) + return false; + if (!this.imageID.equals(that.imageID)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + return 0; + } + + @Override + public int compareTo(getPermissionForUserAndImage_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetUserID()).compareTo(other.isSetUserID()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetUserID()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userID, other.userID); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetImageID()).compareTo(other.isSetImageID()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetImageID()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.imageID, other.imageID); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("getPermissionForUserAndImage_args("); + boolean first = true; + + sb.append("userID:"); + if (this.userID == null) { + sb.append("null"); + } else { + sb.append(this.userID); + } + first = false; + if (!first) sb.append(", "); + sb.append("imageID:"); + if (this.imageID == null) { + sb.append("null"); + } else { + sb.append(this.imageID); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class getPermissionForUserAndImage_argsStandardSchemeFactory implements SchemeFactory { + public getPermissionForUserAndImage_argsStandardScheme getScheme() { + return new getPermissionForUserAndImage_argsStandardScheme(); + } + } + + private static class getPermissionForUserAndImage_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, getPermissionForUserAndImage_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // USER_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.userID = iprot.readString(); + struct.setUserIDIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // IMAGE_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.imageID = iprot.readString(); + struct.setImageIDIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, getPermissionForUserAndImage_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.userID != null) { + oprot.writeFieldBegin(USER_ID_FIELD_DESC); + oprot.writeString(struct.userID); + oprot.writeFieldEnd(); + } + if (struct.imageID != null) { + oprot.writeFieldBegin(IMAGE_ID_FIELD_DESC); + oprot.writeString(struct.imageID); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class getPermissionForUserAndImage_argsTupleSchemeFactory implements SchemeFactory { + public getPermissionForUserAndImage_argsTupleScheme getScheme() { + return new getPermissionForUserAndImage_argsTupleScheme(); + } + } + + private static class getPermissionForUserAndImage_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, getPermissionForUserAndImage_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetUserID()) { + optionals.set(0); + } + if (struct.isSetImageID()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetUserID()) { + oprot.writeString(struct.userID); + } + if (struct.isSetImageID()) { + oprot.writeString(struct.imageID); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, getPermissionForUserAndImage_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.userID = iprot.readString(); + struct.setUserIDIsSet(true); + } + if (incoming.get(1)) { + struct.imageID = iprot.readString(); + struct.setImageIDIsSet(true); + } + } + } + + } + + public static class getPermissionForUserAndImage_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPermissionForUserAndImage_result"); + + private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new getPermissionForUserAndImage_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new getPermissionForUserAndImage_resultTupleSchemeFactory()); + } + + public List success; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SUCCESS((short)0, "success"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Person.class)))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPermissionForUserAndImage_result.class, metaDataMap); + } + + public getPermissionForUserAndImage_result() { + } + + public getPermissionForUserAndImage_result( + List success) + { + this(); + this.success = success; + } + + /** + * Performs a deep copy on other. + */ + public getPermissionForUserAndImage_result(getPermissionForUserAndImage_result other) { + if (other.isSetSuccess()) { + List __this__success = new ArrayList(other.success.size()); + for (Person other_element : other.success) { + __this__success.add(new Person(other_element)); + } + this.success = __this__success; + } + } + + public getPermissionForUserAndImage_result deepCopy() { + return new getPermissionForUserAndImage_result(this); + } + + @Override + public void clear() { + this.success = null; + } + + public int getSuccessSize() { + return (this.success == null) ? 0 : this.success.size(); + } + + public java.util.Iterator getSuccessIterator() { + return (this.success == null) ? null : this.success.iterator(); + } + + public void addToSuccess(Person elem) { + if (this.success == null) { + this.success = new ArrayList(); + } + this.success.add(elem); + } + + public List getSuccess() { + return this.success; + } + + public getPermissionForUserAndImage_result setSuccess(List success) { + this.success = success; + return this; + } + + public void unsetSuccess() { + this.success = null; + } + + /** Returns true if field success is set (has been assigned a value) and false otherwise */ + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((List)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SUCCESS: + return getSuccess(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SUCCESS: + return isSetSuccess(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof getPermissionForUserAndImage_result) + return this.equals((getPermissionForUserAndImage_result)that); + return false; + } + + public boolean equals(getPermissionForUserAndImage_result that) { + if (that == null) + return false; + + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); + if (this_present_success || that_present_success) { + if (!(this_present_success && that_present_success)) + return false; + if (!this.success.equals(that.success)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + return 0; + } + + @Override + public int compareTo(getPermissionForUserAndImage_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("getPermissionForUserAndImage_result("); + boolean first = true; + + sb.append("success:"); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class getPermissionForUserAndImage_resultStandardSchemeFactory implements SchemeFactory { + public getPermissionForUserAndImage_resultStandardScheme getScheme() { + return new getPermissionForUserAndImage_resultStandardScheme(); + } + } + + private static class getPermissionForUserAndImage_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, getPermissionForUserAndImage_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list86 = iprot.readListBegin(); + struct.success = new ArrayList(_list86.size); + for (int _i87 = 0; _i87 < _list86.size; ++_i87) + { + Person _elem88; + _elem88 = new Person(); + _elem88.read(iprot); + struct.success.add(_elem88); + } + iprot.readListEnd(); + } + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, getPermissionForUserAndImage_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size())); + for (Person _iter89 : struct.success) + { + _iter89.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class getPermissionForUserAndImage_resultTupleSchemeFactory implements SchemeFactory { + public getPermissionForUserAndImage_resultTupleScheme getScheme() { + return new getPermissionForUserAndImage_resultTupleScheme(); + } + } + + private static class getPermissionForUserAndImage_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, getPermissionForUserAndImage_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetSuccess()) { + { + oprot.writeI32(struct.success.size()); + for (Person _iter90 : struct.success) + { + _iter90.write(oprot); + } + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, getPermissionForUserAndImage_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list91 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.success = new ArrayList(_list91.size); + for (int _i92 = 0; _i92 < _list91.size; ++_i92) + { + Person _elem93; + _elem93 = new Person(); + _elem93.read(iprot); + struct.success.add(_elem93); + } + } + struct.setSuccessIsSet(true); + } + } + } + + } + } diff --git a/dozentenmodulserver/thrift/server.thrift b/dozentenmodulserver/thrift/server.thrift index 31e71d4d..2fd09762 100644 --- a/dozentenmodulserver/thrift/server.thrift +++ b/dozentenmodulserver/thrift/server.thrift @@ -37,8 +37,14 @@ struct Person{ 1: string userID, 2: string Nachname, 3: string Vorname, + 4: bool image_read + 5: bool image_write + 6: bool image_admin + 7: bool image_link + 8: bool lecture_read + 9: bool lecture_write + 10: bool lecture_admin } - service Server{ User getFtpUser(), int DeleteFtpUser(1: string user), @@ -67,4 +73,5 @@ service Server{ bool writeLectureRights(1: string lecturename, 2: string username, 3: string lastName, 4: string firstName, 5: string mail, 6: string university, 7: string role), listgetAllOtherSatelliteUsers(1: string userID), bool writeAdditionalImageRights(1: string imageName, 2: string userID, 3: bool isRead, 4: bool isWrite, 5: bool isLinkAllowed, 6: bool isAdmin), + listgetPermissionForUserAndImage(1: string userID, 2: string imageID), } -- cgit v1.2.3-55-g7522