summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java
diff options
context:
space:
mode:
authorSimon Rettberg2015-07-23 13:49:48 +0200
committerSimon Rettberg2015-07-23 13:49:48 +0200
commit411eb5251e4d93e206f2b2847d856ded4240e84a (patch)
tree90f698a08cd5ced9256949a9176b4d0ebb93561c /dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java
parentMerge branch 'v1.1' of git.openslx.org:openslx-ng/tutor-module into v1.1 (diff)
downloadtutor-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.java22
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