From 6f3d3d3b15109dd8d1348843fa3e573a899fbb9b Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Mon, 2 Sep 2013 13:42:17 +0000 Subject: [PATCH] fix for #700: get all feeds method problem with most recent feeds git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/news-feed@80988 82a268e6-3cf1-43bd-a215-b396298e98cf --- .classpath | 4 +-- .settings/org.eclipse.wst.validation.prefs | 2 ++ pom.xml | 2 +- .../user/newsfeed/server/NewsServiceImpl.java | 31 ++++++------------- 4 files changed, 14 insertions(+), 25 deletions(-) create mode 100644 .settings/org.eclipse.wst.validation.prefs diff --git a/.classpath b/.classpath index 2375ab4..1def520 100644 --- a/.classpath +++ b/.classpath @@ -1,6 +1,6 @@ - + @@ -31,5 +31,5 @@ - + diff --git a/.settings/org.eclipse.wst.validation.prefs b/.settings/org.eclipse.wst.validation.prefs new file mode 100644 index 0000000..04cad8c --- /dev/null +++ b/.settings/org.eclipse.wst.validation.prefs @@ -0,0 +1,2 @@ +disabled=06target +eclipse.preferences.version=1 diff --git a/pom.xml b/pom.xml index d25370d..531244a 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ org.gcube.portlets.user news-feed war - 1.1.0-SNAPSHOT + 1.1.1-SNAPSHOT gCube News Feed Portlet diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/server/NewsServiceImpl.java b/src/main/java/org/gcube/portlets/user/newsfeed/server/NewsServiceImpl.java index 3173e7d..fbc1ad3 100644 --- a/src/main/java/org/gcube/portlets/user/newsfeed/server/NewsServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/newsfeed/server/NewsServiceImpl.java @@ -95,8 +95,8 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService if (user == null) { _log.warn("USER IS NULL setting testing user and Running OUTSIDE PORTAL"); user = "test.user"; - user = "massimiliano.assante"; - SessionManager.getInstance().getASLSession(sessionID, user).setScope("/gcube/devsec/devVRE"); +// user = "massimiliano.assante"; +// SessionManager.getInstance().getASLSession(sessionID, user).setScope("/gcube/devsec/devVRE"); } else { withinPortal = true; @@ -187,19 +187,6 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService } } } - //User Own Feeds - ArrayList userFeeds = (ArrayList) store.getRecentFeedsByUser(userName, feedsNoPerCategory); - for (Feed feed : userFeeds) { - feedsMap.put(feed.getKey(), feed); - } - - //UserFriends Feeds - ArrayList userFriendsIds = (ArrayList)store.getFriends(userName); - for (String userid : userFriendsIds) { - for (Feed feed : store.getRecentFeedsByUser(userid, feedsNoPerCategory)) { - feedsMap.put(feed.getKey(), feed); - } - } //Portal Feeds ArrayList portalFeeds = (ArrayList) store.getAllPortalPrivacyLevelFeeds(); @@ -221,6 +208,9 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService toMerge.add(feedsMap.get(key)); } } + //sort the feeds in reverse chronological order + Collections.sort(toMerge, Collections.reverseOrder()); + ArrayList toReturn = new ArrayList(); //return only feeds if (toMerge.size() > MAX_FEEDS_NO) @@ -372,6 +362,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService } catch (Exception e) { e.printStackTrace(); } + Collections.sort(userFeeds, Collections.reverseOrder()); return enhanceFeeds(userFeeds, 2); } @@ -385,6 +376,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService } catch (Exception e) { e.printStackTrace(); } + Collections.sort(userFeeds, Collections.reverseOrder()); return enhanceFeeds(userFeeds, 2); } @@ -479,14 +471,9 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService private ArrayList enhanceFeeds(ArrayList toEnhance, int commentsNumberPerFeed) { ArrayList toReturn = new ArrayList(); String username = getASLSession().getUsername(); - //sort the Feeds - Collections.sort(toEnhance, Collections.reverseOrder()); + ArrayList likedFeeds = (ArrayList) store.getAllLikedFeedIdsByUser(getASLSession().getUsername()); - // System.out.println("Liked Feed for " + username); - // for (String liked : likedFeeds) { - // System.out.println(liked); - // } - + for (Feed feed : toEnhance) { feed.setDescription(replaceAmpersand(feed.getDescription())); if (! feed.isApplicationFeed())