summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/ftp/ImageProcessor.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/ftp/ImageProcessor.java')
-rw-r--r--src/main/java/org/openslx/imagemaster/ftp/ImageProcessor.java16
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 );