summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java
diff options
context:
space:
mode:
authorJonathan Bauer2015-08-21 17:17:53 +0200
committerJonathan Bauer2015-08-21 17:17:53 +0200
commit946853def88a3b96c18a38585501750dec89a049 (patch)
tree15cfc9ae68330c2d33ba3d3e93ad118d43a77f11 /dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java
parent[client] remove unused imports (diff)
downloadtutor-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.java121
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
*
********************************************************************************/