summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/gui
diff options
context:
space:
mode:
authorNino Breuer2014-10-15 14:10:11 +0200
committerNino Breuer2014-10-15 14:10:11 +0200
commit788c8fbeac35999a0d7308439a00cbbb97c91ac6 (patch)
tree8fe0cd0d938043dec601e13b20303696978c07e1 /dozentenmodul/src/main/java/gui
parentadded functionality: klick on table header also handles all sub-rights (diff)
parent[client] Login_GUI: oops, reactivate the Login by pressing Enter on either th... (diff)
downloadtutor-module-788c8fbeac35999a0d7308439a00cbbb97c91ac6.tar.gz
tutor-module-788c8fbeac35999a0d7308439a00cbbb97c91ac6.tar.xz
tutor-module-788c8fbeac35999a0d7308439a00cbbb97c91ac6.zip
Merge branch 'master' of ssh://git.openslx.org/openslx-ng/tutor-module
Conflicts: dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java g
Diffstat (limited to 'dozentenmodul/src/main/java/gui')
-rw-r--r--dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java2
-rw-r--r--dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java27
-rw-r--r--dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java193
-rw-r--r--dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java179
-rw-r--r--dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java10
-rw-r--r--dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java2
-rw-r--r--dozentenmodul/src/main/java/gui/intro/Login_GUI.java270
-rw-r--r--dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java5
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java2
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java2
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java693
11 files changed, 931 insertions, 454 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java
index 595a97d0..54dda92b 100644
--- a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java
+++ b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java
@@ -906,7 +906,7 @@ public class DeleteImage_GUI extends JFrame {
List<server.generated.Image> images;
try {
// Hole eine Liste der Images
- images = client.getImageList();
+ images = client.getImageListPermissionWrite(person.verantwortlicher.getUserID());
Iterator<server.generated.Image> i = images.iterator();
diff --git a/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java
index 9d65d42e..4e5ce376 100644
--- a/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java
+++ b/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java
@@ -115,7 +115,7 @@ public class FTPCreateUploader_GUI extends JFrame implements
/**
* Create the frame.
*/
- public FTPCreateUploader_GUI(final Component formerGUI) {
+ public FTPCreateUploader_GUI(Component formerGUI) {
final Object[] options = { "Beenden", "Abbrechen" };
@@ -466,13 +466,12 @@ public class FTPCreateUploader_GUI extends JFrame implements
"Abbrechen und zurück",
JOptionPane.YES_NO_OPTION);
if (selectedOption == JOptionPane.YES_OPTION) {
- System.out.println("CreateUploader X:"+formerGUI.getLocation().getX());
- System.out.println("CreateUploader X:"+formerGUI.getLocation().getY());
- dispose();
- PermissionCreateImage_GUI m = new PermissionCreateImage_GUI(formerGUI);
- m.setLocationRelativeTo(formerGUI);
-
+ //System.out.println("CreateUploader X:"+formerGUI.getLocation().getX());
+ //System.out.println("CreateUploader X:"+formerGUI.getLocation().getY());
+ PermissionCreateImage_GUI m = new PermissionCreateImage_GUI(c);
+ //m.setLocationRelativeTo(formerGUI);
m.setVisible(true);
+ dispose();
} else {
// for actions if "no" is selected. tbd.
@@ -685,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 a51912c4..cc96bc5a 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<Person> map = null;
+ private List<Person> map = null; // List of people who have rights
Component c = null;
// Map<String,String> 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 = "<html><div align=\"center\">" +
- "Legen Sie fest, welche Personen welche Rechte an Ihrem Image haben.<br />" +
- "Sie können die Rechte read, write, link und admin vergeben.<br />" +
- "Link bedeutet, dass diese Person Veranstaltungen auf Ihr Image verlinken darf und dieses somit<br />" +
- "implizit freigeben darf. Eine Person mit Adminrechten darf zusätzlich das Image löschen und Berechtigungen<br />" +
- "für andere Benutzer festlegen und ist somit wie der Besitzer zu betrachten." +
- "</div></html>";
+ private static final String HELP_MESSAGE = "<html><div align=\"center\">"
+ + "Legen Sie fest, welche Personen welche Rechte an Ihrem Image haben.<br />"
+ + "Sie können die Rechte read, write, link und admin vergeben.<br />"
+ + "Link bedeutet, dass diese Person Veranstaltungen auf Ihr Image verlinken darf und dieses somit<br />"
+ + "implizit freigeben darf. Eine Person mit Adminrechten darf zusätzlich das Image löschen und Berechtigungen<br />"
+ + "für andere Benutzer festlegen und ist somit wie der Besitzer zu betrachten."
+ + "</div></html>";
public PermissionCreateImage_GUI(Component formerGUI) {
addWindowListener(new WindowAdapter() {
@@ -135,8 +136,6 @@ public class PermissionCreateImage_GUI extends JFrame {
setBounds(0, 0, 603, 722);
setLocationRelativeTo(formerGUI);
-
-
getContentPane().setLayout(null);
{
@@ -182,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<server.generated.Person> i = map.iterator();
int x = 0;
@@ -231,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
@@ -239,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<person> listt = RightsManagement.rightsManagement
- .getPmImageCreateList();
+ .getPermittedUserList();
Iterator<person> 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();
@@ -268,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();
@@ -279,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));
@@ -300,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();
@@ -429,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();
}
@@ -443,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");
}
@@ -531,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 {
@@ -601,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();
@@ -615,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();
@@ -629,7 +606,7 @@ public class PermissionCreateImage_GUI extends JFrame {
}
}
- //Admin column
+ // Admin column
class MyItemListener4 implements ItemListener {
public void itemStateChanged(ItemEvent e) {
Object source = e.getSource();
@@ -644,8 +621,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();
@@ -658,10 +635,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");
@@ -670,11 +649,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);
@@ -696,33 +676,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 {
@@ -735,9 +710,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) {
@@ -753,7 +725,6 @@ class CheckBoxHeader extends JCheckBox implements TableCellRenderer,
}
setColumn(column);
-
return rendererComponent;
}
diff --git a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java
index de7e4129..a584c0ff 100644
--- a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java
+++ b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java
@@ -18,6 +18,8 @@ import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.net.URI;
import java.net.URISyntaxException;
+import java.util.Iterator;
+import java.util.List;
import javax.swing.AbstractButton;
import javax.swing.DefaultComboBoxModel;
@@ -45,19 +47,27 @@ import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn;
+import org.apache.thrift.TException;
+
import models.Image;
import models.Links;
+import models.RightsManagement;
+import models.person;
+import server.generated.Person;
+import server.generated.Server.Client;
import util.GuiOrganizer;
import util.OpenLinks;
@SuppressWarnings("serial")
public class PermissionEditImage_GUI extends JFrame {
+ Client client = models.Client.clientcon.getClient();
private final JPanel contentPanel = new JPanel();
String[] result;
private JTable table;
private Class[] classes;
- Object[] titles = { "Name", "Read", "Write", "Link","Admin"};
+ Object[] titles = { "Name", "Read", "Write", "Link", "Admin", "userID" };
+ private List<Person> map = null; // List of people who have rights
Component c = null;
final DefaultTableModel model = new DefaultTableModel(titles, 0) {
@@ -84,13 +94,13 @@ public class PermissionEditImage_GUI extends JFrame {
private JLabel label_5;
private JLabel label_6;
private JLabel lblvolleRechteRead;
- private static final String HELP_MESSAGE = "<html><div align=\"center\">" +
- "Verändern Sie die Berechtigungen für Ihr Image.<br />" +
- "Sie können die Rechte read, write, link und admin vergeben.<br />" +
- "Link bedeutet, dass diese Person Veranstaltungen auf Ihr Image verlinken darf und dieses somit<br />" +
- "implizit freigeben darf. Eine Person mit Adminrechten darf zusätzlich das Image löschen und Berechtigungen<br />" +
- "für andere Benutzer festlegen und ist somit wie der Besitzer zu betrachten." +
- "</div></html>";
+ private static final String HELP_MESSAGE = "<html><div align=\"center\">"
+ + "Verändern Sie die Berechtigungen für Ihr Image.<br />"
+ + "Sie können die Rechte read, write, link und admin vergeben.<br />"
+ + "Link bedeutet, dass diese Person Veranstaltungen auf Ihr Image verlinken darf und dieses somit<br />"
+ + "implizit freigeben darf. Eine Person mit Adminrechten darf zusätzlich das Image löschen und Berechtigungen<br />"
+ + "für andere Benutzer festlegen und ist somit wie der Besitzer zu betrachten."
+ + "</div></html>";
public PermissionEditImage_GUI(Component formerGUI) {
addWindowListener(new WindowAdapter() {
@@ -159,9 +169,102 @@ public class PermissionEditImage_GUI extends JFrame {
table = new JTable();
table.setModel(model);
table.setSelectionForeground(Color.WHITE);
- Object[] rowdata = { "Max Mustermann", new Boolean(false),
- new Boolean(false), new Boolean(false), new Boolean(false) };
- model.addRow(rowdata);
+
+ // invisible attribute userID for identifying selected user
+ table.getColumnModel().getColumn(5).setWidth(0);
+ table.getColumnModel().getColumn(5).setMinWidth(0);
+ table.getColumnModel().getColumn(5).setMaxWidth(0);
+
+ // if new session, get values for table from database
+ if (RightsManagement.rightsManagement.getPermittedUserList().size() <= 0) {
+ System.out.println("Loading data from db");
+ try {
+ //map = client.getAllOtherSatelliteUsers(person.verantwortlicher.getUserID());
+
+
+ /*
+ *
+ *
+ *
+ *
+ * Hier gehts weiter. Problem: wie greifen wir auf die Rechte zu????
+ *
+ *
+ *
+ *
+ *
+ * */
+
+
+
+
+
+ map = client.getPermissionForUserAndImage(person.verantwortlicher.getUserID(), Image.image.getImageId());
+ Iterator<server.generated.Person> i = map.iterator();
+
+ int x = 0;
+ while (i.hasNext()) {
+ // erzeuge Objekte fuer die Tabelle
+ Object[] obj = {
+ map.get(x).getNachname() + ", "
+ + map.get(x).getVorname(), // Name
+ false, // Read
+ false, // Write
+ false, // Link
+ false, // Admin
+ map.get(x).getUserID() // userID
+ };
+ // Fuege diese Objekte der Tabelle hinzu
+ model.addRow(obj);
+ i.next();
+ x++;
+
+ }
+
+ } catch (TException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ } else // read from model
+ {
+ System.out.println("reading from model");
+ System.out
+ .println("RightsManagement.rightsManagement.getPermittedUserList().size() = "
+ + RightsManagement.rightsManagement
+ .getPermittedUserList().size());
+
+ List<person> listt = RightsManagement.rightsManagement
+ .getPermittedUserList();
+ Iterator<person> i = listt.iterator();
+
+ int x = 0;
+ while (i.hasNext()) {
+ // System.out.println("current pos=" + x);
+ // erzeuge Objekte fuer die Tabelle
+ person temp = i.next();
+
+ Object[] obj = { temp.getName() + ", " + temp.getVorname(), // Name
+ temp.isRead(), // Read
+ temp.isWrite(), // Write
+ temp.isLinkAllowed(), // Link
+ temp.isAdmin(), // Admin
+ temp.getUserID() // userID
+ };
+ System.out.println("Processing: " + temp.getName() + ", "
+ + temp.getVorname() + ", " + temp.isRead() + ", "
+ + temp.isWrite() + ", " + temp.isLinkAllowed() + ", "
+ + temp.isAdmin() + ", " + temp.getUserID());
+ // Fuege diese Objekte der Tabelle hinzu
+ model.addRow(obj);
+ x++;
+ }
+ }// end set list of permitted users
+
+ /*
+ * Object[] rowdata = { "Max Mustermann", new Boolean(false), new
+ * Boolean(false), new Boolean(false), new Boolean(false) };
+ * model.addRow(rowdata);
+ */
TableCellRenderer rend = table.getTableHeader().getDefaultRenderer();
@@ -189,27 +292,31 @@ public class PermissionEditImage_GUI extends JFrame {
tc4.setHeaderRenderer(new CheckBoxHeader(new MyItemListener4(),
(String) titles[4]));
/*
- TableColumn tc5 = table.getColumnModel().getColumn(5);
- tc5.setCellEditor(table.getDefaultEditor(Boolean.class));
- tc5.setCellRenderer(table.getDefaultRenderer(Boolean.class));
- tc5.setHeaderRenderer(new CheckBoxHeader(new MyItemListener5(),
- (String) titles[5]));
- */
+ * TableColumn tc5 = table.getColumnModel().getColumn(5);
+ * tc5.setCellEditor(table.getDefaultEditor(Boolean.class));
+ * tc5.setCellRenderer(table.getDefaultRenderer(Boolean.class));
+ * tc5.setHeaderRenderer(new CheckBoxHeader(new MyItemListener5(),
+ * (String) titles[5]));
+ */
scrollPane.setViewportView(table);
-
+
JPanel panel_2 = new JPanel();
panel_2.setLayout(null);
- panel_2.setBorder(new TitledBorder(null, "Freigabe", TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel_2.setBorder(new TitledBorder(null, "Freigabe",
+ TitledBorder.LEADING, TitledBorder.TOP, null, null));
panel_2.setBackground(SystemColor.menu);
panel_2.setBounds(10, 227, 537, 80);
panel_1.add(panel_2);
-
+
JLabel label_7 = new JLabel("Freigabemodus:");
label_7.setBounds(10, 30, 250, 20);
panel_2.add(label_7);
-
+
final JComboBox comboBox_1 = new JComboBox();
- comboBox_1.setModel(new DefaultComboBoxModel(new String[] {"Lokal (Eigene Hochschule)", "Öffentlich (Alle Hochschulen)"}));
+ comboBox_1
+ .setModel(new DefaultComboBoxModel(new String[] {
+ "Lokal (Eigene Hochschule)",
+ "Öffentlich (Alle Hochschulen)" }));
comboBox_1.setSelectedIndex(Image.image.getShareMode());
comboBox_1.setBounds(270, 30, 250, 20);
panel_2.add(comboBox_1);
@@ -290,20 +397,22 @@ public class PermissionEditImage_GUI extends JFrame {
"Image anpassen und überschreiben, jedoch nicht löschen.");
lblImageAnpassenUnd.setBounds(120, 38, 380, 20);
panel.add(lblImageAnpassenUnd);
-
+
lblLinkAllowed = new JLabel("Link");
lblLinkAllowed.setBounds(20, 58, 90, 20);
panel.add(lblLinkAllowed);
-
+
label_5 = new JLabel("Admin");
label_5.setBounds(20, 78, 90, 20);
panel.add(label_5);
-
- label_6 = new JLabel("Erzeugung einer Veranstaltung auf ein Image ist erlaubt.");
+
+ label_6 = new JLabel(
+ "Erzeugung einer Veranstaltung auf ein Image ist erlaubt.");
label_6.setBounds(120, 58, 380, 20);
panel.add(label_6);
-
- lblvolleRechteRead = new JLabel("<HTML>Volle Rechte: read, write, löschen, Link und<br>Berechtigungen für andere Benutzer festlegen.</HTML>");
+
+ lblvolleRechteRead = new JLabel(
+ "<HTML>Volle Rechte: read, write, löschen, Link und<br>Berechtigungen für andere Benutzer festlegen.</HTML>");
lblvolleRechteRead.setBounds(120, 78, 380, 40);
panel.add(lblvolleRechteRead);
{
@@ -317,8 +426,10 @@ public class PermissionEditImage_GUI extends JFrame {
cancelButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- //EditImageFreigabe_GUI sr = new EditImageFreigabe_GUI();
- EditImageTechnisch_GUI ei = new EditImageTechnisch_GUI(c);
+ // EditImageFreigabe_GUI sr = new
+ // EditImageFreigabe_GUI();
+ EditImageTechnisch_GUI ei = new EditImageTechnisch_GUI(
+ c);
ei.setVisible(true);
dispose();
}
@@ -331,7 +442,7 @@ public class PermissionEditImage_GUI extends JFrame {
JButton continueButton = new JButton("Weiter");
continueButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
-
+
Image.image.setShareMode(comboBox_1.getSelectedIndex());
FTPEditUploader_GUI ea = new FTPEditUploader_GUI(c);
ea.setVisible(true);
@@ -410,12 +521,14 @@ public class PermissionEditImage_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);
diff --git a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java
index f295a1c4..e92b04b0 100644
--- a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java
+++ b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java
@@ -98,6 +98,7 @@ public class SearchEditImage_GUI extends JFrame {
boolean activeSearch = false;
private JTextField textFieldName;
Component c = null;
+ int requiredPermission = 1; // 0=Read, 1= Write, 2=LinkAllowed, 3=Admin
String[] titles = { "Name", "Lizenzpflichtig", "OS", "Veranstaltung",
"Verantwortlicher", "Letztes Update", "ID", "Version", "Template" };// Angezeigt
// werden
@@ -108,6 +109,7 @@ public class SearchEditImage_GUI extends JFrame {
// Verantwortlicher (4),
// Letztes
// Update (5)
+
private static final String HELP_MESSAGE = "<html><div align=\"center\">" +
"Suchen Sie Images und laden Sie sie direkt herunter.<br />" +
"Sie können die Volltextsuche nutzen und nach Betriebssystemen filtern.<br />" +
@@ -890,8 +892,10 @@ public class SearchEditImage_GUI extends JFrame {
public DefaultTableModel initTableModel(DefaultTableModel model) {
List<server.generated.Image> images;
try {
- // Hole eine Liste der Images
- images = client.getImageList();
+ // Hole eine Liste der passenden Images
+ images = client.getImageListPermissionWrite(person.verantwortlicher.getUserID());
+ System.out.println("User is: "+person.verantwortlicher.getUserID());
+ //images = client.getImageList(person.verantwortlicher.getUserID(), requiredPermission);
Iterator<server.generated.Image> i = images.iterator();
SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -937,7 +941,7 @@ public class SearchEditImage_GUI extends JFrame {
labelName.setText(res.get("name"));
labelOS.setText(res.get("os"));
labelUpdate.setText(out.format(in.parse(res.get("lastupdate"))));
- labelVerantwortlicher.setText(res.get("owner"));
+ labelVerantwortlicher.setText(res.get("owner") + " (" + res.get("mail") + ")");
labelWeitereVerantwortliche.setText("Noch nicht Verfügbar");
if (res.get("template").equals("true")) {
labelVorlage.setText("Ja");
diff --git a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java
index 97128318..3a5e6ccf 100644
--- a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java
+++ b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java
@@ -894,7 +894,7 @@ public class SearchImage_GUI extends JFrame {
List<server.generated.Image> images;
try {
// Hole eine Liste der Images
- images = client.getImageList();
+ images = client.getImageListPermissionRead(person.verantwortlicher.getUserID());
Iterator<server.generated.Image> i = images.iterator();
SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
diff --git a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java
index 3f0b99c5..035710e8 100644
--- a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java
+++ b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java
@@ -1,5 +1,6 @@
package gui.intro;
+import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Image;
@@ -10,6 +11,7 @@ import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Arrays;
+import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
@@ -38,6 +40,11 @@ import util.GuiOrganizer;
import util.ResourceLoader;
import config.Config;
+import java.awt.Choice;
+
+import javax.swing.border.TitledBorder;
+import javax.swing.JRadioButton;
+
@SuppressWarnings("serial")
public class Login_GUI extends JFrame {
@@ -46,6 +53,11 @@ public class Login_GUI extends JFrame {
*/
private final static Logger LOGGER = Logger.getLogger(Login_GUI.class);
+ // String constants representing the different login methods
+ private final static String LOGIN_TYPE_BWIDM = "bwidm";
+ private final static String LOGIN_TYPE_BWLEHRPOOL = "bwlp";
+ private final static String LOGIN_TYPE_SATLLITE = "sat";
+
private JPanel contentPane;
private JTextField lblusername;
private JPasswordField lblpass;
@@ -55,6 +67,27 @@ public class Login_GUI extends JFrame {
private static final String HELP_MESSAGE = "";
Component c = null;
+ private JPanel panel;
+ private JPanel panel_1;
+ private JLabel LabelUser;
+ private JLabel LabelPass;
+
+ // radio button and group for login types.
+ private ButtonGroup bgLoginType;
+ private JRadioButton rdbtnBwIDM;
+ private JRadioButton rdbtnDirekteVerbindung;
+ private JRadioButton rdbtnMasterserver;
+ // its action listener
+ private ActionListener loginTypeActionListener;
+
+ // bwIDM label and dropdown
+ private Choice choice;
+ private JLabel lblIdp;
+
+ // Satellite IP label and text field
+ private JLabel lblSatellitenIp;
+ private JTextField lblSatIP;
+
/**
* Create the frame.
*/
@@ -83,7 +116,7 @@ public class Login_GUI extends JFrame {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Größe setzen und mittig ausrichten
- setBounds(0, 0, 603, 400);
+ setBounds(0, 0, 785, 430);
GuiOrganizer.centerGUI(this);
// Erzeugen eines Panels
@@ -98,7 +131,7 @@ public class Login_GUI extends JFrame {
// Label fuer das Logo erzeugen
JLabel imgLabel = new JLabel();
// Groesse und Position des Logos festelegen
- imgLabel.setBounds(150, 11, 350, 142);
+ imgLabel.setBounds(231, 11, 350, 142);
// Pfadangabe des Logos
ImageIcon icon = ResourceLoader.getIcon("/img/Logo_bwLehrpool.png",
@@ -109,51 +142,8 @@ public class Login_GUI extends JFrame {
// Hinzufuegen des Logos in das Fenster
contentPane.add(imgLabel);
- chckbxBenutzernameSpeichern = new JCheckBox("Benutzername speichern");
- chckbxBenutzernameSpeichern.setBounds(292, 222, 237, 23);
- contentPane.add(chckbxBenutzernameSpeichern);
-
- // Erzeugen und Hinzufuegen des Labels
- JLabel LabelUser = new JLabel("bwIDM-Benutzername:");
- LabelUser.setBounds(111, 164, 134, 20);
- contentPane.add(LabelUser);
-
- // Erzeugen und Hinzufuegen des Passwortfeldes
- lblpass = new JPasswordField();
- lblpass.setToolTipText("Bitte geben Sie Ihr bwIDM-Passwort ein.");
- lblpass.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- performLogin();
- }
- });
- lblpass.setBounds(292, 195, 237, 20);
- contentPane.add(lblpass);
-
- // Erzeugen und Hinzufuegen des Textfeldes
- lblusername = new JTextField();
- lblusername
- .setToolTipText("Bitte geben Sie Ihren bwIDM-Benutzernamen ein.");
-
- // Lese Information aus der Konfigurationsdatei
- lblusername.setText(Config.getUsername());
- chckbxBenutzernameSpeichern.setSelected(Config.getSaveUsername());
-
- lblusername.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- performLogin();
- }
- });
- lblusername.setBounds(292, 164, 237, 20);
- contentPane.add(lblusername);
- lblusername.setColumns(10);
-
- // Erzeugen und Hinzufuegen des Labels
- JLabel LabelPass = new JLabel("bwIDM-Passwort:");
- LabelPass.setBounds(111, 195, 134, 20);
- contentPane.add(LabelPass);
-
lblConnectionInfo.setHorizontalAlignment(SwingConstants.LEFT);
- lblConnectionInfo.setBounds(111, 290, 418, 20);
+ lblConnectionInfo.setBounds(10, 359, 449, 20);
lblConnectionInfo.setEnabled(true);
lblConnectionInfo.setText("Info: Bereit für Login");
@@ -163,30 +153,143 @@ public class Login_GUI extends JFrame {
JButton BtnLogin = new JButton("Login");
BtnLogin.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
-
- performLogin();
+ performLogin(bgLoginType.getSelection().getActionCommand());
}// end actionPerformed
});
- BtnLogin.setBounds(292, 252, 237, 23);
+ BtnLogin.setBounds(488, 358, 239, 23);
contentPane.add(BtnLogin);
+ // Start of the actual content of the right panel
+ panel = new JPanel();
+ panel.setLayout(null);
+ panel.setBorder(new TitledBorder(null, "Zugangsdaten",
+ TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel.setBackground(SystemColor.menu);
+ panel.setBounds(354, 143, 400, 181);
+ contentPane.add(panel);
+
+ chckbxBenutzernameSpeichern = new JCheckBox("Benutzername speichern");
+ chckbxBenutzernameSpeichern.setBounds(135, 137, 237, 23);
+ chckbxBenutzernameSpeichern.setSelected(Config.getSaveUsername());
+ panel.add(chckbxBenutzernameSpeichern);
+
+ // Erzeugen und Hinzufuegen des Labels
+ LabelUser = new JLabel("Benutzername:");
+ LabelUser.setBounds(25, 60, 82, 20);
+ panel.add(LabelUser);
+
+ // Erzeugen und Hinzufuegen des Textfeldes
+ lblusername = new JTextField();
+ lblusername.setBounds(135, 60, 237, 20);
+ lblusername.setToolTipText("Bitte geben Sie Ihren bwIDM-Benutzernamen ein.");
+ lblusername.setColumns(10);
+ // Lese Benutzername aus der Konfigurationsdatei
+ lblusername.setText(Config.getUsername());
+ lblusername.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent arg0) {
+ performLogin(bgLoginType.getSelection().getActionCommand());
+ }
+ });
+ panel.add(lblusername);
+
+ // Erzeugen und Hinzufuegen des Labels
+ LabelPass = new JLabel("Passwort:");
+ LabelPass.setBounds(25, 85, 82, 20);
+ panel.add(LabelPass);
+
+ // Erzeugen und Hinzufuegen des Passwortfeldes
+ lblpass = new JPasswordField();
+ lblpass.setBounds(135, 85, 237, 20);
+ lblpass.setToolTipText("Bitte geben Sie Ihr bwIDM-Passwort ein.");
+ lblpass.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ performLogin(bgLoginType.getSelection().getActionCommand());
+ }
+ });
+ panel.add(lblpass);
+
+ lblSatellitenIp = new JLabel("Satelliten IP:");
+ lblSatellitenIp.setBounds(25, 105, 82, 20);
+ //panel.add(lblSatellitenIp);
+
+ lblSatIP = new JTextField();
+ lblSatIP.setBounds(135, 110, 237, 20);
+ lblSatIP.setToolTipText("Bitte geben Sie die IP-Adresse des Satelliten ein.");
+ //panel.add(lblSatIP);
+
+ choice = new Choice();
+ choice.setBounds(135, 35, 237, 20);
+ //panel.add(choice);
+
+ lblIdp = new JLabel("IDP:");
+ lblIdp.setBounds(25, 35, 82, 20);
+ //panel.add(lblIdp);
+
+ // action listener for the radio buttons to
+ // toggle the gui elements depending on the login type
+ loginTypeActionListener = new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ toggleLoginType(e.getActionCommand());
+ }
+ };
+
+ panel_1 = new JPanel();
+ panel_1.setLayout(null);
+ panel_1.setBorder(new TitledBorder(
+ UIManager.getBorder("TitledBorder.border"), "Zugangsart",
+ TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
+ panel_1.setBackground(SystemColor.menu);
+ panel_1.setBounds(10, 143, 334, 181);
+ contentPane.add(panel_1);
+
+ // group radio button for the login type together
+ bgLoginType = new ButtonGroup();
+
+ rdbtnBwIDM = new JRadioButton("bwIDM");
+ rdbtnBwIDM.setBounds(32, 35, 244, 23);
+ rdbtnBwIDM.setActionCommand(LOGIN_TYPE_BWIDM);
+ rdbtnBwIDM.addActionListener(loginTypeActionListener);
+ bgLoginType.add(rdbtnBwIDM);
+ panel_1.add(rdbtnBwIDM);
+
+ rdbtnMasterserver = new JRadioButton("bwLehrpool-Masterserver");
+ rdbtnMasterserver.setSelected(true);
+ rdbtnMasterserver.setActionCommand(LOGIN_TYPE_BWLEHRPOOL);
+ rdbtnMasterserver.addActionListener(loginTypeActionListener);
+ rdbtnMasterserver.setBounds(32, 60, 244, 23);
+ bgLoginType.add(rdbtnMasterserver);
+ panel_1.add(rdbtnMasterserver);
+
+ rdbtnDirekteVerbindung = new JRadioButton("Lokales Satellit");
+ rdbtnDirekteVerbindung.setBounds(32, 85, 244, 23);
+ rdbtnDirekteVerbindung.setActionCommand(LOGIN_TYPE_SATLLITE);
+ rdbtnDirekteVerbindung.addActionListener(loginTypeActionListener);
+ bgLoginType.add(rdbtnDirekteVerbindung);
+ panel_1.add(rdbtnDirekteVerbindung);
+
+ panel.setVisible(true);
+ panel_1.setVisible(true);
+ contentPane.setVisible(true);
+
GuiOrganizer.centerGUI(this);
c = this;
}// end LoginGUI()
// Versuche den Benutzer einzuloggen
- public void performLogin() {
+ public void performLogin(final String loginType) {
+ LOGGER.info("Trying login of type: " + loginType);
org.openslx.imagemaster.thrift.iface.SessionData result = null;
// Connect to Master
MasterThriftConnection thrift = new MasterThriftConnection();
Client client = thrift.getMasterThriftConnection();
-
if (client == null) {
// Thrift connection to master could not be established
setStatus(Color.red, "Fehler: Masterserver nicht erreichbar.", null);
+ LOGGER.info("Thrift client could not be initialized, is the masterserver up and running?");
return;
}
@@ -244,7 +347,6 @@ public class Login_GUI extends JFrame {
String hochschule = user.eMail.substring(user.eMail.indexOf("@") + 1);
- //person.verantwortlicher.setUsername(lblusername.getText().substring(0,lblusername.getText().indexOf("@")));
person.verantwortlicher.setUsername(lblusername.getText().trim());
person.verantwortlicher.setUserID(lblusername.getText().trim());
person.verantwortlicher.setName(user.lastName);
@@ -254,9 +356,6 @@ public class Login_GUI extends JFrame {
// Spaeter ueber result.getRole zum Beispiel die Rolle holen
person.verantwortlicher.setRole("Dozent");
- // person.verantwortlicher.setRole("Admin");
- // person.verantwortlicher.setRole("Student");
- // person.verantwortlicher.setRole("GetToTheChopper!");
if (chckbxBenutzernameSpeichern.isSelected()) {
Config.setUsername(lblusername.getText());
@@ -313,5 +412,64 @@ public class Login_GUI extends JFrame {
JOptionPane.showMessageDialog(c, longMessage,
"Anmeldung fehlgeschlagen", JOptionPane.ERROR_MESSAGE);
}
-
+
+ /**
+ * Toggle the elements needed for the different login types.
+ *
+ * @param type
+ * Type of the login to toggle. Valid are:
+ * 'bwidm', 'bwlp', 'sat'
+ */
+ private void toggleLoginType(String type) {
+ LOGGER.info("Toggling to login method to: " + type);
+ panel.setVisible(false);
+ switch(type) {
+ case LOGIN_TYPE_BWIDM:
+ panel.remove(lblSatIP);
+ panel.remove(lblSatellitenIp);
+ panel.add(lblIdp);
+ panel.add(choice);
+ panel.add(LabelPass);
+ lblpass.setText("");
+ lblpass.setToolTipText("Bitte geben Sie Ihr bwIDM-Passwort ein.");
+ panel.add(lblpass);
+ lblusername.setToolTipText("Bitte geben Sie Ihr bwIDM-Benutzername ein.");
+ panel.revalidate();
+ panel.repaint();
+ panel.setVisible(true);
+ break;
+ case LOGIN_TYPE_BWLEHRPOOL:
+ panel.remove(choice);
+ panel.remove(lblIdp);
+ panel.remove(lblSatIP);
+ panel.remove(lblSatellitenIp);
+ panel.add(LabelPass);
+ lblpass.setToolTipText("Bitte geben Sie Ihr bwLehrpool-Passwort ein.");
+ panel.add(lblpass);
+ lblusername.setToolTipText("Bitte geben Sie Ihr bwLehrpool-Benutzername ein.");
+ panel.revalidate();
+ panel.repaint();
+ panel.setVisible(true);
+ break;
+ case LOGIN_TYPE_SATLLITE:
+ panel.remove(choice);
+ panel.remove(lblIdp);
+ panel.remove(LabelPass);
+ panel.remove(lblpass);
+ lblSatIP.setBounds(135, 85, 237, 20);
+ lblSatIP.setText("");
+ panel.add(lblSatIP);
+ lblSatellitenIp.setBounds(25, 85, 82, 20);
+ panel.add(lblSatellitenIp);
+ panel.revalidate();
+ panel.repaint();
+ panel.setVisible(true);
+ break;
+ default:
+ LOGGER.error("Unknown action '" + type + "'. Ignoring.");
+ panel.setVisible(true);
+ return;
+ }
+
+ }
}// end class
diff --git a/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java
index fe49ef06..072ef196 100644
--- a/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java
+++ b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java
@@ -47,6 +47,7 @@ import javax.swing.border.TitledBorder;
import models.GUIRights;
import models.ImageRights;
import models.Links;
+import models.RightsManagement;
import models.SessionData;
import models.person;
@@ -132,6 +133,10 @@ public class MainMenue_GUI extends JFrame {
txtpnBitteWhlenSie.setBounds(10, 36, 509, 22);
panel.add(txtpnBitteWhlenSie);
}
+
+ //reset the list of permissions every time the user goes back to the main menu
+ RightsManagement.rightsManagement.getPermittedUserList().clear();
+
contentPanel.setBounds(10, 104, 567, 502);
contentPanel.setBackground(SystemColor.menu);
diff --git a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java
index 5205c41c..3f1e5dfa 100644
--- a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java
+++ b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java
@@ -949,7 +949,7 @@ public class CreateLectureLink_GUI extends JFrame {
List<server.generated.Image> images;
// Hole eine Liste der Images
- images = client.getImageList();
+ images = client.getImageListPermissionLink(person.verantwortlicher.getUserID());
Iterator<server.generated.Image> i = images.iterator();
SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java
index dbacf997..ce2130ad 100644
--- a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java
+++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java
@@ -954,7 +954,7 @@ public class EditLectureLink_GUI extends JFrame {
List<server.generated.Image> images;
// Hole eine Liste der Images
- images = client.getImageList();
+ images = client.getImageListPermissionLink(person.verantwortlicher.getUserID());
Iterator<server.generated.Image> i = images.iterator();
SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java
index 8f51d17a..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;
@@ -51,44 +53,56 @@ import javax.swing.table.TableCellRenderer;
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 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 = "<html><div align=\"center\">" +
- "Hier können Sie die Berechtigungen für Ihre Veranstaltung ändern.<br />" +
- "Es wird unterschieden, ob innerhalb der Suite (dieses Programm) Änderungen vorgenommen werden dürfen, <br />" +
- "und/oder ob die Veranstaltung auch im VMChooser angezeigt wird." +
- "</div></html>";
-
- 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 = "<html><div align=\"center\">"
+ + "Hier können Sie die Berechtigungen für Ihre Veranstaltung ändern.<br />"
+ + "Es wird unterschieden, ob innerhalb der Suite (dieses Programm) Änderungen vorgenommen werden dürfen, <br />"
+ + "und/oder ob die Veranstaltung auch im VMChooser angezeigt wird."
+ + "</div></html>";
+ private List<Person> 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;
@@ -102,7 +116,7 @@ public class PermissionCreateLecture_GUI extends JFrame {
}
});
setResizable(false);
-
+
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException
@@ -123,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);
}
@@ -141,168 +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);
-
-
- 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]));
-
+
+ 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<server.generated.Person> i = map.iterator();
+
+ int x = 0;
+ while (i.hasNext()) {
+ // erzeuge Objekte fuer die Tabelle
+ Object[] obj = {
+ map.get(x).getNachname() + ", "
+ + map.get(x).getVorname(), // Name
+ false, // Read
+ false, // Write
+ false, // Link
+ false, // Admin
+ map.get(x).getUserID() // userID
+ };
+ // Fuege diese Objekte der Tabelle hinzu
+ model.addRow(obj);
+ i.next();
+ x++;
+
+ }
+ // System.out.println("Number of returned users in permission list: "+
+ // map.size());
+
+ } catch (TException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ } else // read from model
+ {
+ System.out.println("reading from model");
+ System.out
+ .println("RightsManagement.rightsManagement.getPermittedUserList().size() = "
+ + RightsManagement.rightsManagement
+ .getPermittedUserList().size());
+
+ List<person> listt = RightsManagement.rightsManagement
+ .getPermittedUserList();
+ Iterator<person> i = listt.iterator();
+
+ int x = 0;
+ while (i.hasNext()) {
+ // System.out.println("current pos=" + x);
+ // erzeuge Objekte fuer die Tabelle
+ person temp = i.next();
+
+ Object[] obj = { temp.getName() + ", " + temp.getVorname(), // Name
+ temp.isRead(), // Read
+ temp.isWrite(), // Write
+ temp.isLinkAllowed(), // Link
+ temp.isAdmin(), // Admin
+ temp.getUserID() // userID
+ };
+ System.out.println("Processing: " + temp.getName() + ", "
+ + temp.getVorname() + ", " + temp.isRead() + ", "
+ + temp.isWrite() + ", " + temp.isLinkAllowed() + ", "
+ + temp.isAdmin() + ", " + temp.getUserID());
+ // Fuege diese Objekte der Tabelle hinzu
+ model.addRow(obj);
+ x++;
+ }
+ }// 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]));
+
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("<HTML>Image darf angepasst und &uuml;berschrieben, jedoch nicht gel&ouml;scht werden. Berechtigungen f&uuml;r andere Benutzer festlegen</HTML>");
+
+ JLabel lblimageDarfAngepasst = new JLabel(
+ "<HTML>Image darf angepasst und &uuml;berschrieben, jedoch nicht gel&ouml;scht werden. Berechtigungen f&uuml;r andere Benutzer festlegen</HTML>");
lblimageDarfAngepasst.setBounds(120, 38, 380, 45);
panel.add(lblimageDarfAngepasst);
-
- JLabel lblvolleRechteRead = new JLabel("<HTML>Volle Rechte: read, write, l&ouml;schen und Berechtigungen f&uuml;r andere Benutzer festlegen.</HTML>");
+
+ JLabel lblvolleRechteRead = new JLabel(
+ "<HTML>Volle Rechte: read, write, l&ouml;schen und Berechtigungen f&uuml;r andere Benutzer festlegen.</HTML>");
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);
@@ -317,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");
@@ -344,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();
@@ -379,7 +505,6 @@ public class PermissionCreateLecture_GUI extends JFrame {
}
});
mnNewMenu_1.add(mntmFaq);
-
JMenuItem mntmOtrs = new JMenuItem("OTRS");
mntmOtrs.addMouseListener(new MouseAdapter() {
@@ -387,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) {
@@ -411,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<person> list = new ArrayList<person>();
+
+ int seperatorIndex = 0;
+
+ // get values from table and save the checkbox values
+ if (map == null)
+ System.out.println("Error: map is null");
+
+ // for (int i = 0; i < map.size(); i++) {
+ for (int i = 0; i < table.getRowCount(); i++) {
+ // System.out.println("in for, rowcount="+table.getRowCount());
+ 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) {
-}
-}