summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/thrift
diff options
context:
space:
mode:
authorJonathan Bauer2016-09-02 15:04:01 +0200
committerJonathan Bauer2016-09-02 15:04:01 +0200
commitc4a693230a2e0e2c918d838d9370499f90570fac (patch)
treef4098f17f14907516bb154c22821879b7c480841 /dozentenmodul/src/main/java/org/openslx/dozmod/thrift
parent[client] vm-config editor finished, accessible from the popup menu of image's... (diff)
downloadtutor-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')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageDetailsActions.java7
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageLocalDetailsActions.java19
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImagePublishedDetailsActions.java3
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/thrift/Session.java6
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;
}