diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index fe006d9..e86e521 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -5,6 +5,9 @@ + + uses + diff --git a/pom.xml b/pom.xml index 2e55c63..d6270a0 100644 --- a/pom.xml +++ b/pom.xml @@ -74,13 +74,13 @@ org.gcube.applicationsupportlayer - aslsocial - provided + aslcore + provided - org.gcube.core - gcf - provided + org.gcube.applicationsupportlayer + aslsocial + provided org.gcube.portlets.user @@ -92,21 +92,17 @@ pickuser-widget [0.2.0-SNAPSHOT, 1.0.0-SNAPSHOT) + + org.gcube.common + home-library + [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT) + provided + org.gcube.portal custom-portal-handler provided - - org.gcube.applicationsupportlayer - aslcore - provided - - - org.gcube.portlets.user - home-library - provided - org.gcube.dvos usermanagement-core diff --git a/src/main/java/org/gcube/portlets/user/shareupdates/server/MentionNotificationsThread.java b/src/main/java/org/gcube/portlets/user/shareupdates/server/MentionNotificationsThread.java index 2253df2..0903319 100644 --- a/src/main/java/org/gcube/portlets/user/shareupdates/server/MentionNotificationsThread.java +++ b/src/main/java/org/gcube/portlets/user/shareupdates/server/MentionNotificationsThread.java @@ -3,8 +3,9 @@ package org.gcube.portlets.user.shareupdates.server; import java.util.ArrayList; import org.gcube.applicationsupportlayer.social.NotificationsManager; -import org.gcube.common.core.utils.logging.GCUBEClientLog; import org.gcube.portlets.user.pickuser.shared.PickingUser; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @@ -12,7 +13,7 @@ import org.gcube.portlets.user.pickuser.shared.PickingUser; * */ public class MentionNotificationsThread implements Runnable { - private static GCUBEClientLog _log = new GCUBEClientLog(MentionNotificationsThread.class); + private static Logger _log = LoggerFactory.getLogger(MentionNotificationsThread.class); private String postText; private String postId; diff --git a/src/main/java/org/gcube/portlets/user/shareupdates/server/ShareUpdateServiceImpl.java b/src/main/java/org/gcube/portlets/user/shareupdates/server/ShareUpdateServiceImpl.java index bdc63ae..4153367 100644 --- a/src/main/java/org/gcube/portlets/user/shareupdates/server/ShareUpdateServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/shareupdates/server/ShareUpdateServiceImpl.java @@ -22,6 +22,11 @@ import org.gcube.application.framework.core.session.ASLSession; import org.gcube.application.framework.core.session.SessionManager; import org.gcube.applicationsupportlayer.social.ApplicationNotificationsManager; import org.gcube.applicationsupportlayer.social.NotificationsManager; +import org.gcube.common.homelibrary.home.HomeLibrary; +import org.gcube.common.homelibrary.home.exceptions.HomeNotFoundException; +import org.gcube.common.homelibrary.home.exceptions.InternalErrorException; +import org.gcube.common.homelibrary.home.workspace.Workspace; +import org.gcube.common.homelibrary.home.workspace.exceptions.WorkspaceFolderNotFoundException; import org.gcube.common.scope.impl.ScopeBean; import org.gcube.common.scope.impl.ScopeBean.Type; import org.gcube.portal.custom.communitymanager.OrganizationsUtil; @@ -35,12 +40,6 @@ import org.gcube.portal.databook.shared.FeedType; import org.gcube.portal.databook.shared.PrivacyLevel; import org.gcube.portal.databook.shared.UserInfo; import org.gcube.portal.databook.shared.ex.FeedIDNotFoundException; -import org.gcube.portlets.user.homelibrary.home.HomeLibrary; -import org.gcube.portlets.user.homelibrary.home.User; -import org.gcube.portlets.user.homelibrary.home.exceptions.HomeNotFoundException; -import org.gcube.portlets.user.homelibrary.home.exceptions.InternalErrorException; -import org.gcube.portlets.user.homelibrary.home.workspace.Workspace; -import org.gcube.portlets.user.homelibrary.home.workspace.exceptions.WorkspaceFolderNotFoundException; import org.gcube.portlets.user.pickuser.shared.PickingUser; import org.gcube.portlets.user.shareupdates.client.ShareUpdateService; import org.gcube.portlets.user.shareupdates.server.metaseeker.MetaSeeker; @@ -49,7 +48,6 @@ import org.gcube.portlets.user.shareupdates.shared.LinkPreview; import org.gcube.portlets.user.shareupdates.shared.UserSettings; import org.gcube.vomanagement.usermanagement.GroupManager; import org.gcube.vomanagement.usermanagement.UserManager; -import org.gcube.vomanagement.usermanagement.exception.UserManagementPortalException; import org.gcube.vomanagement.usermanagement.impl.liferay.LiferayGroupManager; import org.gcube.vomanagement.usermanagement.impl.liferay.LiferayUserManager; import org.gcube.vomanagement.usermanagement.model.GroupModel; @@ -115,8 +113,8 @@ public class ShareUpdateServiceImpl extends RemoteServiceServlet implements Shar if (user == null) { _log.warn("USER IS NULL setting test.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"); withinPortal = false; } else { @@ -124,23 +122,23 @@ public class ShareUpdateServiceImpl extends RemoteServiceServlet implements Shar } return SessionManager.getInstance().getASLSession(sessionID, user); } - + /** * */ public ClientFeed share(String postText, FeedType feedType, PrivacyLevel pLevel, String vreId, String linkTitle, String linkDesc, String url, String urlThumbnail, String host, ArrayList mentionedUserFullNames) { - + String escapedFeedText = escapeHtml(postText); - + ArrayList mentionedUsers = null; if (mentionedUserFullNames != null && ! mentionedUserFullNames.isEmpty()) { mentionedUsers = getSelectedUserIds(mentionedUserFullNames); escapedFeedText = convertMentionPeopleAnchorHTML(escapedFeedText, mentionedUsers); } - - + + ASLSession session = getASLSession(); String username = session.getUsername(); String email = username+"@isti.cnr.it"; @@ -196,7 +194,7 @@ public class ShareUpdateServiceImpl extends RemoteServiceServlet implements Shar ClientFeed cf = new ClientFeed(toShare.getKey(), toShare.getType().toString(), username, feedDate, toShare.getUri(), replaceAmpersand(toShare.getDescription()), fullName, email, thumbnailURL, toShare.getLinkTitle(), toShare.getLinkDescription(), toShare.getUriThumbnail(), toShare.getLinkHost()); - + //send the notification to the mentioned users if (mentionedUsers != null && mentionedUsers.size() > 0) { @@ -204,7 +202,7 @@ public class ShareUpdateServiceImpl extends RemoteServiceServlet implements Shar Thread thread = new Thread(new MentionNotificationsThread(toShare.getKey(), escapedFeedText, nm, mentionedUsers)); thread.start(); } - + return cf; } @@ -225,7 +223,7 @@ public class ShareUpdateServiceImpl extends RemoteServiceServlet implements Shar } return escapedFeedText; } - + private UserSettings getUserSettingsFromSession() { return (UserSettings) getASLSession().getAttribute(UserInfo.USER_INFO_ATTR); } @@ -670,25 +668,14 @@ public class ShareUpdateServiceImpl extends RemoteServiceServlet implements Shar try { if (withinPortal) { UserManager um = new LiferayUserManager(); - Workspace workspace = getWorkspace(); - List users = workspace.getHome().getHomeManager().getUsers(); - for (User user : users) { - //_log.trace("Trying to get additional info for "+user.getPortalLogin()); - if (user.getPortalLogin().compareTo("test.user") != 0) { //skip test.user - UserModel curr = null; + GroupManager gm = new LiferayGroupManager(); + List users = um.listUsersByGroup(gm.getRootVO().getGroupId()); + for (UserModel user : users) { + if (user.getScreenName().compareTo("test.user") != 0) { //skip test.user String thumbnailURL = ""; - try { - curr = um.getUserByScreenName(user.getPortalLogin()); - com.liferay.portal.model.UserModel lifeUser = UserLocalServiceUtil.getUserByScreenName(OrganizationsUtil.getCompany().getCompanyId(), user.getPortalLogin()); - thumbnailURL = "/image/user_male_portrait?img_id="+lifeUser.getPortraitId(); - } catch (UserManagementPortalException ume) { - _log.error("Error while getUserByScreenName for " + user.getPortalLogin()); - portalUsers.add(new PickingUser(user.getId(), user.getPortalLogin(), user.getPortalLogin(), "unknown image")); - } - if (curr != null) - portalUsers.add(new PickingUser(user.getId(), curr.getScreenName(), curr.getFullname(), thumbnailURL)); - - + com.liferay.portal.model.UserModel lifeUser = UserLocalServiceUtil.getUserByScreenName(OrganizationsUtil.getCompany().getCompanyId(), user.getScreenName()); + thumbnailURL = "/image/user_male_portrait?img_id="+lifeUser.getPortraitId(); + portalUsers.add(new PickingUser(user.getUserId(), user.getScreenName(), user.getFullname(), thumbnailURL)); } } } @@ -718,7 +705,7 @@ public class ShareUpdateServiceImpl extends RemoteServiceServlet implements Shar */ private Workspace getWorkspace() throws InternalErrorException, HomeNotFoundException, WorkspaceFolderNotFoundException { final ASLSession session = getASLSession(); - Workspace workspace = HomeLibrary.getUserWorkspace(session); + Workspace workspace = HomeLibrary.getUserWorkspace(session.getUsername()); return workspace; } }