From b941afd8d37ac05625838da46b6cb5d47ece88fe Mon Sep 17 00:00:00 2001 From: mmelki Date: Tue, 7 Jul 2015 14:23:54 +0100 Subject: [PATCH] fix hard coded for search results --- .../search/AbstractSocialSearchConnector.java | 14 +- .../core/search/SpaceSearchConnector.java | 29 +++- .../locale/social/Core_en.properties | 7 +- .../locale/social/Core_fr.properties | 5 + .../search/PeopleSearchConnectorTestCase.java | 38 +++--- .../search/SpaceSearchConnectorTestCase.java | 126 +++++++++--------- 6 files changed, 127 insertions(+), 92 deletions(-) diff --git a/component/core/src/main/java/org/exoplatform/social/core/search/AbstractSocialSearchConnector.java b/component/core/src/main/java/org/exoplatform/social/core/search/AbstractSocialSearchConnector.java index a3c64fd85f..eb6a14c5a4 100644 --- a/component/core/src/main/java/org/exoplatform/social/core/search/AbstractSocialSearchConnector.java +++ b/component/core/src/main/java/org/exoplatform/social/core/search/AbstractSocialSearchConnector.java @@ -31,7 +31,8 @@ public abstract class AbstractSocialSearchConnector extends SearchServiceConnector { private static final Log LOG = ExoLogger.getLogger(AbstractSocialSearchConnector.class); - + + protected String language; protected final class Range { public final int offset; @@ -57,8 +58,9 @@ public AbstractSocialSearchConnector(InitParams initParams) { } @Override - public final Collection search(SearchContext context, String query, Collection sites, int offset, int limit, String sort, String order) { + public final Collection search(SearchContext context, String query, Collection sites, int offset, int limit, String sort, String order, String language) { + setLanguage(language); // SortBy sortBy = null; if ("relevancy".equalsIgnoreCase(sort)) { @@ -218,4 +220,12 @@ protected long getRelevancy(Row row) { } protected abstract Collection search(SearchContext context, String query, Range range, Sorting sort); + + public String getLanguage() { + return language; + } + + public void setLanguage(String language) { + this.language = language; + } } diff --git a/component/core/src/main/java/org/exoplatform/social/core/search/SpaceSearchConnector.java b/component/core/src/main/java/org/exoplatform/social/core/search/SpaceSearchConnector.java index 9ee5f667a5..5278fa148c 100644 --- a/component/core/src/main/java/org/exoplatform/social/core/search/SpaceSearchConnector.java +++ b/component/core/src/main/java/org/exoplatform/social/core/search/SpaceSearchConnector.java @@ -4,6 +4,8 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.Locale; +import java.util.ResourceBundle; import javax.jcr.query.Row; import javax.jcr.query.RowIterator; @@ -16,6 +18,7 @@ import org.exoplatform.portal.mop.SiteType; import org.exoplatform.services.log.ExoLogger; import org.exoplatform.services.log.Log; +import org.exoplatform.services.resources.ResourceBundleService; import org.exoplatform.services.security.ConversationState; import org.exoplatform.social.core.chromattic.entity.SpaceEntity; import org.exoplatform.social.core.service.LinkProvider; @@ -59,7 +62,7 @@ public Collection search(SearchContext context, String query, Rang ListAccess la = spaceService.getUnifiedSearchSpacesWithListAccess(getCurrentUserName(), filter); - + // try { Space[] spaces = la.load(range.offset, range.limit); @@ -73,20 +76,32 @@ public Collection search(SearchContext context, String query, Rang // if (Space.HIDDEN.equals(s.getVisibility()) && !spaceService.isMember(s, getCurrentUserName())) continue; - + + ResourceBundle resourceBundle = null; + ResourceBundleService resourceBundleService = (ResourceBundleService) ExoContainerContext.getCurrentContainer().getComponentInstance(ResourceBundleService.class); + if(resourceBundleService != null){ + String[] sharedResourceBundleNames = resourceBundleService.getSharedResourceBundleNames(); + for (String resourceBundleName : sharedResourceBundleNames) { + if(resourceBundleName.equals("locale.social.Core")){ + resourceBundle = resourceBundleService.getResourceBundle(resourceBundleName, Locale.forLanguageTag(getLanguage())); + break; + } + } + } + // StringBuilder sb = new StringBuilder(s.getDisplayName()); - sb.append(String.format(" - %s Member(s)", s.getMembers().length)); + sb.append(String.format(" - %s " + (resourceBundle != null ? resourceBundle.getString("SpaceSearchConnector.members") : "Member(s)"), s.getMembers().length)); if (Space.OPEN.equals(s.getRegistration())) { - sb.append(" - Free to Join"); + sb.append(" - " + (resourceBundle != null ? resourceBundle.getString("SpaceSearchConnector.free_to_join") : "Free to Join")); } else if (Space.VALIDATION.equals(s.getRegistration())) { - sb.append(" - Register"); + sb.append(" - " + (resourceBundle != null ? resourceBundle.getString("SpaceSearchConnector.register") : "Register")); } else if (Space.CLOSE.equals(s.getRegistration())) { - sb.append(" - Invitation Only"); + sb.append(" - " + (resourceBundle != null ? resourceBundle.getString("SpaceSearchConnector.invitation_only") : "Invitation Only")); } else { LOG.debug(s.getRegistration() + " registration unknown"); } - + // row = (rowIt != null && rowIt.hasNext()) ? rowIt.nextRow() : null; diff --git a/component/core/src/main/resources/locale/social/Core_en.properties b/component/core/src/main/resources/locale/social/Core_en.properties index f6e3463fe2..0976cdc538 100644 --- a/component/core/src/main/resources/locale/social/Core_en.properties +++ b/component/core/src/main/resources/locale/social/Core_en.properties @@ -21,4 +21,9 @@ ProfileUpdatesPublisher.experience_section_updated=Experience has been updated. ProfileUpdatesPublisher.aboutMe_section_updated="About me" has been updated. RelationshipPublisher.user_relation_confirmed=I'm now connected with {0} -RelationshipPublisher.user_relations=I'm now connected with {0} user(s) +RelationshipPublisher.user_relations=I'm now connected with {0} user(s) + +SpaceSearchConnector.members=Member(s) +SpaceSearchConnector.free_to_join=Free to Join +SpaceSearchConnector.register=Register +SpaceSearchConnector.invitation_only=Invitation Only diff --git a/component/core/src/main/resources/locale/social/Core_fr.properties b/component/core/src/main/resources/locale/social/Core_fr.properties index e406eff43a..c35dbd5fc8 100644 --- a/component/core/src/main/resources/locale/social/Core_fr.properties +++ b/component/core/src/main/resources/locale/social/Core_fr.properties @@ -22,3 +22,8 @@ ProfileUpdatesPublisher.aboutMe_section_updated="About me" has been updated. RelationshipPublisher.user_relation_confirmed=Je suis d\u00E9sormais connect\u00E9 avec {0} RelationshipPublisher.user_relations=Je suis maintenant connect\u00E9 avec {0} utilisateur(s). + +SpaceSearchConnector.members=Membre(s) +SpaceSearchConnector.free_to_join=libre d'adh\u00E9rer +SpaceSearchConnector.register=S'enregistrer +SpaceSearchConnector.invitation_only=Invitation Seulement diff --git a/component/core/src/test/java/org/exoplatform/social/core/search/PeopleSearchConnectorTestCase.java b/component/core/src/test/java/org/exoplatform/social/core/search/PeopleSearchConnectorTestCase.java index 373d1a90cc..fe6515e764 100644 --- a/component/core/src/test/java/org/exoplatform/social/core/search/PeopleSearchConnectorTestCase.java +++ b/component/core/src/test/java/org/exoplatform/social/core/search/PeopleSearchConnectorTestCase.java @@ -100,21 +100,21 @@ protected void tearDown() throws Exception { } public void testFilter() throws Exception { - assertEquals(1, peopleSearchConnector.search(null, "foo", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc").size()); - assertEquals(1, peopleSearchConnector.search(null, " foo", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc").size()); - assertEquals(1, peopleSearchConnector.search(null, "bar", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc").size()); - assertEquals(2, peopleSearchConnector.search(null, "bar position", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc").size()); - assertEquals(2, peopleSearchConnector.search(null, "position", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc").size()); - assertEquals(2, peopleSearchConnector.search(null, "doSomething", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc").size()); - assertEquals(2, peopleSearchConnector.search(null, "exo", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc").size()); - assertEquals(2, peopleSearchConnector.search(null, "job description", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc").size()); + assertEquals(1, peopleSearchConnector.search(null, "foo", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc", "en").size()); + assertEquals(1, peopleSearchConnector.search(null, " foo", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc", "en").size()); + assertEquals(1, peopleSearchConnector.search(null, "bar", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc", "en").size()); + assertEquals(2, peopleSearchConnector.search(null, "bar position", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc", "en").size()); + assertEquals(2, peopleSearchConnector.search(null, "position", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc", "en").size()); + assertEquals(2, peopleSearchConnector.search(null, "doSomething", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc", "en").size()); + assertEquals(2, peopleSearchConnector.search(null, "exo", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc", "en").size()); + assertEquals(2, peopleSearchConnector.search(null, "job description", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc", "en").size()); // - assertEquals(2, peopleSearchConnector.search(null, "posi", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc").size()); - assertEquals(2, peopleSearchConnector.search(null, "do", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc").size()); + assertEquals(2, peopleSearchConnector.search(null, "posi", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc", "en").size()); + assertEquals(2, peopleSearchConnector.search(null, "do", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc", "en").size()); } public void testData() throws Exception { - Collection cFoo = peopleSearchConnector.search(null, "foo", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc"); + Collection cFoo = peopleSearchConnector.search(null, "foo", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc", "en"); SearchResult rFoo = cFoo.iterator().next(); assertEquals("foo", rFoo.getTitle()); assertTrue(rFoo.getExcerpt().indexOf("foo") >= 0); @@ -127,7 +127,7 @@ public void testData() throws Exception { assertTrue(rFoo.getDate() != 0); assertEquals(pFoo.getCreatedTime(), rFoo.getDate()); - Collection cBar = peopleSearchConnector.search(null, "bar", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc"); + Collection cBar = peopleSearchConnector.search(null, "bar", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc", "en"); SearchResult rBar = cBar.iterator().next(); Profile pBar = identityManager.getProfile(identityManager.getOrCreateIdentity(OrganizationIdentityProvider.NAME, "bar")); assertEquals(pBar.getAvatarUrl(), rBar.getImageUrl()); @@ -135,19 +135,19 @@ public void testData() throws Exception { public void testOrder() throws Exception { - List rTitleAsc = (List) peopleSearchConnector.search(null, "position", Collections.EMPTY_LIST, 0, 10, "title", "asc"); + List rTitleAsc = (List) peopleSearchConnector.search(null, "position", Collections.EMPTY_LIST, 0, 10, "title", "asc", "en"); assertEquals("bar", rTitleAsc.get(0).getTitle()); assertEquals("foo", rTitleAsc.get(1).getTitle()); - List rTitleDesc = (List) peopleSearchConnector.search(null, "position", Collections.EMPTY_LIST, 0, 10, "title", "desc"); + List rTitleDesc = (List) peopleSearchConnector.search(null, "position", Collections.EMPTY_LIST, 0, 10, "title", "desc", "en"); assertEquals("foo", rTitleDesc.get(0).getTitle()); assertEquals("bar", rTitleDesc.get(1).getTitle()); - List rDateAsc = (List) peopleSearchConnector.search(null, "position", Collections.EMPTY_LIST, 0, 10, "date", "asc"); + List rDateAsc = (List) peopleSearchConnector.search(null, "position", Collections.EMPTY_LIST, 0, 10, "date", "asc", "en"); assertEquals("foo", rDateAsc.get(0).getTitle()); assertEquals("bar", rDateAsc.get(1).getTitle()); - List rDateDesc = (List) peopleSearchConnector.search(null, "position", Collections.EMPTY_LIST, 0, 10, "date", "desc"); + List rDateDesc = (List) peopleSearchConnector.search(null, "position", Collections.EMPTY_LIST, 0, 10, "date", "desc", "en"); assertEquals("bar", rDateDesc.get(0).getTitle()); assertEquals("foo", rDateDesc.get(1).getTitle()); } @@ -181,15 +181,15 @@ public void testSearchSpecialCharacters() throws Exception { identityManager.saveProfile(rootProfile); tearDown.add(rootIdentity.getId()); - assertEquals(1, peopleSearchConnector.search(null, "広いニーズ", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc").size()); + assertEquals(1, peopleSearchConnector.search(null, "広いニーズ", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc", "en").size()); rootProfile.setProperty(Profile.POSITION, StringEscapeUtils.escapeHtml("広いニーズ")); rootProfile.setProperty(Profile.FIRST_NAME, "root"); identityManager.saveProfile(rootProfile); - assertEquals(1, peopleSearchConnector.search(null, "広いニーズ", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc").size()); + assertEquals(1, peopleSearchConnector.search(null, "広いニーズ", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc", "en").size()); rootProfile.setProperty(Profile.EXPERIENCES_SKILLS, StringEscapeUtils.escapeHtml("! . , : ; ( ) ^}{[] -, \" '% *")); identityManager.saveProfile(rootProfile); - assertEquals(1, peopleSearchConnector.search(null, "! . , : ; ( ) ^}{[] -, \" '% *", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc").size()); + assertEquals(1, peopleSearchConnector.search(null, "! . , : ; ( ) ^}{[] -, \" '% *", Collections.EMPTY_LIST, 0, 10, "relevancy", "asc", "en").size()); } } diff --git a/component/core/src/test/java/org/exoplatform/social/core/search/SpaceSearchConnectorTestCase.java b/component/core/src/test/java/org/exoplatform/social/core/search/SpaceSearchConnectorTestCase.java index 378dfa8cb1..6ed6b3b978 100644 --- a/component/core/src/test/java/org/exoplatform/social/core/search/SpaceSearchConnectorTestCase.java +++ b/component/core/src/test/java/org/exoplatform/social/core/search/SpaceSearchConnectorTestCase.java @@ -111,17 +111,17 @@ public void testCurrentUser() throws Exception { public void testFilter() throws Exception { setCurrentUser("demo"); - assertEquals(0, spaceSearchConnector.search(context, "foo bar", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC").size()); - assertEquals(1, spaceSearchConnector.search(context, "foo", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC").size()); - assertEquals(1, spaceSearchConnector.search(context, "bar", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC").size()); - assertEquals(1, spaceSearchConnector.search(context, "foo description", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC").size()); - assertEquals(0, spaceSearchConnector.search(context, "foo space", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC").size()); - assertEquals(2, spaceSearchConnector.search(context, "description", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC").size()); + assertEquals(0, spaceSearchConnector.search(context, "foo bar", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en").size()); + assertEquals(1, spaceSearchConnector.search(context, "foo", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en").size()); + assertEquals(1, spaceSearchConnector.search(context, "bar", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en").size()); + assertEquals(1, spaceSearchConnector.search(context, "foo description", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en").size()); + assertEquals(0, spaceSearchConnector.search(context, "foo space", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en").size()); + assertEquals(2, spaceSearchConnector.search(context, "description", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en").size()); } public void testData() throws Exception { setCurrentUser("demo"); - Collection cFoo = spaceSearchConnector.search(context, "foo", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC"); + Collection cFoo = spaceSearchConnector.search(context, "foo", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en"); SearchResult rFoo = cFoo.iterator().next(); assertEquals("foo", rFoo.getTitle()); assertTrue(rFoo.getExcerpt().indexOf("foo description") >= 0); @@ -131,7 +131,7 @@ public void testData() throws Exception { assertEquals(LinkProvider.SPACE_DEFAULT_AVATAR_URL, rFoo.getImageUrl()); assertEquals("foo - 1 Member(s) - Free to Join", rFoo.getDetail()); - Collection cBar = spaceSearchConnector.search(context, "bar", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC"); + Collection cBar = spaceSearchConnector.search(context, "bar", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en"); SearchResult rBar = cBar.iterator().next(); Profile pBar = identityManager.getProfile(identityManager.getOrCreateIdentity(SpaceIdentityProvider.NAME, "bar")); Space sBar = spaceService.getSpaceByDisplayName("bar"); @@ -142,26 +142,26 @@ public void testData() throws Exception { public void testOrder() throws Exception { setCurrentUser("demo"); - List rTitleAsc = (List) spaceSearchConnector.search(context, "description", Collections.EMPTY_LIST, 0, 10, "title", "ASC"); + List rTitleAsc = (List) spaceSearchConnector.search(context, "description", Collections.EMPTY_LIST, 0, 10, "title", "ASC", "en"); assertEquals("bar", rTitleAsc.get(0).getTitle()); assertEquals("foo", rTitleAsc.get(1).getTitle()); - List rTitleDesc = (List) spaceSearchConnector.search(context, "description", Collections.EMPTY_LIST, 0, 10, "title", "DESC"); + List rTitleDesc = (List) spaceSearchConnector.search(context, "description", Collections.EMPTY_LIST, 0, 10, "title", "DESC", "en"); assertEquals("foo", rTitleDesc.get(0).getTitle()); assertEquals("bar", rTitleDesc.get(1).getTitle()); - List rDateAsc = (List) spaceSearchConnector.search(context, "description", Collections.EMPTY_LIST, 0, 10, "date", "ASC"); + List rDateAsc = (List) spaceSearchConnector.search(context, "description", Collections.EMPTY_LIST, 0, 10, "date", "ASC", "en"); assertEquals("foo", rDateAsc.get(0).getTitle()); assertEquals("bar", rDateAsc.get(1).getTitle()); - List rDateDesc = (List) spaceSearchConnector.search(context, "description", Collections.EMPTY_LIST, 0, 10, "date", "DESC"); + List rDateDesc = (List) spaceSearchConnector.search(context, "description", Collections.EMPTY_LIST, 0, 10, "date", "DESC", "en"); assertEquals("bar", rDateDesc.get(0).getTitle()); assertEquals("foo", rDateDesc.get(1).getTitle()); } - + public void testUnicodeData() throws Exception { Identity maryIdentity = identityManager.getOrCreateIdentity(OrganizationIdentityProvider.NAME, "mary", false); - + Space space = new Space(); space.setDisplayName("広いニーズ"); space.setPrettyName("広いニーズ"); @@ -172,7 +172,7 @@ public void testUnicodeData() throws Exception { space.setRegistration(Space.OPEN); createSpaceNonInitApps(space, maryIdentity.getRemoteId(), null); tearDown.add(space); - + Space newSpace = new Space(); newSpace.setDisplayName("close"); newSpace.setPrettyName("close"); @@ -183,21 +183,21 @@ public void testUnicodeData() throws Exception { newSpace.setRegistration(Space.OPEN); createSpaceNonInitApps(newSpace, maryIdentity.getRemoteId(), null); tearDown.add(newSpace); - + setCurrentUser("mary"); - assertEquals(1, spaceSearchConnector.search(context, "広", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC").size()); - assertEquals(1, spaceSearchConnector.search(context, "%広いニー", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC").size()); - assertEquals(1, spaceSearchConnector.search(context, "広いニーズ", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC").size()); - assertEquals(1, spaceSearchConnector.search(context, "広いニーズに応えます。", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC").size()); - - assertEquals(1, spaceSearchConnector.search(context, "clo", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC").size()); + assertEquals(1, spaceSearchConnector.search(context, "広", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en").size()); + assertEquals(1, spaceSearchConnector.search(context, "%広いニー", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en").size()); + assertEquals(1, spaceSearchConnector.search(context, "広いニーズ", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en").size()); + assertEquals(1, spaceSearchConnector.search(context, "広いニーズに応えます。", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en").size()); + + assertEquals(1, spaceSearchConnector.search(context, "clo", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en").size()); identityManager.deleteIdentity(maryIdentity); } - + public void testUnifiedSearch() throws Exception { Identity maryIdentity = identityManager.getOrCreateIdentity(OrganizationIdentityProvider.NAME, "mary", false); Identity rootIdentity = identityManager.getOrCreateIdentity(OrganizationIdentityProvider.NAME, "root", false); - + Space space = new Space(); space.setDisplayName("広いニーズ"); space.setPrettyName("広いニーズ"); @@ -207,12 +207,12 @@ public void testUnifiedSearch() throws Exception { space.setRegistration(Space.OPEN); createSpaceNonInitApps(space, "mary", null); tearDown.add(space); - + setCurrentUser("root"); - assertEquals(1, spaceSearchConnector.search(context, "広いニーズ", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC").size()); + assertEquals(1, spaceSearchConnector.search(context, "広いニーズ", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en").size()); setCurrentUser("mary"); - assertEquals(1, spaceSearchConnector.search(context, "広いニーズ", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC").size()); - + assertEquals(1, spaceSearchConnector.search(context, "広いニーズ", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en").size()); + Space space2 = new Space(); space2.setDisplayName("space2"); space2.setPrettyName("space2"); @@ -223,16 +223,16 @@ public void testUnifiedSearch() throws Exception { space2.setRegistration(Space.OPEN); createSpaceNonInitApps(space2, "mary", null); tearDown.add(space2); - + SpaceListAccess list = spaceService.getUnifiedSearchSpacesWithListAccess("root", new SpaceFilter("! . , : ; ( ) ^}{[] -, \" '% *")); assertEquals(1, list.getSize()); assertEquals(1, list.load(0, 10).length); - + setCurrentUser("root"); - assertEquals(1, spaceSearchConnector.search(context, "! . , : ; ( ) ^}{[] -, \" '% *", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC").size()); - - assertEquals(5, spaceSearchConnector.search(context, "%", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC").size()); - + assertEquals(1, spaceSearchConnector.search(context, "! . , : ; ( ) ^}{[] -, \" '% *", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en").size()); + + assertEquals(5, spaceSearchConnector.search(context, "%", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en").size()); + identityManager.deleteIdentity(maryIdentity); identityManager.deleteIdentity(rootIdentity); } @@ -240,11 +240,11 @@ public void testUnifiedSearch() throws Exception { private void setCurrentUser(final String name) { ConversationState.setCurrent(new ConversationState(new org.exoplatform.services.security.Identity(name))); } - + private String getCurrentUserName() { return ConversationState.getCurrent().getIdentity().getUserId(); } - + private void loadController() throws Exception { ClassLoader loader = getClass().getClassLoader(); InputStream in = loader.getResourceAsStream(CONTROLLER_PATH); @@ -258,57 +258,57 @@ private void loadController() throws Exception { in.close(); } } - + public void testAllWordsMatchedSpaces() throws Exception { setCurrentUser("demo"); Space space1 = this.getSpaceInstance(1, "Cluster" , "This is cluster space"); Space space2 = this.getSpaceInstance(2, "availability" , "This is availability space"); Space space3 = this.getSpaceInstance(3, "Cluster 3" , "This is cluster availability "); - + //case 1: keyword = "cluster" - List results = (List) spaceSearchConnector.search(context, "cluster", Collections.EMPTY_LIST, 0, 10, "title", "ASC"); + List results = (List) spaceSearchConnector.search(context, "cluster", Collections.EMPTY_LIST, 0, 10, "title", "ASC", "en"); assertEquals(2, results.size()); - + //case 2: keyword = "availability" - results = (List) spaceSearchConnector.search(context, "availability", Collections.EMPTY_LIST, 0, 10, "title", "ASC"); + results = (List) spaceSearchConnector.search(context, "availability", Collections.EMPTY_LIST, 0, 10, "title", "ASC", "en"); assertEquals(2, results.size()); - + //case 3: keyword = "cluster availability" - results = (List) spaceSearchConnector.search(context, "cluster availability", Collections.EMPTY_LIST, 0, 10, "title", "ASC"); + results = (List) spaceSearchConnector.search(context, "cluster availability", Collections.EMPTY_LIST, 0, 10, "title", "ASC", "en"); assertEquals(1, results.size()); - + Space space4 = this.getSpaceInstance(4, "Availability 4" , "This is availability a cluster space"); Space space5 = this.getSpaceInstance(5, "Bla bla space" , "This is availability space bla bla bla bla bla bla cluster"); - + //case 4: keyword = "Availability Cluster" - results = (List) spaceSearchConnector.search(context, "Availability Cluster", Collections.EMPTY_LIST, 0, 10, "title", "ASC"); + results = (List) spaceSearchConnector.search(context, "Availability Cluster", Collections.EMPTY_LIST, 0, 10, "title", "ASC", "en"); assertEquals(3, results.size()); - + //case 5: keyword = "AVAILABILITY CLUSTER" (insensitive) - results = (List) spaceSearchConnector.search(context, "AVAILABILITY CLUSTER", Collections.EMPTY_LIST, 0, 10, "title", "ASC"); + results = (List) spaceSearchConnector.search(context, "AVAILABILITY CLUSTER", Collections.EMPTY_LIST, 0, 10, "title", "ASC", "en"); assertEquals(3, results.size()); - + //case 6: keyword = "Availability bla bla Cluster" - results = (List) spaceSearchConnector.search(context, "Availability bla bla Cluster", Collections.EMPTY_LIST, 0, 10, "title", "ASC"); + results = (List) spaceSearchConnector.search(context, "Availability bla bla Cluster", Collections.EMPTY_LIST, 0, 10, "title", "ASC", "en"); assertEquals(1, results.size()); - + //case 7: keyword = "cluster bla bla Cluster" - results = (List) spaceSearchConnector.search(context, "cluster bla bla Cluster", Collections.EMPTY_LIST, 0, 10, "title", "ASC"); + results = (List) spaceSearchConnector.search(context, "cluster bla bla Cluster", Collections.EMPTY_LIST, 0, 10, "title", "ASC", "en"); assertEquals(1, results.size()); - + //case 8: keyword = "Availability clu" (uncompleted word) - results = (List) spaceSearchConnector.search(context, "Availability clu", Collections.EMPTY_LIST, 0, 10, "title", "ASC"); + results = (List) spaceSearchConnector.search(context, "Availability clu", Collections.EMPTY_LIST, 0, 10, "title", "ASC", "en"); assertEquals(3, results.size()); - + //case 9: keyword contains in the Space's name Space space6 = this.getSpaceInstance(6, "Availability a cluster" , "This is the 6th space"); Space space7 = this.getSpaceInstance(7, "Availability bla bla bla cluster" , "This is the 7th space"); - - results = (List) spaceSearchConnector.search(context, "Availability cluster", Collections.EMPTY_LIST, 0, 10, "title", "ASC"); + + results = (List) spaceSearchConnector.search(context, "Availability cluster", Collections.EMPTY_LIST, 0, 10, "title", "ASC", "en"); assertEquals(5, results.size()); - results = (List) spaceSearchConnector.search(context, "Availability bla cluster", Collections.EMPTY_LIST, 0, 10, "title", "ASC"); + results = (List) spaceSearchConnector.search(context, "Availability bla cluster", Collections.EMPTY_LIST, 0, 10, "title", "ASC", "en"); assertEquals(2, results.size()); - + tearDown.add(space1); tearDown.add(space2); tearDown.add(space3); @@ -316,13 +316,13 @@ public void testAllWordsMatchedSpaces() throws Exception { tearDown.add(space5); tearDown.add(space6); tearDown.add(space7); - + } - + public void testFuzzySearch() throws Exception { setCurrentUser("demo"); - assertEquals(1, spaceSearchConnector.search(context, "foo~0.5", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC").size()); - assertEquals(1, spaceSearchConnector.search(context, "foo~0.5 description~0.5", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC").size()); + assertEquals(1, spaceSearchConnector.search(context, "foo~0.5", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en").size()); + assertEquals(1, spaceSearchConnector.search(context, "foo~0.5 description~0.5", Collections.EMPTY_LIST, 0, 10, "relevancy", "ASC", "en").size()); } /**