RM: Fix failing unit tests

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@48440 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Roy Wetherall
2013-03-21 06:27:19 +00:00
parent 5943d7ad46
commit 096c74aaa9
6 changed files with 48 additions and 25 deletions

View File

@@ -22,12 +22,13 @@ 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.module.org_alfresco_module_rm.security.FilePlanAuthenticationService;
import org.alfresco.repo.action.ParameterDefinitionImpl;
import org.alfresco.repo.action.executer.ActionExecuterAbstractBase;
import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
import org.alfresco.service.cmr.action.Action;
import org.alfresco.service.cmr.action.ParameterDefinition;
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
@@ -57,9 +58,6 @@ public class CreateRecordAction extends ActionExecuterAbstractBase
public static final String PARAM_FILE_PLAN = "file-plan";
public static final String PARAM_HIDE_RECORD = "hide-record";
/** Records management service */
private RecordsManagementService recordsManagementService;
/** Record service */
private RecordService recordService;
@@ -72,13 +70,8 @@ public class CreateRecordAction extends ActionExecuterAbstractBase
/** Dictionary service */
private DictionaryService dictionaryService;
/**
* @param recordsManagementService records management service
*/
public void setRecordsManagementService(RecordsManagementService recordsManagementService)
{
this.recordsManagementService = recordsManagementService;
}
/** File plan authentication service */
private FilePlanAuthenticationService filePlanAuthenticationService;
/**
* @param recordService record service
@@ -104,12 +97,22 @@ public class CreateRecordAction extends ActionExecuterAbstractBase
this.filePlanService = filePlanService;
}
@Override
/**
* @param dictionaryService dictionary service
*/
public void setDictionaryService(DictionaryService dictionaryService)
{
this.dictionaryService = dictionaryService;
}
/**
* @param filePlanAuthenticationService file plan authentication service
*/
public void setFilePlanAuthenticationService(FilePlanAuthenticationService filePlanAuthenticationService)
{
this.filePlanAuthenticationService = filePlanAuthenticationService;
}
/**
* @see org.alfresco.repo.action.executer.ActionExecuterAbstractBase#executeImpl(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef)
*/
@@ -162,17 +165,23 @@ public class CreateRecordAction extends ActionExecuterAbstractBase
{
NodeRef filePlan = (NodeRef)action.getParameterValue(PARAM_FILE_PLAN);
if (filePlan == null)
{
List<NodeRef> filePlans = recordsManagementService.getFilePlans();
if (filePlans.size() == 1)
{
// TODO .. eventually make the file plan parameter required
filePlan = filePlanAuthenticationService.runAsRmAdmin(new RunAsWork<NodeRef>()
{
filePlan = filePlans.get(0);
}
else
@Override
public NodeRef doWork() throws Exception
{
return filePlanService.getFilePlanBySiteId(FilePlanService.DEFAULT_RM_SITE_ID);
}
});
// if the file plan is still null, raise an exception
if (filePlan == null)
{
if (logger.isDebugEnabled() == true)
{
logger.debug("Can not create record, because the default file plan can not be determined.");
logger.debug("Can not create record, because the default file plan can not be determined. Make sure at least one file plan has been created.");
}
throw new AlfrescoRuntimeException("Can not create record, because the default file plan can not be determined.");
}

View File

@@ -33,6 +33,9 @@ import com.hazelcast.impl.Node;
*/
public interface FilePlanService
{
/** Default RM site id. Can be used with {@link FilePlanService#getFilePlanBySiteId(String)} to get the file plan node. */
public static final String DEFAULT_RM_SITE_ID = "rm";
/**
* Indicates whether the given node is file plan node or not.
*

View File

@@ -113,13 +113,14 @@ public class RoleDeclarativeWebScript extends DeclarativeWebScript
if (filePlan == null)
{
// Assume we are in a legacy repository and we will grab the default file plan
filePlan = filePlanService.getFilePlanBySiteId("rm");
filePlan = filePlanService.getFilePlanBySiteId(FilePlanService.DEFAULT_RM_SITE_ID);
}
return filePlan;
}
/**
* Create role items
*
* @param filePlan
* @param roles
@@ -131,6 +132,7 @@ public class RoleDeclarativeWebScript extends DeclarativeWebScript
}
/**
* Create role items
*
* @param filePlan
* @param roles
@@ -159,6 +161,7 @@ public class RoleDeclarativeWebScript extends DeclarativeWebScript
}
/**
* Create authority items
*
* @param authorities
* @return
@@ -177,7 +180,7 @@ public class RoleDeclarativeWebScript extends DeclarativeWebScript
}
/**
* Role item utility class
* Role Item Helper Class
*
* @author Roy Wetherall
* @since 2.1
@@ -239,6 +242,12 @@ public class RoleDeclarativeWebScript extends DeclarativeWebScript
}
}
/**
* Authority Item Helper Class
*
* @author Roy Wetherall
* @since 2.1
*/
public class AuthorityItem
{
private String name;