summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/thrift
diff options
context:
space:
mode:
authorJonathan Bauer2016-08-31 16:54:59 +0200
committerJonathan Bauer2016-08-31 16:54:59 +0200
commit26cd5699373dbe35ee24700189e8a3e580ae6243 (patch)
tree0389541c704fbfe05aeb514365e4643f84bbfa20 /dozentenmodul/src/main/java/org/openslx/dozmod/thrift
parent[client] Reset filter when hiding lecture list if filtered by linked image (diff)
downloadtutor-module-26cd5699373dbe35ee24700189e8a3e580ae6243.tar.gz
tutor-module-26cd5699373dbe35ee24700189e8a3e580ae6243.tar.xz
tutor-module-26cd5699373dbe35ee24700189e8a3e580ae6243.zip
[client] vm-config editor finished, accessible from the popup menu of image's versions
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/thrift')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageDetailsActions.java1
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageLocalDetailsActions.java31
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImagePublishedDetailsActions.java6
3 files changed, 38 insertions, 0 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 a2183b23..8d10abab 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageDetailsActions.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageDetailsActions.java
@@ -17,6 +17,7 @@ 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 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();
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 a1662fbd..1070017d 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageLocalDetailsActions.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageLocalDetailsActions.java
@@ -1,6 +1,8 @@
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;
@@ -14,8 +16,10 @@ 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;
import org.openslx.util.QuickTimer;
import org.openslx.util.QuickTimer.Task;
@@ -93,4 +97,31 @@ public class ImageLocalDetailsActions implements ImageDetailsActions {
return Session.isImagePublishSupported();
}
+ @Override
+ public void setVirtualizerConfig(final String imageVersionId, final String machineDescription) {
+ final ByteBuffer bufferToSave;
+ bufferToSave = ByteBuffer.wrap(machineDescription.getBytes(StandardCharsets.ISO_8859_1));
+ QuickTimer.scheduleOnce(new Task() {
+ ByteBuffer bufferSaved = null;
+ @Override
+ public void fire() {
+ try {
+ bufferSaved = ThriftManager.getSatClient().setImageVersionVirtConfig(Session.getSatelliteToken(), imageVersionId, bufferToSave);
+ } 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.
+ }
+ });
+ }
+ });
+ }
+
}
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 9cdda519..99ebf107 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImagePublishedDetailsActions.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImagePublishedDetailsActions.java
@@ -66,4 +66,10 @@ public class ImagePublishedDetailsActions implements ImageDetailsActions {
public boolean isImagePublishSupported() {
return false;
}
+
+ @Override
+ public void setVirtualizerConfig(String imageVersionId,
+ String machineDescription) {
+ return;
+ }
}