diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/action-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/action-context.xml
index f7b2c96443..c2da41d10d 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/action-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/action-context.xml
@@ -17,6 +17,7 @@
+
{http://www.alfresco.org/model/content/1.0}content
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-service-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-service-context.xml
index 035143cf4d..b1ff503d76 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-service-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-service-context.xml
@@ -482,6 +482,7 @@
+
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/dm/CreateRecordAction.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/dm/CreateRecordAction.java
index 511ce7c83c..c5632abac1 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/dm/CreateRecordAction.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/dm/CreateRecordAction.java
@@ -23,6 +23,7 @@ import java.util.List;
import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.model.ContentModel;
import org.alfresco.module.org_alfresco_module_rm.RecordsManagementService;
+import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
import org.alfresco.module.org_alfresco_module_rm.record.RecordService;
import org.alfresco.repo.action.ParameterDefinitionImpl;
@@ -64,6 +65,9 @@ public class CreateRecordAction extends ActionExecuterAbstractBase
/** Node service */
private NodeService nodeService;
+ /** File plan service */
+ private FilePlanService filePlanService;
+
/**
* @param recordsManagementService records management service
*/
@@ -88,6 +92,14 @@ public class CreateRecordAction extends ActionExecuterAbstractBase
this.nodeService = nodeService;
}
+ /**
+ * @param filePlanService file plan service
+ */
+ public void setFilePlanService(FilePlanService filePlanService)
+ {
+ this.filePlanService = filePlanService;
+ }
+
/**
* @see org.alfresco.repo.action.executer.ActionExecuterAbstractBase#executeImpl(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef)
*/
@@ -133,7 +145,7 @@ public class CreateRecordAction extends ActionExecuterAbstractBase
else
{
// verify that the provided file plan is actually a file plan
- if (recordsManagementService.isFilePlan(filePlan) == false)
+ if (filePlanService.isFilePlan(filePlan) == false)
{
if (logger.isDebugEnabled() == true)
{
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/impl/DeleteLinksCapability.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/impl/DeleteLinksCapability.java
index 75d7347ae2..eb35b07b24 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/impl/DeleteLinksCapability.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/impl/DeleteLinksCapability.java
@@ -45,7 +45,8 @@ public class DeleteLinksCapability extends DeclarativeCapability
*/
public int evaluate(NodeRef source, NodeRef target)
{
- if (rmService.isFilePlan(source) == true && rmService.isFilePlan(target) == true)
+ if (rmService.isFilePlanComponent(source) == true &&
+ rmService.isFilePlanComponent(target) == true)
{
if (checkConditions(source) == true && checkConditions(target) == true)
{
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/security/FilePlanPermissionServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/security/FilePlanPermissionServiceImpl.java
index b80a8b552b..1feba8f6b4 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/security/FilePlanPermissionServiceImpl.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/security/FilePlanPermissionServiceImpl.java
@@ -24,6 +24,7 @@ import java.util.Set;
import org.alfresco.model.ContentModel;
import org.alfresco.module.org_alfresco_module_rm.RecordsManagementService;
import org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel;
+import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
import org.alfresco.repo.node.NodeServicePolicies;
import org.alfresco.repo.policy.JavaBehaviour;
@@ -59,6 +60,9 @@ public class FilePlanPermissionServiceImpl implements FilePlanPermissionService,
/** Node service */
private NodeService nodeService;
+
+ /** File plan service */
+ private FilePlanService filePlanService;
/** Logger */
private static Log logger = LogFactory.getLog(FilePlanPermissionServiceImpl.class);
@@ -109,6 +113,14 @@ public class FilePlanPermissionServiceImpl implements FilePlanPermissionService,
{
this.recordsManagementService = recordsManagementService;
}
+
+ /**
+ * @param filePlanService file plan service
+ */
+ public void setFilePlanService(FilePlanService filePlanService)
+ {
+ this.filePlanService = filePlanService;
+ }
/**
* @param childAssocRef
@@ -127,7 +139,7 @@ public class FilePlanPermissionServiceImpl implements FilePlanPermissionService,
public Object doWork()
{
boolean fillingOnly = false;
- if (recordsManagementService.isFilePlan(parentNodeRef) == true)
+ if (filePlanService.isFilePlan(parentNodeRef) == true)
{
fillingOnly = true;
}
@@ -239,7 +251,7 @@ public class FilePlanPermissionServiceImpl implements FilePlanPermissionService,
{
public Boolean doWork() throws Exception
{
- if (recordsManagementService.isFilePlan(nodeRef) == true)
+ if (filePlanService.isFilePlan(nodeRef) == true)
{
setPermissionDown(nodeRef, authority, permission);
}
@@ -276,7 +288,7 @@ public class FilePlanPermissionServiceImpl implements FilePlanPermissionService,
{
NodeRef parent = nodeService.getPrimaryParent(nodeRef).getParentRef();
if (parent != null &&
- recordsManagementService.isFilePlan(parent) == false)
+ filePlanService.isFilePlan(parent) == false)
{
setPermissionImpl(parent, authority, RMPermissionModel.READ_RECORDS);
setReadPermissionUp(parent, authority);
diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/capabilities/CapabilitiesTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/capabilities/CapabilitiesTest.java
index 3ccfca6393..d43e722fd2 100644
--- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/capabilities/CapabilitiesTest.java
+++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/capabilities/CapabilitiesTest.java
@@ -19,7 +19,6 @@
package org.alfresco.module.org_alfresco_module_rm.test.capabilities;
import java.util.ArrayList;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -29,8 +28,6 @@ import org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel;
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
-import org.alfresco.repo.security.permissions.PermissionReference;
-import org.alfresco.repo.security.permissions.impl.model.PermissionModel;
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.security.AccessPermission;
@@ -47,16 +44,12 @@ public class CapabilitiesTest extends BaseRMTestCase implements
RMPermissionModel, RecordsManagementModel
{
private NodeRef record;
-
- private PermissionModel permissionModel;
private PermissionService permissionService;
@Override
protected void initServices()
{
super.initServices();
-
- permissionModel = (PermissionModel) applicationContext.getBean("permissionsModelDAO");
permissionService = (PermissionService) applicationContext.getBean("PermissionService");
}
diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/service/RecordsManagementServiceImplTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/service/RecordsManagementServiceImplTest.java
index 5a463ede35..250fda524b 100644
--- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/service/RecordsManagementServiceImplTest.java
+++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/service/RecordsManagementServiceImplTest.java
@@ -92,9 +92,9 @@ public class RecordsManagementServiceImplTest extends BaseRMTestCase
@Override
public NodeRef run()
{
- assertTrue("This is a records management root", rmService.isFilePlan(filePlan));
- assertFalse("This should not be a records management root", rmService.isFilePlan(rmContainer));
- assertFalse("This should not be a records management root", rmService.isFilePlan(rmFolder));
+ assertTrue("This is a records management root", filePlanService.isFilePlan(filePlan));
+ assertFalse("This should not be a records management root", filePlanService.isFilePlan(rmContainer));
+ assertFalse("This should not be a records management root", filePlanService.isFilePlan(rmFolder));
return null;
}
diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/util/GenerateCapabilityReport.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/util/GenerateCapabilityReport.java
new file mode 100644
index 0000000000..fd6ad5c3de
--- /dev/null
+++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/util/GenerateCapabilityReport.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2005-2012 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+package org.alfresco.module.org_alfresco_module_rm.test.util;
+
+import java.io.BufferedWriter;
+import java.io.FileWriter;
+import java.util.Set;
+
+import org.alfresco.module.org_alfresco_module_rm.capability.Capability;
+import org.alfresco.module.org_alfresco_module_rm.capability.Group;
+
+
+/**
+ * Utility test case to generate a report of the capabilities in the system.
+ *
+ * @author Roy Wetherall
+ * @since 2.1
+ */
+public class GenerateCapabilityReport extends BaseRMTestCase
+{
+ public void testGetCapability() throws Exception
+ {
+ doTestInTransaction(new Test()
+ {
+ @Override
+ public Void run() throws Exception
+ {
+ FileWriter writer = new FileWriter("c:\\mywork\\capabilityReport.csv");
+ BufferedWriter out = new BufferedWriter(writer);
+ try
+ {
+ Set capabilities = capabilityService.getCapabilities(true);
+ for (Capability capability : capabilities)
+ {
+ Group group = capability.getGroup();
+ String groupId = "none";
+ if (group != null)
+ {
+ groupId = group.getId();
+ }
+
+ out.write(groupId);
+ out.write(",");
+ out.write(capability.getName());
+ out.write(",");
+ out.write(Boolean.toString(capability.isPrivate()));
+ out.write("\n");
+ }
+ }
+ finally
+ {
+ out.close();
+ }
+
+ return null;
+ }
+ });
+ }
+}