Do not check for equality on overwrites

Firstly, this check never triggered because Payload.equals always
returns false for File objects.  Secondly, this would not reduce IO
even if it worked since the common case is not overwriting a file with
the same contents.  Lastly, simplify a cast.
This commit is contained in:
Andrew Gaul 2012-05-07 13:23:09 -07:00
parent 596cf4e044
commit 7cbfd42736
1 changed files with 1 additions and 5 deletions

View File

@ -199,15 +199,11 @@ public class FilesystemStorageStrategyImpl implements FilesystemStorageStrategy
filesystemContainerNameValidator.validate(container);
filesystemBlobKeyValidator.validate(blobKey);
File outputFile = getFileForBlobKey(container, blobKey);
if (payload.getRawContent().equals(outputFile)){
// we shouldn't re-copy the same contents
return;
}
FileOutputStream output = null;
try {
Files.createParentDirs(outputFile);
if (payload.getRawContent() instanceof File)
Files.copy(File.class.cast(payload.getRawContent()), outputFile);
Files.copy((File) payload.getRawContent(), outputFile);
else {
output = new FileOutputStream(outputFile);
payload.writeTo(output);