diff options
author | Jonathan Bauer | 2015-08-21 15:59:03 +0200 |
---|---|---|
committer | Jonathan Bauer | 2015-08-21 15:59:03 +0200 |
commit | 32f69464f571f7db8d8aa82df965588da0adc636 (patch) | |
tree | f83141da824ab74bb4b36d22318dd5c3f1caf73d /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java | |
parent | [client] ThriftActions & calls in LectureWizard (diff) | |
download | tutor-module-32f69464f571f7db8d8aa82df965588da0adc636.tar.gz tutor-module-32f69464f571f7db8d8aa82df965588da0adc636.tar.xz tutor-module-32f69464f571f7db8d8aa82df965588da0adc636.zip |
[client] more ThriftActions
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java | 100 |
1 files changed, 49 insertions, 51 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java index 6c16debd..6ec5a554 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java @@ -29,8 +29,10 @@ import org.openslx.dozmod.gui.window.UserListWindow.UserAddedCallback; import org.openslx.dozmod.gui.window.layout.LectureDetailsWindowLayout; import org.openslx.dozmod.permissions.LecturePerms; import org.openslx.dozmod.thrift.Session; -import org.openslx.dozmod.thrift.ThriftError; import org.openslx.dozmod.thrift.ThriftActions; +import org.openslx.dozmod.thrift.ThriftActions.ImageMetaCallback; +import org.openslx.dozmod.thrift.ThriftActions.LectureMetaCallback; +import org.openslx.dozmod.thrift.ThriftError; import org.openslx.dozmod.thrift.cache.UserCache; import org.openslx.dozmod.util.FormatHelper; import org.openslx.thrifthelper.ThriftManager; @@ -117,37 +119,40 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements * @param lectureId the id of the lecture to be displayed */ public void setLecture(final String lectureId) { - QuickTimer.scheduleOnce(new Task() { - @Override - public void fire() { - TException error = null; - try { - synchronized (me) { - if (lecture != null) - return; - lecture = ThriftManager.getSatClient().getLectureDetails(Session.getSatelliteToken(), - lectureId); - image = ThriftManager.getSatClient().getImageDetails(Session.getSatelliteToken(), - lecture.getImageBaseId()); + synchronized (me) { + if (lecture != null) + return; + + // teh fugleh + final Frame parentFrame = JOptionPane.getFrameForComponent(me); + ThriftActions.getLectureDetails(parentFrame, lectureId, new LectureMetaCallback() { + @Override + public void fetchedLectureDetails(LectureRead lectureDetails) { + if (lectureDetails != null) { + lecture = lectureDetails; + ThriftActions.getImageDetails(parentFrame, lecture.getImageBaseId(), new ImageMetaCallback() { + @Override + public void fetchedImageDetails(ImageDetailsRead imageDetails) { + if (imageDetails != null) { + image = imageDetails; + if (lecture != null) + fill(); + } + } + @Override + public void fetchedImagePermissions(Map<String, ImagePermissions> permissions) { + return; + } + }); } - } catch (TException e) { - error = e; } - final TException e = error; - Gui.asyncExec(new Runnable() { - @Override - public void run() { - if (e != null || lecture == null || image == null) { - ThriftError.showMessage(btnAutoUpdate, LOGGER, e, - "Konnte Daten der Vorlesung nicht abrufen"); - dispose(); - } else { - fill(); - } - } - }); - } - }); + @Override + public void fetchedLecturePermissions(Map<String, LecturePermissions> permissions) { + return; + } + }); + + } } /** @@ -209,27 +214,20 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements } private void setLectureOwner(final UserInfo user) { - QuickTimer.scheduleOnce(new Task() { - @Override - public void fire() { - try { - ThriftManager.getSatClient().setLectureOwner(Session.getSatelliteToken(), - lecture.getLectureId(), user.getUserId()); - } catch (TException e) { - ThriftError.showMessage(me, LOGGER, e, "Fehler beim Übertragen der Besitzrechte"); - return; - } - Gui.showMessageBox(me, "Besitzrechte übertragen an " + FormatHelper.userName(user), - MessageType.INFO, null, null); - makeEditable(false); - String lectureId = lecture.getLectureId(); - synchronized (me) { - image = null; - lecture = null; - } - setLecture(lectureId); - } - }); + if (!ThriftActions.setLectureOwner(JOptionPane.getFrameForComponent(this), + lecture.getLectureId(), user)) { + return; + } + // success + Gui.showMessageBox(me, "Besitzrechte übertragen an " + FormatHelper.userName(user), + MessageType.INFO, null, null); + makeEditable(false); + String lectureId = lecture.getLectureId(); + synchronized (me) { + image = null; + lecture = null; + } + setLecture(lectureId); } /** |