diff options
author | Jonathan Bauer | 2016-08-31 16:54:59 +0200 |
---|---|---|
committer | Jonathan Bauer | 2016-08-31 16:54:59 +0200 |
commit | 26cd5699373dbe35ee24700189e8a3e580ae6243 (patch) | |
tree | 0389541c704fbfe05aeb514365e4643f84bbfa20 /dozentenmodul/src/main/java/org/openslx/dozmod/thrift | |
parent | [client] Reset filter when hiding lecture list if filtered by linked image (diff) | |
download | tutor-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')
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; + } } |