diff options
author | Jonathan Bauer | 2016-04-27 17:24:15 +0200 |
---|---|---|
committer | Jonathan Bauer | 2016-04-27 17:24:15 +0200 |
commit | a40ddb0a580348d68ff0c515275ffa252b686c1e (patch) | |
tree | e2436a05c935fd7b6c408e4cafb5be5dce6e16ce /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java | |
parent | [server] Fix upload handling if image already exists (diff) | |
download | tutor-module-a40ddb0a580348d68ff0c515275ffa252b686c1e.tar.gz tutor-module-a40ddb0a580348d68ff0c515275ffa252b686c1e.tar.xz tutor-module-a40ddb0a580348d68ff0c515275ffa252b686c1e.zip |
[client] first working draft for published images stuff
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java | 39 |
1 files changed, 25 insertions, 14 deletions
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 baa23b9a..3d4b7d0d 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 @@ -50,6 +50,7 @@ import org.openslx.dozmod.gui.window.layout.ImageDetailsWindowLayout; import org.openslx.dozmod.gui.wizard.ImageUpdateWizard; import org.openslx.dozmod.gui.wizard.LectureWizard; import org.openslx.dozmod.permissions.ImagePerms; +import org.openslx.dozmod.thrift.ImageDetailsActions; import org.openslx.dozmod.thrift.Session; import org.openslx.dozmod.thrift.ThriftActions; import org.openslx.dozmod.thrift.ThriftActions.DeleteCallback; @@ -76,7 +77,7 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe * Self-reference */ private final ImageDetailsWindow me = this; - + private final ImageDetailsActions actionHandler; /** * Callback interface to refresh image list after changing image details */ @@ -125,9 +126,11 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe * @param modalParent parent of this popup window * @param callback callback to be called when the image details have changed */ - public ImageDetailsWindow(Frame modalParent, ImageUpdatedCallback callback) { + public ImageDetailsWindow(Frame modalParent, ImageUpdatedCallback callback, ImageDetailsActions actionHandler) { super(modalParent); this.callback = callback; + this.actionHandler = actionHandler; + // Hook when user presses X (top right) setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter() { @@ -374,7 +377,10 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe fillDetails(); } }; - ThriftActions.getImageFullDetails(JOptionPane.getFrameForComponent(me), imageBaseId, callback); + +// ThriftActions.getImageFullDetails(JOptionPane.getFrameForComponent(me), imageBaseId, callback); + actionHandler.getImageDetails(JOptionPane.getFrameForComponent(me), imageBaseId, callback); + //ThriftActions.getImageFullDetails(JOptionPane.getFrameForComponent(me), imageBaseId, callback); } /** @@ -383,7 +389,7 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe * @param user UserInfo to set the owner to */ private void setImageOwner(final UserInfo user) { - if (!ThriftActions.setImageOwner(JOptionPane.getFrameForComponent(me), image.getImageBaseId(), user)) { + if (!actionHandler.setImageOwner(JOptionPane.getFrameForComponent(me), image.getImageBaseId(), user)) { return; } Gui.showMessageBox(me, "Besitzrechte übertragen an " + FormatHelper.userName(user), MessageType.INFO, @@ -444,7 +450,7 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe if (originalDefaultPermissions.admin && permissionsChanged) { if (!writeImagePermMap()) return false; - LOGGER.info("Successfully saved new permissions"); + LOGGER.info("Successfully saved new default permissions"); permissionsChanged = false; } @@ -458,7 +464,7 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe image.defaultPermissions.admin), cboShareMode.getItemAt(cboShareMode.getSelectedIndex())); try { - ThriftActions.updateImageBase(image.getImageBaseId(), ibw); + actionHandler.updateImageBase(image.getImageBaseId(), ibw); } catch (TException e) { ThriftError.showMessage(me, LOGGER, e, "Konnte aktualisierte Metadaten nicht an den Server übermitteln"); @@ -472,7 +478,7 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe if (permissionsChanged) { if (!writeImagePermMap()) return false; - LOGGER.info("Successfully saved new permissions"); + LOGGER.info("Successfully saved new custom permissions"); permissionsChanged = false; } return true; @@ -480,7 +486,7 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe private boolean writeImagePermMap() { try { - ThriftActions.writeImagePermissions(image.getImageBaseId(), customPermissions); + actionHandler.writeImagePermissions(image.getImageBaseId(), customPermissions); } catch (TException e) { ThriftError.showMessage(me, LOGGER, e, "Konnte geänderte Berechtigungen nicht an den Server übermitteln"); @@ -499,6 +505,8 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe Gui.showMessageBox(this, "Ausgewählte Version ist ungültig", MessageType.ERROR, null, null); return; } + // using actionHandler here is not needed, as this ThriftAction works for downloads + // from either the master server or the satellite server ThriftActions.initDownload(JOptionPane.getFrameForComponent(this), selected.versionId, image.imageName, image.virtId, image.osId, selected.fileSize, null); } @@ -511,7 +519,7 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe private void deleteVersion(final ImageVersionDetails version) { if (version == null) return; - ThriftActions.deleteImageVersion(JOptionPane.getFrameForComponent(this), version, + actionHandler.deleteImageVersion(JOptionPane.getFrameForComponent(this), version, new DeleteCallback() { @Override public void isDeleted(boolean success) { @@ -609,10 +617,12 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe } cboShareMode.setSelectedItem(image.getShareMode()); } - + String tagsString = ""; - for (String tag : image.getTags()) { - tagsString = tagsString + ", " + tag; + if (image.getTags() != null) { + for (String tag : image.getTags()) { + tagsString = tagsString + ", " + tag; + } } txtTags.setText(tagsString); @@ -715,8 +725,8 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe * @param modalParent parent of this window * @param imageBaseId id of the image to set the details of */ - public static void open(Frame modalParent, String imageBaseId, ImageUpdatedCallback callback) { - ImageDetailsWindow win = new ImageDetailsWindow(modalParent, callback); + public static void open(Frame modalParent, String imageBaseId, ImageUpdatedCallback callback, ImageDetailsActions actionHandler) { + ImageDetailsWindow win = new ImageDetailsWindow(modalParent, callback, actionHandler); win.setImage(imageBaseId); win.setVisible(true); } @@ -766,3 +776,4 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe return true; } } + |