From d0858c3170191a5e54622a7655ec76fa2e803417 Mon Sep 17 00:00:00 2001 From: Derek Hulley Date: Wed, 27 Mar 2013 16:40:21 +0000 Subject: [PATCH] Fix NodeDAO.getStore to do what the JavaDoc says it does - Fixed AbstractAuthorityBridgeDAO to detect potential null git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@48650 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/domain/node/AbstractNodeDAOImpl.java | 2 +- .../authority/AbstractAuthorityBridgeDAO.java | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/source/java/org/alfresco/repo/domain/node/AbstractNodeDAOImpl.java b/source/java/org/alfresco/repo/domain/node/AbstractNodeDAOImpl.java index 2ddf15de61..271fe2f5a9 100644 --- a/source/java/org/alfresco/repo/domain/node/AbstractNodeDAOImpl.java +++ b/source/java/org/alfresco/repo/domain/node/AbstractNodeDAOImpl.java @@ -697,7 +697,7 @@ public abstract class AbstractNodeDAOImpl implements NodeDAO, BatchingDAO Pair rootNodePair = rootNodesCache.getByKey(storeRef); if (rootNodePair == null) { - throw new InvalidStoreRefException(storeRef); + return null; } else { diff --git a/source/java/org/alfresco/repo/security/authority/AbstractAuthorityBridgeDAO.java b/source/java/org/alfresco/repo/security/authority/AbstractAuthorityBridgeDAO.java index 31eead38ee..64beede669 100644 --- a/source/java/org/alfresco/repo/security/authority/AbstractAuthorityBridgeDAO.java +++ b/source/java/org/alfresco/repo/security/authority/AbstractAuthorityBridgeDAO.java @@ -97,11 +97,15 @@ public abstract class AbstractAuthorityBridgeDAO implements AuthorityBridgeDAO } // Get tenenat specifc store id - Long storeId = Long.MIN_VALUE; StoreRef tenantSpecificStoreRef = tenantService.getName(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE); + Long storeId = Long.MIN_VALUE; if (tenantSpecificStoreRef != null) { - storeId = nodeDAO.getStore(tenantSpecificStoreRef).getFirst(); + Pair storePair = nodeDAO.getStore(tenantSpecificStoreRef); + if (storePair != null) + { + storeId = storePair.getFirst(); + } } return selectAuthorityBridgeLinks(authorityContainerTypeQNameId, memberAssocQNameId, authorityNameQNameId, storeId); @@ -137,11 +141,15 @@ public abstract class AbstractAuthorityBridgeDAO implements AuthorityBridgeDAO } // Get tenenat specifc store id - Long storeId = Long.MIN_VALUE; StoreRef tenantSpecificStoreRef = tenantService.getName(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE); + Long storeId = Long.MIN_VALUE; if (tenantSpecificStoreRef != null) { - storeId = nodeDAO.getStore(tenantSpecificStoreRef).getFirst(); + Pair storePair = nodeDAO.getStore(tenantSpecificStoreRef); + if (storePair != null) + { + storeId = storePair.getFirst(); + } } Pair pair = (authRef == null) ? null : nodeDAO.getNodePair(tenantService.getName(authRef));