diff --git a/.classpath b/.classpath
index 1def520..804906f 100644
--- a/.classpath
+++ b/.classpath
@@ -1,6 +1,6 @@
-
+
@@ -31,5 +31,5 @@
-
+
diff --git a/.settings/com.google.gdt.eclipse.core.prefs b/.settings/com.google.gdt.eclipse.core.prefs
index 6e381ad..3c11524 100644
--- a/.settings/com.google.gdt.eclipse.core.prefs
+++ b/.settings/com.google.gdt.eclipse.core.prefs
@@ -1,6 +1,5 @@
-#Thu Jul 11 11:44:03 CEST 2013
eclipse.preferences.version=1
jarsExcludedFromWebInfLib=
-lastWarOutDir=/Users/massi/Documents/workspace/news-feed/target/news-feed-1.1.0-SNAPSHOT
+lastWarOutDir=/Users/massi/Documents/workspace/news-feed/target/news-feed-1.2.0-SNAPSHOT
warSrcDir=src/main/webapp
warSrcDirIsOutput=false
diff --git a/distro/changelog.xml b/distro/changelog.xml
index dae22b5..b4383d4 100644
--- a/distro/changelog.xml
+++ b/distro/changelog.xml
@@ -1,6 +1,13 @@
-
- Open single feed separately enhancement implemeented #1818
+
+ Fix for support Ticket #708
+ Fix for support Ticket #636
+
+
+ Open single feed separately enhancement implemeented #1818
+
links redirects correctly to user profiles
Mavenized
Smart Refresh Support Added #1539
Show HTTP URL in replies as HTML anchor links #1542
- Replies on App Feed exception fixed #580 prod. support
+ Replies on App Feed exception fixed #580 prod. support
+
Add Tag people in News Feed Portlet #1535
Notify people involved in post thread #1576
Scope Dependent News Feed #1561
diff --git a/pom.xml b/pom.xml
index 531244a..ca8e57c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
org.gcube.portlets.user
news-feed
war
- 1.1.1-SNAPSHOT
+ 1.2.0-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 fbc1ad3..cc58721 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
@@ -39,6 +39,7 @@ import org.gcube.vomanagement.usermanagement.GroupManager;
import org.gcube.vomanagement.usermanagement.impl.liferay.LiferayGroupManager;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
+import com.liferay.portal.NoSuchUserException;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.util.WebKeys;
@@ -95,8 +96,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;
@@ -150,7 +151,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
return getASLSession().getScope().isInfrastructure();
}
-
+
@Override
public ArrayList getAllUpdateUserFeeds(int feedsNoPerCategory) {
@@ -210,7 +211,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
}
//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)
@@ -471,13 +472,20 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
private ArrayList enhanceFeeds(ArrayList toEnhance, int commentsNumberPerFeed) {
ArrayList toReturn = new ArrayList();
String username = getASLSession().getUsername();
-
+
ArrayList likedFeeds = (ArrayList) store.getAllLikedFeedIdsByUser(getASLSession().getUsername());
-
+ boolean skip = false;
for (Feed feed : toEnhance) {
+ skip = false;
feed.setDescription(replaceAmpersand(feed.getDescription()));
- if (! feed.isApplicationFeed())
- feed.setThumbnailURL(getUserImagePortraitUrlLocal(feed.getEntityId()));
+ if (! feed.isApplicationFeed()) {
+ String thumb = getUserImagePortraitUrlLocal(feed.getEntityId());
+ if (thumb == null) {
+ _log.warn(feed.getEntityId() + " is not avaialble on this portal, skipping this feed: " + feed.getKey());
+ skip = true;
+ } else
+ feed.setThumbnailURL(thumb);
+ }
//if likedFeeds contains this feed key it means the user already Liked it
boolean liked = likedFeeds.contains(feed.getKey());
int commentsNo = 0;
@@ -488,33 +496,35 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
commentsNo = 0;
_log.error("NumberFormatException while reading comments number " + e.getMessage());
}
- if (commentsNo == 0) {
- EnhancedFeed toAdd = null;
- //create the enhanced feed
- if (feed.isApplicationFeed()) {
- toAdd = new EnhancedFeed(feed, liked, checkisAdminUser());
- } else
- toAdd = new EnhancedFeed(feed, liked, isUsers(feed, username));
- toReturn.add(toAdd);
- } else {
- ArrayList comments = getAllCommentsByFeed(feed.getKey());
- //sort in chronological order
- Collections.sort(comments);
-
- int currCommentsNumber = comments.size();
- //if comments are less than $commentsNumberPerFeed they are the more recent, -1 return all the comments
- if (currCommentsNumber < commentsNumberPerFeed || commentsNumberPerFeed == -1) {
- EnhancedFeed toAdd = new EnhancedFeed(feed, liked, isUsers(feed, username), comments);
+ if (!skip) {
+ if (commentsNo == 0) {
+ EnhancedFeed toAdd = null;
+ //create the enhanced feed
+ if (feed.isApplicationFeed()) {
+ toAdd = new EnhancedFeed(feed, liked, checkisAdminUser());
+ } else
+ toAdd = new EnhancedFeed(feed, liked, isUsers(feed, username));
toReturn.add(toAdd);
} else {
- //need to get the last two
- ArrayList comments2Attach = new ArrayList();
- for (int i = currCommentsNumber -commentsNumberPerFeed; i < currCommentsNumber; i++) {
- comments2Attach.add(comments.get(i));
+ ArrayList comments = getAllCommentsByFeed(feed.getKey());
+ //sort in chronological order
+ Collections.sort(comments);
+
+ int currCommentsNumber = comments.size();
+ //if comments are less than $commentsNumberPerFeed they are the more recent, -1 return all the comments
+ if (currCommentsNumber < commentsNumberPerFeed || commentsNumberPerFeed == -1) {
+ EnhancedFeed toAdd = new EnhancedFeed(feed, liked, isUsers(feed, username), comments);
+ toReturn.add(toAdd);
+ } else {
+ //need to get the last two
+ ArrayList comments2Attach = new ArrayList();
+ for (int i = currCommentsNumber -commentsNumberPerFeed; i < currCommentsNumber; i++) {
+ comments2Attach.add(comments.get(i));
+ }
+ EnhancedFeed toAdd = new EnhancedFeed(feed, liked, isUsers(feed, username), comments2Attach);
+ toReturn.add(toAdd);
}
- EnhancedFeed toAdd = new EnhancedFeed(feed, liked, isUsers(feed, username), comments2Attach);
- toReturn.add(toAdd);
- }
+ }
}
}
@@ -536,7 +546,11 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
User user = null;
try {
user = UserLocalServiceUtil.getUserByScreenName(OrganizationsUtil.getCompany().getCompanyId(), screenName);
- } catch (PortalException e) {
+ }
+ catch (com.liferay.portal.NoSuchUserException ex) {
+ return null;
+ }
+ catch (PortalException e) {
e.printStackTrace();
} catch (SystemException e) {
e.printStackTrace();
@@ -552,7 +566,9 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
ArrayList toReturn = (ArrayList) store.getAllLikesByFeed(feedid);
_log.trace("Asking likes for " + feedid);
for (Like like : toReturn) {
- like.setThumbnailURL(getUserImagePortraitUrlLocal(like.getUserid()));
+ String thumb = getUserImagePortraitUrlLocal(like.getUserid());
+
+ like.setThumbnailURL(thumb == null ? "" : thumb);
}
return toReturn;
}
@@ -562,7 +578,8 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
_log.trace("Asking comments for " + feedid);
ArrayList toReturn = (ArrayList) store.getAllCommentByFeed(feedid);
for (Comment comment : toReturn) {
- comment.setThumbnailURL(getUserImagePortraitUrlLocal(comment.getUserid()));
+ String thumb = getUserImagePortraitUrlLocal(comment.getUserid());
+ comment.setThumbnailURL(thumb == null ? "" : thumb);
}
Collections.sort(toReturn);
return toReturn;