mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-08 14:51:49 +00:00
RM-519: RM 2.0.1 NPE ERROR on startup
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.0@42707 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -862,7 +862,8 @@
|
||||
<property name="securityService" ref="RecordsManagementSecurityService"/>
|
||||
<property name="notificationService" ref="NotificationService"/>
|
||||
<property name="recordsManagementService" ref="RecordsManagementService"/>
|
||||
<property name="repositoryHelper" ref="repositoryHelper" />
|
||||
<property name="nodeService" ref="nodeService"/>
|
||||
<property name="tenantAdminService" ref="tenantAdminService"/>
|
||||
<property name="namespaceService" ref="namespaceService"/>
|
||||
<property name="searchService" ref="searchService"/>
|
||||
<property name="siteService" ref="SiteService" />
|
||||
|
@@ -28,13 +28,16 @@ import org.alfresco.error.AlfrescoRuntimeException;
|
||||
import org.alfresco.module.org_alfresco_module_rm.RecordsManagementService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.security.Role;
|
||||
import org.alfresco.repo.model.Repository;
|
||||
import org.alfresco.repo.notification.EMailNotificationProvider;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
|
||||
import org.alfresco.repo.tenant.TenantAdminService;
|
||||
import org.alfresco.repo.tenant.TenantUtil;
|
||||
import org.alfresco.repo.tenant.TenantUtil.TenantRunAsWork;
|
||||
import org.alfresco.service.cmr.notification.NotificationContext;
|
||||
import org.alfresco.service.cmr.notification.NotificationService;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.repository.NodeService;
|
||||
import org.alfresco.service.cmr.repository.StoreRef;
|
||||
import org.alfresco.service.cmr.search.SearchService;
|
||||
import org.alfresco.service.cmr.security.AuthorityService;
|
||||
@@ -68,11 +71,12 @@ public class RecordsManagementNotificationHelper
|
||||
private NotificationService notificationService;
|
||||
private RecordsManagementService recordsManagementService;
|
||||
private RecordsManagementSecurityService securityService;
|
||||
private Repository repositoryHelper;
|
||||
private SearchService searchService;
|
||||
private NamespaceService namespaceService;
|
||||
private SiteService siteService;
|
||||
private AuthorityService authorityService;
|
||||
private TenantAdminService tenantAdminService;
|
||||
private NodeService nodeService;
|
||||
|
||||
/** Notification role */
|
||||
private String notificationRole;
|
||||
@@ -113,15 +117,6 @@ public class RecordsManagementNotificationHelper
|
||||
this.notificationRole = notificationRole;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param repositoryHelper repository helper
|
||||
*/
|
||||
public void setRepositoryHelper(Repository repositoryHelper)
|
||||
{
|
||||
this.repositoryHelper = repositoryHelper;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param searchService search service
|
||||
*/
|
||||
@@ -154,6 +149,22 @@ public class RecordsManagementNotificationHelper
|
||||
this.authorityService = authorityService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param nodeService node service
|
||||
*/
|
||||
public void setNodeService(NodeService nodeService)
|
||||
{
|
||||
this.nodeService = nodeService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param tenantAdminService tenant admin service
|
||||
*/
|
||||
public void setTenantAdminService(TenantAdminService tenantAdminService)
|
||||
{
|
||||
this.tenantAdminService = tenantAdminService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return superseded email template
|
||||
*/
|
||||
@@ -171,7 +182,7 @@ public class RecordsManagementNotificationHelper
|
||||
{
|
||||
List<NodeRef> nodeRefs =
|
||||
searchService.selectNodes(
|
||||
repositoryHelper.getRootHome(),
|
||||
getRootNode(),
|
||||
"app:company_home/app:dictionary/cm:records_management/cm:records_management_email_templates/cm:notify-records-due-for-review-email.ftl", null,
|
||||
namespaceService,
|
||||
false);
|
||||
@@ -183,6 +194,23 @@ public class RecordsManagementNotificationHelper
|
||||
return dueForReviewTemplate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper method to get root node in a tenant safe way.
|
||||
*
|
||||
* @return NodeRef root node of spaces store
|
||||
*/
|
||||
private NodeRef getRootNode()
|
||||
{
|
||||
String tenantDomain = tenantAdminService.getCurrentUserDomain();
|
||||
return TenantUtil.runAsSystemTenant(new TenantRunAsWork<NodeRef>()
|
||||
{
|
||||
public NodeRef doWork() throws Exception
|
||||
{
|
||||
return nodeService.getRootNode(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
|
||||
}
|
||||
}, tenantDomain);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends records due for review email notification.
|
||||
*
|
||||
|
Reference in New Issue
Block a user