From 296172eb7d35c360bb0098572010dd683ed7a095 Mon Sep 17 00:00:00 2001 From: Roy Wetherall Date: Fri, 12 Oct 2012 06:03:44 +0000 Subject: [PATCH] RM-503: Record Search - Category is not found by VitalRecordReviewPeriod * and fixed up broken links in search list (link to record, category or folder did not work if there was a space in the path) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.0@42558 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../RecordsManagementSearchBehaviour.java | 31 +++++++++++-------- .../script/slingshot/RMSearchGet.java | 4 +-- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/RecordsManagementSearchBehaviour.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/RecordsManagementSearchBehaviour.java index ea6e0ef6ca..79823d13a7 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/RecordsManagementSearchBehaviour.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/RecordsManagementSearchBehaviour.java @@ -498,15 +498,16 @@ public class RecordsManagementSearchBehaviour implements RecordsManagementModel { if (nodeService.exists(nodeRef) == true) { - // Initialise the search parameteres as required + // Initialise the search parameters as required setVitalRecordDefintionDetails(nodeRef); } } public void vitalRecordDefintionAddAspect(NodeRef nodeRef, QName aspectTypeQName) { - // Only care about record folders - if (recordsManagementService.isRecordFolder(nodeRef) == true) + // Only care about record folders or record categories + if (recordsManagementService.isRecordFolder(nodeRef) == true || + recordsManagementService.isRecordCategory(nodeRef) == true) { updateVitalRecordDefinitionValues(nodeRef); } @@ -514,8 +515,9 @@ public class RecordsManagementSearchBehaviour implements RecordsManagementModel public void vitalRecordDefintionUpdateProperties(NodeRef nodeRef, Map before, Map after) { - // Only care about record folders - if (recordsManagementService.isRecordFolder(nodeRef) == true) + // Only care about record folders or record categories + if (recordsManagementService.isRecordFolder(nodeRef) == true || + recordsManagementService.isRecordCategory(nodeRef) == true) { Set props = new HashSet(1); props.add(PROP_REVIEW_PERIOD); @@ -535,14 +537,17 @@ public class RecordsManagementSearchBehaviour implements RecordsManagementModel applySearchAspect(nodeRef); setVitalRecordDefintionDetails(nodeRef); - List records = recordsManagementService.getRecords(nodeRef); - for (NodeRef record : records) - { - // Apply the search aspect - applySearchAspect(record); - - // Set the vital record definition details - setVitalRecordDefintionDetails(record); + if (recordsManagementService.isRecordFolder(nodeRef) == true) + { + List records = recordsManagementService.getRecords(nodeRef); + for (NodeRef record : records) + { + // Apply the search aspect + applySearchAspect(record); + + // Set the vital record definition details + setVitalRecordDefintionDetails(record); + } } } diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/slingshot/RMSearchGet.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/slingshot/RMSearchGet.java index a1d9ba4459..df8c40bc25 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/slingshot/RMSearchGet.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/slingshot/RMSearchGet.java @@ -282,12 +282,12 @@ public class RMSearchGet extends DeclarativeWebScript relPath.append(getName()); try { - this.browseUrl = "documentlibrary?path=" + URLEncoder.encode(relPath.toString(), "UTF-8"); + this.browseUrl = "documentlibrary?path=" + URLEncoder.encode(relPath.toString(), "UTF-8").replaceAll("\\+","%20"); } catch (UnsupportedEncodingException e) { throw new AlfrescoRuntimeException("Could not process search results.", e); - } + } } } else