From 7d215f23bf7d739a998e870c23924bf077e00bf7 Mon Sep 17 00:00:00 2001 From: Costantino Perciante Date: Thu, 19 Jan 2017 14:29:12 +0000 Subject: [PATCH] implemented the json version of the get-user-by-email git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/vo-management/usermanagement-core@141644 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../usermanagement/impl/ws/LiferayWSUserManager.java | 12 ++++++++++-- .../usermanagement/test/LiferayWSUserTest.java | 8 ++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gcube/vomanagement/usermanagement/impl/ws/LiferayWSUserManager.java b/src/main/java/org/gcube/vomanagement/usermanagement/impl/ws/LiferayWSUserManager.java index 9bef28c..da0fc0e 100644 --- a/src/main/java/org/gcube/vomanagement/usermanagement/impl/ws/LiferayWSUserManager.java +++ b/src/main/java/org/gcube/vomanagement/usermanagement/impl/ws/LiferayWSUserManager.java @@ -60,6 +60,7 @@ public class LiferayWSUserManager implements UserManager{ // get methods paths private static final String GET_COMPANY_ID = "/company/get-company-by-web-id/web-id/liferay.com"; private static final String GET_USER_BY_USERNAME = "/user/get-user-by-screen-name/company-id/$COMPANY_ID/screen-name/$USER_ID"; + private static final String GET_USER_BY_EMAIL= "/user/get-user-by-email-address/company-id/$COMPANY_ID/email-address/$EMAIL"; private static final String GET_USERS_BY_GROUP = "/user/get-group-users/group-id/$GROUP_ID"; private static final String GET_USER_CUSTOM_FIELD_BY_KEY = "/expandovalue/get-json-data/company-id/$COMPANY_ID/class-name/com.liferay.portal.model.User/table-name/CUSTOM_FIELDS/column-name/$CUSTOM_FIELD_KEY/class-pk/$USER_ID"; //private static final String UPDATE_USER_CUSTOM_FIELD_BY_KEY = "/expandovalue/add-value/company-id/$COMPANY_ID/class-name/com.liferay.portal.model.User/table-name/CUSTOM_FIELDS/column-name/$CUSTOM_FIELD_KEY/class-pk/$USER_ID/data/$VALUE"; @@ -300,8 +301,15 @@ public class LiferayWSUserManager implements UserManager{ @Override public GCubeUser getUserByEmail(String email) throws UserManagementSystemException, UserRetrievalFault { - // TODO Auto-generated method stub - return null; + String jsonUser = + executeHTTPGETRequest(API_BASE_URL + GET_USER_BY_EMAIL.replace("$COMPANY_ID", String.valueOf(companyId)).replace("$EMAIL", email), + credsProvider, localContext, target); + + if(jsonUser != null){ + logger.debug("Json user retrieved"); + return mapLRUser(jsonUser); + }else + return null; } @Override diff --git a/src/test/java/org/gcube/vomanagement/usermanagement/test/LiferayWSUserTest.java b/src/test/java/org/gcube/vomanagement/usermanagement/test/LiferayWSUserTest.java index 49c1bdb..18f5846 100644 --- a/src/test/java/org/gcube/vomanagement/usermanagement/test/LiferayWSUserTest.java +++ b/src/test/java/org/gcube/vomanagement/usermanagement/test/LiferayWSUserTest.java @@ -69,5 +69,13 @@ public class LiferayWSUserTest{ } + //@Test + public void getUserByEmail() throws UserRetrievalFault, UserManagementSystemException{ + + String email = "m.assante@gmail.com"; + GCubeUser user = userManager.getUserByEmail(email); + logger.debug("Retrieved custom field value " + user); + + } }