From 2fce1c2d566ee185b930b048408a50d54ed66638 Mon Sep 17 00:00:00 2001 From: Angel Borroy Date: Mon, 21 Dec 2015 19:14:05 +0100 Subject: [PATCH] Errors on delete site, if folder has quota #8 NodeRef existence control for quota folder --- alfresco-folder-quota-repo/pom.xml | 2 +- .../behaviour/FolderQuotaBehaviour.java | 17 ++++++++++------- alfresco-folder-quota-share/pom.xml | 2 +- pom.xml | 2 +- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/alfresco-folder-quota-repo/pom.xml b/alfresco-folder-quota-repo/pom.xml index 09db3e4..6677c72 100644 --- a/alfresco-folder-quota-repo/pom.xml +++ b/alfresco-folder-quota-repo/pom.xml @@ -5,7 +5,7 @@ alfresco-folder-quota es.keensoft.alfresco - 2.0.2 + 2.0.3 4.0.0 diff --git a/alfresco-folder-quota-repo/src/main/java/org/alfresco/extension/folderquota/behaviour/FolderQuotaBehaviour.java b/alfresco-folder-quota-repo/src/main/java/org/alfresco/extension/folderquota/behaviour/FolderQuotaBehaviour.java index 806797e..165f197 100644 --- a/alfresco-folder-quota-repo/src/main/java/org/alfresco/extension/folderquota/behaviour/FolderQuotaBehaviour.java +++ b/alfresco-folder-quota-repo/src/main/java/org/alfresco/extension/folderquota/behaviour/FolderQuotaBehaviour.java @@ -309,13 +309,16 @@ public String doWork() throws Exception { RetryingTransactionCallback callback = new RetryingTransactionCallback() { public Long execute() throws Throwable { - Long currentSize = (Long) nodeService.getProperty(quotaFolder, FolderQuotaModel.PROP_FQ_SIZE_CURRENT); - if (currentSize == null) { - currentSize=0L; + Long newSize = 0L; + if (nodeService.exists(quotaFolder)) { + Long currentSize = (Long) nodeService.getProperty(quotaFolder, FolderQuotaModel.PROP_FQ_SIZE_CURRENT); + if (currentSize == null) { + currentSize=0L; + } + newSize = currentSize + sizeChange; + if (newSize < 0) newSize = 0L; + nodeService.setProperty(quotaFolder, FolderQuotaModel.PROP_FQ_SIZE_CURRENT, newSize); } - Long newSize = currentSize + sizeChange; - if (newSize < 0) newSize = 0L; - nodeService.setProperty(quotaFolder, FolderQuotaModel.PROP_FQ_SIZE_CURRENT, newSize); return newSize; } @@ -325,7 +328,7 @@ public Long execute() throws Throwable { txnHelper.doInTransaction(callback, false, true); } catch (Throwable e) { - logger.error("Failed to update folder size on quota folder node: " + quotaFolder); + logger.error("Failed to update folder size on quota folder node: " + quotaFolder, e); } return ""; } diff --git a/alfresco-folder-quota-share/pom.xml b/alfresco-folder-quota-share/pom.xml index b6e9ba3..51a6079 100644 --- a/alfresco-folder-quota-share/pom.xml +++ b/alfresco-folder-quota-share/pom.xml @@ -5,7 +5,7 @@ alfresco-folder-quota es.keensoft.alfresco - 2.0.2 + 2.0.3 4.0.0 diff --git a/pom.xml b/pom.xml index 1612933..bd7138e 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 es.keensoft.alfresco alfresco-folder-quota - 2.0.2 + 2.0.3 alfresco-folder-quota project pom