summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java104
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java2
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/FileServer.java2
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java6
4 files changed, 43 insertions, 71 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java
index 2cc21ec4..3b8f40fe 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java
@@ -3,10 +3,8 @@ package org.openslx.dozmod.gui.wizard;
import org.apache.log4j.Logger;
import org.apache.thrift.TException;
import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;
import org.openslx.bwlp.thrift.iface.ImageBaseWrite;
-import org.openslx.bwlp.thrift.iface.ImageDetailsRead;
import org.openslx.bwlp.thrift.iface.ImageVersionWrite;
import org.openslx.dozmod.gui.MainWindow;
import org.openslx.dozmod.gui.helper.MessageType;
@@ -30,6 +28,7 @@ public class ImageWizard extends Wizard {
/**
* Wizard for creating or editing an image
+ *
* @param editExistingImage whether to create new or edit existing image
*/
public ImageWizard(boolean editExistingImage) {
@@ -39,11 +38,10 @@ public class ImageWizard extends Wizard {
this.uploadWizardState = new UploadWizardState();
}
-
@Override
public String getWindowTitle() {
return "Neues Image erzeugen";
-
+
}
@Override
@@ -63,8 +61,7 @@ public class ImageWizard extends Wizard {
for (TableItem tc : imageCustomPermissionPage.getTable().getItems()) {
if (tc.getData() instanceof UserToPermissionLink) {
UserToPermissionLink upl = (UserToPermissionLink) tc.getData();
- LOGGER.debug(upl.getUserId() + " has permissions: "
- + upl.getPermission());
+ LOGGER.debug(upl.getUserId() + " has permissions: " + upl.getPermission());
}
}
// since we only started the download and created a "blank" image entry
@@ -78,58 +75,39 @@ public class ImageWizard extends Wizard {
// TODO run the actually request over external threaded class
try {
// push to sat
- ThriftManager.getSatClient().updateImageBase(
- Session.getSatelliteToken(), uploadWizardState.uuid.toString(), imageBaseWriteFromState());
+ ThriftManager.getSatClient().updateImageBase(Session.getSatelliteToken(),
+ uploadWizardState.uuid.toString(), imageBaseWriteFromState());
} catch (TException e) {
LOGGER.error("Fail to push image metadata to satellite: ", e);
return false;
}
}
- // seems like we did it! fetch it again
- ImageDetailsRead imageDetailsRead = null;
- try {
- imageDetailsRead = ThriftManager.getSatClient().getImageDetails(Session.getSatelliteToken(),
- uploadWizardState.uuid);
- } catch (TException e) {
- LOGGER.error("Could not fetch image details of newly created image!", e);
- return false;
- }
- if (imageDetailsRead != null) {
- // it did work :)
- LOGGER.debug(imageDetailsRead.toString());
- // push permissions to satellite server
- if (uploadWizardState.permissionList != null) {
- // user skipped permission list stuff
- try {
- ThriftManager.getSatClient().writeImagePermissions(
- Session.getSatelliteToken(),
- uploadWizardState.uuid,
- uploadWizardState.permissionList);
- } catch (TException e) {
- // TODO Auto-generated catch block
- LOGGER.error("Could not write permissions list to satellite: ", e);
- return false;
- }
- }
+ // push permissions to satellite server
+ if (uploadWizardState.permissionList != null) {
+ // user skipped permission list stuff
try {
- // push to sat
- ThriftManager.getSatClient().updateImageVersion(
- Session.getSatelliteToken(),
- imageDetailsRead.latestVersionId,
- new ImageVersionWrite(uploadWizardState.isEnabled, uploadWizardState.isRestricted));
+ ThriftManager.getSatClient().writeImagePermissions(Session.getSatelliteToken(),
+ uploadWizardState.uuid, uploadWizardState.permissionList);
} catch (TException e) {
- LOGGER.error("Could not set active/restricted flags to satellite: ", e);
+ // TODO Auto-generated catch block
+ LOGGER.error("Could not write permissions list to satellite: ", e);
return false;
}
-
- MainWindow.showMessageBox("Creation of image worked :)", MessageType.INFO, LOGGER, null);
- return true;
- } else {
- MainWindow.showMessageBox("Creation of image failed :(", MessageType.ERROR, LOGGER, null);
+ }
+ try {
+ // push to sat
+ ThriftManager.getSatClient().updateImageVersion(Session.getSatelliteToken(),
+ uploadWizardState.transferInformation.getToken(),
+ new ImageVersionWrite(uploadWizardState.isEnabled, uploadWizardState.isRestricted));
+ } catch (TException e) {
+ LOGGER.error("Could not set active/restricted flags to satellite: ", e);
return false;
}
+ MainWindow.showMessageBox("Creation of image worked :)", MessageType.INFO, LOGGER, null);
+ return true;
+
}
private boolean isStateValid() {
@@ -145,31 +123,27 @@ public class ImageWizard extends Wizard {
if (uploadWizardState.descriptionFile == null) {
LOGGER.error("No description file set in state!");
return false;
- } else {
+ } else {
if (!uploadWizardState.descriptionFile.canRead()) {
- LOGGER.error(uploadWizardState.descriptionFile.getAbsolutePath()
- + " cannot be read!");
+ LOGGER.error(uploadWizardState.descriptionFile.getAbsolutePath() + " cannot be read!");
return false;
}
}
if (uploadWizardState.diskFile == null) {
LOGGER.error("No disk file set in state!");
return false;
- } else {
+ } else {
if (!uploadWizardState.diskFile.canRead()) {
- LOGGER.error(uploadWizardState.diskFile.getAbsolutePath()
- + " cannot be read!");
+ LOGGER.error(uploadWizardState.diskFile.getAbsolutePath() + " cannot be read!");
return false;
}
}
if (uploadWizardState.selectedOs == null) {
LOGGER.error("No OS set in state!");
return false;
- } else {
+ } else {
if (!(uploadWizardState.selectedOs.isSetArchitecture()
- && uploadWizardState.selectedOs.isSetOsId()
- && uploadWizardState.selectedOs.isSetOsName()
- && uploadWizardState.selectedOs.isSetVirtualizerOsId())) {
+ && uploadWizardState.selectedOs.isSetOsId() && uploadWizardState.selectedOs.isSetOsName() && uploadWizardState.selectedOs.isSetVirtualizerOsId())) {
LOGGER.error("OS has missing fields: " + uploadWizardState.selectedOs.toString());
return false;
}
@@ -182,12 +156,6 @@ public class ImageWizard extends Wizard {
LOGGER.error("No permissions set in state!");
return false;
}
- if (uploadWizardState.permissionList == null) {
- LOGGER.error("No share mode set in state!");
- return false;
- } else {
- LOGGER.debug(uploadWizardState.permissionList);
- }
if (uploadWizardState.shareMode == null) {
LOGGER.error("No share mode set in state!");
return false;
@@ -196,17 +164,13 @@ public class ImageWizard extends Wizard {
LOGGER.error("No uuid set in state!");
return false;
}
- return true;
+ return true;
}
+
private ImageBaseWrite imageBaseWriteFromState() {
// build imageBaseWrite
- return new ImageBaseWrite(
- uploadWizardState.name,
- uploadWizardState.description,
- uploadWizardState.selectedOs.getOsId(),
- uploadWizardState.meta.getVirtualizer().getVirtId(),
- uploadWizardState.isTemplate,
- uploadWizardState.permissions,
- uploadWizardState.shareMode);
+ return new ImageBaseWrite(uploadWizardState.name, uploadWizardState.description,
+ uploadWizardState.selectedOs.getOsId(), uploadWizardState.meta.getVirtualizer().getVirtId(),
+ uploadWizardState.isTemplate, uploadWizardState.permissions, uploadWizardState.shareMode);
}
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java
index 041627d9..a87becd1 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java
@@ -3,6 +3,7 @@ package org.openslx.dozmod.gui.wizard.page;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.util.List;
import org.apache.log4j.Logger;
@@ -120,6 +121,7 @@ public class ImageUploadPage extends ImageUploadPageLayout {
setPageComplete(false);
return;
}
+ LOGGER.info(new String(state.meta.getFilteredDefinition().array(), StandardCharsets.UTF_8));
if (state.meta == null || state.meta.getDisplayName() == null) {
setErrorMessage("Keine gültige vmx-Datei ausgewählt!");
setPageComplete(false);
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/FileServer.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/FileServer.java
index 9895e655..16369745 100644
--- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/FileServer.java
+++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/FileServer.java
@@ -84,6 +84,8 @@ public class FileServer implements IncomingEvent {
* @return
*/
public ActiveUpload getUploadByToken(String uploadToken) {
+ if (uploadToken == null)
+ return null;
return uploads.get(uploadToken);
}
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java
index 0c26081b..b835ded9 100644
--- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java
+++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java
@@ -78,7 +78,11 @@ public class ServerHandler implements SatelliteServer.Iface {
} catch (SQLException e) {
throw new TInternalServerError();
}
- byte[] mDesc = machineDescription == null ? null : machineDescription.array();
+ byte[] mDesc = null;
+ if (machineDescription != null) {
+ mDesc = new byte[machineDescription.remaining()];
+ machineDescription.get(mDesc);
+ }
ActiveUpload transfer = fileServer.createNewUserUpload(user, image, fileSize, blockHashes, mDesc);
return new TransferInformation(transfer.getId(), fileServer.getPlainPort(), fileServer.getSslPort());
}