diff options
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java')
-rw-r--r-- | src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java | 13 |
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 ); |