summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNils Schwabe2014-06-19 15:10:35 +0200
committerNils Schwabe2014-06-19 15:10:35 +0200
commit13dab02ca0734f05cdf2020649b6857d9bea0143 (patch)
tree5fab237c7dfed7b0365db527f10ea5b0c6843893
parentImplement downloading functionality (diff)
downloadmasterserver-13dab02ca0734f05cdf2020649b6857d9bea0143.tar.gz
masterserver-13dab02ca0734f05cdf2020649b6857d9bea0143.tar.xz
masterserver-13dab02ca0734f05cdf2020649b6857d9bea0143.zip
Fix problems with thrift connection
-rw-r--r--src/main/java/org/openslx/imagemaster/db/DbImage.java16
-rw-r--r--src/main/java/org/openslx/imagemaster/ftp/ImageProcessor.java23
-rw-r--r--src/main/java/org/openslx/imagemaster/ftp/MasterFtplet.java4
3 files changed, 15 insertions, 28 deletions
diff --git a/src/main/java/org/openslx/imagemaster/db/DbImage.java b/src/main/java/org/openslx/imagemaster/db/DbImage.java
index 59701e4..5d22e33 100644
--- a/src/main/java/org/openslx/imagemaster/db/DbImage.java
+++ b/src/main/java/org/openslx/imagemaster/db/DbImage.java
@@ -47,7 +47,7 @@ public class DbImage
}
public DbImage(String UUID, int imageVersion, String imageName, String imagePath,
- Timestamp imageCreateTime, Timestamp imageUpdateTime, int imageOwner, String contentOperatingSystem,
+ Timestamp imageCreateTime, Timestamp imageUpdateTime, String imageOwner, String contentOperatingSystem,
boolean isValid, boolean isDeleted, String shortDescription, String longDescription,
Timestamp timestamp, String ftpUser, long fileSize)
{
@@ -57,7 +57,7 @@ public class DbImage
this.imagePath = imagePath;
this.imageCreateTime = imageCreateTime;
this.imageUpdateTime = imageUpdateTime;
- this.imageOwner = DbUser.getUserNameById( imageOwner );
+ this.imageOwner = imageOwner;
this.contentOperatingSystem = contentOperatingSystem;
this.isValid = isValid;
this.isDeleted = isDeleted;
@@ -76,9 +76,7 @@ public class DbImage
*/
public static boolean exists( ImageData imageData )
{
- if ( MySQL.findUniqueOrNull( DbImage.class,
- "SELECT images.UUID FROM images WHERE images.UUID = ?",
- imageData.uuid ) == null ) {
+ if ( MySQL.findUniqueOrNull( DbImage.class, "SELECT images.UUID FROM images WHERE images.UUID = ?", imageData.uuid ) == null ) {
return false;
} else {
return true;
@@ -98,16 +96,14 @@ public class DbImage
Date timestamp = new Date( ts );
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
- int ownerId = DbUser.getUserIdByName( imageData.imageOwner );
-
return MySQL
.update(
- "INSERT INTO images (UUID, image_version, image_name, image_path, image_createTime, image_updateTime, image_owner, content_operatingSystem, status_isValid, status_isDeleted, image_shortDescription, image_longDescription, timestamp, ftpUser, ftpPassword, fileSize) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
+ "INSERT INTO images (UUID, image_version, image_name, image_path, image_createTime, image_updateTime, image_owner, content_operatingSystem, status_isValid, status_isDeleted, image_shortDescription, image_longDescription, timestamp, ftpUser, fileSize) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
imageData.uuid, imageData.imageVersion, imageData.imageName, "!uploading!",
- sdf.format( createTime ), sdf.format( updateTime ), ownerId,
+ sdf.format( createTime ), sdf.format( updateTime ), imageData.imageOwner,
imageData.conentOperatingSystem, imageData.statusIsValid,
imageData.statusIsDeleted, imageData.imageShortDescription,
- imageData.imageLongDescription, sdf.format( timestamp ), ftpUser, ftpPassword, imageData.fileSize );
+ imageData.imageLongDescription, sdf.format( timestamp ), ftpUser, imageData.fileSize );
}
public String getUUID()
diff --git a/src/main/java/org/openslx/imagemaster/ftp/ImageProcessor.java b/src/main/java/org/openslx/imagemaster/ftp/ImageProcessor.java
index 20772ff..a9a7fc4 100644
--- a/src/main/java/org/openslx/imagemaster/ftp/ImageProcessor.java
+++ b/src/main/java/org/openslx/imagemaster/ftp/ImageProcessor.java
@@ -43,8 +43,6 @@ public class ImageProcessor
DbImage.delete( dbImage.UUID );
log.info( "Deleted dbimage from db: " + dbImage.UUID + " due to timeout");
} else {
- log.info( "Added user '" + dbImage.ftpUser + "' to list again." );
-
// add image to process list again
ImageData imageData = new ImageData( dbImage.UUID, dbImage.imageVersion, dbImage.imageName, dbImage.imageCreateTime.getTime(), dbImage.imageUpdateTime.getTime(), dbImage.imageOwner, dbImage.contentOperatingSystem, dbImage.isValid, dbImage.isDeleted, dbImage.shortDescription, dbImage.longDescription, dbImage.fileSize );
images.put( dbImage.ftpUser, imageData );
@@ -105,6 +103,13 @@ public class ImageProcessor
public static void addImageDataToProcess( ImageData imageData, String username, String password ) throws ImageDataException
{
log.info( "Adding image to process list: " + imageData.imageName + ", submitted by " + username );
+
+ if ( imageData.uuid == null || imageData.imageName == null
+ || imageData.imageOwner == null || imageData.conentOperatingSystem == null
+ || imageData.imageShortDescription == null
+ || imageData.imageLongDescription == null ) {
+ throw new ImageDataException(ImageDataError.INVALID_DATA, "Missing arguments.");
+ }
if ( imageData.uuid.isEmpty() || imageData.imageName.isEmpty()
|| imageData.imageOwner.isEmpty() || imageData.conentOperatingSystem.isEmpty()
@@ -115,23 +120,13 @@ public class ImageProcessor
if (!imageData.uuid.matches( "^[0-9a-f]{8}\\-[0-9a-f]{4}\\-[0-9a-f]{4}\\-[0-9a-f]{4}\\-[0-9a-f]{12}$" )) {
throw new ImageDataException(ImageDataError.INVALID_DATA, "UUID not valid.");
- } else if (!imageData.imageName.matches( "^[a-zA-Z0-9_\\-]{5,50}$" )) {
+ } else if (imageData.imageName.length() < 5 || imageData.imageName.length() > 50) {
throw new ImageDataException(ImageDataError.INVALID_DATA, "ImageName not valid. (Length must be 5 to 50)");
} 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)");
- } else if (!imageData.imageShortDescription.matches( "^[-\\w!\"§$%&/()=?+*#'^]$" )) {
- throw new ImageDataException(ImageDataError.INVALID_DATA, "ImageShortDescription is not valid.");
- } else if (!imageData.imageLongDescription.matches( "^[-\\w!\"§$%&/()=?+*#'^]$" )) {
- throw new ImageDataException(ImageDataError.INVALID_DATA, "ImageLongDescription is not valid.");
} else if ( imageData.fileSize <= 0 ) {
throw new ImageDataException(ImageDataError.INVALID_DATA, "Filesize needs to be greater than 0.");
- }
-
-
- // TODO: check some more regex
-
+ }
if ( DbImage.exists( imageData ) ) {
throw new ImageDataException( ImageDataError.INVALID_DATA, "Image with this UUID is already existing." );
diff --git a/src/main/java/org/openslx/imagemaster/ftp/MasterFtplet.java b/src/main/java/org/openslx/imagemaster/ftp/MasterFtplet.java
index ce4a2e6..c514f5e 100644
--- a/src/main/java/org/openslx/imagemaster/ftp/MasterFtplet.java
+++ b/src/main/java/org/openslx/imagemaster/ftp/MasterFtplet.java
@@ -1,9 +1,6 @@
package org.openslx.imagemaster.ftp;
import java.io.IOException;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Map.Entry;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpReply;
@@ -14,7 +11,6 @@ import org.apache.ftpserver.ftplet.FtpletContext;
import org.apache.ftpserver.ftplet.FtpletResult;
import org.apache.log4j.Logger;
import org.openslx.imagemaster.App;
-import org.openslx.imagemaster.ftp.MasterFtpServer.Infos;
import org.openslx.imagemaster.serversession.ServerSessionManager;
public class MasterFtplet implements Ftplet