workspace-explorer/src/main/java/org/gcube/portlets/widgets/wsexplorer/server/UserUtil.java

79 lines
2.1 KiB
Java

package org.gcube.portlets.widgets.wsexplorer.server;
import org.gcube.vomanagement.usermanagement.UserManager;
import org.gcube.vomanagement.usermanagement.exception.UserManagementSystemException;
import org.gcube.vomanagement.usermanagement.exception.UserRetrievalFault;
import org.gcube.vomanagement.usermanagement.impl.LiferayUserManager;
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
import org.slf4j.Logger;
import com.liferay.portal.service.UserLocalServiceUtil;
/**
* The Class UserUtil.
*
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
* Jun 23, 2016
*/
public class UserUtil {
private static UserManager um = new LiferayUserManager();
private static Logger logger = org.slf4j.LoggerFactory.getLogger(UserUtil.class);
/**
* Gets the user full name.
*
* @param portalLogin the portal login
* @return the user full name
*/
public static String getUserFullName(String portalLogin){
logger.trace("Get user full name for: "+portalLogin);
if(portalLogin==null)
return "";
if (isWithinPortal()) { //INTO PORTAL
GCubeUser curr = null;
try {
try {
curr = um.getUserByUsername(portalLogin);
} catch (UserManagementSystemException e) {
logger.error("An error occurred in getUserByUsername "+e,e);
} catch (UserRetrievalFault e) {
logger.error("An error occurred in getUserByUsername "+e,e);
}
}catch (Exception e) {
logger.error("An error occurred in getUserByUsername "+e,e);
logger.warn("Return portal login "+portalLogin);
return portalLogin;
}
if (curr != null)
return curr.getFullname();
}else{
logger.trace("DEVELOPEMENT MODE ON");
logger.trace("Returning portal login: "+portalLogin);
return portalLogin;
}
logger.trace("Returning portal login: "+portalLogin);
return portalLogin;
}
/**
* Checks if is within portal.
*
* @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) {
logger.trace("Is within portal: no! Development Mode ON");
return false;
}
}
}