diff options
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java | 34 |
1 files changed, 11 insertions, 23 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; - } - } - } |