Search in sources :

Example 6 with PhoneNumber

use of org.gluu.oxtrust.model.scim2.PhoneNumber in project oxTrust by GluuFederation.

the class PatchUtil method replacePatch.

public GluuCustomPerson replacePatch(User source, GluuCustomPerson destination) throws Exception {
    if (source == null) {
        return null;
    }
    if (destination == null) {
        log.trace(" creating a new GluuCustomPerson instant ");
        destination = new GluuCustomPerson();
    }
    log.trace(" setting schemas ");
    destination.setSchemas(source.getSchemas());
    personService.addCustomObjectClass(destination);
    log.trace(" setting userName ");
    if (source.getUserName() != null && source.getUserName().length() > 0) {
        destination.setUid(source.getUserName());
    }
    if (source.getName() != null) {
        log.trace(" setting givenname ");
        if (source.getName().getGivenName() != null && source.getName().getGivenName().length() > 0) {
            destination.setGivenName(source.getName().getGivenName());
        }
        log.trace(" setting famillyname ");
        if (source.getName().getFamilyName() != null && source.getName().getFamilyName().length() > 0) {
            destination.setSurname(source.getName().getFamilyName());
        }
        log.trace(" setting middlename ");
        if (source.getName().getMiddleName() != null && source.getName().getMiddleName().length() > 0) {
            // destination.setAttribute("oxTrustMiddleName",
            // source.getName().getMiddleName());
            destination.setAttribute("middleName", source.getName().getMiddleName());
        }
        log.trace(" setting honor");
        if (source.getName().getHonorificPrefix() != null && source.getName().getHonorificPrefix().length() > 0) {
            destination.setAttribute("oxTrusthonorificPrefix", source.getName().getHonorificPrefix());
        }
        if (source.getName().getHonorificSuffix() != null && source.getName().getHonorificSuffix().length() > 0) {
            destination.setAttribute("oxTrusthonorificSuffix", source.getName().getHonorificSuffix());
        }
    }
    log.trace(" setting displayname ");
    if (source.getDisplayName() != null && source.getDisplayName().length() > 0) {
        destination.setDisplayName(source.getDisplayName());
    }
    log.trace(" setting externalID ");
    if (source.getExternalId() != null && source.getExternalId().length() > 0) {
        destination.setAttribute("oxTrustExternalId", source.getExternalId());
    }
    log.trace(" setting nickname ");
    if (source.getNickName() != null && source.getNickName().length() > 0) {
        // destination.setAttribute("oxTrustNickName",
        // source.getNickName());
        destination.setAttribute("nickname", source.getNickName());
    }
    log.trace(" setting profileURL ");
    if (source.getProfileUrl() != null && source.getProfileUrl().length() > 0) {
        destination.setAttribute("oxTrustProfileURL", source.getProfileUrl());
    }
    // getting emails
    log.trace(" setting emails ");
    if (source.getEmails() != null && source.getEmails().size() > 0) {
        List<Email> emails = copyUtils2.getAttributeListValue(destination, Email.class, "oxTrustEmail");
        if (emails != null) {
            List<Email> newemails = source.getEmails();
            for (Email email : emails) {
                if (email != null && email.getType() != null) {
                    for (Email newEmail : newemails) {
                        if ((newEmail.getType() != null) && newEmail.getType().getValue().equals(email.getType().getValue())) {
                            emails.remove(email);
                            emails.add(newEmail);
                        }
                    }
                }
            }
            copyUtils2.setAttributeListValue(destination, emails, "oxTrustEmail");
        }
    }
    // getting addresses
    log.trace(" setting addresses ");
    if (source.getAddresses() != null && source.getAddresses().size() > 0) {
        List<Address> addresses = copyUtils2.getAttributeListValue(destination, Address.class, "oxTrustAddresses");
        if (addresses != null) {
            List<Address> newaddresses = source.getAddresses();
            for (Address address : addresses) {
                if (address != null && address.getType() != null) {
                    for (Address newAddress : newaddresses) {
                        if ((newAddress.getType() != null) && newAddress.getType().getValue().equals(address.getType().getValue())) {
                            addresses.remove(address);
                            addresses.add(newAddress);
                        }
                    }
                }
            }
            copyUtils2.setAttributeListValue(destination, addresses, "oxTrustAddresses");
        }
    }
    // getting phone numbers;
    log.trace(" setting phoneNumbers ");
    if (source.getPhoneNumbers() != null && source.getPhoneNumbers().size() > 0) {
        List<PhoneNumber> phoneNumbers = copyUtils2.getAttributeListValue(destination, PhoneNumber.class, "oxTrustPhoneValue");
        if (phoneNumbers != null) {
            List<PhoneNumber> newPhoneNumbers = source.getPhoneNumbers();
            for (PhoneNumber phoneNumber : phoneNumbers) {
                if (phoneNumber != null && phoneNumber.getType() != null) {
                    for (PhoneNumber newPhoneNumber : newPhoneNumbers) {
                        if ((newPhoneNumber.getType() != null) && (phoneNumber.getType().getValue() != null) && newPhoneNumber.getType().getValue().equals(phoneNumber.getType().getValue())) {
                            phoneNumbers.remove(phoneNumber);
                            phoneNumbers.add(newPhoneNumber);
                        }
                    }
                }
            }
            copyUtils2.setAttributeListValue(destination, phoneNumbers, "oxTrustPhoneValue");
        }
    }
    // getting ims
    log.trace(" setting ims ");
    if (source.getIms() != null && source.getIms().size() > 0) {
        List<Im> ims = copyUtils2.getAttributeListValue(destination, Im.class, "oxTrustImsValue");
        if (ims != null && ims.size() > 0) {
            List<Im> newims = source.getIms();
            for (Im im : ims) {
                if (im != null && im.getType() != null) {
                    for (Im newIm : newims) {
                        if (newIm.getType() != null && newIm.getType().getValue().equals(im.getType().getValue())) {
                            ims.remove(im);
                            ims.add(newIm);
                        }
                    }
                }
            }
            copyUtils2.setAttributeListValue(destination, ims, "oxTrustImsValue");
        }
    }
    // getting Photos
    log.trace(" setting photos ");
    if (source.getPhotos() != null && source.getPhotos().size() > 0) {
        List<Photo> photos = copyUtils2.getAttributeListValue(destination, Photo.class, "oxTrustPhotos");
        if (photos != null && photos.size() > 0) {
            List<Photo> newPhotos = source.getPhotos();
            for (Photo photo : photos) {
                if (photo != null && photo.getType() != null) {
                    for (Photo newPhoto : newPhotos) {
                        if (newPhoto.getType() != null && newPhoto.getType().getValue().equals(photo.getType().getValue())) {
                            photos.remove(photo);
                            photos.add(newPhoto);
                        }
                    }
                }
            }
            copyUtils2.setAttributeListValue(destination, photos, "oxTrustPhotos");
        }
    }
    if (source.getUserType() != null && source.getUserType().length() > 0) {
        destination.setAttribute("oxTrustUserType", source.getUserType());
    }
    if (source.getTitle() != null && source.getTitle().length() > 0) {
        destination.setAttribute("oxTrustTitle", source.getTitle());
    }
    if (source.getPreferredLanguage() != null && source.getPreferredLanguage().length() > 0) {
        destination.setPreferredLanguage(source.getPreferredLanguage());
    }
    if (source.getLocale() != null && source.getLocale().length() > 0) {
        // destination.setAttribute("oxTrustLocale", source.getLocale());
        destination.setAttribute("locale", source.getLocale());
    }
    if (source.getTimezone() != null && source.getTimezone().length() > 0) {
        destination.setTimezone(source.getTimezone());
    }
    if (source.isActive() != null) {
        destination.setAttribute("oxTrustActive", source.isActive().toString());
    }
    if (source.getPassword() != null && source.getPassword().length() > 0) {
        destination.setUserPassword(source.getPassword());
    }
    // getting user groups
    log.trace(" setting groups ");
    if (source.getGroups() != null && source.getGroups().size() > 0) {
        List<GroupRef> listGroups = source.getGroups();
        List<String> members = new ArrayList<String>();
        for (GroupRef group : listGroups) {
            members.add(groupService.getDnForGroup(group.getValue()));
        }
        destination.setMemberOf(members);
    }
    // getting roles
    log.trace(" setting roles ");
    if (source.getRoles() != null && source.getRoles().size() > 0) {
        List<Role> roles = copyUtils2.getAttributeListValue(destination, Role.class, "oxTrustRole");
        if (roles != null && roles.size() > 0) {
            List<Role> newRoles = source.getRoles();
            for (Role role : roles) {
                if (role != null && role.getType() != null) {
                    for (Role newRole : newRoles) {
                        if ((newRole.getType() != null) && newRole.getType().getValue().equals(role.getType().getValue())) {
                            roles.remove(role);
                            roles.add(newRole);
                        }
                    }
                }
            }
            copyUtils2.setAttributeListValue(destination, roles, "oxTrustRole");
        }
    }
    // getting entitlements
    log.trace(" setting entitlements ");
    if (source.getEntitlements() != null && source.getEntitlements().size() > 0) {
        List<Entitlement> entitlements = copyUtils2.getAttributeListValue(destination, Entitlement.class, "oxTrustEntitlements");
        if (entitlements != null && entitlements.size() > 0) {
            List<Entitlement> newEentitlements = source.getEntitlements();
            for (Entitlement entitlement : entitlements) {
                if (entitlement != null && entitlement.getType() != null) {
                    for (Entitlement newEntitlement : newEentitlements) {
                        if ((newEntitlement.getType() != null) && newEntitlement.getType().getValue().equals(entitlement.getType().getValue())) {
                            entitlements.remove(entitlement);
                            entitlements.add(newEntitlement);
                        }
                    }
                }
            }
            copyUtils2.setAttributeListValue(destination, entitlements, "oxTrustEntitlements");
        }
    }
    // getting x509Certificates
    log.trace(" setting certs ");
    if (source.getX509Certificates() != null && source.getX509Certificates().size() > 0) {
        List<X509Certificate> X509Certificates = copyUtils2.getAttributeListValue(destination, X509Certificate.class, "oxTrustx509Certificate");
        if (X509Certificates != null) {
            List<X509Certificate> newX509Certificates = source.getX509Certificates();
            for (X509Certificate X509Certificate : X509Certificates) {
                if (X509Certificate != null && X509Certificate.getType() != null) {
                    for (X509Certificate newX509Certificate : newX509Certificates) {
                        if ((newX509Certificate.getType() != null) && newX509Certificate.getType().getValue().equals(X509Certificate.getType().getValue())) {
                            X509Certificates.remove(X509Certificate);
                            X509Certificates.add(newX509Certificate);
                        }
                    }
                }
            }
            copyUtils2.setAttributeListValue(destination, X509Certificates, "oxTrustx509Certificate");
        }
    }
    log.trace(" setting extensions ");
    if (source.getExtensions() != null && (source.getExtensions().size() > 0)) {
        destination.setExtensions(source.getExtensions());
    }
    if (source.isActive() != null) {
        copyUtils2.setGluuStatus(source, destination);
    }
    return destination;
}
Also used : Email(org.gluu.oxtrust.model.scim2.Email) Address(org.gluu.oxtrust.model.scim2.Address) Im(org.gluu.oxtrust.model.scim2.Im) ArrayList(java.util.ArrayList) Photo(org.gluu.oxtrust.model.scim2.Photo) X509Certificate(org.gluu.oxtrust.model.scim2.X509Certificate) Role(org.gluu.oxtrust.model.scim2.Role) GluuCustomPerson(org.gluu.oxtrust.model.GluuCustomPerson) PhoneNumber(org.gluu.oxtrust.model.scim2.PhoneNumber) GroupRef(org.gluu.oxtrust.model.scim2.GroupRef) Entitlement(org.gluu.oxtrust.model.scim2.Entitlement)

