diff options
author | Simon Rettberg | 2015-07-23 13:49:48 +0200 |
---|---|---|
committer | Simon Rettberg | 2015-07-23 13:49:48 +0200 |
commit | 411eb5251e4d93e206f2b2847d856ded4240e84a (patch) | |
tree | 90f698a08cd5ced9256949a9176b4d0ebb93561c /dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java | |
parent | Merge branch 'v1.1' of git.openslx.org:openslx-ng/tutor-module into v1.1 (diff) | |
download | tutor-module-411eb5251e4d93e206f2b2847d856ded4240e84a.tar.gz tutor-module-411eb5251e4d93e206f2b2847d856ded4240e84a.tar.xz tutor-module-411eb5251e4d93e206f2b2847d856ded4240e84a.zip |
[server] Adapt to RPC changes
Diffstat (limited to 'dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java')
-rw-r--r-- | dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java | 22 |
1 files changed, 18 insertions, 4 deletions
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 45373ae4..0c26081b 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 @@ -68,8 +68,8 @@ public class ServerHandler implements SatelliteServer.Iface { @Override public TransferInformation requestImageVersionUpload(String userToken, String imageBaseId, long fileSize, - List<ByteBuffer> blockHashes) throws TTransferRejectedException, TAuthorizationException, - TInternalServerError, TNotFoundException { + List<ByteBuffer> blockHashes, ByteBuffer machineDescription) throws TTransferRejectedException, + TAuthorizationException, TInternalServerError, TNotFoundException, TException { UserInfo user = SessionManager.getOrFail(userToken); User.canEditBaseImageOrFail(user, imageBaseId); ImageDetailsRead image; @@ -78,8 +78,16 @@ public class ServerHandler implements SatelliteServer.Iface { } catch (SQLException e) { throw new TInternalServerError(); } - String transferId = fileServer.createNewUserUpload(user, image, fileSize, blockHashes); - return new TransferInformation(transferId, fileServer.getPlainPort(), fileServer.getSslPort()); + byte[] mDesc = machineDescription == null ? null : machineDescription.array(); + ActiveUpload transfer = fileServer.createNewUserUpload(user, image, fileSize, blockHashes, mDesc); + return new TransferInformation(transfer.getId(), fileServer.getPlainPort(), fileServer.getSslPort()); + } + + @Override + public ByteBuffer getMachineDescription(String userToken, String imageVersionId) + throws TAuthorizationException, TInternalServerError, TNotFoundException, TException { + // TODO Auto-generated method stub + return null; } @Override @@ -225,6 +233,12 @@ public class ServerHandler implements SatelliteServer.Iface { public void updateImageVersion(String userToken, String imageVersionId, ImageVersionWrite image) throws TAuthorizationException, TInternalServerError, TNotFoundException { UserInfo user = SessionManager.getOrFail(userToken); + // Special case: Version is still being uploaded, so there's no entry yet - remember for later + ActiveUpload upload = fileServer.getUploadByToken(imageVersionId); + if (upload != null && upload.setVersionData(user, image)) { + return; + } + // Normal case - version already exists User.canEditImageVersionOrFail(user, imageVersionId); try { // Do not allow editing remote images |