diff options
author | Jonathan Bauer | 2015-08-22 00:20:53 +0200 |
---|---|---|
committer | Jonathan Bauer | 2015-08-22 00:20:53 +0200 |
commit | 037febb4a0f43a7a09ed9b5dab31ec1f60224356 (patch) | |
tree | d3556381b2e64e88cba9f37394d9597a43db467d /dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java | |
parent | [client] fix LectureDetailsWindow (diff) | |
download | tutor-module-037febb4a0f43a7a09ed9b5dab31ec1f60224356.tar.gz tutor-module-037febb4a0f43a7a09ed9b5dab31ec1f60224356.tar.xz tutor-module-037febb4a0f43a7a09ed9b5dab31ec1f60224356.zip |
[client] synced image details fetching
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java | 51 |
1 files changed, 36 insertions, 15 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java index b6f86003..9e2c5f09 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java @@ -356,8 +356,7 @@ public class ThriftActions { * TODO */ public interface ImageMetaCallback { - void fetchedImageDetails(ImageDetailsRead details); - void fetchedImagePermissions(Map<String, ImagePermissions> permissions); + void fetchedImageDetails(ImageDetailsRead details, Map<String, ImagePermissions> permissions); } public static ImageDetailsRead getImageDetails(final Frame frame, final String imageBaseId) { @@ -385,7 +384,27 @@ public class ThriftActions { @Override public void run() { if (callback != null) { - callback.fetchedImageDetails(details); + callback.fetchedImageDetails(details, null); + } + } + }); + } + }); + } + public static void getImageFullDetails(final Frame frame, final String imageBaseId, final ImageMetaCallback callback) { + QuickTimer.scheduleOnce(new Task() { + ImageDetailsRead details = null; + Map<String, ImagePermissions> permissions = null; + @Override + public void fire() { + // sync calls + details = ThriftActions.getImageDetails(frame, imageBaseId); + permissions = ThriftActions.getImagePermissions(frame, imageBaseId); + Gui.asyncExec(new Runnable() { + @Override + public void run() { + if (callback != null) { + callback.fetchedImageDetails(details, permissions); } } }); @@ -397,27 +416,29 @@ public class ThriftActions { * @param imageBaseId * @param callback */ + + // sync + public static Map<String, ImagePermissions> getImagePermissions(final Frame frame, final String imageBaseId) { + Map<String, ImagePermissions> permissionMap = null; + try { + permissionMap = ThriftManager.getSatClient().getImagePermissions(Session.getSatelliteToken(), imageBaseId); + } catch (TException e) { + ThriftError.showMessage(frame, LOGGER, e, "Fehler beim Lesen der Metadaten"); + } + return permissionMap; + } + // async public static void getImagePermissions(final Frame frame, final String imageBaseId, final ImageMetaCallback callback) { QuickTimer.scheduleOnce(new Task() { Map<String, ImagePermissions> permissionMap = null; @Override public void fire() { - try { - permissionMap = ThriftManager.getSatClient().getImagePermissions(Session.getSatelliteToken(), imageBaseId); - LOGGER.debug("Received: " + permissionMap); - if (permissionMap == null) - LOGGER.debug("And NULL"); - } catch (TException e) { - ThriftError.showMessage(frame, LOGGER, e, "Fehler beim Lesen der Metadaten"); - if (callback != null) - callback.fetchedImagePermissions(null); - return; - } + permissionMap = ThriftActions.getImagePermissions(frame, imageBaseId); Gui.asyncExec(new Runnable() { @Override public void run() { if (callback != null) { - callback.fetchedImagePermissions(permissionMap); + callback.fetchedImageDetails(null, permissionMap); } } }); |