diff options
author | Simon Rettberg | 2015-07-24 19:06:50 +0200 |
---|---|---|
committer | Simon Rettberg | 2015-07-24 19:06:50 +0200 |
commit | d8e8dbe25b6522d3f03c8b8c08841e1b0a6bbe7d (patch) | |
tree | 6d03021cb939ea4374d3b228cb0cfd9be44368b3 /dozentenmodul/src/main/java/org/openslx | |
parent | [client] fix invocation exception (diff) | |
download | tutor-module-d8e8dbe25b6522d3f03c8b8c08841e1b0a6bbe7d.tar.gz tutor-module-d8e8dbe25b6522d3f03c8b8c08841e1b0a6bbe7d.tar.xz tutor-module-d8e8dbe25b6522d3f03c8b8c08841e1b0a6bbe7d.zip |
[client] Fix upload wizard state checks, fix formatting
[server] Handle null tokens in FileServer
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java | 104 | ||||
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java | 2 |
2 files changed, 36 insertions, 70 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); |