diff --git a/.classpath b/.classpath
index 44c5f88..f846250 100644
--- a/.classpath
+++ b/.classpath
@@ -28,7 +28,7 @@
-
+
diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index 92202a8..b0c273d 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -4,9 +4,6 @@
-
- uses
-
uses
diff --git a/pom.xml b/pom.xml
index 2096ee0..2cda5a0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,6 +87,7 @@
org.gcube.portlets.widgets
user-selection-dialog
[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)
+ compile
org.gcube.portlets.widgets
diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/AddCommentTemplate.java b/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/AddCommentTemplate.java
index 567389c..88b4e93 100644
--- a/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/AddCommentTemplate.java
+++ b/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/AddCommentTemplate.java
@@ -12,6 +12,7 @@ import com.google.gwt.event.shared.HandlerManager;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
+import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
@@ -34,7 +35,7 @@ public class AddCommentTemplate extends Composite{
private boolean isEditing = false;
private HTMLPanel commentPanel;
private Comment toEdit;
-
+
interface CommentTemplateUiBinder extends UiBinder {
}
/**
@@ -72,17 +73,32 @@ public class AddCommentTemplate extends Composite{
mainPanel.setStyleName("single-comment");
commentTextArea.addStyleName("dark-color");
}
-
+
@UiField HTMLPanel mainPanel;
@UiField Image avatarImage;
@UiField TextArea commentTextArea;
@UiField Button submitButton;
@UiField Button cancelButton;
-
+
public void setFocus() {
commentTextArea.setFocus(true);
}
-
+
+ /**
+ * paste event overridden
+ */
+ public void onBrowserEvent(Event event) {
+ super.onBrowserEvent(event);
+ switch (event.getTypeInt()) {
+ case Event.ONPASTE:
+ if (commentTextArea.getText().equals(COMMENT_TEXT) || commentTextArea.getText().equals(ERROR_UPDATE_TEXT) ) {
+ commentTextArea.setText("");
+ commentTextArea.addStyleName("dark-color");
+ commentTextArea.removeStyleName("error");
+ }
+ }
+ }
+
@UiHandler("submitButton")
void onSubmitClick(ClickEvent e) {
String userComment = commentTextArea.getText().trim();
@@ -104,7 +120,7 @@ public class AddCommentTemplate extends Composite{
this.getWidget().setVisible(false);
owner.setCommentingDisabled(false);
}
-
+
/**
* called when pasting. it tries to avoid pasting long non spaced strings
* @param linkToCheck
@@ -122,7 +138,7 @@ public class AddCommentTemplate extends Composite{
}
return true;
}
-
+
@UiHandler("cancelButton")
void onCancelClick(ClickEvent e) {
this.getWidget().setVisible(false);
@@ -143,7 +159,7 @@ public class AddCommentTemplate extends Composite{
commentTextArea.removeStyleName("error");
}
}
-
+
@UiHandler("commentTextArea")
void onCommentKeyPress(KeyPressEvent e) {
if (commentTextArea.getText().equals(COMMENT_TEXT) || commentTextArea.getText().equals(ERROR_UPDATE_TEXT) ) {
diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/SingleComment.java b/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/SingleComment.java
index 1689769..1cdd388 100644
--- a/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/SingleComment.java
+++ b/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/SingleComment.java
@@ -14,6 +14,7 @@ import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
+import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HTMLPanel;
@@ -44,6 +45,7 @@ public class SingleComment extends Composite {
public SingleComment(Comment toShow, TweetTemplate owner, boolean isUsers) {
initWidget(uiBinder.createAndBindUi(this));
+ sinkEvents(Event.ONPASTE);
this.owner = owner;
this.isUsers = isUsers;
this.myComment = toShow;
diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/TweetTemplate.java b/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/TweetTemplate.java
index e151849..5433106 100644
--- a/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/TweetTemplate.java
+++ b/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/TweetTemplate.java
@@ -116,6 +116,7 @@ public class TweetTemplate extends Composite {
public TweetTemplate(boolean displaySingle, UserInfo myUserInfo, EnhancedFeed myFeed, HandlerManager eventBus) {
initWidget(uiBinder.createAndBindUi(this));
this.myUserInfo = myUserInfo;
+
this.myFeed = myFeed;
isAppFeed = myFeed.getFeed().isApplicationFeed();
Feed feed = myFeed.getFeed();
@@ -125,11 +126,14 @@ public class TweetTemplate extends Composite {
this.eventBus = eventBus;
this.isUsers = myFeed.isUsers();
myComments = new ArrayList();
- closeImage.setStyleName("closeImage");
- if (isUsers) {
+
+ if (isUsers || myUserInfo.isAdmin()) {
closeImage.setStyleName("closeImage");
- closeImage.setTitle("Delete");
+ closeImage.setTitle(myUserInfo.isAdmin() ? "Delete (Administrator Mode)" : "delete");
+ } else {
+ closeImage.removeFromParent();
}
+
openImage.setStyleName("openImage");
openImage.setTitle("Open this feed separately");
//show if the user has already liked this
@@ -159,8 +163,11 @@ public class TweetTemplate extends Composite {
else {
// messageSeparator.setVisible(false);
contentArea.setHTML(""+feed.getFullName()+" " + feedText);
- closeImage.setTitle("Delete this Application feed (Administrator Only)");
if (isAppFeed) {
+ if (myUserInfo.isAdmin())
+ closeImage.setTitle("Delete this Application feed (Administrator Only)");
+ else
+ closeImage.removeFromParent();
try{
String vreName = feed.getVreid().substring(feed.getVreid().lastIndexOf("/")+1);
messageArea.setHTML(" go App [" +vreName + "]");
@@ -228,15 +235,20 @@ public class TweetTemplate extends Composite {
@UiHandler("contentArea")
public void onHover(MouseOverEvent event) {
- if (isUsers)
+ if (isUsers) {
closeImage.addStyleName("uiCloseButton");
+ GWT.log("this belong to user");
+ }
openImage.addStyleName("uiOpenButton");
}
@UiHandler("closeImage")
void onDeleteFeedClick(ClickEvent e) {
- if (isUsers)
+ if (isUsers || myUserInfo.isAdmin())
eventBus.fireEvent(new DeleteFeedEvent(this));
+ else {
+ GWT.log("not belong to user");
+ }
}
@UiHandler("openImage")
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 5b6e77a..b4141b1 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
@@ -78,7 +78,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
private boolean withinPortal = false;
- private final static int MAX_FEEDS_NO = 30;
+ private final static int MAX_FEEDS_NO = 45;
public void init() {
store = new DBCassandraAstyanaxImpl();
@@ -98,8 +98,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");
+// user = "massimiliano.assante";
+// SessionManager.getInstance().getASLSession(sessionID, user).setScope("/gcube");
}
else {
withinPortal = true;
@@ -128,7 +128,7 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService
ThemeDisplay themeDisplay = (ThemeDisplay) this.getThreadLocalRequest().getSession().getAttribute(WebKeys.THEME_DISPLAY);
String accountURL = themeDisplay.getURLMyAccount().toString();
- UserInfo userInfo = new UserInfo(username, fullName, thumbnailURL, user.getEmailAddress(), accountURL, true, false, null);
+ UserInfo userInfo = new UserInfo(username, fullName, thumbnailURL, user.getEmailAddress(), accountURL, true, isAdmin(), null);
UserSettings toReturn = new UserSettings(userInfo, getFeedsRefreshTimeInMillis(), session.getScopeName(), getVRELabel(), isInfrastructureScope());
setUserSettingsInSession(toReturn);
return toReturn;