summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java')
-rw-r--r--src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java b/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java
index d93ffa3..f73f019 100644
--- a/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java
+++ b/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java
@@ -71,7 +71,7 @@ public class ImageProcessor
// check image data
if ( imageData.imageName == null || imageData.imageName.isEmpty() ) {
throw new ImageDataException( ImageDataError.INVALID_DATA, "Image name not set." );
- } else if ( imageData.imageName == null || imageData.imageOwner.isEmpty() ) {
+ } else if ( imageData.imageOwner == null || imageData.imageOwner.isEmpty() ) {
throw new ImageDataException( ImageDataError.INVALID_DATA, "Image owner not set." );
} else if ( imageData.contentOperatingSystem == null || imageData.contentOperatingSystem.isEmpty() ) {
throw new ImageDataException( ImageDataError.INVALID_DATA, "Content operating system not set." );
@@ -93,6 +93,17 @@ public class ImageProcessor
synchronized ( uploadingImages ) {
// check if image is already uploading
if ( ( image = uploadingImages.get( uuid ) ) != null ) {
+ if (image.getCrcFile() == null) {
+ CRCFile crcFile;
+ try {
+ // try to write crc file ...
+ crcFile = CRCFile.writeCrcFile( crcSums, Globals.getImageDir() + "/" + uuid + ".crc" );
+ } catch ( IOException e ) {
+ // ... and keep it in ram if it fails
+ crcFile = new CRCFile( crcSums );
+ }
+ image.setCrcFile( crcFile );
+ }
List<Integer> missing = getNMissingBlocks( image, AMOUNT );
if ( missing.isEmpty() && image.allBlocksValid() ) {
uploadDone( uuid );