From 97792d6afa689855aee9073c043f30b016c0b1f5 Mon Sep 17 00:00:00 2001 From: Derek Hulley Date: Tue, 24 Jan 2006 18:37:28 +0000 Subject: [PATCH] Another attempt at Linux fix for filesystem differences between Linux and Windows git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2187 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../content/AbstractContentReadWriteTest.java | 22 ++++++++++++------- .../content/filestore/FileContentStore.java | 9 +++++--- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/source/java/org/alfresco/repo/content/AbstractContentReadWriteTest.java b/source/java/org/alfresco/repo/content/AbstractContentReadWriteTest.java index 2eadf29e95..c191d40b28 100644 --- a/source/java/org/alfresco/repo/content/AbstractContentReadWriteTest.java +++ b/source/java/org/alfresco/repo/content/AbstractContentReadWriteTest.java @@ -433,17 +433,12 @@ public abstract class AbstractContentReadWriteTest extends TestCase os.write(content.getBytes()); os.flush(); // make sure that the bytes get persisted - // with the stream open, attempt to delete the content - boolean deleted = store.delete(contentUrl); - // close the stream os.close(); // get a reader ContentReader reader = store.getReader(contentUrl); assertNotNull(reader); - // make sure that the underlying content still exists (the delete occured during a write) - assertTrue("Underlying content was deleted during a write", reader.exists()); ContentReader readerCheck = writer.getReader(); assertNotNull(readerCheck); @@ -454,8 +449,7 @@ public abstract class AbstractContentReadWriteTest extends TestCase InputStream is = reader.getContentInputStream(); // attempt to delete the content - deleted = store.delete(contentUrl); - assertFalse("Content deletion failed to detect active reader", deleted); + boolean deleted = store.delete(contentUrl); // close the reader stream is.close(); @@ -463,7 +457,19 @@ public abstract class AbstractContentReadWriteTest extends TestCase // get a fresh reader reader = store.getReader(contentUrl); assertNotNull(reader); - assertTrue("Content should exist", reader.exists()); + + // the underlying system may or may not have deleted the content + if (deleted) + { + assertFalse("Content should not exist", reader.exists()); + // drop out here + return; + } + else + { + assertTrue("Content should exist", reader.exists()); + } + // delete the content store.delete(contentUrl); diff --git a/source/java/org/alfresco/repo/content/filestore/FileContentStore.java b/source/java/org/alfresco/repo/content/filestore/FileContentStore.java index a47415c9ab..a10c2402de 100644 --- a/source/java/org/alfresco/repo/content/filestore/FileContentStore.java +++ b/source/java/org/alfresco/repo/content/filestore/FileContentStore.java @@ -300,12 +300,15 @@ public class FileContentStore extends AbstractContentStore { // ignore files that don't exist File file = makeFile(contentUrl); + boolean deleted = false; if (!file.exists()) { - return true; + deleted = true; + } + else + { + deleted = file.delete(); } - // attempt to delete the file directly - boolean deleted = file.delete(); // done if (logger.isDebugEnabled())