summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java
diff options
context:
space:
mode:
authorSimon Rettberg2015-09-01 16:26:09 +0200
committerSimon Rettberg2015-09-01 16:26:09 +0200
commit802a564dae4e41d149d307bfd1265d30e02ce792 (patch)
tree83334c36451ac0e47c8402ba1ae6df89bbb4d843 /dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java
parent[client] ImageDetailsWindow: only show popup menu item if image-version is ac... (diff)
downloadtutor-module-802a564dae4e41d149d307bfd1265d30e02ce792.tar.gz
tutor-module-802a564dae4e41d149d307bfd1265d30e02ce792.tar.xz
tutor-module-802a564dae4e41d149d307bfd1265d30e02ce792.zip
[server] Store block hashes in DB
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.java14
1 files changed, 12 insertions, 2 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 3b76efcd..94d95042 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
@@ -13,6 +13,7 @@ import org.openslx.bwlp.sat.database.mappers.DbImagePermissions;
import org.openslx.bwlp.sat.database.mappers.DbLecture;
import org.openslx.bwlp.sat.database.mappers.DbLecturePermissions;
import org.openslx.bwlp.sat.database.mappers.DbUser;
+import org.openslx.bwlp.sat.database.models.ImageVersionMeta;
import org.openslx.bwlp.sat.database.models.LocalUser;
import org.openslx.bwlp.sat.fileserv.FileServer;
import org.openslx.bwlp.sat.fileserv.IncomingDataTransfer;
@@ -133,14 +134,23 @@ public class ServerHandler implements SatelliteServer.Iface {
throws TAuthorizationException, TInvocationException, TNotFoundException,
TTransferRejectedException {
UserInfo user = SessionManager.getOrFail(userToken);
- User.canDownloadImageVersionOrFail(user, imageVersionId);
+ ImageVersionMeta imageVersion;
+ try {
+ imageVersion = DbImage.getVersionDetails(imageVersionId);
+ } catch (SQLException e) {
+ throw new TInvocationException();
+ }
+ User.canDownloadImageVersionOrFail(user, imageVersion.imageBaseId, imageVersionId);
OutgoingDataTransfer transfer;
try {
transfer = fileServer.createNewUserDownload(DbImage.getLocalImageData(imageVersionId));
} catch (SQLException e) {
throw new TInvocationException();
}
- return new TransferInformation(transfer.getId(), fileServer.getPlainPort(), fileServer.getSslPort());
+ TransferInformation ti = new TransferInformation(transfer.getId(), fileServer.getPlainPort(), fileServer.getSslPort());
+ ti.setBlockHashes(imageVersion.sha1sums);
+ ti.setMachineDescription(imageVersion.machineDescription);
+ return ti;
}
@Override