diff options
author | Stephan Schwaer | 2015-08-24 16:43:20 +0200 |
---|---|---|
committer | Stephan Schwaer | 2015-08-24 16:43:20 +0200 |
commit | be7b0604989d5d6e825aa0a34d00ceaa3c8450c5 (patch) | |
tree | 8e9b514219bc3768ae23610118852d40936ddf6e /dozentenmodul/src/main/java/org/openslx | |
parent | [client] Moved default permissions from ImageDetails to ImageCustomPermission... (diff) | |
download | tutor-module-be7b0604989d5d6e825aa0a34d00ceaa3c8450c5.tar.gz tutor-module-be7b0604989d5d6e825aa0a34d00ceaa3c8450c5.tar.xz tutor-module-be7b0604989d5d6e825aa0a34d00ceaa3c8450c5.zip |
[client] created helper class PermissionDefaultToCustomLink
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx')
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; + } +} + + |