modified hashtags search for being non case sensitive

git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/news-feed@100732 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Massimiliano Assante 2014-10-15 16:47:52 +00:00
parent 61c31fd6d4
commit 9d781c080c
2 changed files with 48 additions and 11 deletions

View File

@ -303,8 +303,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
return null;
}
_log.info("****** retrieving feeds for user: " + userName);
String lowerCaseHashtag = hashtag.toLowerCase();
/**
* this handles the case where the portlet is deployed outside of VREs (regular)
*/
@ -314,11 +313,9 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
for (Organization org : currUser.getOrganizations()) {
GroupManager gm = new LiferayGroupManager();
if (gm.isVRE(org.getOrganizationId()+"")) {
String vreid = gm.getScope(""+org.getOrganizationId()); //get the scope
_log.debug("Reading hastagged feeds for VRE: " + vreid + " hashtag=" + hashtag);
ArrayList<Feed> OrganizationFeeds = (ArrayList<Feed>) store.getVREFeedsByHashtag(vreid, hashtag);
for (Feed feed : OrganizationFeeds) {
String vreid = gm.getScope(""+org.getOrganizationId()); //get the scope
ArrayList<Feed> feeds = (ArrayList<Feed>) store.getVREFeedsByHashtag(vreid, lowerCaseHashtag);
for (Feed feed : feeds) {
feedsMap.put(feed.getKey(), feed);
}
}
@ -327,9 +324,8 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
//else must be in a VRE scope
else {
String vreid = session.getScopeName();
_log.trace("News Feed in VRE, Reading feeds for VRE: " + vreid);
ArrayList<Feed> OrganizationFeeds = (ArrayList<Feed>) store.getVREFeedsByHashtag(vreid, hashtag);
for (Feed feed : OrganizationFeeds) {
ArrayList<Feed> feeds = (ArrayList<Feed>) store.getVREFeedsByHashtag(vreid, lowerCaseHashtag);
for (Feed feed : feeds) {
feedsMap.put(feed.getKey(), feed);
}
}
@ -364,6 +360,8 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
}
return null;
}
/**
* return only the user connection feeds
*/
@ -809,7 +807,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
}
_log.trace("Attempting to delete feed " + feedid);
return store.deleteFeed(feedid);
} catch (Exception e) {
e.printStackTrace();
return false;

View File

@ -180,4 +180,43 @@ public class Utils {
}
return null;
}
/**
// *
// * @param vreid
// * @param hashtag
// * @return the feed map for the client containing occurrences of the hashtag
// * @throws PrivacyLevelTypeNotFoundException
// * @throws FeedTypeNotFoundException
// * @throws FeedIDNotFoundException
// * @throws ColumnNameNotFoundException
// */
// private HashMap<String, Feed> getFeedsMap(String vreid, String hashtag) throws PrivacyLevelTypeNotFoundException, FeedTypeNotFoundException, FeedIDNotFoundException, ColumnNameNotFoundException {
// if (hashtag.length() < 2)
// throw new IllegalArgumentException("Hashtag length myst be greater than 1");
// else {
// HashMap<String, Feed> feedsMap = new HashMap<String, Feed>();
// String upperCase = hashtag;
// String lowerCase = hashtag;
//
// char afterHashtag = hashtag.charAt(1);
// if (Character.isUpperCase(afterHashtag)) {
// upperCase = hashtag;
// lowerCase =hashtag.substring(0,1)+Character.toLowerCase(afterHashtag)+hashtag.substring(2);
// } else {
// upperCase =hashtag.substring(0,1)+Character.toUpperCase(afterHashtag)+hashtag.substring(2);
// lowerCase = hashtag;
// }
//
// ArrayList<Feed> lowerCaseFeeds = (ArrayList<Feed>) store.getVREFeedsByHashtag(vreid, lowerCase);
// for (Feed feed : lowerCaseFeeds) {
// feedsMap.put(feed.getKey(), feed);
// }
// ArrayList<Feed> upperCaseFeeds = (ArrayList<Feed>) store.getVREFeedsByHashtag(vreid, upperCase);
// for (Feed feed : upperCaseFeeds) {
// feedsMap.put(feed.getKey(), feed);
// }
// return feedsMap;
// }
// }
}