X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=security%2Fruntime%2Forg.argeo.security.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fldap%2Fnature%2FCoworkerUserNatureMapper.java;h=0ea573ccbbac5549fa10924096687d1d3ced111f;hb=54ca073308e726107a5e59b50ce875ebeb43b965;hp=2ed072526d97ea65b9abebeafa1945760eec445b;hpb=baa11e2f5b077334f51f183d352e9477cc0124ff;p=lgpl%2Fargeo-commons.git diff --git a/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/ldap/nature/CoworkerUserNatureMapper.java b/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/ldap/nature/CoworkerUserNatureMapper.java index 2ed072526..0ea573ccb 100644 --- a/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/ldap/nature/CoworkerUserNatureMapper.java +++ b/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/ldap/nature/CoworkerUserNatureMapper.java @@ -9,34 +9,36 @@ import org.springframework.ldap.core.DirContextOperations; public class CoworkerUserNatureMapper implements UserNatureMapper { public UserNature mapUserInfoFromContext(DirContextOperations ctx) { - CoworkerNature basicUserInfo = new CoworkerNature(); - basicUserInfo.setDescription(ctx.getStringAttribute("description")); - basicUserInfo.setMobile(ctx.getStringAttribute("mobile")); - basicUserInfo.setTelephoneNumber(ctx - .getStringAttribute("telephoneNumber")); - basicUserInfo.setUuid(ctx.getStringAttribute("employeeNumber")); - return basicUserInfo; + CoworkerNature nature = new CoworkerNature(); + nature.setDescription(ctx.getStringAttribute("description")); + nature.setMobile(ctx.getStringAttribute("mobile")); + nature.setTelephoneNumber(ctx.getStringAttribute("telephoneNumber")); + + if (nature.getDescription() == null && nature.getMobile() == null + && nature.getTelephoneNumber() == null) + return null; + else + return nature; } public void mapUserInfoToContext(UserNature userInfoArg, DirContextAdapter ctx) { - CoworkerNature userInfo = (CoworkerNature) userInfoArg; - ctx.setAttributeValue("employeeNumber", userInfo.getUuid()); - if (userInfo.getDescription() != null) { - ctx.setAttributeValue("description", userInfo.getDescription()); + CoworkerNature nature = (CoworkerNature) userInfoArg; + if (nature.getDescription() != null) { + ctx.setAttributeValue("description", nature.getDescription()); } - if (userInfo.getMobile() == null || !userInfo.getMobile().equals("")) { - ctx.setAttributeValue("mobile", userInfo.getMobile()); + if (nature.getMobile() == null || !nature.getMobile().equals("")) { + ctx.setAttributeValue("mobile", nature.getMobile()); } - if (userInfo.getTelephoneNumber() == null - || !userInfo.getTelephoneNumber().equals("")) { - ctx.setAttributeValue("telephoneNumber", userInfo + if (nature.getTelephoneNumber() == null + || !nature.getTelephoneNumber().equals("")) { + ctx.setAttributeValue("telephoneNumber", nature .getTelephoneNumber()); } } - public Boolean supports(UserNature userInfo) { - return userInfo instanceof CoworkerNature; + public Boolean supports(UserNature userNature) { + return userNature instanceof CoworkerNature; } }