diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-patch-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-patch-context.xml
index d030f80f98..21905bc79a 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-patch-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-patch-context.xml
@@ -49,5 +49,16 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2SavedSearchPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2SavedSearchPatch.java
new file mode 100644
index 0000000000..076ec3860c
--- /dev/null
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2SavedSearchPatch.java
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2005-2011 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.patch;
+
+import java.util.List;
+
+import org.alfresco.module.org_alfresco_module_rm.dod5015.DOD5015Model;
+import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
+import org.alfresco.module.org_alfresco_module_rm.search.RecordsManagementSearchService;
+import org.alfresco.module.org_alfresco_module_rm.search.SavedSearchDetails;
+import org.alfresco.repo.module.AbstractModuleComponent;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.factory.BeanNameAware;
+
+/**
+ * RM v2.0 Saved Search Patch
+ *
+ *
+ * @author Roy Wetherall
+ */
+public class RMv2SavedSearchPatch extends AbstractModuleComponent
+ implements BeanNameAware, RecordsManagementModel, DOD5015Model
+{
+ /** Logger */
+ private static Log logger = LogFactory.getLog(RMv2SavedSearchPatch.class);
+
+ /** RM site id */
+ private static final String RM_SITE_ID = "rm";
+
+ /** Records management search service */
+ private RecordsManagementSearchService recordsManagementSearchService;
+
+ /**
+ * @param recordsManagementSearchService records management search service
+ */
+ public void setRecordsManagementSearchService(RecordsManagementSearchService recordsManagementSearchService)
+ {
+ this.recordsManagementSearchService = recordsManagementSearchService;
+ }
+
+ /**
+ * @see org.alfresco.repo.module.AbstractModuleComponent#executeInternal()
+ */
+ @Override
+ protected void executeInternal() throws Throwable
+ {
+ if (logger.isDebugEnabled() == true)
+ {
+ logger.debug("RM Module RMv2SavedSearchPatch ...");
+ }
+
+ // get the saved searches
+ List savedSearches = recordsManagementSearchService.getSavedSearches(RM_SITE_ID);
+
+ if (logger.isDebugEnabled() == true)
+ {
+ logger.debug(" ... updating " + savedSearches.size() + " saved searches");
+ }
+
+ for (SavedSearchDetails savedSearchDetails : savedSearches)
+ {
+ // re-save each search so that the query is regenerated correctly
+ recordsManagementSearchService.deleteSavedSearch(RM_SITE_ID, savedSearchDetails.getName());
+ recordsManagementSearchService.saveSearch(RM_SITE_ID,
+ savedSearchDetails.getName(),
+ savedSearchDetails.getDescription(),
+ savedSearchDetails.getSearch(),
+ savedSearchDetails.getSearchParameters(),
+ savedSearchDetails.isPublic());
+ }
+
+ if (logger.isDebugEnabled() == true)
+ {
+ logger.debug(" ... complete");
+ }
+
+ }
+}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/search/SavedSearchDetails.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/search/SavedSearchDetails.java
index 53d6923a03..8be1c3d2a6 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/search/SavedSearchDetails.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/search/SavedSearchDetails.java
@@ -95,7 +95,7 @@ public class SavedSearchDetails extends ReportDetails
private String siteId;
/** Indicates whether the saved search is public or not */
- private boolean isPublic;
+ private boolean isPublic = true;
/** Indicates whether the saved search is a report */
private boolean isReport = false;
@@ -103,8 +103,10 @@ public class SavedSearchDetails extends ReportDetails
/** Namespace service */
NamespaceService namespaceService;
+ /** Records management search service */
RecordsManagementSearchServiceImpl searchService;
+ /** Saves search details compatibility */
private SavedSearchDetailsCompatibility compatibility;
/**
@@ -178,7 +180,7 @@ public class SavedSearchDetails extends ReportDetails
}
// Determine whether the saved query is public or not
- boolean isPublic = false;
+ boolean isPublic = true;
if (search.has(PUBLIC) == true)
{
isPublic = search.getBoolean(PUBLIC);