summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/serverconnection/UploadingImage.java
diff options
context:
space:
mode:
authorNils Schwabe2014-07-14 14:55:09 +0200
committerNils Schwabe2014-07-14 14:55:09 +0200
commit6a21ad5c5674f64c646860648f2a3343458b7006 (patch)
treea91172440aa69deb2060b1c7bc50302f8162c162 /src/main/java/org/openslx/imagemaster/serverconnection/UploadingImage.java
parentAdd security checks for image upload (diff)
downloadmasterserver-6a21ad5c5674f64c646860648f2a3343458b7006.tar.gz
masterserver-6a21ad5c5674f64c646860648f2a3343458b7006.tar.xz
masterserver-6a21ad5c5674f64c646860648f2a3343458b7006.zip
Add feature to hold crc sums in RAM when writing to disk fails
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/serverconnection/UploadingImage.java')
-rw-r--r--src/main/java/org/openslx/imagemaster/serverconnection/UploadingImage.java39
1 files changed, 30 insertions, 9 deletions
diff --git a/src/main/java/org/openslx/imagemaster/serverconnection/UploadingImage.java b/src/main/java/org/openslx/imagemaster/serverconnection/UploadingImage.java
index 27e18fd..06ad5b1 100644
--- a/src/main/java/org/openslx/imagemaster/serverconnection/UploadingImage.java
+++ b/src/main/java/org/openslx/imagemaster/serverconnection/UploadingImage.java
@@ -3,6 +3,9 @@ package org.openslx.imagemaster.serverconnection;
import java.sql.Timestamp;
import org.apache.log4j.Logger;
+import org.openslx.imagemaster.Globals;
+import org.openslx.imagemaster.crcchecker.CRCFile;
+import org.openslx.imagemaster.crcchecker.ImageFile;
import org.openslx.imagemaster.db.DbImage;
/**
@@ -30,14 +33,14 @@ public class UploadingImage
private DbImage dbImage = null; // the DB representation of this image
private String uuid;
private String filename;
- private String crcFilename;
+ private ImageFile imageFile;
+ private CRCFile crcFile = null;
- protected UploadingImage(String token, int[] initialBlockStatus, Timestamp ts, String uuid, String filename, String crcFilename)
+ protected UploadingImage(String token, int[] initialBlockStatus, Timestamp ts, String uuid, String filename)
{
this.token = token;
this.ts = ts;
this.uuid = uuid;
- this.crcFilename = crcFilename;
this.blockStatus = initialBlockStatus;
}
@@ -54,14 +57,14 @@ public class UploadingImage
return;
blockStatus[index] = missing;
}
-
+
protected void setNeedsRequest( int index )
{
if ( blockStatus == null )
return;
blockStatus[index] *= ( blockStatus[index] < missing ) ? -1 : 1; // switch to positive value if needed
}
-
+
protected void setNeedsCheck( int index )
{
if ( blockStatus == null )
@@ -113,14 +116,32 @@ public class UploadingImage
return this.dbImage;
}
- protected String getFilename()
+ // protected String getFilename()
+ // {
+ // return this.filename;
+ // }
+ //
+ // protected String getCrcFilename()
+ // {
+ // return this.crcFilename;
+ // }
+
+ protected ImageFile getImageFile()
+ {
+ if ( imageFile == null ) {
+ imageFile = new ImageFile( filename, Globals.blockSize );
+ }
+ return imageFile;
+ }
+
+ protected CRCFile getCrcFile()
{
- return this.filename;
+ return crcFile;
}
- protected String getCrcFilename()
+ protected void setCrcFile( CRCFile crcFile )
{
- return this.crcFilename;
+ this.crcFile = crcFile;
}
public int getAmountOfMissingBlocks()