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
This commit is contained in:
Gethin James
2014-04-28 11:38:39 +00:00
parent 798e3af1a0
commit ff9cbfba1f
2 changed files with 23 additions and 20 deletions

View File

@@ -853,9 +853,13 @@ public class SiteServiceImpl extends AbstractLifecycleBean implements SiteServic
//cm:title //cm:title
query.append(" OR ") query.append(" OR ")
.append(" cm:title: ("); .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(")"); query.append(")");

View File

@@ -768,14 +768,13 @@ public class SiteServiceImplTest extends BaseAlfrescoSpringTest
assertNotNull(sites); assertNotNull(sites);
assertEquals("Matched wrong number of sites for tokenized search", 1, sites.size()); assertEquals("Matched wrong number of sites for tokenized search", 1, sites.size());
// sites = this.siteService.findSites("n3w s1t3 88", 0); sites = this.siteService.findSites("n3w s1t3 88", 0);
// assertNotNull(sites); assertNotNull(sites);
// assertEquals("Matched wrong number of sites for tokenized search", 1, sites.size()); assertEquals("Matched wrong number of sites for tokenized search", 1, sites.size());
//
// sites = this.siteService.findSites("n3w s1t3 99", 0);
// sites = this.siteService.findSites("n3w s1t3 99", 0); assertNotNull(sites);
// assertNotNull(sites); assertEquals("Matched wrong number of sites for tokenized search", 1, sites.size());
// assertEquals("Matched wrong number of sites for tokenized search", 1, sites.size());
sites = this.siteService.findSites("n3w s1t3", 0); sites = this.siteService.findSites("n3w s1t3", 0);
assertNotNull(sites); assertNotNull(sites);
@@ -797,17 +796,17 @@ public class SiteServiceImplTest extends BaseAlfrescoSpringTest
assertNotNull(sites); assertNotNull(sites);
assertEquals("Matched wrong number of sites for product", 1, sites.size()); assertEquals("Matched wrong number of sites for product", 1, sites.size());
// sites = this.siteService.findSites("super product", 0); sites = this.siteService.findSites("super product", 0);
// assertNotNull(sites); assertNotNull(sites);
// assertEquals("Matched wrong number of sites for super product", 1, sites.size()); 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("exciting launch", 0); sites = this.siteService.findSites("super launch", 0);
// assertNotNull(sites); assertNotNull(sites);
// assertEquals("Matched wrong number of sites for super launch", 1, sites.size()); 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); sites = this.siteService.findSites("super exciting", 0);
assertNotNull(sites); assertNotNull(sites);