diff options
author | Jonathan Bauer | 2015-08-21 17:17:53 +0200 |
---|---|---|
committer | Jonathan Bauer | 2015-08-21 17:17:53 +0200 |
commit | 946853def88a3b96c18a38585501750dec89a049 (patch) | |
tree | 15cfc9ae68330c2d33ba3d3e93ad118d43a77f11 /dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java | |
parent | [client] remove unused imports (diff) | |
download | tutor-module-946853def88a3b96c18a38585501750dec89a049.tar.gz tutor-module-946853def88a3b96c18a38585501750dec89a049.tar.xz tutor-module-946853def88a3b96c18a38585501750dec89a049.zip |
[client] tried to fix teh broken
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 | 121 |
1 files changed, 75 insertions, 46 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 dce23dbb..06a5cc91 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java @@ -360,6 +360,16 @@ public class ThriftActions { void fetchedImagePermissions(Map<String, ImagePermissions> permissions); } + public static ImageDetailsRead getImageDetails(final Frame frame, final String imageBaseId) { + ImageDetailsRead details = null; + try { + details = ThriftManager.getSatClient().getImageDetails(Session.getSatelliteToken(), + imageBaseId); + } catch (TException e) { + ThriftError.showMessage(frame, LOGGER, e, "Fehler beim Lesen der Metadaten"); + } + return details; + } /** * @param frame * @param imageBaseId @@ -370,15 +380,7 @@ public class ThriftActions { ImageDetailsRead details = null; @Override public void fire() { - try { - details = ThriftManager.getSatClient().getImageDetails(Session.getSatelliteToken(), - imageBaseId); - } catch (TException e) { - ThriftError.showMessage(frame, LOGGER, e, "Fehler beim Lesen der Metadaten"); - if (callback != null) - callback.fetchedImageDetails(details); - return; - } + details = ThriftActions.getImageDetails(frame, imageBaseId); Gui.asyncExec(new Runnable() { @Override public void run() { @@ -573,33 +575,26 @@ public class ThriftActions { * */ public interface LectureMetaCallback { - void fetchedLectureDetails(LectureRead details); + void fetchedLectureDetails(LectureRead lecture, ImageDetailsRead image); void fetchedLecturePermissions(Map<String, LecturePermissions> permissions); } /** + * NON-BLOCKING * @param frame * @param lectureId * @param callback */ - public static void getLectureDetails(final Frame frame, final String lectureId, final LectureMetaCallback callback) { + public static void getLectureWithImageDetails(final Frame frame, final String lectureId, final LectureMetaCallback callback) { QuickTimer.scheduleOnce(new Task() { - LectureRead lecture = null; @Override public void fire() { - try { - - lecture = ThriftManager.getSatClient().getLectureDetails(Session.getSatelliteToken(), lectureId); - } catch (TException e) { - ThriftError.showMessage(frame, LOGGER, e, "Konnte Veranstaltungdaten nicht abrufen"); - if (callback != null) - callback.fetchedLectureDetails(null); - return; - } + final LectureRead lecture = ThriftActions.getLectureDetails(frame, lectureId); + final ImageDetailsRead image = ThriftActions.getImageDetails(frame, lecture.getImageBaseId()); Gui.asyncExec(new Runnable() { @Override public void run() { if (callback != null) { - callback.fetchedLectureDetails(lecture); + callback.fetchedLectureDetails(lecture, image); } } }); @@ -607,34 +602,36 @@ public class ThriftActions { }); } /** + * GUI-BLOCKING * @param frame * @param lectureId * @param callback */ - public static void getLecturePermissions(final Frame frame, final String lectureId, final LectureMetaCallback callback) { - QuickTimer.scheduleOnce(new Task() { - Map<String, LecturePermissions> permissions = null; - @Override - public void fire() { - try { - - permissions = ThriftManager.getSatClient().getLecturePermissions(Session.getSatelliteToken(), lectureId); - } catch (TException e) { - ThriftError.showMessage(frame, LOGGER, e, "Konnte Veranstaltungdaten nicht abrufen"); - if (callback != null) - callback.fetchedLecturePermissions(null); - return; - } - Gui.asyncExec(new Runnable() { - @Override - public void run() { - if (callback != null) { - callback.fetchedLecturePermissions(permissions); - } - } - }); - } - }); + public static LectureRead getLectureDetails(final Frame frame, final String lectureId) { + LectureRead lecture = null; + try { + lecture = ThriftManager.getSatClient().getLectureDetails(Session.getSatelliteToken(), lectureId); + } catch (TException e) { + ThriftError.showMessage(frame, LOGGER, e, "Konnte Veranstaltungdaten nicht abrufen"); + } + return lecture; + } + /** + * GUI-BLOCKING + * @param frame + * @param lectureId + * @param callback + */ + public static Map<String, LecturePermissions> getLecturePermissions(final Frame frame, final String lectureId) { + Map<String, LecturePermissions> permissions = null; + try { + + permissions = ThriftManager.getSatClient().getLecturePermissions(Session.getSatelliteToken(), lectureId); + } catch (TException e) { + ThriftError.showMessage(frame, LOGGER, e, "Konnte Veranstaltungdaten nicht abrufen"); + } + return permissions; + } /** * GUI-BLOCKING @@ -657,6 +654,38 @@ public class ThriftActions { } /* ******************************************************************************* * + * LECTURE DELETION + * + * Methods to delete lectures + * + ********************************************************************************/ + public interface DeleteLectureCallback { + void deleted(boolean success); + } + public static void deleteLecture(final Frame frame, final String lectureId, final DeleteLectureCallback callback) { + QuickTimer.scheduleOnce(new Task() { + boolean success = false; + @Override + public void fire() { + try { + ThriftManager.getSatClient().deleteLecture(Session.getSatelliteToken(), lectureId); + success = true; + } catch (TException e) { + ThriftError.showMessage(frame, LOGGER, e, "Konnte Veranstaltungdaten nicht abrufen"); + } + Gui.asyncExec(new Runnable() { + @Override + public void run() { + if (callback != null) { + callback.deleted(success); + } + } + }); + } + }); + } + /* ******************************************************************************* + * * PRIVATE HELPERS * ********************************************************************************/ |