diff options
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/ftp/ImageProcessor.java')
-rw-r--r-- | src/main/java/org/openslx/imagemaster/ftp/ImageProcessor.java | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/main/java/org/openslx/imagemaster/ftp/ImageProcessor.java b/src/main/java/org/openslx/imagemaster/ftp/ImageProcessor.java index ffb7e2b..8359e5a 100644 --- a/src/main/java/org/openslx/imagemaster/ftp/ImageProcessor.java +++ b/src/main/java/org/openslx/imagemaster/ftp/ImageProcessor.java @@ -9,7 +9,9 @@ import org.apache.log4j.Logger; import org.openslx.imagemaster.App; import org.openslx.imagemaster.Globals; import org.openslx.imagemaster.Globals.PropInt; +import org.openslx.imagemaster.db.DbFtpUser; import org.openslx.imagemaster.db.DbImage; +import org.openslx.imagemaster.db.DbUser; import org.openslx.imagemaster.thrift.iface.ImageData; import org.openslx.imagemaster.thrift.iface.ImageDataError; import org.openslx.imagemaster.thrift.iface.ImageDataException; @@ -22,7 +24,7 @@ public class ImageProcessor private static HashMap<String, ImageData> images = new HashMap<>(); /** - * After (re)starting server: check dead !uploading! images in database + * After (re)starting server: check for dead !uploading! images in database */ public static void checkUploading() { long timeout = Globals.getPropertyInt( PropInt.FTPTIMEOUT ) * 60L * 1000L; @@ -43,10 +45,8 @@ public class ImageProcessor DbImage.delete( dbImage.UUID ); log.info( "Deleted dbimage from db: " + dbImage.UUID + " due to timeout"); } else { - // add ftpUser to list - synchronized ( App.ftpServer.users ) { - App.ftpServer.users.put( dbImage.ftpUser, dbImage.timestamp.getTime() ); - } + // re add users to ftpserver + App.ftpServer.addUser( dbImage.ftpUser, DbFtpUser.getUserByName( dbImage.ftpUser ).password, MasterFtpServer.Mode.UPLOADING, "" ); log.info( "Added user '" + dbImage.ftpUser + "' to list again." ); // add image to process list again @@ -106,7 +106,7 @@ public class ImageProcessor * the data for the image to add * @exception ImageDataException If the imagedata contains errors */ - public static void addImageDataToProcess( ImageData imageData, String username ) throws ImageDataException + public static void addImageDataToProcess( ImageData imageData, String username, String password ) throws ImageDataException { log.info( "Adding image to process list: " + imageData.imageName + ", submitted by " + username ); @@ -121,7 +121,7 @@ public class ImageProcessor throw new ImageDataException(ImageDataError.INVALID_DATA, "UUID not valid."); } else if (!imageData.imageName.matches( "^[a-zA-Z0-9_\\-]{5,50}$" )) { throw new ImageDataException(ImageDataError.INVALID_DATA, "ImageName not valid. (Length must be 5 to 50)"); - } else if (false) { // TODO: check imageowner + } else if (DbUser.getUserIdByName( imageData.imageOwner ) != 0) { throw new ImageDataException(ImageDataError.INVALID_DATA, "ImageOwner not valid."); } else if (!imageData.conentOperatingSystem.matches( "^[\\w][-0-9a-zA-Z]{3,20}$" )) { throw new ImageDataException(ImageDataError.INVALID_DATA, "ContentOperatingSystem not valid. (Length must be 3 to 20)"); @@ -142,7 +142,7 @@ public class ImageProcessor } // if everything went fine, add image to db - DbImage.insert( imageData, System.currentTimeMillis(), username); + DbImage.insert( imageData, System.currentTimeMillis(), username, password); // and to processinglist images.put( username, imageData ); |