just refactored some code to correct the term feed with the appropriate one (post)

git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/news-feed@169431 82a268e6-3cf1-43bd-a215-b396298e98cf
Feature/26194
Massimiliano Assante 6 years ago
parent 0fd53fd317
commit f6524842c5

@ -8,7 +8,7 @@
<dependent-module archiveName="gcube-widgets-2.2.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/gcube-widgets/gcube-widgets">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module archiveName="social-util-library-1.3.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/social-util-library/social-util-library">
<dependent-module archiveName="social-util-library-1.4.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/social-util-library/social-util-library">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module archiveName="pickitem-widget-2.0.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/pickitem-widget/pickitem-widget">

@ -8,7 +8,7 @@ import org.gcube.portal.databook.shared.EnhancedFeed;
import org.gcube.portal.databook.shared.Like;
import org.gcube.portal.databook.shared.ShowUserStatisticAction;
import org.gcube.portlets.user.newsfeed.shared.MentionedDTO;
import org.gcube.portlets.user.newsfeed.shared.MoreFeedsBean;
import org.gcube.portlets.user.newsfeed.shared.MorePostsBean;
import org.gcube.portlets.user.newsfeed.shared.OperationResult;
import org.gcube.portlets.user.newsfeed.shared.UserSettings;
import org.gcube.portlets.widgets.pickitem.shared.ItemBean;
@ -23,27 +23,27 @@ import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
public interface NewsService extends RemoteService {
ArrayList<EnhancedFeed> getAllUpdateUserFeeds(int feedsNoPerCategory);
ArrayList<EnhancedFeed> getOnlyConnectionsUserFeeds();
ArrayList<EnhancedFeed> getOnlyConnectionsUserPosts();
ArrayList<EnhancedFeed> getOnlyMyUserFeeds();
ArrayList<EnhancedFeed> getOnlyMyUserPosts();
ArrayList<EnhancedFeed> getOnlyLikedFeeds();
ArrayList<EnhancedFeed> getOnlyLikedPosts();
ArrayList<EnhancedFeed> getFeedsByHashtag(String hashtag);
ArrayList<EnhancedFeed> getPostsByHashtag(String hashtag);
ArrayList<EnhancedFeed> getFeedsByQuery(String query, int from, int quantity);
ArrayList<EnhancedFeed> getPostsByQuery(String query, int from, int quantity);
ArrayList<EnhancedFeed> getFeedsRelatedToUserStatistics(ShowUserStatisticAction action, int from, int quantity);
ArrayList<EnhancedFeed> getPostsRelatedToUserStatistics(ShowUserStatisticAction action, int from, int quantity);
MoreFeedsBean getMoreFeeds(int from, int quantity);
MorePostsBean getMorePosts(int from, int quantity);
boolean like(String feedid, String feedText, String feedOwnerId);
boolean like(String postid, String postText, String postOwnerId);
boolean unlike(String feedid, String feedText, String feedOwnerId);
boolean unlike(String postid, String postText, String postOwnerId);
boolean deleteComment(String commentid, String feedid);
boolean deleteFeed(String feedid);
boolean deletePost(String postid);
OperationResult comment(String feedid, String text,
HashSet<MentionedDTO> mentionedUsers, String feedOwnerId,
@ -51,13 +51,13 @@ public interface NewsService extends RemoteService {
OperationResult editComment(Comment toEdit);
ArrayList<Like> getAllLikesByFeed(String feedid);
ArrayList<Like> getAllLikesByPost(String postid);
ArrayList<Comment> getAllCommentsByFeed(String feedid);
ArrayList<Comment> getAllCommentsByPost(String feedid);
UserSettings getUserSettings();
EnhancedFeed getSingleFeed(String feedKey);
EnhancedFeed getSinglePost(String postKey);
ArrayList<ItemBean> getOrganizationUsers();
}

@ -8,7 +8,7 @@ import org.gcube.portal.databook.shared.EnhancedFeed;
import org.gcube.portal.databook.shared.Like;
import org.gcube.portal.databook.shared.ShowUserStatisticAction;
import org.gcube.portlets.user.newsfeed.shared.MentionedDTO;
import org.gcube.portlets.user.newsfeed.shared.MoreFeedsBean;
import org.gcube.portlets.user.newsfeed.shared.MorePostsBean;
import org.gcube.portlets.user.newsfeed.shared.OperationResult;
import org.gcube.portlets.user.newsfeed.shared.UserSettings;
import org.gcube.portlets.widgets.pickitem.shared.ItemBean;
@ -23,16 +23,16 @@ public interface NewsServiceAsync {
void getAllUpdateUserFeeds(int feedsNoPerCategory,
AsyncCallback<ArrayList<EnhancedFeed>> callback);
void getOnlyConnectionsUserFeeds(
void getOnlyConnectionsUserPosts(
AsyncCallback<ArrayList<EnhancedFeed>> callback);
void like(String feedid, String feedText, String feedOwnerId,
void like(String postid, String postText, String postOwnerId,
AsyncCallback<Boolean> callback);
void getAllLikesByFeed(String feedid,
void getAllLikesByPost(String postid,
AsyncCallback<ArrayList<Like>> callback);
void getOnlyMyUserFeeds(AsyncCallback<ArrayList<EnhancedFeed>> callback);
void getOnlyMyUserPosts(AsyncCallback<ArrayList<EnhancedFeed>> callback);
void getUserSettings(AsyncCallback<UserSettings> callback);
@ -40,35 +40,35 @@ public interface NewsServiceAsync {
String feedOwnerId, boolean isAppFeed,
AsyncCallback<OperationResult> callback);
void getAllCommentsByFeed(String feedid,
void getAllCommentsByPost(String postid,
AsyncCallback<ArrayList<Comment>> callback);
void deleteComment(String commentid, String feedid,
AsyncCallback<Boolean> callback);
void deleteFeed(String feedid, AsyncCallback<Boolean> callback);
void deletePost(String feedid, AsyncCallback<Boolean> callback);
void editComment(Comment toEdit, AsyncCallback<OperationResult> callback);
void getOnlyLikedFeeds(AsyncCallback<ArrayList<EnhancedFeed>> callback);
void getOnlyLikedPosts(AsyncCallback<ArrayList<EnhancedFeed>> callback);
void getSingleFeed(String feedKey, AsyncCallback<EnhancedFeed> callback);
void getSinglePost(String postKey, AsyncCallback<EnhancedFeed> callback);
void getMoreFeeds(int from, int quantity,
AsyncCallback<MoreFeedsBean> callback);
void getMorePosts(int from, int quantity,
AsyncCallback<MorePostsBean> callback);
void unlike(String feedid, String feedText, String feedOwnerId,
void unlike(String postid, String postText, String postOwnerId,
AsyncCallback<Boolean> callback);
void getOrganizationUsers(AsyncCallback<ArrayList<ItemBean>> callback);
void getFeedsByHashtag(String hashtag,
void getPostsByHashtag(String hashtag,
AsyncCallback<ArrayList<EnhancedFeed>> callback);
void getFeedsByQuery(String query, int from, int quantity,
void getPostsByQuery(String query, int from, int quantity,
AsyncCallback<ArrayList<EnhancedFeed>> callback);
void getFeedsRelatedToUserStatistics(ShowUserStatisticAction action, int from, int quantity,
void getPostsRelatedToUserStatistics(ShowUserStatisticAction action, int from, int quantity,
AsyncCallback<ArrayList<EnhancedFeed>> callback);
}

@ -6,8 +6,8 @@ import com.google.gwt.event.shared.GwtEvent;
public class DeleteFeedEvent extends GwtEvent<DeleteFeedEventHandler> {
public static Type<DeleteFeedEventHandler> TYPE = new Type<DeleteFeedEventHandler>();
public class DeletePostEvent extends GwtEvent<DeletePostEventHandler> {
public static Type<DeletePostEventHandler> TYPE = new Type<DeletePostEventHandler>();
private TweetTemplate toDelete;
@ -16,17 +16,17 @@ public class DeleteFeedEvent extends GwtEvent<DeleteFeedEventHandler> {
return toDelete;
}
public DeleteFeedEvent(TweetTemplate toDelete) {
public DeletePostEvent(TweetTemplate toDelete) {
this.toDelete = toDelete;
}
@Override
public Type<DeleteFeedEventHandler> getAssociatedType() {
public Type<DeletePostEventHandler> getAssociatedType() {
return TYPE;
}
@Override
protected void dispatch(DeleteFeedEventHandler handler) {
handler.onDeleteFeed(this);
protected void dispatch(DeletePostEventHandler handler) {
handler.onDeletePost(this);
}
}

@ -2,6 +2,6 @@ package org.gcube.portlets.user.newsfeed.client.event;
import com.google.gwt.event.shared.EventHandler;
public interface DeleteFeedEventHandler extends EventHandler {
void onDeleteFeed(DeleteFeedEvent event);
public interface DeletePostEventHandler extends EventHandler {
void onDeletePost(DeletePostEvent event);
}

@ -6,8 +6,8 @@ import com.google.gwt.event.shared.GwtEvent;
public class OpenFeedEvent extends GwtEvent<OpenFeedEventHandler> {
public static Type<OpenFeedEventHandler> TYPE = new Type<OpenFeedEventHandler>();
public class OpenPostEvent extends GwtEvent<OpenPostEventHandler> {
public static Type<OpenPostEventHandler> TYPE = new Type<OpenPostEventHandler>();
private TweetTemplate toShow;
@ -16,17 +16,17 @@ public class OpenFeedEvent extends GwtEvent<OpenFeedEventHandler> {
return toShow;
}
public OpenFeedEvent(TweetTemplate toShow) {
public OpenPostEvent(TweetTemplate toShow) {
this.toShow = toShow;
}
@Override
public Type<OpenFeedEventHandler> getAssociatedType() {
public Type<OpenPostEventHandler> getAssociatedType() {
return TYPE;
}
@Override
protected void dispatch(OpenFeedEventHandler handler) {
handler.onOpenFeed(this);
protected void dispatch(OpenPostEventHandler handler) {
handler.onOpenPost(this);
}
}

@ -2,6 +2,6 @@ package org.gcube.portlets.user.newsfeed.client.event;
import com.google.gwt.event.shared.EventHandler;
public interface OpenFeedEventHandler extends EventHandler {
void onOpenFeed(OpenFeedEvent event);
public interface OpenPostEventHandler extends EventHandler {
void onOpenPost(OpenPostEvent event);
}

@ -29,12 +29,12 @@ import org.gcube.portlets.user.newsfeed.client.event.AddLikeEvent;
import org.gcube.portlets.user.newsfeed.client.event.AddLikeEventHandler;
import org.gcube.portlets.user.newsfeed.client.event.DeleteCommentEvent;
import org.gcube.portlets.user.newsfeed.client.event.DeleteCommentEventHandler;
import org.gcube.portlets.user.newsfeed.client.event.DeleteFeedEvent;
import org.gcube.portlets.user.newsfeed.client.event.DeleteFeedEventHandler;
import org.gcube.portlets.user.newsfeed.client.event.DeletePostEvent;
import org.gcube.portlets.user.newsfeed.client.event.DeletePostEventHandler;
import org.gcube.portlets.user.newsfeed.client.event.EditCommentEvent;
import org.gcube.portlets.user.newsfeed.client.event.EditCommentEventHandler;
import org.gcube.portlets.user.newsfeed.client.event.OpenFeedEvent;
import org.gcube.portlets.user.newsfeed.client.event.OpenFeedEventHandler;
import org.gcube.portlets.user.newsfeed.client.event.OpenPostEvent;
import org.gcube.portlets.user.newsfeed.client.event.OpenPostEventHandler;
import org.gcube.portlets.user.newsfeed.client.event.SeeCommentsEvent;
import org.gcube.portlets.user.newsfeed.client.event.SeeCommentsEventHandler;
import org.gcube.portlets.user.newsfeed.client.event.SeeLikesEvent;
@ -53,7 +53,7 @@ import org.gcube.portlets.user.newsfeed.client.ui.ShowMoreFeeds;
import org.gcube.portlets.user.newsfeed.client.ui.SingleComment;
import org.gcube.portlets.user.newsfeed.client.ui.TweetTemplate;
import org.gcube.portlets.user.newsfeed.shared.MentionedDTO;
import org.gcube.portlets.user.newsfeed.shared.MoreFeedsBean;
import org.gcube.portlets.user.newsfeed.shared.MorePostsBean;
import org.gcube.portlets.user.newsfeed.shared.NewsConstants;
import org.gcube.portlets.user.newsfeed.shared.OperationResult;
import org.gcube.portlets.user.newsfeed.shared.UserSettings;
@ -239,16 +239,16 @@ public class NewsFeedPanel extends Composite {
}
});
eventBus.addHandler(DeleteFeedEvent.TYPE, new DeleteFeedEventHandler() {
eventBus.addHandler(DeletePostEvent.TYPE, new DeletePostEventHandler() {
@Override
public void onDeleteFeed(DeleteFeedEvent event) {
doDeleteFeed(event.getToDelete());
public void onDeletePost(DeletePostEvent event) {
doDeletePost(event.getToDelete());
}
});
eventBus.addHandler(OpenFeedEvent.TYPE, new OpenFeedEventHandler() {
eventBus.addHandler(OpenPostEvent.TYPE, new OpenPostEventHandler() {
@Override
public void onOpenFeed(OpenFeedEvent event) {
public void onOpenPost(OpenPostEvent event) {
doShowFeed(event.getToShow());
}
});
@ -447,7 +447,7 @@ public class NewsFeedPanel extends Composite {
*/
private void showSinglePost(String postKey) {
newsPanel.clear();
newsService.getSingleFeed(postKey, new AsyncCallback<EnhancedFeed>() {
newsService.getSinglePost(postKey, new AsyncCallback<EnhancedFeed>() {
@Override
public void onSuccess(EnhancedFeed result) {
if (result.getFeed().getType() == FeedType.DISABLED) {
@ -562,13 +562,13 @@ public class NewsFeedPanel extends Composite {
* is open at infra level the first tab stops checking for updates
*/
if (result.getCurrentScope().compareTo(currentScope) == 0) {
newsService.getFeedsByHashtag(hashtag, new AsyncCallback<ArrayList<EnhancedFeed>>() {
newsService.getPostsByHashtag(hashtag, new AsyncCallback<ArrayList<EnhancedFeed>>() {
@Override
public void onSuccess(ArrayList<EnhancedFeed> feeds) {
public void onSuccess(ArrayList<EnhancedFeed> posts) {
filterPanelWrapper.setVisible(false);
newsPanel.clear();
if (feeds != null) {
if (feeds.size() == 0) {
if (posts != null) {
if (posts.size() == 0) {
newsPanel.add(new ResultsFor("results for", hashtag));
newsPanel.add(new HTML("<div class=\"nofeed-message\" style=\"height: 200px;\">" +
"Sorry, looks like we found no updates with topic: " + hashtag +"</div>"));
@ -579,10 +579,10 @@ public class NewsFeedPanel extends Composite {
newsPanel.setHorizontalAlignment(HasAlignment.ALIGN_LEFT);
newsPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_TOP);
newsPanel.add(new ResultsFor("results for", hashtag));
for (EnhancedFeed feed : feeds) {
for (EnhancedFeed feed : posts) {
newsPanel.add(new TweetTemplate(false, showFeedTimelineSource, myUserInfo, feed, eventBus)); //in the view
}
if (feeds.size() < 5) {
if (posts.size() < 5) {
newsPanel.add(new Image(spacer));
}
isFirstTweet = false;
@ -629,17 +629,17 @@ public class NewsFeedPanel extends Composite {
* is open at infra level the first tab stops checking for updates
*/
if (result.getCurrentScope().compareTo(currentScope) == 0) {
newsService.getFeedsRelatedToUserStatistics(relatedFeedsToUserStatisticsToShow, from, to, new AsyncCallback<ArrayList<EnhancedFeed>>() {
newsService.getPostsRelatedToUserStatistics(relatedFeedsToUserStatisticsToShow, from, to, new AsyncCallback<ArrayList<EnhancedFeed>>() {
@Override
public void onSuccess(ArrayList<EnhancedFeed> feeds) {
public void onSuccess(ArrayList<EnhancedFeed> posts) {
filterPanelWrapper.setVisible(false);
newsPanel.clear();
if (feeds != null) {
if (posts != null) {
GWT.log("Retrieved " + feeds.size() + " hits for search.");
if (feeds.size() == 0) {
GWT.log("Retrieved " + posts.size() + " hits for search.");
if (posts.size() == 0) {
newsPanel.add(new ResultsFor("", actionToPrint));
newsPanel.add(new HTML("<div class=\"nofeed-message\" style=\"height: 200px;\">" +
"Sorry, looks like we found no match for action : " + actionToPrint +"</div>"));
@ -649,18 +649,18 @@ public class NewsFeedPanel extends Composite {
newsPanel.setHorizontalAlignment(HasAlignment.ALIGN_LEFT);
newsPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_TOP);
newsPanel.add(new ResultsFor("", actionToPrint));
for (EnhancedFeed feed : feeds) {
for (EnhancedFeed feed : posts) {
newsPanel.add(new TweetTemplate(false, showFeedTimelineSource, myUserInfo, feed, eventBus)); //in the view
// save them (they will be used when asking more feeds)
allUpdates.add(feed);
}
if (feeds.size() < 5) {
if (posts.size() < 5) {
newsPanel.add(new Image(spacer));
}
// add widget to lookup more feeds: if the size of the returned data is less
// than the required disable this feature.
if(feeds.size() == FEEDS_RELATED_TO_USER_STATISTICS_TO_SHOW){
if(posts.size() == FEEDS_RELATED_TO_USER_STATISTICS_TO_SHOW){
showMoreWidget = new ShowMoreFeeds(eventBus);
showMoreUpdatesPanel.add(showMoreWidget);
newsPanel.add(showMoreUpdatesPanel);
@ -706,15 +706,15 @@ public class NewsFeedPanel extends Composite {
* is open at infra level the first tab stops checking for updates
*/
if (result.getCurrentScope().compareTo(currentScope) == 0) {
newsService.getFeedsByQuery(query, from, to, new AsyncCallback<ArrayList<EnhancedFeed>>() {
newsService.getPostsByQuery(query, from, to, new AsyncCallback<ArrayList<EnhancedFeed>>() {
@Override
public void onSuccess(ArrayList<EnhancedFeed> feeds) {
public void onSuccess(ArrayList<EnhancedFeed> posts) {
filterPanelWrapper.setVisible(false);
newsPanel.clear();
if (feeds != null) {
if (posts != null) {
GWT.log("Retrieved " + feeds.size() + " hits for search.");
if (feeds.size() == 0) {
GWT.log("Retrieved " + posts.size() + " hits for search.");
if (posts.size() == 0) {
newsPanel.add(new ResultsFor("Results for query: ", query));
newsPanel.add(new HTML("<div class=\"nofeed-message\" style=\"height: 200px;\">" +
"Sorry, looks like we found no match for: " + query +"</div>"));
@ -724,18 +724,18 @@ public class NewsFeedPanel extends Composite {
newsPanel.setHorizontalAlignment(HasAlignment.ALIGN_LEFT);
newsPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_TOP);
newsPanel.add(new ResultsFor("Results for query: ", query));
for (EnhancedFeed feed : feeds) {
for (EnhancedFeed feed : posts) {
newsPanel.add(new TweetTemplate(false, showFeedTimelineSource, myUserInfo, feed, eventBus)); //in the view
// save them (they will be used when asking more feeds)
allUpdates.add(feed);
}
if (feeds.size() < 5) {
if (posts.size() < 5) {
newsPanel.add(new Image(spacer));
}
// add widget to lookup more feeds: if the size of the returned data is less
// than the required disable this feature.
if(feeds.size() == SEARCHED_FEEDS_TO_SHOW){
if(posts.size() == SEARCHED_FEEDS_TO_SHOW){
showMoreWidget = new ShowMoreFeeds(eventBus);
showMoreUpdatesPanel.add(showMoreWidget);
newsPanel.add(showMoreUpdatesPanel);
@ -932,14 +932,14 @@ public class NewsFeedPanel extends Composite {
int start = allUpdates.size();
GWT.log("StartingPoint = " + start);
newsService.getFeedsByQuery(currentQuery, start, SEARCHED_FEEDS_TO_SHOW , new AsyncCallback<ArrayList<EnhancedFeed>>() {
newsService.getPostsByQuery(currentQuery, start, SEARCHED_FEEDS_TO_SHOW , new AsyncCallback<ArrayList<EnhancedFeed>>() {
@Override
public void onSuccess(ArrayList<EnhancedFeed> feeds){
public void onSuccess(ArrayList<EnhancedFeed> posts){
newsPanel.remove(showMoreUpdatesPanel);
if (feeds != null) {
GWT.log("There are " + feeds.size() + " more feeds");
if (posts != null) {
GWT.log("There are " + posts.size() + " more feeds");
for (EnhancedFeed feed : feeds) {
for (EnhancedFeed feed : posts) {
// avoid to insert same data
if(!isFeedPresent(feed)){
newsPanel.add(new TweetTemplate(false, showFeedTimelineSource, myUserInfo, feed, eventBus)); //in the view
@ -951,7 +951,7 @@ public class NewsFeedPanel extends Composite {
showMoreUpdatesPanel.clear();
// check if we can ask for other data
if(feeds.size() == SEARCHED_FEEDS_TO_SHOW){
if(posts.size() == SEARCHED_FEEDS_TO_SHOW){
GWT.log("It seems there are no more feeds for this query. Stop asking further");
showMoreWidget = new ShowMoreFeeds(eventBus);
showMoreUpdatesPanel.add(showMoreWidget);
@ -976,14 +976,14 @@ public class NewsFeedPanel extends Composite {
int start = allUpdates.size();
GWT.log("StartingPoint = " + start);
newsService.getFeedsRelatedToUserStatistics(relatedFeedsToUserStatisticsToShow, start, FEEDS_RELATED_TO_USER_STATISTICS_TO_SHOW , new AsyncCallback<ArrayList<EnhancedFeed>>() {
newsService.getPostsRelatedToUserStatistics(relatedFeedsToUserStatisticsToShow, start, FEEDS_RELATED_TO_USER_STATISTICS_TO_SHOW , new AsyncCallback<ArrayList<EnhancedFeed>>() {
@Override
public void onSuccess(ArrayList<EnhancedFeed> feeds){
public void onSuccess(ArrayList<EnhancedFeed> posts){
newsPanel.remove(showMoreUpdatesPanel);
if (feeds != null) {
GWT.log("There are " + feeds.size() + " more feeds");
if (posts != null) {
GWT.log("There are " + posts.size() + " more feeds");
for (EnhancedFeed feed : feeds) {
for (EnhancedFeed feed : posts) {
// avoid to insert same data
if(!isFeedPresent(feed)){
newsPanel.add(new TweetTemplate(false, showFeedTimelineSource, myUserInfo, feed, eventBus)); //in the view
@ -995,7 +995,7 @@ public class NewsFeedPanel extends Composite {
showMoreUpdatesPanel.clear();
// check if we can ask for other data
if(feeds.size() == FEEDS_RELATED_TO_USER_STATISTICS_TO_SHOW){
if(posts.size() == FEEDS_RELATED_TO_USER_STATISTICS_TO_SHOW){
GWT.log("It seems there are no more feeds for this query. Stop asking further");
showMoreWidget = new ShowMoreFeeds(eventBus);
showMoreUpdatesPanel.add(showMoreWidget);
@ -1032,17 +1032,17 @@ public class NewsFeedPanel extends Composite {
}
GWT.log("StartingPoint = " + from);
newsService.getMoreFeeds(from, quantity, new AsyncCallback<MoreFeedsBean>() {
newsService.getMorePosts(from, quantity, new AsyncCallback<MorePostsBean>() {
@Override
public void onSuccess(MoreFeedsBean rangeFeeds) {
public void onSuccess(MorePostsBean rangeFeeds) {
newsPanel.remove(showMoreUpdatesPanel);
if (rangeFeeds.getFeeds() != null) {
if (rangeFeeds.getPosts() != null) {
fromStartingPoint = rangeFeeds.getLastReturnedFeedTimelineIndex();
int c = 1;
for (EnhancedFeed feed : rangeFeeds.getFeeds()) {
if (!isFeedPresent(feed)) { //avoid possible duplicates
newsPanel.add(new TweetTemplate(false, showFeedTimelineSource, myUserInfo, feed, eventBus)); //in the view
allUpdates.add(feed); //in the model
for (EnhancedFeed post : rangeFeeds.getPosts()) {
if (!isFeedPresent(post)) { //avoid possible duplicates
newsPanel.add(new TweetTemplate(false, showFeedTimelineSource, myUserInfo, post, eventBus)); //in the view
allUpdates.add(post); //in the model
}
c++;
}
@ -1098,7 +1098,7 @@ public class NewsFeedPanel extends Composite {
*/
public void showOnlyConnectionsFeeds() {
showLoader();
newsService.getOnlyConnectionsUserFeeds(new AsyncCallback<ArrayList<EnhancedFeed>>() {
newsService.getOnlyConnectionsUserPosts(new AsyncCallback<ArrayList<EnhancedFeed>>() {
@Override
public void onSuccess(ArrayList<EnhancedFeed> feeds) {
if (feeds != null) {
@ -1138,12 +1138,12 @@ public class NewsFeedPanel extends Composite {
*/
public void showOnlyMyPosts() {
showLoader();
newsService.getOnlyMyUserFeeds(new AsyncCallback<ArrayList<EnhancedFeed>>() {
newsService.getOnlyMyUserPosts(new AsyncCallback<ArrayList<EnhancedFeed>>() {
@Override
public void onSuccess(ArrayList<EnhancedFeed> feeds) {
if (feeds != null) {
public void onSuccess(ArrayList<EnhancedFeed> posts) {
if (posts != null) {
newsPanel.clear();
if (feeds.size() == 0) {
if (posts.size() == 0) {
newsPanel.add(new HTML("<div class=\"nofeed-message\">" +
"Looks like we've got nothing for you at the moment. <br> " +
"You may begin by <strong>sharing</strong> an update!</div>"));
@ -1153,9 +1153,9 @@ public class NewsFeedPanel extends Composite {
newsPanel.setHeight("");
newsPanel.setHorizontalAlignment(HasAlignment.ALIGN_LEFT);
newsPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_TOP);
for (EnhancedFeed feed : feeds)
for (EnhancedFeed feed : posts)
newsPanel.add(new TweetTemplate(false, showFeedTimelineSource, myUserInfo, feed, eventBus));
if (feeds.size() < 5) {
if (posts.size() < 5) {
newsPanel.add(new Image(spacer));
}
isFirstTweet = false;
@ -1177,12 +1177,12 @@ public class NewsFeedPanel extends Composite {
*/
public void showOnlyLikedPosts() {
showLoader();
newsService.getOnlyLikedFeeds(new AsyncCallback<ArrayList<EnhancedFeed>>() {
newsService.getOnlyLikedPosts(new AsyncCallback<ArrayList<EnhancedFeed>>() {
@Override
public void onSuccess(ArrayList<EnhancedFeed> feeds) {
if (feeds != null) {
public void onSuccess(ArrayList<EnhancedFeed> posts) {
if (posts != null) {
newsPanel.clear();
if (feeds.size() == 0) {
if (posts.size() == 0) {
newsPanel.add(new HTML("<div class=\"nofeed-message\">" +
"Looks like we've got nothing for you at the moment. <br> " +
"Set an update as your <strong>favorite</strong> to see it here</div>"));
@ -1192,9 +1192,9 @@ public class NewsFeedPanel extends Composite {
newsPanel.setHeight("");
newsPanel.setHorizontalAlignment(HasAlignment.ALIGN_LEFT);
newsPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_TOP);
for (EnhancedFeed feed : feeds)
for (EnhancedFeed feed : posts)
newsPanel.add(new TweetTemplate(false, showFeedTimelineSource, myUserInfo, feed, eventBus));
if (feeds.size() < 5) {
if (posts.size() < 5) {
newsPanel.add(new Image(spacer));
}
isFirstTweet = false;
@ -1295,21 +1295,7 @@ public class NewsFeedPanel extends Composite {
public void onSuccess(Boolean result) {
if (!result) {
doShowSessionExpired();
} else{
// // alert the User statistics portlet to increment the number of likes got
// if(owner.isUser()){
// try {
// NewsFeed.pageBusAdapter.PageBusPublish(
// PageBusEvents.likesIncrement
// , ""
// , Defaults.STRING_JSONIZER);
// } catch (PageBusAdapterException ex) {
// GWT.log(ex.toString());
// }
// }
}
}
}
});
}
@ -1322,20 +1308,6 @@ public class NewsFeedPanel extends Composite {
public void onSuccess(Boolean result) {
if (!result) {
doShowSessionExpired();
}else{
// alert the User statistics portlet to decrement the number of likes got
// if(owner.isUser()){
// try {
// NewsFeed.pageBusAdapter.PageBusPublish(
// PageBusEvents.likesDecrement
// , ""
// , Defaults.STRING_JSONIZER);
// } catch (PageBusAdapterException ex) {
// GWT.log(ex.toString());
// }
// }
}
}
});
@ -1346,12 +1318,12 @@ public class NewsFeedPanel extends Composite {
}
private void doShowLikes(final String feedId) {
private void doShowLikes(final String postId) {
final UserSelectionDialog dlg = new UserSelectionDialog("People who set this as Favorite", eventBus);
dlg.center();
dlg.show();
newsService.getAllLikesByFeed(feedId, new AsyncCallback<ArrayList<Like>>() {
newsService.getAllLikesByPost(postId, new AsyncCallback<ArrayList<Like>>() {
@Override
public void onFailure(Throwable caught) {
Window.alert("People who liked this could not be retrieved: " + caught.getMessage());
@ -1437,7 +1409,7 @@ public class NewsFeedPanel extends Composite {
private void doShowComments(final TweetTemplate owner, final boolean commentForm2Add) {
owner.showLoadingComments();
newsService.getAllCommentsByFeed(owner.getFeedKey(), new AsyncCallback<ArrayList<Comment>>() {
newsService.getAllCommentsByPost(owner.getFeedKey(), new AsyncCallback<ArrayList<Comment>>() {
@Override
public void onFailure(Throwable caught) {
@ -1473,14 +1445,6 @@ public class NewsFeedPanel extends Composite {
doShowComments(owner, false);
owner.updateCommentsNumberCount();
// if(owner.isUser()){
// // alert the User statistics portlet to decrement the number of comments got
// try {
// NewsFeed.pageBusAdapter.PageBusPublish(PageBusEvents.commentsDecrement, "", Defaults.STRING_JSONIZER);
// } catch (PageBusAdapterException ex) {
// GWT.log(ex.toString());
// }
// }
} else
Window.alert("Comment could not be deleted, please try again in a short while.");
}
@ -1488,9 +1452,9 @@ public class NewsFeedPanel extends Composite {
}
private void doDeleteFeed(final TweetTemplate toDelete) {
private void doDeletePost(final TweetTemplate toDelete) {
if (Window.confirm("Are you sure you want to delete this post?")) {
newsService.deleteFeed(toDelete.getFeedKey(), new AsyncCallback<Boolean>() {
newsService.deletePost(toDelete.getFeedKey(), new AsyncCallback<Boolean>() {
@Override
public void onFailure(Throwable caught) {
@ -1500,27 +1464,7 @@ public class NewsFeedPanel extends Composite {
@Override
public void onSuccess(Boolean result) {
if (result) {
toDelete.removeFromParent();
if(toDelete.isUser()){
// try{
// // alert the User statistics portlet to decrement the number of user's posts
// NewsFeed.pageBusAdapter.PageBusPublish(PageBusEvents.postDecrement, "", Defaults.STRING_JSONIZER);
//
// // alert the same portlet to decrement the number of likes/replies, if any
// int numComments = toDelete.numberOfComments();
// int numLikes = toDelete.numberOfLikes();
//
// for(int i = 0; i < numComments; i++)
// NewsFeed.pageBusAdapter.PageBusPublish(PageBusEvents.commentsDecrement, "", Defaults.STRING_JSONIZER);
//
// for(int i = 0; i < numLikes; i++)
// NewsFeed.pageBusAdapter.PageBusPublish(PageBusEvents.likesDecrement, "", Defaults.STRING_JSONIZER);
//
// }catch (PageBusAdapterException ex) {
// GWT.log(ex.toString());
// }
}
toDelete.removeFromParent();
} else
Window.alert("Feed could not be deleted, please try again in a short while.");
}

@ -17,8 +17,8 @@ import org.gcube.portal.databook.shared.EnhancedFeed;
import org.gcube.portal.databook.shared.Feed;
import org.gcube.portal.databook.shared.UserInfo;
import org.gcube.portlets.user.newsfeed.client.event.AddLikeEvent;
import org.gcube.portlets.user.newsfeed.client.event.DeleteFeedEvent;
import org.gcube.portlets.user.newsfeed.client.event.OpenFeedEvent;
import org.gcube.portlets.user.newsfeed.client.event.DeletePostEvent;
import org.gcube.portlets.user.newsfeed.client.event.OpenPostEvent;
import org.gcube.portlets.user.newsfeed.client.event.SeeCommentsEvent;
import org.gcube.portlets.user.newsfeed.client.event.SeeLikesEvent;
import org.gcube.portlets.user.newsfeed.client.event.UnLikeEvent;
@ -438,7 +438,7 @@ public class TweetTemplate extends Composite {
@UiHandler("closeImage")
void onDeleteFeedClick(ClickEvent e) {
if (isUsers || myUserInfo.isAdmin()){
eventBus.fireEvent(new DeleteFeedEvent(this));
eventBus.fireEvent(new DeletePostEvent(this));
}
else {
GWT.log("not belong to user");
@ -447,7 +447,7 @@ public class TweetTemplate extends Composite {
@UiHandler("openImage")
void onOpenFeedClick(ClickEvent e) {
eventBus.fireEvent(new OpenFeedEvent(this));
eventBus.fireEvent(new OpenPostEvent(this));
}

@ -47,7 +47,7 @@ import org.gcube.portal.notifications.thread.LikeNotificationsThread;
import org.gcube.portal.notifications.thread.MentionNotificationsThread;
import org.gcube.portlets.user.newsfeed.client.NewsService;
import org.gcube.portlets.user.newsfeed.shared.MentionedDTO;
import org.gcube.portlets.user.newsfeed.shared.MoreFeedsBean;
import org.gcube.portlets.user.newsfeed.shared.MorePostsBean;
import org.gcube.portlets.user.newsfeed.shared.NewsConstants;
import org.gcube.portlets.user.newsfeed.shared.OperationResult;
import org.gcube.portlets.user.newsfeed.shared.UserSettings;
@ -266,7 +266,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
* @param hashtag the hashtag to look for including '#'
*/
@Override
public ArrayList<EnhancedFeed> getFeedsByHashtag(String hashtag) {
public ArrayList<EnhancedFeed> getPostsByHashtag(String hashtag) {
PortalContext pContext = PortalContext.getConfiguration();
String userName = pContext.getCurrentUser(getThreadLocalRequest()).getUsername();
String currentScope = pContext.getCurrentScope(getThreadLocalRequest());
@ -345,7 +345,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
}
@Override
public ArrayList<EnhancedFeed> getFeedsByQuery(String query, int from, int quantity) {
public ArrayList<EnhancedFeed> getPostsByQuery(String query, int from, int quantity) {
// TODO : check this error better
if(escl == null){
@ -416,7 +416,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
* return only the user connection feeds
*/
@Override
public ArrayList<EnhancedFeed> getOnlyConnectionsUserFeeds() {
public ArrayList<EnhancedFeed> getOnlyConnectionsUserPosts() {
ArrayList<Feed> toMerge = new ArrayList<Feed>();
HashMap<String, Feed> feedsMap = new HashMap<String, Feed>();
PortalContext pContext = PortalContext.getConfiguration();
@ -461,11 +461,11 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
* return only one feed with all the comments
*/
@Override
public EnhancedFeed getSingleFeed(String feedKey) {
public EnhancedFeed getSinglePost(String postKey) {
Feed feed = null;
try {
if (feedKey != null) {
feed = store.readFeed(feedKey);
if (postKey != null) {
feed = store.readFeed(postKey);
if (feed != null) {
ArrayList<Feed> toEnhance = new ArrayList<Feed>();
toEnhance.add(feed);
@ -473,7 +473,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
}
}
} catch (Exception e) {
_log.debug("Error while trying to fetch feed with key " + feedKey + " returning nothing");
_log.debug("Error while trying to fetch post with key " + postKey + " returning nothing");
return new EnhancedFeed();
}
return new EnhancedFeed();
@ -485,7 +485,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
* @param quantity the number of most recent feeds for this vre starting from "start" param
*/
@Override
public MoreFeedsBean getMoreFeeds(int start, int quantity) {
public MorePostsBean getMorePosts(int start, int quantity) {
ArrayList<Feed> toMerge = new ArrayList<Feed>();
HashMap<String, Feed> feedsMap = new HashMap<String, Feed>();
PortalContext pContext = PortalContext.getConfiguration();
@ -514,11 +514,11 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
//sort the feeds in reverse chronological order
Collections.sort(toMerge, Collections.reverseOrder());
ArrayList<EnhancedFeed> toReturn = enhanceFeeds(toMerge, 2);
return new MoreFeedsBean(rangeFeeds.getLastReturnedFeedTimelineIndex(), toReturn);
return new MorePostsBean(rangeFeeds.getLastReturnedFeedTimelineIndex(), toReturn);
}
@Override
public ArrayList<EnhancedFeed> getOnlyMyUserFeeds() {
public ArrayList<EnhancedFeed> getOnlyMyUserPosts() {
PortalContext pContext = PortalContext.getConfiguration();
String userName = pContext.getCurrentUser(getThreadLocalRequest()).getUsername();
_log.trace("getOnly UserFeeds for " + userName);
@ -533,7 +533,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
}
@Override
public ArrayList<EnhancedFeed> getOnlyLikedFeeds() {
public ArrayList<EnhancedFeed> getOnlyLikedPosts() {
PortalContext pContext = PortalContext.getConfiguration();
String userName = pContext.getCurrentUser(getThreadLocalRequest()).getUsername();
_log.trace("getLiked Feeds for " + userName);
@ -548,7 +548,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
}
@Override
public boolean like(String feedid, String feedText, String feedOwnerId) {
public boolean like(String postid, String postText, String postOwnerId) {
boolean likeCommitResult = false;
UserInfo user = getUserSettings().getUserInfo();
String username = user.getUsername();
@ -557,7 +557,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
}
Like toLike = new Like(UUID.randomUUID().toString(), user.getUsername(),
new Date(), feedid, user.getFullName(), user.getAvatarId());
new Date(), postid, user.getFullName(), user.getAvatarId());
try {
likeCommitResult = store.like(toLike);
} catch (FeedIDNotFoundException e) {
@ -570,13 +570,13 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
PortalContext pContext = PortalContext.getConfiguration();
String currScope = pContext.getCurrentScope(getThreadLocalRequest());
//if the user who liked this post is not the user who posted it notify the poster user (Feed owner)
if (! user.getUsername().equals(feedOwnerId)) {
if (! user.getUsername().equals(postOwnerId)) {
NotificationsManager nm = new ApplicationNotificationsManager(
new SocialNetworkingSite(getThreadLocalRequest()),
currScope,
new SocialNetworkingUser(username, user.getEmailaddress(), user.getFullName(), user.getAvatarId()),
APP_ID);
boolean nResult = nm.notifyLikedFeed(feedOwnerId, feedid, Utils.escapeHtml(feedText));
boolean nResult = nm.notifyLikedPost(postOwnerId, postid, Utils.escapeHtml(postText));
_log.trace("Like Notification added? " + nResult);
}
}
@ -584,13 +584,13 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
}
@Override
public boolean unlike(String feedid, String feedText, String feedOwnerId) {
public boolean unlike(String postid, String postText, String postOwnerId) {
UserInfo user = getUserSettings().getUserInfo();
try {
for (Like like : store.getAllLikesByFeed(feedid)) {
for (Like like : store.getAllLikesByFeed(postid)) {
if (like.getUserid().compareTo(user.getUsername()) == 0) {
_log.trace("Trying unlike of " + feedText + " for " + user.getFullName());
store.unlike(user.getUsername(), like.getKey(), feedid);
_log.trace("Trying unlike of " + postText + " for " + user.getFullName());
store.unlike(user.getUsername(), like.getKey(), postid);
return true;
}
}
@ -670,7 +670,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
}
//if there are users who liked this post they get notified, asynchronously with this thread
ArrayList<Like> favorites = getAllLikesByFeed(feedid);
ArrayList<Like> favorites = getAllLikesByPost(feedid);
Thread likesThread = new Thread(new LikeNotificationsThread(commentText, nm, favorites, feedOwnerId, comment.getKey()));
likesThread.start();
@ -836,7 +836,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
toAdd.setAttachments(attachments);
toReturn.add(toAdd);
} else {
ArrayList<Comment> comments = getAllCommentsByFeed(feed.getKey());
ArrayList<Comment> comments = getAllCommentsByPost(feed.getKey());
//sort in chronological order
Collections.sort(comments);
@ -882,9 +882,9 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
}
@Override
public ArrayList<Like> getAllLikesByFeed(String feedid) {
ArrayList<Like> toReturn = (ArrayList<Like>) store.getAllLikesByFeed(feedid);
_log.trace("Asking likes for " + feedid);
public ArrayList<Like> getAllLikesByPost(String postid) {
ArrayList<Like> toReturn = (ArrayList<Like>) store.getAllLikesByFeed(postid);
_log.trace("Asking likes for " + postid);
for (Like like : toReturn) {
String thumb = getUserImagePortraitUrlLocal(like.getUserid());
@ -894,9 +894,9 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
}
@Override
public ArrayList<Comment> getAllCommentsByFeed(String feedid) {
_log.trace("Asking comments for " + feedid);
ArrayList<Comment> toReturn = (ArrayList<Comment>) store.getAllCommentByFeed(feedid);
public ArrayList<Comment> getAllCommentsByPost(String postid) {
_log.trace("Asking comments for " + postid);
ArrayList<Comment> toReturn = (ArrayList<Comment>) store.getAllCommentByFeed(postid);
for (Comment comment : toReturn) {
String thumb = getUserImagePortraitUrlLocal(comment.getUserid());
comment.setThumbnailURL(thumb == null ? "" : thumb);
@ -925,30 +925,30 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
}
}
@Override
public boolean deleteFeed(String feedid) {
_log.debug("Called delete feed " + feedid);
public boolean deletePost(String postid) {
_log.debug("Called delete feed " + postid);
try {
Feed toDelete = store.readFeed(feedid);
Feed toDelete = store.readFeed(postid);
// delete comments and hastags as well
boolean hasComments = Integer.parseInt(toDelete.getCommentsNo()) > 0;
if(hasComments){
_log.debug("Deleting feed's comments and their hashtags");
List<Comment> comments = store.getAllCommentByFeed(feedid);
List<Comment> comments = store.getAllCommentByFeed(postid);
for (Comment comment : comments) {
deleteComment(comment.getKey(), feedid);
deleteComment(comment.getKey(), postid);
}
}
List<String> hashtags = Utils.getHashTags(Utils.removeHTMLFromText(toDelete.getDescription()));
if (hashtags != null && !hashtags.isEmpty()) {
_log.debug("The feed has hashtags, attempting to delete them ... " + hashtags.toString());
boolean deletedHashtag = store.deleteHashTags(feedid, toDelete.getVreid(), hashtags);
boolean deletedHashtag = store.deleteHashTags(postid, toDelete.getVreid(), hashtags);
_log.debug("deletedHashtag? " + deletedHashtag);
}
_log.debug("Attempting to delete feed " + feedid);
return store.deleteFeed(feedid);
_log.debug("Attempting to delete feed " + postid);
return store.deleteFeed(postid);
} catch (Exception e) {
e.printStackTrace();
@ -1133,7 +1133,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
}
@Override
public ArrayList<EnhancedFeed> getFeedsRelatedToUserStatistics(
public ArrayList<EnhancedFeed> getPostsRelatedToUserStatistics(
ShowUserStatisticAction action, int from, int quantity) {
PortalContext pContext = PortalContext.getConfiguration();

@ -1,44 +0,0 @@
package org.gcube.portlets.user.newsfeed.shared;
import java.io.Serializable;
import java.util.ArrayList;
import org.gcube.portal.databook.shared.EnhancedFeed;
@SuppressWarnings("serial")
public class MoreFeedsBean implements Serializable {
private int lastReturnedFeedTimelineIndex;
private ArrayList<EnhancedFeed> feeds;
public MoreFeedsBean() {
super();
}
public MoreFeedsBean(int lastReturnedFeedTimelineIndex,
ArrayList<EnhancedFeed> feeds) {
super();
this.lastReturnedFeedTimelineIndex = lastReturnedFeedTimelineIndex;
this.feeds = feeds;
}
public int getLastReturnedFeedTimelineIndex() {
return lastReturnedFeedTimelineIndex;
}
public void setLastReturnedFeedTimelineIndex(int lastReturnedFeedTimelineIndex) {
this.lastReturnedFeedTimelineIndex = lastReturnedFeedTimelineIndex;
}
public ArrayList<EnhancedFeed> getFeeds() {
return feeds;
}
public void setFeeds(ArrayList<EnhancedFeed> feeds) {
this.feeds = feeds;
}
@Override
public String toString() {
return "MoreFeedsBean [lastReturnedFeedTimelineIndex="
+ lastReturnedFeedTimelineIndex + ", feeds=" + feeds + "]";
}
}

@ -0,0 +1,51 @@
package org.gcube.portlets.user.newsfeed.shared;
import java.io.Serializable;
import java.util.ArrayList;
import org.gcube.portal.databook.shared.EnhancedFeed;
@SuppressWarnings("serial")
public class MorePostsBean implements Serializable {
private int lastReturnedPostTimelineIndex;
private ArrayList<EnhancedFeed> posts;
public MorePostsBean() {
super();
}
public MorePostsBean(int lastReturnedFeedTimelineIndex,
ArrayList<EnhancedFeed> feeds) {
super();
this.lastReturnedPostTimelineIndex = lastReturnedFeedTimelineIndex;
this.posts = feeds;
}
public int getLastReturnedFeedTimelineIndex() {
return lastReturnedPostTimelineIndex;
}
public void setLastReturnedFeedTimelineIndex(int lastReturnedFeedTimelineIndex) {
this.lastReturnedPostTimelineIndex = lastReturnedFeedTimelineIndex;
}
public ArrayList<EnhancedFeed> getPosts() {
return posts;
}
public void setPosts(ArrayList<EnhancedFeed> posts) {
this.posts = posts;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("MorePostsBean [lastReturnedPostTimelineIndex=");
builder.append(lastReturnedPostTimelineIndex);
builder.append(", posts=");
builder.append(posts);
builder.append("]");
return builder.toString();
}
}
Loading…
Cancel
Save