diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java b/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java index db2aabb..3eb96e6 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java @@ -1504,7 +1504,8 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT workspaceLogger.trace("Home Library User Manager getting list Gcube Group"); listContactsModel.addAll(builder.buildGXTListContactsModelFromGcubeGroup(hlUserManager.getGroups())); - workspaceLogger.debug("Returning list of contacts!"); + workspaceLogger.debug("Returning list of contacts"); + return listContactsModel; } catch (Exception e) { diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/util/WsUtil.java b/src/main/java/org/gcube/portlets/user/workspace/server/util/WsUtil.java index 2f08344..92e6b77 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/server/util/WsUtil.java +++ b/src/main/java/org/gcube/portlets/user/workspace/server/util/WsUtil.java @@ -1,5 +1,5 @@ /** - * + * */ package org.gcube.portlets.user.workspace.server.util; @@ -31,7 +31,7 @@ import com.liferay.portal.service.UserLocalServiceUtil; /** - * + * * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it * @Feb 18, 2014 * @@ -51,61 +51,61 @@ public class WsUtil { public static final String URI_RESOLVER_SERVICE = "URI_RESOLVER_SERVICE"; public static final String PROPERTY_SPECIAL_FOLDER = "PROPERTY_SPECIAL_FOLDER"; public static final String NOTIFICATION_PORTLET_CLASS_ID = "org.gcube.portlets.user.workspace.server.GWTWorkspaceServiceImpl"; //IN DEV - + public static final String TEST_SCOPE = "/gcube/devsec"; - + // public static final String TEST_USER = "pasquale.pagano"; // public static final String TEST_USER = "federico.defaveri"; // public static final String TEST_USER = "massimiliano.assante"; // public static final String TEST_USER = "pasquale.pagano"; // public static final String TEST_USER = "aureliano.gentile"; // public static final String TEST_USER = "antonio.gioia"; - + //COMMENT THIS FOR RELEASE // public static final String TEST_USER = "francesco.mangiacrapa"; // public static final String TEST_USER_FULL_NAME = "Francesco Mangiacrapa"; - + //UNCOMMENT THIS FOR RELEASE public static String TEST_USER = "test.user"; public static String TEST_USER_FULL_NAME = "Test User"; - - + + protected static Logger logger = Logger.getLogger(WsUtil.class); // public static boolean withoutPortal = false; - + /** - * + * * @return true if you're running into the portal, false if in development */ public static boolean isWithinPortal() { try { UserLocalServiceUtil.getService(); return true; - } - catch (Exception ex) { + } + catch (Exception ex) { logger.trace("Development Mode ON"); return false; - } + } } - + public static ASLSession getAslSession(HttpSession httpSession) { String sessionID = httpSession.getId(); String user = (String) httpSession.getAttribute(USERNAME_ATTRIBUTE); ASLSession session; - + if (user == null) { - + /*USE ANOTHER ACCOUNT (OTHERWHISE BY TEST_USER) FOR RUNNING * COMMENT THIS IN DEVELOP ENVIROMENT (UNCOMMENT IN PRODUCTION)*/ user=TEST_USER; - + if (!isWithinPortal()) { //DEV MODE user = "francesco.mangiacrapa"; TEST_USER_FULL_NAME = "Francesco Mangiacrapa"; } - + logger.warn("WORKSPACE PORTLET STARTING IN TEST MODE - NO USER FOUND - PORTLETS STARTING WITH FOLLOWING SETTINGS:"); logger.warn("session id: "+sessionID); logger.warn("TEST_USER: "+user); @@ -113,27 +113,27 @@ public class WsUtil { logger.warn("USERNAME_ATTRIBUTE: "+USERNAME_ATTRIBUTE); session = SessionManager.getInstance().getASLSession(sessionID, user); session.setScope(TEST_SCOPE); - - + + //MANDATORY FOR SOCIAL LIBRARY session.setUserAvatarId(user + "Avatar"); session.setUserFullName(TEST_USER_FULL_NAME); session.setUserEmailAddress(user + "@mail.test"); - + //SET HTTP SESSION ATTRIBUTE httpSession.setAttribute(USERNAME_ATTRIBUTE, user); - + // withoutPortal = true; - + return session; - + } - + return SessionManager.getInstance().getASLSession(sessionID, user); } - + /** - * + * * @param httpSession * @return true if current username into ASL session is WsUtil.TEST_USER, false otherwise * @throws Exception @@ -143,32 +143,32 @@ public class WsUtil { //READING USERNAME FROM ASL SESSION String userUsername = getAslSession(httpSession).getUsername(); boolean isTestUser = userUsername.compareTo(WsUtil.TEST_USER)==0; - + //TODO UNCOMMENT THIS FOR RELEASE logger.trace("Is "+WsUtil.TEST_USER+" test user? "+isTestUser); - + if(isTestUser){ logger.error("workspace session is expired! username is: "+WsUtil.TEST_USER); return true; //is TEST_USER, session is expired } logger.trace("workspace session is valid! current username is: "+userUsername); - + return false; - + } - + public static Workspace getWorkspace(final HttpSession httpSession) throws InternalErrorException, HomeNotFoundException, WorkspaceFolderNotFoundException { - + logger.trace("Get Workspace"); final ASLSession session = getAslSession(httpSession); logger.trace("ASLSession scope: "+session.getScope() + " username: "+session.getUsername()); ScopeProvider.instance.set(session.getScope()); logger.trace("Scope provider instancied"); - + Workspace workspace = HomeLibrary.getUserWorkspace(session.getUsername()); /* @@ -193,7 +193,7 @@ public class WsUtil { mcLoader.start(); } if (session.getAttribute(WORKSPACE_EVENT_COLLECTOR_ATTRIBUTE) == null){ - + logger.trace("Initializing the event collector"); @@ -203,18 +203,19 @@ public class WsUtil { session.setAttribute(WORKSPACE_EVENT_COLLECTOR_ATTRIBUTE, eventCollector); } */ - + + /* if (session.getAttribute(WORKSPACEBUILDER_ATTRIBUTE) == null) { logger.trace("Initializing the workspace area builder"); - + GWTWorkspaceBuilder builder = new GWTWorkspaceBuilder(); - + //ADDED 03/09/2013 builder.setUserLogged(new InfoContactModel(session.getUsername(), session.getUsername(), session.getUserFullName(), false)); - + session.setAttribute(WORKSPACEBUILDER_ATTRIBUTE, builder); - } + }*/ return workspace; @@ -248,14 +249,23 @@ public class WsUtil { public static GWTWorkspaceBuilder getGWTWorkspaceBuilder(HttpSession httpSession) { ASLSession session = getAslSession(httpSession); - return (GWTWorkspaceBuilder) session.getAttribute(WsUtil.WORKSPACEBUILDER_ATTRIBUTE); + GWTWorkspaceBuilder builder = (GWTWorkspaceBuilder) session.getAttribute(WORKSPACEBUILDER_ATTRIBUTE); + if (builder == null){ + logger.info("Initializing the workspace area builder"); + builder = new GWTWorkspaceBuilder(); + //ADDED 03/09/2013 + builder.setUserLogged(new InfoContactModel(session.getUsername(), session.getUsername(), session.getUserFullName(), false)); + session.setAttribute(WORKSPACEBUILDER_ATTRIBUTE, builder); + } + + return builder; } - + public static NotificationsManager getNotificationManager(ASLSession session) { - + NotificationsManager notifMng = (NotificationsManager) session.getAttribute(NOTIFICATION_MANAGER); - + if (notifMng == null) { try{ logger.trace("Create new NotificationsManager for user: "+session.getUsername()); @@ -266,62 +276,62 @@ public class WsUtil { logger.error("An error occurred instancing ApplicationNotificationsManager for user: "+session.getUsername(),e); } } - + return notifMng; } - + public static NotificationsProducer getNotificationProducer(ASLSession session) { - + NotificationsProducer notifProducer = (NotificationsProducer) session.getAttribute(NOTIFICATION_PRODUCER); - + if (notifProducer == null) { logger.trace("Create new Notification Producer for user: "+session.getUsername()); notifProducer = new NotificationsProducer(session); session.setAttribute(NOTIFICATION_PRODUCER, notifProducer); } - + return notifProducer; } public static String getUserId(HttpSession httpSession) { - + ASLSession session = getAslSession(httpSession); - + return session.getUsername(); } - + public static boolean isVRE(ASLSession session){ - + String currentScope = session.getScopeName(); - + int slashCount = StringUtils.countMatches(currentScope, "/"); - + if(slashCount < 3){ logger.trace("currentScope is not VRE"); return false; } - + logger.trace("currentScope is VRE"); return true; - + } - + public static ScopeUtilFilter getScopeUtilFilter(HttpSession httpSession){ - + ASLSession session = getAslSession(httpSession); ScopeUtilFilter scopeUtil = null; try{ scopeUtil = (ScopeUtilFilter) session.getAttribute(WsUtil.WORKSPACE_SCOPE_UTIL); - + if(scopeUtil==null){ scopeUtil = new ScopeUtilFilter(session.getScopeName(),true); - + } }catch (Exception e) { logger.error("an error occurred in getscope filter "+e); } - + return scopeUtil; } @@ -331,17 +341,17 @@ public class WsUtil { * @return */ public static UrlShortener getUrlShortener(HttpSession httpSession) { - + ASLSession session = getAslSession(httpSession); UrlShortener shortener = null; try{ shortener = (UrlShortener) session.getAttribute(WsUtil.URL_SHORTENER_SERVICE); - + if(shortener==null){ shortener = new UrlShortener(session.getScope().toString()); session.setAttribute(URL_SHORTENER_SERVICE, shortener); } - + }catch (Exception e) { logger.error("an error occurred in instancing url shortener ",e); } @@ -355,18 +365,18 @@ public class WsUtil { * @return */ public static UriResolverReaderParameterForResolverIndex getUriResolver(HttpSession httpSession) { - + ASLSession session = getAslSession(httpSession); - + UriResolverReaderParameterForResolverIndex uriResolver = null; try{ uriResolver = (UriResolverReaderParameterForResolverIndex) session.getAttribute(WsUtil.URI_RESOLVER_SERVICE); - + if(uriResolver==null){ uriResolver = new UriResolverReaderParameterForResolverIndex(session.getScope().toString(),RESOLVER_TYPE.SMP_ID); session.setAttribute(URI_RESOLVER_SERVICE, uriResolver); } - + }catch (Exception e) { logger.error("an error occurred instancing URI Resolver ",e); } @@ -380,16 +390,16 @@ public class WsUtil { */ public static PropertySpecialFolderReader getPropertySpecialFolderReader(HttpSession httpSession, String pathProperty) { ASLSession session = getAslSession(httpSession); - + PropertySpecialFolderReader psFolderReader = null; try{ psFolderReader = (PropertySpecialFolderReader) session.getAttribute(WsUtil.PROPERTY_SPECIAL_FOLDER); - + if(psFolderReader==null){ psFolderReader = new PropertySpecialFolderReader(pathProperty); session.setAttribute(PROPERTY_SPECIAL_FOLDER, psFolderReader); } - + }catch (Exception e) { logger.error("an error occurred instancing PropertySpecialFolderReader ",e); }