diff options
| author | Nils Schwabe | 2014-04-29 15:29:13 +0200 |
|---|---|---|
| committer | Nils Schwabe | 2014-04-29 15:29:13 +0200 |
| commit | 21c91bac9d4850e40776ea98575aa3611ac42679 (patch) | |
| tree | 719acc22357dfe5b83ec998caf7ebcb25d1e7c07 /src/main/java/org/openslx/imagemaster | |
| parent | Add ftp users and images in processing list are remembered (diff) | |
| download | masterserver-21c91bac9d4850e40776ea98575aa3611ac42679.tar.gz masterserver-21c91bac9d4850e40776ea98575aa3611ac42679.tar.xz masterserver-21c91bac9d4850e40776ea98575aa3611ac42679.zip | |
Add check file size of uploading files and process automatically
Diffstat (limited to 'src/main/java/org/openslx/imagemaster')
| -rw-r--r-- | src/main/java/org/openslx/imagemaster/ftp/FtpCredentialsScheduler.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/main/java/org/openslx/imagemaster/ftp/FtpCredentialsScheduler.java b/src/main/java/org/openslx/imagemaster/ftp/FtpCredentialsScheduler.java index 8cd72df..74f9754 100644 --- a/src/main/java/org/openslx/imagemaster/ftp/FtpCredentialsScheduler.java +++ b/src/main/java/org/openslx/imagemaster/ftp/FtpCredentialsScheduler.java @@ -2,6 +2,7 @@ package org.openslx.imagemaster.ftp; import java.io.File; import java.util.Date; +import java.util.List; import java.util.Map; import java.util.Timer; import java.util.TimerTask; @@ -9,6 +10,7 @@ import java.util.TimerTask; import org.apache.log4j.Logger; import org.openslx.imagemaster.App; import org.openslx.imagemaster.Globals; +import org.openslx.imagemaster.db.DbImage; import org.openslx.imagemaster.util.Util; public class FtpCredentialsScheduler extends TimerTask @@ -22,6 +24,7 @@ public class FtpCredentialsScheduler extends TimerTask public void run() { synchronized ( App.ftpServer.users ) { + List<DbImage> uploadingImages = DbImage.getUploadingImages(); // get the uploading images // check all folders for ( Map.Entry<String, Long> entry : App.ftpServer.users.entrySet() ) { if ( entry == null ) @@ -32,8 +35,14 @@ public class FtpCredentialsScheduler extends TimerTask continue; File[] list = dir.listFiles(); if ( list.length == 1 ) { - if ( ( new Date().getTime() - list[0].lastModified() ) >= timeout ) { - // TODO: test if his file is complete by checking the file size + // check file size first + DbImage currentImage = null; + for (DbImage img : uploadingImages) { // find the image that was uploaded by this user + if (img.ftpUser == username) currentImage = img; + } + if (currentImage != null && list[0].getTotalSpace() == currentImage.fileSize) { + ImageProcessor.processImageAfterUpload( username, list[0].getName() ); + } else if ( ( new Date().getTime() - list[0].lastModified() ) >= timeout ) { // check timeout log.info( username + "'s files are too old. Deleting him and his folder." ); Util.deleteFolder( dir ); App.ftpServer.removeUser( username ); |
