databases-manager-portlet/src/main/java/org/gcube/portlets/user/databasesmanager/server/util/WsUtil.java

131 lines
5.3 KiB
Java

package org.gcube.portlets.user.databasesmanager.server.util;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
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.api.ScopeProvider;
import org.gcube.portal.custom.scopemanager.scopehelper.ScopeHelper;
//import org.gcube.portlets.user.workspace.client.model.InfoContactModel;
//import org.gcube.portlets.user.workspace.server.GWTWorkspaceBuilder;
//import org.gcube.portlets.user.workspace.server.notifications.NotificationsProducer;
//import org.gcube.portlets.user.workspace.server.resolver.UriResolverReaderParameter;
//import org.gcube.portlets.user.workspace.server.shortener.UrlShortener;
//import org.gcube.portlets.user.workspace.server.util.resource.PropertySpecialFolderReader;
//import org.gcube.portlets.user.workspace.server.util.scope.ScopeUtilFilter;
/**
*
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
* @Feb 18, 2014
*
*/
public class WsUtil {
public static final String USERNAME_ATTRIBUTE = ScopeHelper.USERNAME_ATTRIBUTE;
// public static final String FOLDERIMPORTER_ATTRIBUTE = "FOLDER_IMPORTER";
// public static final String METADATACONVERTER_ATTRIBUTE = "METADATA_CONVERTER";
// public static final String WORKSPACE_EVENT_COLLECTOR_ATTRIBUTE = "EVENT_COLLECTOR";
// public static final String WORKSPACEBUILDER_ATTRIBUTE = "WORKSPACEBUILDER";
// public static final String NOTIFICATION_MANAGER = "NOTIFICATION_MANAGER";
// public static final String NOTIFICATION_PRODUCER = "NOTIFICATION_PRODUCER";
// public static final String WS_RUN_IN_TEST_MODE = "WS_RUN_IN_TEST_MODE";
// public static final String WORKSPACE_SCOPE_UTIL = "WORKSPACE_SCOPE_UTIL";
// public static final String URL_SHORTENER_SERVICE = "URL_SHORTENER_SERVICE";
// 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_SCOPE = "/gcube/devsec/devVRE";
// 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 final String TEST_USER = "test.user";
// public static final String TEST_USER_FULL_NAME = "Test User";
public static final String TEST_USER = "dbmanager";
public static final String TEST_USER_FULL_NAME = "dbmanager";
protected static Logger logger = Logger.getLogger(WsUtil.class);
public static boolean withoutPortal = 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;
//UNCOMMENT THIS IN DEVELOP ENVIROMENT
// user = "francesco.mangiacrapa";
// user = "valentina.marioli";
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);
logger.warn("TEST_SCOPE: "+TEST_SCOPE);
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;
}else if(user.compareToIgnoreCase(TEST_USER)==0){
withoutPortal = true;
//*** COMMENT THIS IN PRODUCTION ENVIROMENT
// }else if(user.compareToIgnoreCase("francesco.mangiacrapa")==0){
//
// withoutPortal = true;
//*** END UNCOMMENT
}else{
withoutPortal = false;
}
return SessionManager.getInstance().getASLSession(sessionID, user);
}
}