X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=inline;f=security%2Fruntime%2Forg.argeo.security.ldap%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fldap%2Fnature%2FCoworkerUserNatureMapper.java;fp=security%2Fruntime%2Forg.argeo.security.ldap%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fldap%2Fnature%2FCoworkerUserNatureMapper.java;h=761d1186cc40f8eb0979214e7d1f9c101e3049f4;hb=9ecac0dc0810a3cabf8eb75951f1b7a3c149ae94;hp=0000000000000000000000000000000000000000;hpb=86f2012012fd0e3f2fc94341836f6ab38e35d345;p=lgpl%2Fargeo-commons.git diff --git a/security/runtime/org.argeo.security.ldap/src/main/java/org/argeo/security/ldap/nature/CoworkerUserNatureMapper.java b/security/runtime/org.argeo.security.ldap/src/main/java/org/argeo/security/ldap/nature/CoworkerUserNatureMapper.java new file mode 100644 index 000000000..761d1186c --- /dev/null +++ b/security/runtime/org.argeo.security.ldap/src/main/java/org/argeo/security/ldap/nature/CoworkerUserNatureMapper.java @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2010 Mathieu Baudier + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.argeo.security.ldap.nature; + +import org.argeo.security.UserNature; +import org.argeo.security.ldap.UserNatureMapper; +import org.argeo.security.nature.CoworkerNature; +import org.springframework.ldap.core.DirContextAdapter; +import org.springframework.ldap.core.DirContextOperations; + +public class CoworkerUserNatureMapper implements UserNatureMapper { + + public String getName() { + return "coworker"; + } + + public UserNature mapUserInfoFromContext(DirContextOperations ctx) { + CoworkerNature nature = new CoworkerNature(); + nature.setMobile(ctx.getStringAttribute("mobile")); + nature.setTelephoneNumber(ctx.getStringAttribute("telephoneNumber")); + + if (nature.getMobile() == null && nature.getTelephoneNumber() == null) + return null; + else + return nature; + } + + public void mapUserInfoToContext(UserNature userInfoArg, + DirContextAdapter ctx) { + CoworkerNature nature = (CoworkerNature) userInfoArg; + if (nature.getMobile() == null || !nature.getMobile().equals("")) { + ctx.setAttributeValue("mobile", nature.getMobile()); + } + if (nature.getTelephoneNumber() == null + || !nature.getTelephoneNumber().equals("")) { + ctx.setAttributeValue("telephoneNumber", + nature.getTelephoneNumber()); + } + } + + public Boolean supports(UserNature userNature) { + return userNature instanceof CoworkerNature; + } + +}