summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Schwaer2015-08-24 16:43:20 +0200
committerStephan Schwaer2015-08-24 16:43:20 +0200
commitbe7b0604989d5d6e825aa0a34d00ceaa3c8450c5 (patch)
tree8e9b514219bc3768ae23610118852d40936ddf6e
parent[client] Moved default permissions from ImageDetails to ImageCustomPermission... (diff)
downloadtutor-module-be7b0604989d5d6e825aa0a34d00ceaa3c8450c5.tar.gz
tutor-module-be7b0604989d5d6e825aa0a34d00ceaa3c8450c5.tar.xz
tutor-module-be7b0604989d5d6e825aa0a34d00ceaa3c8450c5.zip
[client] created helper class PermissionDefaultToCustomLink
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java34
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java6
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/permissions/PermissionDefaultToCustomLink.java19
3 files changed, 33 insertions, 26 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java
index 0029f250..551393ec 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java
@@ -8,6 +8,7 @@ import java.util.Map;
import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.ImagePermissions;
import org.openslx.dozmod.gui.window.layout.ImageCustomPermissionWindowLayout;
+import org.openslx.dozmod.permissions.PermissionDefaultToCustomLink;
/**
* Window for modifying the custom permissions of an image.
@@ -17,14 +18,11 @@ public class ImageCustomPermissionWindow extends ImageCustomPermissionWindowLayo
private static final Logger LOGGER = Logger.getLogger(ImageCustomPermissionWindow.class);
- private ImagePermissions defaultPermissions;
-
private boolean okUsed = false;
protected ImageCustomPermissionWindow(final Frame modalParent, final Map<String, ImagePermissions> permissionMap, final ImagePermissions defaultPermissions) {
super(modalParent);
imagePermissionManager.initPanel(permissionMap, defaultPermissions);
- this.defaultPermissions = defaultPermissions;
btnOk.addActionListener(new ActionListener() {
@Override
@@ -50,11 +48,16 @@ public class ImageCustomPermissionWindow extends ImageCustomPermissionWindowLayo
/**
* Set a created ImageCustomPermissionWindow visible and return resulting permissions
- * @return PermissionLink with default- and customPermissions
+ * @return PermissionLink with default- and customPermissions when using OK button, null otherwise
*/
- private PermissionLink runAndReturn(){
+ private PermissionDefaultToCustomLink<ImagePermissions> runAndReturn(){
setVisible(true);
- return new PermissionLink(imagePermissionManager.getMap(), new ImagePermissions(chkCustomPermLink.isSelected(), chkCustomPermDownload.isSelected(), chkCustomPermEdit.isSelected(), chkCustomPermAdmin.isSelected()), okUsed);
+ if (okUsed){
+ return new PermissionDefaultToCustomLink<ImagePermissions>(imagePermissionManager.getMap(), new ImagePermissions(chkCustomPermLink.isSelected(), chkCustomPermDownload.isSelected(), chkCustomPermEdit.isSelected(), chkCustomPermAdmin.isSelected()));
+ } else {
+ return null;
+ }
+
}
/**
@@ -62,28 +65,13 @@ public class ImageCustomPermissionWindow extends ImageCustomPermissionWindowLayo
* @param modalParent
* @param permissionMap The current user permissions with which the permission manager to initialise, null creates empty list.
* @param defaultPermissions The current default permissions, should not be null!
- * @return PermissionLink with resulting permissions
+ * @return PermissionLink with resulting permissions or null, if abort has been used to exit the dialog
*/
- public static PermissionLink open(Frame modalParent, Map<String, ImagePermissions> permissionMap, ImagePermissions defaultPermissions) {
+ public static PermissionDefaultToCustomLink<ImagePermissions> open(Frame modalParent, Map<String, ImagePermissions> permissionMap, ImagePermissions defaultPermissions) {
return new ImageCustomPermissionWindow(modalParent, permissionMap, defaultPermissions).runAndReturn();
}
- /**
- * Helper class for returning the default- and custom permissions of an image.
- */
- public static class PermissionLink{
- public final Map<String, ImagePermissions> customPermissions;
- public final ImagePermissions defaultPermissions;
- public final boolean okUsed;
-
- public PermissionLink(Map<String, ImagePermissions> customPermissions, ImagePermissions defaultPermissions, boolean okUsed){
- this.customPermissions = customPermissions;
- this.defaultPermissions = defaultPermissions;
- this.okUsed = okUsed;
- }
- }
-
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
index 22ac4d04..96bb7064 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
@@ -34,12 +34,12 @@ import org.openslx.dozmod.gui.MainWindow;
import org.openslx.dozmod.gui.helper.MessageType;
import org.openslx.dozmod.gui.helper.PopupMenu;
import org.openslx.dozmod.gui.helper.UiFeedback;
-import org.openslx.dozmod.gui.window.ImageCustomPermissionWindow.PermissionLink;
import org.openslx.dozmod.gui.window.UserListWindow.UserAddedCallback;
import org.openslx.dozmod.gui.window.layout.ImageDetailsWindowLayout;
import org.openslx.dozmod.gui.wizard.LectureWizard;
import org.openslx.dozmod.gui.wizard.UpdateWizard;
import org.openslx.dozmod.permissions.ImagePerms;
+import org.openslx.dozmod.permissions.PermissionDefaultToCustomLink;
import org.openslx.dozmod.thrift.Session;
import org.openslx.dozmod.thrift.ThriftActions;
import org.openslx.dozmod.thrift.ThriftActions.DeleteCallback;
@@ -142,8 +142,8 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe
@Override
public void actionPerformed(ActionEvent arg0) {
- PermissionLink pl = ImageCustomPermissionWindow.open(JOptionPane.getFrameForComponent(me), me.permissionMap, image.defaultPermissions);
- if (pl != null && pl.defaultPermissions != null && pl.customPermissions != null && pl.okUsed == true){
+ PermissionDefaultToCustomLink<ImagePermissions> pl = ImageCustomPermissionWindow.open(JOptionPane.getFrameForComponent(me), me.permissionMap, image.defaultPermissions);
+ if (pl != null && pl.defaultPermissions != null && pl.customPermissions != null){
image.defaultPermissions = pl.defaultPermissions;
permissionMap = pl.customPermissions;
permissionsChanged = true;
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/permissions/PermissionDefaultToCustomLink.java b/dozentenmodul/src/main/java/org/openslx/dozmod/permissions/PermissionDefaultToCustomLink.java
new file mode 100644
index 00000000..6a947cdd
--- /dev/null
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/permissions/PermissionDefaultToCustomLink.java
@@ -0,0 +1,19 @@
+package org.openslx.dozmod.permissions;
+
+import java.util.Map;
+
+/**
+ * Helper class for returning the default- and custom permissions of an image or lecture.
+ * @param <T> ImagePermissions of LecturePermissions
+ */
+public class PermissionDefaultToCustomLink<T>{
+ public final Map<String, T> customPermissions;
+ public final T defaultPermissions;
+
+ public PermissionDefaultToCustomLink(Map<String, T> customPermissions, T defaultPermissions){
+ this.customPermissions = customPermissions;
+ this.defaultPermissions = defaultPermissions;
+ }
+}
+
+