added methods for reading custom attributes for USER class

git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/vo-management/usermanagement-core@129554 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Massimiliano Assante 2016-06-28 15:00:26 +00:00
parent 3232afcb6e
commit 2a4704cb3d
4 changed files with 35 additions and 14 deletions

View File

@ -373,6 +373,14 @@ public interface UserManager {
boolean updateContactInformation(String screenName, String mySpacesn, boolean updateContactInformation(String screenName, String mySpacesn,
String twittersn, String facebooksn, String skypesn, String twittersn, String facebooksn, String skypesn,
String jabbersn, String aimsn); String jabbersn, String aimsn);
/**
*
* @param userId
* @param theJob the job headline
* @return true if ok
*/
boolean updateJobTitle(long userId, String theJob);
/** /**
* *
* @param attributeKey the name of the attribute you want to read its value * @param attributeKey the name of the attribute you want to read its value

View File

@ -28,9 +28,6 @@ import org.slf4j.LoggerFactory;
import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.util.PropsKeys;
import com.liferay.portal.kernel.util.PropsUtil;
import com.liferay.portal.model.Company;
import com.liferay.portal.model.Group; import com.liferay.portal.model.Group;
import com.liferay.portal.model.GroupConstants; import com.liferay.portal.model.GroupConstants;
import com.liferay.portal.model.Role; import com.liferay.portal.model.Role;
@ -39,7 +36,6 @@ import com.liferay.portal.security.auth.PrincipalThreadLocal;
import com.liferay.portal.security.permission.PermissionChecker; import com.liferay.portal.security.permission.PermissionChecker;
import com.liferay.portal.security.permission.PermissionCheckerFactoryUtil; import com.liferay.portal.security.permission.PermissionCheckerFactoryUtil;
import com.liferay.portal.security.permission.PermissionThreadLocal; import com.liferay.portal.security.permission.PermissionThreadLocal;
import com.liferay.portal.service.CompanyLocalServiceUtil;
import com.liferay.portal.service.GroupLocalServiceUtil; import com.liferay.portal.service.GroupLocalServiceUtil;
import com.liferay.portal.service.LayoutSetLocalServiceUtil; import com.liferay.portal.service.LayoutSetLocalServiceUtil;
import com.liferay.portal.service.RoleServiceUtil; import com.liferay.portal.service.RoleServiceUtil;

View File

@ -15,6 +15,7 @@ import org.gcube.vomanagement.usermanagement.exception.TeamRetrievalFault;
import org.gcube.vomanagement.usermanagement.exception.UserManagementPortalException; import org.gcube.vomanagement.usermanagement.exception.UserManagementPortalException;
import org.gcube.vomanagement.usermanagement.exception.UserManagementSystemException; import org.gcube.vomanagement.usermanagement.exception.UserManagementSystemException;
import org.gcube.vomanagement.usermanagement.exception.UserRetrievalFault; import org.gcube.vomanagement.usermanagement.exception.UserRetrievalFault;
import org.gcube.vomanagement.usermanagement.model.CustomAttributeKeys;
import org.gcube.vomanagement.usermanagement.model.Email; import org.gcube.vomanagement.usermanagement.model.Email;
import org.gcube.vomanagement.usermanagement.model.GCubeMembershipRequest; import org.gcube.vomanagement.usermanagement.model.GCubeMembershipRequest;
import org.gcube.vomanagement.usermanagement.model.GCubeRole; import org.gcube.vomanagement.usermanagement.model.GCubeRole;
@ -95,13 +96,18 @@ public class LiferayUserManager implements UserManager {
return null; return null;
} }
//simple user mapping //simple user mapping
private static GCubeUser mapLRUser(User u) throws PortalException, SystemException { private GCubeUser mapLRUser(User u) throws PortalException, SystemException {
if (u != null) { if (u != null) {
List<Email> emails = new ArrayList<Email>(); List<Email> emails = new ArrayList<Email>();
for (EmailAddress e : u.getEmailAddresses()) { for (EmailAddress e : u.getEmailAddresses()) {
emails.add(new Email(e.getAddress(), e.getType().toString(), e.isPrimary())); emails.add(new Email(e.getAddress(), e.getType().toString(), e.isPrimary()));
} }
String locationIndustry = "";
try {
locationIndustry = (String) readCustomAttr(u.getUserId(), CustomAttributeKeys.USER_LOCATION_INDUSTRY.getKeyName());
} catch (UserRetrievalFault e1) {
e1.printStackTrace();
}
return new GCubeUser( return new GCubeUser(
u.getUserId(), u.getUserId(),
u.getScreenName(), u.getScreenName(),
@ -114,7 +120,7 @@ public class LiferayUserManager implements UserManager {
getUserAvatarAbsoluteURL(u), getUserAvatarAbsoluteURL(u),
u.isMale(), u.isMale(),
u.getJobTitle(), u.getJobTitle(),
u.getOpenId(), locationIndustry,
emails); emails);
} }
else else
@ -133,7 +139,7 @@ public class LiferayUserManager implements UserManager {
String token = WebServerServletTokenUtil.getToken(u.getPortraitId()); String token = WebServerServletTokenUtil.getToken(u.getPortraitId());
return pictureBaseURL+u.getPortraitId()+"&img_id_token="+img_id_token+"&t="+token; return pictureBaseURL+u.getPortraitId()+"&img_id_token="+img_id_token+"&t="+token;
} }
private static GCubeMembershipRequest mapLRMembershipRequest(MembershipRequest req) throws PortalException, SystemException { private GCubeMembershipRequest mapLRMembershipRequest(MembershipRequest req) throws PortalException, SystemException {
MembershipRequestStatus requestStatus = MembershipRequestStatus.REQUEST; MembershipRequestStatus requestStatus = MembershipRequestStatus.REQUEST;
if (req.getStatusId() == 1) if (req.getStatusId() == 1)
requestStatus = MembershipRequestStatus.APPROVED; requestStatus = MembershipRequestStatus.APPROVED;
@ -333,7 +339,7 @@ public class LiferayUserManager implements UserManager {
username, username,
email, email,
0L, 0L,
location_industry, "",
locale, locale,
firstName, firstName,
middleName, middleName,
@ -364,6 +370,9 @@ public class LiferayUserManager implements UserManager {
_log.debug("User " + lastName + " has agreed to ToU"); _log.debug("User " + lastName + " has agreed to ToU");
_log.debug("User " + lastName + " updatePasswordReset & updateReminderQuery"); _log.debug("User " + lastName + " updatePasswordReset & updateReminderQuery");
//try save the location/industry
saveCustomAttr(added.getUserId(), CustomAttributeKeys.USER_LOCATION_INDUSTRY.getKeyName(), location_industry);
// try to change user's avatar // try to change user's avatar
if(portraitBytes != null){ if(portraitBytes != null){
try{ try{
@ -399,11 +408,9 @@ public class LiferayUserManager implements UserManager {
ContactLocalServiceUtil.updateContact(contact); ContactLocalServiceUtil.updateContact(contact);
return mapLRUser(added); return mapLRUser(added);
} catch (SystemException e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} catch (PortalException e) { }
e.printStackTrace();
}
return toReturn; return toReturn;
} }
@ -995,4 +1002,14 @@ public class LiferayUserManager implements UserManager {
e.printStackTrace(); e.printStackTrace();
} }
} }
@Override
public boolean updateJobTitle(long userId, String theJob) {
try {
UserLocalServiceUtil.updateJobTitle(userId, theJob);
} catch (PortalException | SystemException e) {
e.printStackTrace();
return false;
}
return true;
}
} }

View File

@ -17,7 +17,7 @@ public enum CustomAttributeKeys {
GATEWAY_SITE_NAME("Gatewayname"), GATEWAY_SITE_NAME("Gatewayname"),
GATEWAY_SITE_EMAIL_SENDER("Emailsender"), GATEWAY_SITE_EMAIL_SENDER("Emailsender"),
//User //User
USER_COMPANY_OR_INSTITUTION("company"); USER_LOCATION_INDUSTRY("industry");
private String name; private String name;