summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/satellitedaemon/filetransfer/FileUploadWorker.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openslx/satellitedaemon/filetransfer/FileUploadWorker.java')
-rw-r--r--src/main/java/org/openslx/satellitedaemon/filetransfer/FileUploadWorker.java22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/main/java/org/openslx/satellitedaemon/filetransfer/FileUploadWorker.java b/src/main/java/org/openslx/satellitedaemon/filetransfer/FileUploadWorker.java
index 156414d..4876e6c 100644
--- a/src/main/java/org/openslx/satellitedaemon/filetransfer/FileUploadWorker.java
+++ b/src/main/java/org/openslx/satellitedaemon/filetransfer/FileUploadWorker.java
@@ -6,6 +6,7 @@ import java.util.List;
import org.apache.log4j.Logger;
import org.openslx.filetransfer.Uploader;
import org.openslx.imagemaster.thrift.iface.ImageData;
+import org.openslx.imagemaster.thrift.iface.ImageDataException;
import org.openslx.imagemaster.thrift.iface.UploadData;
import org.openslx.imagemaster.thrift.iface.UserInfo;
import org.openslx.satellitedaemon.Globals;
@@ -36,11 +37,26 @@ public class FileUploadWorker implements Runnable
String path = Globals.getImageFolder() + "/" + image.path;
+ log.info( imDat.toString() );
// ThriftConnection.getUploadInfos returns uploadInfo and handles ThriftAuthentication
DbUser dbUser = DbUser.getUserById( imDat.ownerLogin );
- UserInfo userInfo = new UserInfo( dbUser.userId, dbUser.firstName, dbUser.lastName, dbUser.email, null );
- ThriftConnection.publishUser( userInfo );
- UploadData upInfos = ThriftConnection.getUploadInfos( imDat, path );
+ if (dbUser == null) {
+ image.updateStatus( Status.only_local );
+ log.warn( "Unknown user from database." );
+ } else {
+ UserInfo userInfo = new UserInfo( dbUser.userId, dbUser.firstName, dbUser.lastName, dbUser.email, dbUser.institution );
+ ThriftConnection.publishUser( userInfo );
+ }
+
+ UploadData upInfos;
+ try {
+ upInfos = ThriftConnection.getUploadInfos( imDat, path );
+ } catch ( ImageDataException e1 ) {
+ log.error( "Invalid image data. Not known by master.", e1 );
+ // mark image as only_local, that this image will be skipped next time.
+ image.updateStatus( Status.only_local );
+ continue;
+ }
if ( upInfos == null ) {
log.error( "The UploadInfos returned by ThriftConnection Class are null" );
continue;