From ff9cbfba1fbfa194f8b4ef894ec834b2e42e6b32 Mon Sep 17 00:00:00 2001 From: Gethin James Date: Mon, 28 Apr 2014 11:38:39 +0000 Subject: [PATCH] Fix for ACE-1513, ACE-1428 cm:title is tokenized and ANDed together git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@68164 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/repo/site/SiteServiceImpl.java | 8 +++-- .../repo/site/SiteServiceImplTest.java | 35 +++++++++---------- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/source/java/org/alfresco/repo/site/SiteServiceImpl.java b/source/java/org/alfresco/repo/site/SiteServiceImpl.java index 68d9956975..5bb0a1bc96 100644 --- a/source/java/org/alfresco/repo/site/SiteServiceImpl.java +++ b/source/java/org/alfresco/repo/site/SiteServiceImpl.java @@ -853,9 +853,13 @@ public class SiteServiceImpl extends AbstractLifecycleBean implements SiteServic //cm:title query.append(" OR ") .append(" cm:title: ("); - for (String token: tokenizedFilter) + for( int i = 0; i < tokenizedFilter.length; i++) { - query.append("\""+token+"*\" "); + if (i!=0) //Not first element + { + query.append(" AND "); + } + query.append("\""+tokenizedFilter[i]+"*\" "); } query.append(")"); diff --git a/source/test-java/org/alfresco/repo/site/SiteServiceImplTest.java b/source/test-java/org/alfresco/repo/site/SiteServiceImplTest.java index 564293cfbe..3a48e73727 100644 --- a/source/test-java/org/alfresco/repo/site/SiteServiceImplTest.java +++ b/source/test-java/org/alfresco/repo/site/SiteServiceImplTest.java @@ -768,14 +768,13 @@ public class SiteServiceImplTest extends BaseAlfrescoSpringTest assertNotNull(sites); assertEquals("Matched wrong number of sites for tokenized search", 1, sites.size()); -// sites = this.siteService.findSites("n3w s1t3 88", 0); -// assertNotNull(sites); -// assertEquals("Matched wrong number of sites for tokenized search", 1, sites.size()); -// -// -// sites = this.siteService.findSites("n3w s1t3 99", 0); -// assertNotNull(sites); -// assertEquals("Matched wrong number of sites for tokenized search", 1, sites.size()); + sites = this.siteService.findSites("n3w s1t3 88", 0); + assertNotNull(sites); + assertEquals("Matched wrong number of sites for tokenized search", 1, sites.size()); + + sites = this.siteService.findSites("n3w s1t3 99", 0); + assertNotNull(sites); + assertEquals("Matched wrong number of sites for tokenized search", 1, sites.size()); sites = this.siteService.findSites("n3w s1t3", 0); assertNotNull(sites); @@ -797,17 +796,17 @@ public class SiteServiceImplTest extends BaseAlfrescoSpringTest assertNotNull(sites); assertEquals("Matched wrong number of sites for product", 1, sites.size()); -// sites = this.siteService.findSites("super product", 0); -// assertNotNull(sites); -// assertEquals("Matched wrong number of sites for super product", 1, sites.size()); -// -// sites = this.siteService.findSites("super launch", 0); -// assertNotNull(sites); -// assertEquals("Matched wrong number of sites for super launch", 1, sites.size()); + sites = this.siteService.findSites("super product", 0); + assertNotNull(sites); + assertEquals("Matched wrong number of sites for super product", 1, sites.size()); -// sites = this.siteService.findSites("exciting launch", 0); -// assertNotNull(sites); -// assertEquals("Matched wrong number of sites for super launch", 1, sites.size()); + sites = this.siteService.findSites("super launch", 0); + assertNotNull(sites); + assertEquals("Matched wrong number of sites for super launch", 1, sites.size()); + + sites = this.siteService.findSites("exciting launch", 0); + assertNotNull(sites); + assertEquals("Matched wrong number of sites for super launch", 1, sites.size()); sites = this.siteService.findSites("super exciting", 0); assertNotNull(sites);