Aggregations

Email (org.gluu.oxtrust.model.scim2.Email)6 PhoneNumber (org.gluu.oxtrust.model.scim2.PhoneNumber)6 Address (org.gluu.oxtrust.model.scim2.Address)5 Entitlement (org.gluu.oxtrust.model.scim2.Entitlement)5 Im (org.gluu.oxtrust.model.scim2.Im)5 Photo (org.gluu.oxtrust.model.scim2.Photo)5 Role (org.gluu.oxtrust.model.scim2.Role)5 X509Certificate (org.gluu.oxtrust.model.scim2.X509Certificate)5 GroupRef (org.gluu.oxtrust.model.scim2.GroupRef)4 ArrayList (java.util.ArrayList)3 GluuCustomPerson (org.gluu.oxtrust.model.GluuCustomPerson)3 Extension (org.gluu.oxtrust.model.scim2.Extension)3 User (org.gluu.oxtrust.model.scim2.User)3 BigDecimal (java.math.BigDecimal)2 Date (java.util.Date)2 DateTime (org.joda.time.DateTime)2 IOException (java.io.IOException)1 SimpleDateFormat (java.text.SimpleDateFormat)1 HashMap (java.util.HashMap)1 JsonGenerationException (org.codehaus.jackson.JsonGenerationException)1