diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/client/NewsFeed.java b/src/main/java/org/gcube/portlets/user/newsfeed/client/NewsFeed.java
index bfa4bdd..9402b76 100644
--- a/src/main/java/org/gcube/portlets/user/newsfeed/client/NewsFeed.java
+++ b/src/main/java/org/gcube/portlets/user/newsfeed/client/NewsFeed.java
@@ -10,6 +10,7 @@ import org.gcube.portal.databook.shared.ClientFeed.ClientFeedJsonizer;
import org.gcube.portlets.user.gcubewidgets.client.ClientScopeHelper;
import org.gcube.portlets.user.newsfeed.client.panels.NewsFeedPanel;
import org.jsonmaker.gwt.client.Jsonizer;
+import org.jsonmaker.gwt.client.base.Defaults;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
@@ -62,8 +63,8 @@ public class NewsFeed implements EntryPoint {
ClientFeed feed = (ClientFeed)event.getMessage((Jsonizer)GWT.create(ClientFeedJsonizer.class));
mainPanel.addJustAddedFeed(feed);
- // alert the User statistics widget to increment the number of user's posts (no need to pass info)
- pageBusAdapter.PageBusPublish("org.gcube.portal.incrementPostCount", null, null);
+ // alert the User statistics portlet to increment the number of user's posts
+ pageBusAdapter.PageBusPublish("org.gcube.portal.incrementPostCount", "", Defaults.STRING_JSONIZER);
} catch (PageBusAdapterException e) {
e.printStackTrace();
diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/client/panels/NewsFeedPanel.java b/src/main/java/org/gcube/portlets/user/newsfeed/client/panels/NewsFeedPanel.java
index f2a0feb..90d5705 100644
--- a/src/main/java/org/gcube/portlets/user/newsfeed/client/panels/NewsFeedPanel.java
+++ b/src/main/java/org/gcube/portlets/user/newsfeed/client/panels/NewsFeedPanel.java
@@ -4,6 +4,8 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
+import net.eliasbalasis.tibcopagebus4gwt.client.PageBusAdapterException;
+
import org.gcube.portal.databook.client.GCubeSocialNetworking;
import org.gcube.portal.databook.client.util.Encoder;
import org.gcube.portal.databook.shared.Attachment;
@@ -15,6 +17,7 @@ import org.gcube.portal.databook.shared.Like;
import org.gcube.portal.databook.shared.PrivacyLevel;
import org.gcube.portal.databook.shared.UserInfo;
import org.gcube.portlets.user.newsfeed.client.FilterType;
+import org.gcube.portlets.user.newsfeed.client.NewsFeed;
import org.gcube.portlets.user.newsfeed.client.NewsService;
import org.gcube.portlets.user.newsfeed.client.NewsServiceAsync;
import org.gcube.portlets.user.newsfeed.client.event.AddCommentEvent;
@@ -57,6 +60,7 @@ import org.gcube.portlets.widgets.userselection.client.events.SelectedUserEvent;
import org.gcube.portlets.widgets.userselection.client.events.SelectedUserEventHandler;
import org.gcube.portlets.widgets.userselection.client.events.UsersFetchedEvent;
import org.gcube.portlets.widgets.userselection.shared.ItemSelectableBean;
+import org.jsonmaker.gwt.client.base.Defaults;
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.RunAsyncCallback;
@@ -968,6 +972,15 @@ public class NewsFeedPanel extends Composite {
owner.setCommentingDisabled(false);
owner.updateCommentsNumberCount();
owner.showAddCommentForm(false);
+
+ if(owner.isUser()){
+ // alert the User statistics portlet to increment the number of comments got
+ try {
+ NewsFeed.pageBusAdapter.PageBusPublish("org.gcube.portal.incrementCommentsGot", "", Defaults.STRING_JSONIZER);
+ } catch (PageBusAdapterException e) {
+ GWT.log(e.toString());
+ }
+ }
}
}
else {
@@ -1042,6 +1055,15 @@ public class NewsFeedPanel extends Composite {
if (result) {
doShowComments(owner, false);
owner.updateCommentsNumberCount();
+
+ if(owner.isUser()){
+ // alert the User statistics portlet to decrement the number of comments got
+ try {
+ NewsFeed.pageBusAdapter.PageBusPublish("org.gcube.portal.decrementCommentsGot", "", 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.");
}
diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/client/ui/AddCommentTemplate.java b/src/main/java/org/gcube/portlets/user/newsfeed/client/ui/AddCommentTemplate.java
index 35c288e..259e883 100644
--- a/src/main/java/org/gcube/portlets/user/newsfeed/client/ui/AddCommentTemplate.java
+++ b/src/main/java/org/gcube/portlets/user/newsfeed/client/ui/AddCommentTemplate.java
@@ -1,5 +1,6 @@
package org.gcube.portlets.user.newsfeed.client.ui;
+
import org.gcube.portal.databook.shared.Comment;
import org.gcube.portal.databook.shared.UserInfo;
import org.gcube.portlets.user.gcubewidgets.client.elements.Div;
@@ -76,12 +77,12 @@ public class AddCommentTemplate extends Composite {
this.commentPanel = commentPanel;
isEditing = true;
this.toEdit = toEdit;
-
+
String commentText = new HTML(toEdit.getText()).getText();
//replace the < & and >
commentText = commentText.replaceAll("<","<").replaceAll(">",">");
commentText = commentText.replaceAll("&","&");
-
+
owner = caller;
avatarImage.setPixelSize(30, 30);
avatarImage.setUrl(caller.getMyUserInfo().getAvatarId());
@@ -107,7 +108,7 @@ public class AddCommentTemplate extends Composite {
}
};
t.schedule(200);
-
+
}
diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/client/ui/LinkPreviewer.java b/src/main/java/org/gcube/portlets/user/newsfeed/client/ui/LinkPreviewer.java
index 98084bb..03672ff 100644
--- a/src/main/java/org/gcube/portlets/user/newsfeed/client/ui/LinkPreviewer.java
+++ b/src/main/java/org/gcube/portlets/user/newsfeed/client/ui/LinkPreviewer.java
@@ -22,7 +22,7 @@ public class LinkPreviewer extends Composite {
// is the preview image still there ?
private boolean imageRemoved = false;
-
+
@UiField
HTML titleArea;
@UiField
@@ -32,6 +32,9 @@ public class LinkPreviewer extends Composite {
@UiField
Image image;
+ // saved file name
+ private final String fileName;
+
private static LinkPreviewUiBinder uiBinder = GWT
.create(LinkPreviewUiBinder.class);
@@ -41,17 +44,20 @@ public class LinkPreviewer extends Composite {
public LinkPreviewer(String title, String titleDesc, String host, String linkThumbUrl, String url) {
initWidget(uiBinder.createAndBindUi(this));
if (linkThumbUrl == null || linkThumbUrl.equals("null")){
-
+
image.removeFromParent();
imageRemoved = true;
}
else {
-
+
image.setUrl(linkThumbUrl);
image.setWidth("80px");
-
+
}
+
+ // save the filename info
+ fileName = title;
titleArea.setHTML(""+title+" - " + host+ "");
urlText.setHTML((url.length() > 70) ? url.substring(0, 70)+"..." : url);
String desc = titleDesc;
@@ -82,4 +88,26 @@ public class LinkPreviewer extends Composite {
}
});
}
+
+ /**
+ * Open the carousel when the user clicks on the previews' file name.
+ * @param carousel
+ */
+ public void onFileNameClickOpenCarousel(final Carousel carousel) {
+
+ String nameToShow = fileName.length() > 40 ? fileName.substring(0, 40) + "..." : fileName;
+ titleArea.setHTML(""+ nameToShow +"");
+ titleArea.setTitle(fileName);
+
+ titleArea.addClickHandler(new ClickHandler() {
+
+ @Override
+ public void onClick(ClickEvent event) {
+
+ carousel.show();
+
+ }
+ });
+
+ }
}
diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/client/ui/TweetTemplate.java b/src/main/java/org/gcube/portlets/user/newsfeed/client/ui/TweetTemplate.java
index 6679370..5f5151f 100644
--- a/src/main/java/org/gcube/portlets/user/newsfeed/client/ui/TweetTemplate.java
+++ b/src/main/java/org/gcube/portlets/user/newsfeed/client/ui/TweetTemplate.java
@@ -26,6 +26,7 @@ import org.gcube.portlets.user.newsfeed.client.panels.NewsFeedPanel;
import org.gcube.portlets.user.newsfeed.shared.EnhancedFeed;
import org.gcube.portlets.widgets.imagepreviewerwidget.client.EnhancedImage;
import org.gcube.portlets.widgets.imagepreviewerwidget.client.ui.Carousel;
+import org.jsonmaker.gwt.client.base.Defaults;
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.RunAsyncCallback;
@@ -167,7 +168,7 @@ public class TweetTemplate extends Composite {
EnhancedImage enhancedImage = new EnhancedImage(
new com.github.gwtbootstrap.client.ui.Image(
feed.getUri()),
- feed.getLinkTitle(),
+ feed.getLinkTitle() + " (" + feed.getLinkDescription() + ")",
feed.getLinkTitle(),
feed.getUri()
);
@@ -176,8 +177,9 @@ public class TweetTemplate extends Composite {
listOfEnhancedImages.add(enhancedImage);
carousel.updateImages(listOfEnhancedImages);
- // set handler on the linkpreviewer image to show this carousel
+ // set handler on the linkpreviewer image to show this carousel and on the image title too
linkPreviewer.onImageClickOpenCarousel(carousel);
+ linkPreviewer.onFileNameClickOpenCarousel(carousel);
// remove next and prev buttons of the carousel since we have only an image
carousel.hideArrows();
@@ -218,7 +220,7 @@ public class TweetTemplate extends Composite {
EnhancedImage enhancedImage = new EnhancedImage(
new com.github.gwtbootstrap.client.ui.Image(
feed.getUri()),
- feed.getLinkTitle(),
+ feed.getLinkTitle() + " (" + feed.getLinkDescription() + ")",
feed.getLinkTitle(),
feed.getUri()
);
@@ -241,7 +243,7 @@ public class TweetTemplate extends Composite {
EnhancedImage enhancedImage = new EnhancedImage(
new com.github.gwtbootstrap.client.ui.Image(
otherAttachment.getUri()),
- otherAttachment.getName(),
+ otherAttachment.getName() + " (" + otherAttachment.getDescription() + ")",
otherAttachment.getName(),
otherAttachment.getUri()
);
@@ -410,10 +412,10 @@ public class TweetTemplate extends Composite {
if(isUsers){
try {
-
- // alert the User statistics widget to decrement the number of user's posts (no need to pass info)
- NewsFeed.pageBusAdapter.PageBusPublish("org.gcube.portal.decrementPostCount", null, null);
-
+
+ // alert the User statistics portlet to decrement the number of user's posts
+ NewsFeed.pageBusAdapter.PageBusPublish("org.gcube.portal.decrementPostCount", "", Defaults.STRING_JSONIZER);
+
} catch (PageBusAdapterException e1) {
GWT.log("Unable to send this notification " + e1.toString());
}
@@ -477,6 +479,18 @@ public class TweetTemplate extends Composite {
}
eventBus.fireEvent(new AddLikeEvent(this, myFeed.getFeed().getKey()));
setFavoritedUI(true);
+
+ // alert the User statistics portlet to increment the number of likes got
+ if(isUsers){
+ try {
+ NewsFeed.pageBusAdapter.PageBusPublish(
+ "org.gcube.portal.incrementLikesGot"
+ , ""
+ , Defaults.STRING_JSONIZER);
+ } catch (PageBusAdapterException ex) {
+ GWT.log(e.toString());
+ }
+ }
}
catch (NumberFormatException ex) {
likeArea.setHTML("Error on the server");
@@ -496,6 +510,18 @@ public class TweetTemplate extends Composite {
}
eventBus.fireEvent(new UnLikeEvent(this, myFeed.getFeed().getKey()));
setFavoritedUI(false);
+
+ // alert the User statistics portlet to decrement the number of likes got
+ if(isUsers){
+ try {
+ NewsFeed.pageBusAdapter.PageBusPublish(
+ "org.gcube.portal.decrementLikesGot"
+ , ""
+ , Defaults.STRING_JSONIZER);
+ } catch (PageBusAdapterException ex) {
+ GWT.log(e.toString());
+ }
+ }
}
}
@@ -663,4 +689,8 @@ public class TweetTemplate extends Composite {
public boolean isAppFeed() {
return isAppFeed;
}
+
+ public boolean isUser() {
+ return isUsers;
+ }
}
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 2dbe978..388cf71 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
@@ -124,7 +124,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
*/
public String getDevelopmentUser() {
String user = NewsConstants.TEST_USER;
- // user = "costantino.perciante";
+ //user = "costantino.perciante";
return user;
}
/**