From 66c95d5dce009cef225dad36dc5468ce2ad6e793 Mon Sep 17 00:00:00 2001 From: Gary Spencer Date: Mon, 4 Dec 2006 15:37:48 +0000 Subject: [PATCH] Create a transaction for a write when the current content channel is not writable. Fixes a NullPointerException, AR-1129. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4509 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../java/org/alfresco/filesys/avm/AVMDiskDriver.java | 4 ++-- .../java/org/alfresco/filesys/avm/AVMNetworkFile.java | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/source/java/org/alfresco/filesys/avm/AVMDiskDriver.java b/source/java/org/alfresco/filesys/avm/AVMDiskDriver.java index 8edfc9bcc8..aeb6e2b1d8 100644 --- a/source/java/org/alfresco/filesys/avm/AVMDiskDriver.java +++ b/source/java/org/alfresco/filesys/avm/AVMDiskDriver.java @@ -1510,11 +1510,11 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface { if ( file.isDirectory()) throw new AccessDeniedException(); - // If the content channel is not open for the file then start a transaction + // If the content channel is not open for the file, or the channel is not writable, then start a transaction AVMNetworkFile avmFile = (AVMNetworkFile) file; - if ( avmFile.hasContentChannel() == false) + if ( avmFile.hasContentChannel() == false || avmFile.isWritable() == false) sess.beginTransaction( m_transactionService, true); // Write the data to the file diff --git a/source/java/org/alfresco/filesys/avm/AVMNetworkFile.java b/source/java/org/alfresco/filesys/avm/AVMNetworkFile.java index 573b2d7485..ff1ea30e9f 100644 --- a/source/java/org/alfresco/filesys/avm/AVMNetworkFile.java +++ b/source/java/org/alfresco/filesys/avm/AVMNetworkFile.java @@ -467,6 +467,16 @@ public class AVMNetworkFile extends NetworkFile { } } + /** + * Return the writable state of the content channel + * + * @return boolean + */ + public final boolean isWritable() + { + return m_writable; + } + /** * Return the network file details as a string *