fix for full name in user ws service. Minor fix in group ws service when gateways are retrieved

git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/vo-management/usermanagement-core@141622 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Costantino Perciante 2017-01-18 14:43:53 +00:00
parent d3005a099c
commit 3d764d1fd5
3 changed files with 28 additions and 9 deletions

View File

@ -652,7 +652,6 @@ public class LiferayWSGroupManager implements GroupManager {
// real gateways have no children as well
for (int i = 0; i < idsCandidateGateways.size(); i++) {
List<String> children = getChildren(idsCandidateGateways.get(i));
String friendlyUrl = (String) ((JSONObject)candidateGateways.get(i)).get("friendlyURL");
// check if it is not a group created by Liferay
@ -661,6 +660,7 @@ public class LiferayWSGroupManager implements GroupManager {
if(defaultGroup)
continue;
List<String> children = getChildren(idsCandidateGateways.get(i));
if(children == null || children.isEmpty())
gateways.add(mapLRGroup(((JSONObject)candidateGateways.get(i)).toJSONString()));
}

View File

@ -62,6 +62,7 @@ public class LiferayWSUserManager implements UserManager{
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_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";
private static final String GET_CONTACT_BY_USER_ID = "/contact/get-contact/contact-id/$CONTACT_ID";
// logger
@ -148,6 +149,7 @@ public class LiferayWSUserManager implements UserManager{
}
/**
* Maps the JSON user to the GCubeUser.class object
* @param json
@ -185,7 +187,7 @@ public class LiferayWSUserManager implements UserManager{
(String)userJSON.get("firstName"),
(String)userJSON.get("middleName"),
(String)userJSON.get("lastName"),
(String)userJSON.get("fullName"),
buildFullName(userJSON),
(long)userJSON.get("createDate"),
null, // skip for now TODO getUserAvatarAbsoluteURL(u)
(boolean)contactJSON.get("male"),
@ -199,6 +201,23 @@ public class LiferayWSUserManager implements UserManager{
return null;
}
/**
* From the json representing the user builds the fullname (which is missing, so firstname, lastname and middlename will be used)
* @param userJSON
* @return String representing the fullname
*/
private String buildFullName(JSONObject userJSON) {
String first = (String)userJSON.get("firstName");
String middle = (String)userJSON.get("middleName");
String last = (String)userJSON.get("lastName");
String fullname =
(first == null | first.isEmpty() ? "" : first + " ") +
(middle == null | middle.isEmpty() ? "" : middle + " ") +
(last == null | last.isEmpty() ? "" : last + " ");
logger.info("Built fullname is " + fullname);
return fullname;
}
/**
* Given the contactId value, retrieves the json object releted to this information
* @param contactId
@ -555,7 +574,6 @@ public class LiferayWSUserManager implements UserManager{
public void saveCustomAttr(long userId, String attributeKey,
Serializable value) throws UserRetrievalFault {
// TODO Auto-generated method stub
}
}

View File

@ -7,6 +7,7 @@ import org.gcube.vomanagement.usermanagement.exception.UserManagementSystemExcep
import org.gcube.vomanagement.usermanagement.exception.UserRetrievalFault;
import org.gcube.vomanagement.usermanagement.impl.ws.LiferayWSUserManager;
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
import org.junit.Before;
import org.slf4j.LoggerFactory;
@ -19,13 +20,13 @@ public class LiferayWSUserTest{
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(LiferayWSUserTest.class);
private UserManager userManager = null;
private String user = "";
private String password = ""; // Put a valid password here
private String host = "";
private String schema = "";
private int port = -1;
private String user = "jsonws.user@d4science.org";
private String password = "gcuberandom321"; // Put a valid password here
private String host = "dev2.d4science.org";
private String schema = "https";
private int port = 443;
//@Before
@Before
public void init() throws Exception{
logger.info("Init method, building LiferayWSUserManager");