diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/extractor/FilePlanNamePathDataExtractor.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/extractor/FilePlanNamePathDataExtractor.java index c38636c8ff..ca86e30a5b 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/extractor/FilePlanNamePathDataExtractor.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/extractor/FilePlanNamePathDataExtractor.java @@ -77,19 +77,25 @@ public final class FilePlanNamePathDataExtractor extends AbstractDataExtractor */ public Serializable extractData(Serializable value) { + String extractedData = null; + NodeRef nodeRef = (NodeRef) value; - - // Get path from the RM root - List nodeRefPath = filePlanService.getNodeRefPath(nodeRef); - - StringBuilder sb = new StringBuilder(128); - for (NodeRef pathNodeRef : nodeRefPath) + if (nodeService.hasAspect(nodeRef, RecordsManagementModel.ASPECT_FILE_PLAN_COMPONENT)) { - String name = (String)nodeService.getProperty(pathNodeRef, ContentModel.PROP_NAME); - sb.append("/").append(name); + // Get path from the RM root + List nodeRefPath = filePlanService.getNodeRefPath(nodeRef); + + StringBuilder sb = new StringBuilder(128); + for (NodeRef pathNodeRef : nodeRefPath) + { + String name = (String)nodeService.getProperty(pathNodeRef, ContentModel.PROP_NAME); + sb.append("/").append(name); + } + + // Done + extractedData = sb.toString(); } - // Done - return sb.toString(); + return extractedData; } } diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/caveat/RMCaveatConfigComponentImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/caveat/RMCaveatConfigComponentImpl.java index ea46bcbe21..84f39925c5 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/caveat/RMCaveatConfigComponentImpl.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/caveat/RMCaveatConfigComponentImpl.java @@ -18,6 +18,8 @@ */ package org.alfresco.module.org_alfresco_module_rm.caveat; +import static org.apache.commons.lang.exception.ExceptionUtils.getFullStackTrace; + import java.io.File; import java.io.InputStream; import java.io.Serializable; @@ -992,31 +994,58 @@ public class RMCaveatConfigComponentImpl implements ContentServicePolicies.OnCon */ private String convertToJSONString(SimpleCache>> config) { - JSONObject obj = new JSONObject(); + JSONObject configJSONObject = new JSONObject(); - try + Collection listNames = config.getKeys(); + for (String listName : listNames) { - Collection listNames = config.getKeys(); - for(String listName : listNames) + Map> members = config.get(listName); + + Set authorityNames = members.keySet(); + JSONObject listMembers = new JSONObject(); + + for (String authorityName : authorityNames) { - Map> members = config.get(listName); - - Set authorityNames = members.keySet(); - JSONObject listMembers = new JSONObject(); - - for(String authorityName : authorityNames) + List authorities = members.get(authorityName); + try { - listMembers.put(authorityName, members.get(authorityName)); + listMembers.put(authorityName, authorities); } + catch (JSONException error) + { + StringBuilder sb = new StringBuilder(); + sb.append("Cannot add the key '"); + sb.append(authorityName); + sb.append("' with the value '"); + sb.append(authorities); + sb.append("' to the JSONObject 'listMembers' '"); + sb.append(listMembers); + sb.append("': "); + sb.append(getFullStackTrace(error)); + throw new AlfrescoRuntimeException(sb.toString()); + } + } - obj.put(listName, listMembers); + try + { + configJSONObject.put(listName, listMembers); + } + catch (JSONException error) + { + StringBuilder sb = new StringBuilder(); + sb.append("Cannot add the key '"); + sb.append(listName); + sb.append("' with the value '"); + sb.append(listMembers); + sb.append("' to the JSONObject 'configJSONObject' '"); + sb.append(configJSONObject); + sb.append("': "); + sb.append(getFullStackTrace(error)); + throw new AlfrescoRuntimeException(sb.toString()); } } - catch (JSONException je) - { - throw new AlfrescoRuntimeException("Invalid caveat config syntax: "+ je); - } - return obj.toString(); + + return configJSONObject.toString(); } /**