summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
diff options
context:
space:
mode:
authorJonathan Bauer2016-04-27 17:24:15 +0200
committerJonathan Bauer2016-04-27 17:24:15 +0200
commita40ddb0a580348d68ff0c515275ffa252b686c1e (patch)
treee2436a05c935fd7b6c408e4cafb5be5dce6e16ce /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
parent[server] Fix upload handling if image already exists (diff)
downloadtutor-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.java39
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;
}
}
+