diff options
author | Nils Schwabe | 2014-07-14 14:55:09 +0200 |
---|---|---|
committer | Nils Schwabe | 2014-07-14 14:55:09 +0200 |
commit | 6a21ad5c5674f64c646860648f2a3343458b7006 (patch) | |
tree | a91172440aa69deb2060b1c7bc50302f8162c162 /src/main/java/org/openslx/imagemaster/serverconnection/UploadingImage.java | |
parent | Add security checks for image upload (diff) | |
download | masterserver-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.java | 39 |
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() |