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
This commit is contained in:
Roy Wetherall
2012-10-12 06:03:44 +00:00
parent 68e0e356a7
commit 296172eb7d
2 changed files with 20 additions and 15 deletions

View File

@@ -498,15 +498,16 @@ public class RecordsManagementSearchBehaviour implements RecordsManagementModel
{ {
if (nodeService.exists(nodeRef) == true) if (nodeService.exists(nodeRef) == true)
{ {
// Initialise the search parameteres as required // Initialise the search parameters as required
setVitalRecordDefintionDetails(nodeRef); setVitalRecordDefintionDetails(nodeRef);
} }
} }
public void vitalRecordDefintionAddAspect(NodeRef nodeRef, QName aspectTypeQName) public void vitalRecordDefintionAddAspect(NodeRef nodeRef, QName aspectTypeQName)
{ {
// Only care about record folders // Only care about record folders or record categories
if (recordsManagementService.isRecordFolder(nodeRef) == true) if (recordsManagementService.isRecordFolder(nodeRef) == true ||
recordsManagementService.isRecordCategory(nodeRef) == true)
{ {
updateVitalRecordDefinitionValues(nodeRef); updateVitalRecordDefinitionValues(nodeRef);
} }
@@ -514,8 +515,9 @@ public class RecordsManagementSearchBehaviour implements RecordsManagementModel
public void vitalRecordDefintionUpdateProperties(NodeRef nodeRef, Map<QName, Serializable> before, Map<QName, Serializable> after) public void vitalRecordDefintionUpdateProperties(NodeRef nodeRef, Map<QName, Serializable> before, Map<QName, Serializable> after)
{ {
// Only care about record folders // Only care about record folders or record categories
if (recordsManagementService.isRecordFolder(nodeRef) == true) if (recordsManagementService.isRecordFolder(nodeRef) == true ||
recordsManagementService.isRecordCategory(nodeRef) == true)
{ {
Set<QName> props = new HashSet<QName>(1); Set<QName> props = new HashSet<QName>(1);
props.add(PROP_REVIEW_PERIOD); props.add(PROP_REVIEW_PERIOD);
@@ -535,14 +537,17 @@ public class RecordsManagementSearchBehaviour implements RecordsManagementModel
applySearchAspect(nodeRef); applySearchAspect(nodeRef);
setVitalRecordDefintionDetails(nodeRef); setVitalRecordDefintionDetails(nodeRef);
List<NodeRef> records = recordsManagementService.getRecords(nodeRef); if (recordsManagementService.isRecordFolder(nodeRef) == true)
for (NodeRef record : records) {
{ List<NodeRef> records = recordsManagementService.getRecords(nodeRef);
// Apply the search aspect for (NodeRef record : records)
applySearchAspect(record); {
// Apply the search aspect
// Set the vital record definition details applySearchAspect(record);
setVitalRecordDefintionDetails(record);
// Set the vital record definition details
setVitalRecordDefintionDetails(record);
}
} }
} }

View File

@@ -282,12 +282,12 @@ public class RMSearchGet extends DeclarativeWebScript
relPath.append(getName()); relPath.append(getName());
try 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) catch (UnsupportedEncodingException e)
{ {
throw new AlfrescoRuntimeException("Could not process search results.", e); throw new AlfrescoRuntimeException("Could not process search results.", e);
} }
} }
} }
else else