diff options
author | Jonathan Bauer | 2016-09-02 15:04:01 +0200 |
---|---|---|
committer | Jonathan Bauer | 2016-09-02 15:04:01 +0200 |
commit | c4a693230a2e0e2c918d838d9370499f90570fac (patch) | |
tree | f4098f17f14907516bb154c22821879b7c480841 /dozentenmodul/src/main/java/org/openslx/dozmod/thrift | |
parent | [client] vm-config editor finished, accessible from the popup menu of image's... (diff) | |
download | tutor-module-c4a693230a2e0e2c918d838d9370499f90570fac.tar.gz tutor-module-c4a693230a2e0e2c918d838d9370499f90570fac.tar.xz tutor-module-c4a693230a2e0e2c918d838d9370499f90570fac.zip |
[client] reworked vmx editor
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/thrift')
4 files changed, 18 insertions, 17 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageDetailsActions.java b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageDetailsActions.java index 8d10abab..f3a57c50 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageDetailsActions.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageDetailsActions.java @@ -1,5 +1,6 @@ package org.openslx.dozmod.thrift; +import java.nio.ByteBuffer; import java.util.Map; import org.apache.thrift.TException; @@ -17,8 +18,12 @@ public interface ImageDetailsActions { public void getImageDetails(final String imageBaseId, final ImageMetaCallback callback); public boolean setImageOwner(final String imageBaseId, final UserInfo user); public void updateImageBase(final String imageBaseId, final ImageBaseWrite data) throws TException, TAuthorizationException, TNotFoundException, TInvocationException; - public void setVirtualizerConfig(final String imageVersionId, final String machineDescription); + public void setVirtualizerConfig(final String imageVersionId, final ByteBuffer machineDescription, final VirtConfCallback callback); public void writeImagePermissions(final String imageBaseId, Map<String, ImagePermissions> customPermissions) throws TException, TAuthorizationException, TNotFoundException, TInvocationException; public void deleteImageVersion(final ImageVersionDetails version, final DeleteCallback callback); public boolean isImagePublishSupported(); + + public interface VirtConfCallback { + public void virtConfCallback(boolean success); + } } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageLocalDetailsActions.java b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageLocalDetailsActions.java index 1070017d..11feba74 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageLocalDetailsActions.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageLocalDetailsActions.java @@ -2,7 +2,6 @@ package org.openslx.dozmod.thrift; import java.awt.Frame; import java.nio.ByteBuffer; -import java.nio.charset.StandardCharsets; import java.util.Map; import org.apache.log4j.Logger; @@ -16,7 +15,6 @@ import org.openslx.bwlp.thrift.iface.TInvocationException; import org.openslx.bwlp.thrift.iface.TNotFoundException; import org.openslx.bwlp.thrift.iface.UserInfo; import org.openslx.dozmod.gui.Gui; -import org.openslx.dozmod.gui.helper.MessageType; import org.openslx.dozmod.thrift.ThriftActions.DeleteCallback; import org.openslx.dozmod.thrift.ThriftActions.ImageMetaCallback; import org.openslx.thrifthelper.ThriftManager; @@ -98,26 +96,23 @@ public class ImageLocalDetailsActions implements ImageDetailsActions { } @Override - public void setVirtualizerConfig(final String imageVersionId, final String machineDescription) { - final ByteBuffer bufferToSave; - bufferToSave = ByteBuffer.wrap(machineDescription.getBytes(StandardCharsets.ISO_8859_1)); + public void setVirtualizerConfig(final String imageVersionId, final ByteBuffer machineDescription, final VirtConfCallback callback) { QuickTimer.scheduleOnce(new Task() { - ByteBuffer bufferSaved = null; + boolean success = false; @Override public void fire() { try { - bufferSaved = ThriftManager.getSatClient().setImageVersionVirtConfig(Session.getSatelliteToken(), imageVersionId, bufferToSave); + ThriftManager.getSatClient().setImageVersionVirtConfig(Session.getSatelliteToken(), imageVersionId, machineDescription); + success = true; } catch (TException e) { ThriftError.showMessage(parent, LOGGER, e, "Fehler beim Speichern der VM-Konfiguration!"); } Gui.asyncExec(new Runnable() { @Override public void run() { - // check the returned bytebuffer to check if the transfer worked as intended - if (!bufferSaved.equals(bufferToSave)) // tested this, seems to works good enough... - Gui.showMessageBox("Unvorhergesehener Fehler! Bitte wenden Sie sich an dem Support.", - MessageType.ERROR , LOGGER, null); - // else we're good. + if (success && callback != null) { + callback.virtConfCallback(success); + } } }); } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImagePublishedDetailsActions.java b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImagePublishedDetailsActions.java index 99ebf107..28ed3391 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImagePublishedDetailsActions.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImagePublishedDetailsActions.java @@ -1,6 +1,7 @@ package org.openslx.dozmod.thrift; import java.awt.Frame; +import java.nio.ByteBuffer; import java.util.Map; import org.openslx.bwlp.thrift.iface.ImageBaseWrite; @@ -69,7 +70,7 @@ public class ImagePublishedDetailsActions implements ImageDetailsActions { @Override public void setVirtualizerConfig(String imageVersionId, - String machineDescription) { + ByteBuffer machineDescription, VirtConfCallback cb) { return; } } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/Session.java b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/Session.java index 6eb91fe7..6fa5c3bc 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/Session.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/Session.java @@ -143,10 +143,10 @@ public class Session { } /** - * @return true if the satellite's API version supports netrules, internet - * blocking, exam mode (version 4 and above), false otherwise + * @return true if the satellite's API version supports usb, netrules, internet + * blocking, exam mode restrictions (version 4 and above), false otherwise */ - public static boolean isNetrulesSupported() { + public static boolean isLectureRestrictionsSupported() { return satelliteApiVersion >= 4; } |