diff options
Diffstat (limited to 'src/main/java/org/openslx/satellitedaemon/filetransfer/FileUploadWorker.java')
-rw-r--r-- | src/main/java/org/openslx/satellitedaemon/filetransfer/FileUploadWorker.java | 22 |
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; |