use of org.gluu.oxtrust.model.scim2.Address in project oxTrust by GluuFederation.
the class CopyUtils2 method copy.
/**
* Copy data from GluuCustomPerson object to ScimPerson object "Reda"
*
* @param source
* @param destination
* @return
* @throws Exception
*/
public User copy(GluuCustomPerson source, User destination) throws Exception {
if (source == null) {
return null;
}
if (destination == null) {
log.trace(" creating a new GluuCustomPerson instant ");
destination = new User();
}
log.trace(" setting ID ");
if (source.getInum() != null) {
destination.setId(source.getInum());
}
log.trace(" setting userName ");
if (source.getUid() != null) {
destination.setUserName(source.getUid());
}
log.trace(" setting ExternalID ");
if (source.getAttribute("oxTrustExternalId") != null) {
destination.setExternalId(source.getAttribute("oxTrustExternalId"));
}
log.trace(" setting givenname ");
if (source.getGivenName() != null) {
org.gluu.oxtrust.model.scim2.Name name = new org.gluu.oxtrust.model.scim2.Name();
name.setGivenName(source.getGivenName());
if (source.getSurname() != null)
name.setFamilyName(source.getSurname());
if (source.getAttribute("middleName") != null)
name.setMiddleName(source.getAttribute("middleName"));
/*
if (source.getAttribute("oxTrustMiddleName") != null)
name.setMiddleName(source.getAttribute("oxTrustMiddleName"));
*/
if (source.getAttribute("oxTrusthonorificPrefix") != null)
name.setHonorificPrefix(source.getAttribute("oxTrusthonorificPrefix"));
if (source.getAttribute("oxTrusthonorificSuffix") != null)
name.setHonorificSuffix(source.getAttribute("oxTrusthonorificSuffix"));
name.setFormatted(name.getFormatted());
destination.setName(name);
}
log.trace(" getting displayname ");
if (source.getDisplayName() != null) {
destination.setDisplayName(source.getDisplayName());
}
log.trace(" getting nickname ");
/*
if (source.getAttribute("oxTrustNickName") != null) {
destination.setNickName(source.getAttribute("oxTrustNickName"));
}
*/
if (source.getAttribute("nickname") != null) {
destination.setNickName(source.getAttribute("nickname"));
}
log.trace(" getting profileURL ");
if (source.getAttribute("oxTrustProfileURL") != null) {
destination.setProfileUrl(source.getAttribute("oxTrustProfileURL"));
}
log.trace(" getting emails ");
// source = Utils.syncEmailReverse(source, true);
if (source.getAttributeArray("oxTrustEmail") != null) {
/*
String[] emailArray = source.getAttributeArray("oxTrustEmail");
List<Email> emails = new ArrayList<Email>();
for (String emailStr : emailArray) {
Email email = mapper.readValue(emailStr, Email.class);
emails.add(email);
}
// List<Email> listOfEmails = mapper.readValue(source.getAttribute("oxTrustEmail"), new TypeReference<List<Email>>(){});
// destination.setEmails(listOfEmails);
*/
List<Email> emails = getAttributeListValue(source, Email.class, "oxTrustEmail");
destination.setEmails(emails);
}
log.trace(" getting addresses ");
// getting addresses
if (source.getAttribute("oxTrustAddresses") != null) {
List<Address> addresses = getAttributeListValue(source, Address.class, "oxTrustAddresses");
destination.setAddresses(addresses);
}
log.trace(" setting phoneNumber ");
// getting user's PhoneNumber
if (source.getAttribute("oxTrustPhoneValue") != null) {
List<PhoneNumber> phoneNumbers = getAttributeListValue(source, PhoneNumber.class, "oxTrustPhoneValue");
destination.setPhoneNumbers(phoneNumbers);
}
if ((source.getOxPPID()) != null) {
destination.setPairwiseIdentitifers(source.getOxPPID());
}
log.trace(" getting ims ");
// getting ims
if (source.getAttribute("oxTrustImsValue") != null) {
List<Im> ims = getAttributeListValue(source, Im.class, "oxTrustImsValue");
destination.setIms(ims);
}
log.trace(" setting photos ");
// getting photos
if (source.getAttribute("oxTrustPhotos") != null) {
List<Photo> photos = getAttributeListValue(source, Photo.class, "oxTrustPhotos");
destination.setPhotos(photos);
}
log.trace(" setting userType ");
if (source.getAttribute("oxTrustUserType") != null) {
destination.setUserType(source.getAttribute("oxTrustUserType"));
}
log.trace(" setting title ");
if (source.getAttribute("oxTrustTitle") != null) {
destination.setTitle(source.getAttribute("oxTrustTitle"));
}
log.trace(" setting Locale ");
/*
if (source.getAttribute("oxTrustLocale") != null) {
destination.setLocale(source.getAttribute("oxTrustLocale"));
}
*/
if (source.getAttribute("locale") != null) {
destination.setLocale(source.getAttribute("locale"));
}
log.trace(" setting preferredLanguage ");
if (source.getPreferredLanguage() != null) {
destination.setPreferredLanguage(source.getPreferredLanguage());
}
log.trace(" setting timeZone ");
if (source.getTimezone() != null) {
destination.setTimezone(source.getTimezone());
}
log.trace(" setting active ");
if (source.getAttribute("oxTrustActive") != null) {
destination.setActive(Boolean.parseBoolean(source.getAttribute("oxTrustActive")));
}
log.trace(" setting password ");
destination.setPassword("Hidden for Privacy Reasons");
// getting user groups
log.trace(" setting groups ");
if (source.getMemberOf() != null) {
List<String> listOfGroups = source.getMemberOf();
List<GroupRef> groupRefList = new ArrayList<GroupRef>();
for (String groupDN : listOfGroups) {
GluuGroup gluuGroup = groupService.getGroupByDn(groupDN);
GroupRef groupRef = new GroupRef();
groupRef.setDisplay(gluuGroup.getDisplayName());
groupRef.setValue(gluuGroup.getInum());
String reference = appConfiguration.getBaseEndpoint() + "/scim/v2/Groups/" + gluuGroup.getInum();
groupRef.setReference(reference);
groupRefList.add(groupRef);
}
destination.setGroups(groupRefList);
}
// getting roles
if (source.getAttribute("oxTrustRole") != null) {
List<Role> roles = getAttributeListValue(source, Role.class, "oxTrustRole");
destination.setRoles(roles);
}
log.trace(" getting entitlements ");
// getting entitlements
if (source.getAttribute("oxTrustEntitlements") != null) {
List<Entitlement> entitlements = getAttributeListValue(source, Entitlement.class, "oxTrustEntitlements");
destination.setEntitlements(entitlements);
}
// getting x509Certificates
log.trace(" setting certs ");
if (source.getAttribute("oxTrustx509Certificate") != null) {
List<X509Certificate> x509Certificates = getAttributeListValue(source, X509Certificate.class, "oxTrustx509Certificate");
destination.setX509Certificates(x509Certificates);
}
log.trace(" setting extensions ");
// List<GluuAttribute> scimCustomAttributes = attributeService.getSCIMRelatedAttributesImpl(attributeService.getCustomAttributes());
List<GluuAttribute> scimCustomAttributes = attributeService.getSCIMRelatedAttributes();
if (scimCustomAttributes != null && !scimCustomAttributes.isEmpty()) {
Map<String, Extension> extensionMap = new HashMap<String, Extension>();
Extension.Builder extensionBuilder = new Extension.Builder(Constants.USER_EXT_SCHEMA_ID);
boolean hasExtension = false;
outer: for (GluuCustomAttribute customAttribute : source.getCustomAttributes()) {
for (GluuAttribute scimCustomAttribute : scimCustomAttributes) {
if (customAttribute.getName().equals(scimCustomAttribute.getName())) {
hasExtension = true;
GluuAttributeDataType scimCustomAttributeDataType = scimCustomAttribute.getDataType();
if ((scimCustomAttribute.getOxMultivaluedAttribute() != null) && scimCustomAttribute.getOxMultivaluedAttribute().equals(OxMultivalued.TRUE)) {
extensionBuilder.setFieldAsList(customAttribute.getName(), Arrays.asList(customAttribute.getValues()));
} else {
if (scimCustomAttributeDataType.equals(GluuAttributeDataType.STRING) || scimCustomAttributeDataType.equals(GluuAttributeDataType.PHOTO)) {
String value = ExtensionFieldType.STRING.fromString(customAttribute.getValue());
extensionBuilder.setField(customAttribute.getName(), value);
} else if (scimCustomAttributeDataType.equals(GluuAttributeDataType.DATE)) {
Date value = ExtensionFieldType.DATE_TIME.fromString(customAttribute.getValue());
extensionBuilder.setField(customAttribute.getName(), value);
} else if (scimCustomAttributeDataType.equals(GluuAttributeDataType.NUMERIC)) {
BigDecimal value = ExtensionFieldType.DECIMAL.fromString(customAttribute.getValue());
extensionBuilder.setField(customAttribute.getName(), value);
}
}
continue outer;
}
}
}
if (hasExtension) {
extensionMap.put(Constants.USER_EXT_SCHEMA_ID, extensionBuilder.build());
destination.getSchemas().add(Constants.USER_EXT_SCHEMA_ID);
destination.setExtensions(extensionMap);
}
}
log.trace(" getting meta ");
Meta meta = (destination.getMeta() != null) ? destination.getMeta() : new Meta();
if (source.getAttribute("oxTrustMetaVersion") != null) {
meta.setVersion(source.getAttribute("oxTrustMetaVersion"));
}
String location = source.getAttribute("oxTrustMetaLocation");
if (location != null && !location.isEmpty()) {
if (!location.startsWith("https://") && !location.startsWith("http://")) {
location = appConfiguration.getBaseEndpoint() + location;
}
} else {
location = appConfiguration.getBaseEndpoint() + "/scim/v2/Users/" + source.getInum();
}
meta.setLocation(location);
if (source.getAttribute("oxTrustMetaCreated") != null && !source.getAttribute("oxTrustMetaCreated").isEmpty()) {
try {
DateTime dateTimeUtc = new DateTime(source.getAttribute("oxTrustMetaCreated"), DateTimeZone.UTC);
meta.setCreated(dateTimeUtc.toDate());
} catch (Exception e) {
log.error(" Date parse exception (NEW format), continuing...", e);
// For backward compatibility
try {
meta.setCreated(new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy").parse(source.getAttribute("oxTrustMetaCreated")));
} catch (Exception ex) {
log.error(" Date parse exception (OLD format)", ex);
}
}
}
if (source.getAttribute("oxTrustMetaLastModified") != null && !source.getAttribute("oxTrustMetaLastModified").isEmpty()) {
try {
DateTime dateTimeUtc = new DateTime(source.getAttribute("oxTrustMetaLastModified"), DateTimeZone.UTC);
meta.setLastModified(dateTimeUtc.toDate());
} catch (Exception e) {
log.error(" Date parse exception (NEW format), continuing...", e);
// For backward compatibility
try {
meta.setLastModified(new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy").parse(source.getAttribute("oxTrustMetaLastModified")));
} catch (Exception ex) {
log.error(" Date parse exception (OLD format)", ex);
}
}
}
destination.setMeta(meta);
return destination;
}
use of org.gluu.oxtrust.model.scim2.Address in project oxTrust by GluuFederation.
the class PatchUtil method addPatch.
public GluuCustomPerson addPatch(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);
// 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) {
emails = new ArrayList<Email>();
}
emails.addAll(source.getEmails());
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) {
addresses = new ArrayList<Address>();
}
addresses.addAll(source.getAddresses());
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) {
phoneNumbers = new ArrayList<PhoneNumber>();
}
phoneNumbers.addAll(source.getPhoneNumbers());
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 = new ArrayList<Im>();
}
ims.addAll(source.getIms());
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 = new ArrayList<Photo>();
}
photos.addAll(source.getPhotos());
copyUtils2.setAttributeListValue(destination, photos, "oxTrustPhotos");
}
// getting user groups
log.trace(" setting groups ");
if (source.getGroups() != null && source.getGroups().size() > 0) {
List<String> groupsList = destination.getMemberOf();
List<GroupRef> listGroups = source.getGroups();
for (GroupRef group : listGroups) {
String groupToAdd = groupService.getDnForGroup(group.getValue());
if (groupToAdd != null || !groupToAdd.trim().equalsIgnoreCase("")) {
groupsList.add(groupToAdd);
}
}
destination.setMemberOf(groupsList);
}
// 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 = new ArrayList<Role>();
}
roles.addAll(source.getRoles());
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 = new ArrayList<Entitlement>();
}
entitlements.addAll(source.getEntitlements());
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) {
X509Certificates = new ArrayList<X509Certificate>();
}
X509Certificates.addAll(source.getX509Certificates());
copyUtils2.setAttributeListValue(destination, X509Certificates, "oxTrustx509Certificate");
}
log.trace(" setting extensions ");
if (source.getExtensions() != null && (source.getExtensions().size() > 0)) {
Map<String, Extension> destMap = destination.fetchExtensions();
if (destMap == null) {
destMap = new HashMap<String, Extension>();
}
destMap.putAll(source.getExtensions());
destination.setExtensions(destMap);
}
if (source.isActive() != null) {
copyUtils2.setGluuStatus(source, destination);
}
return destination;
}
use of org.gluu.oxtrust.model.scim2.Address in project oxTrust by GluuFederation.
the class PatchUtil method removePatch.
public GluuCustomPerson removePatch(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) {
destination.setGivenName("");
}
log.trace(" setting famillyname ");
if (source.getName().getFamilyName() != null) {
destination.setSurname("");
}
log.trace(" setting middlename ");
if (source.getName().getMiddleName() != null) {
// destination.setAttribute("oxTrustMiddleName",
// source.getName().getMiddleName());
destination.setAttribute("middleName", "");
}
log.trace(" setting honor");
if (source.getName().getHonorificPrefix() != null) {
destination.setAttribute("oxTrusthonorificPrefix", "");
}
if (source.getName().getHonorificSuffix() != null) {
destination.setAttribute("oxTrusthonorificSuffix", "");
}
}
log.trace(" setting displayname ");
if (source.getDisplayName() != null) {
destination.setDisplayName(source.getDisplayName());
}
log.trace(" setting externalID ");
if (source.getExternalId() != null) {
destination.setAttribute("oxTrustExternalId", source.getExternalId());
}
log.trace(" setting nickname ");
if (source.getNickName() != null) {
// destination.setAttribute("oxTrustNickName",
// source.getNickName());
destination.setAttribute("nickname", "");
}
log.trace(" setting profileURL ");
if (source.getProfileUrl() != null) {
destination.setAttribute("oxTrustProfileURL", "");
}
// 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 && emails.size() > 0) {
List<Email> newemails = source.getEmails();
Iterator<Email> emailsIt = emails.iterator();
Iterator<Email> newemailsIt = newemails.iterator();
while (emailsIt.hasNext()) {
Email email = emailsIt.next();
if (email != null && email.getType() != null) {
while (newemailsIt.hasNext()) {
Email newEmail = newemailsIt.next();
if (newEmail.getType() != null && newEmail.getType().getValue().equals(email.getType().getValue())) {
emailsIt.remove();
}
}
}
}
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 && addresses.size() > 0) {
List<Address> newaddresses = source.getAddresses();
Iterator<Address> addressesIt = addresses.iterator();
Iterator<Address> newaddressesIt = newaddresses.iterator();
while (addressesIt.hasNext()) {
Address address = addressesIt.next();
if (address != null && address.getType() != null) {
while (newaddressesIt.hasNext()) {
Address newaddress = newaddressesIt.next();
if (newaddress.getType().getValue() != null && newaddress.getType().getValue().equals(address.getType().getValue())) {
addressesIt.remove();
}
}
}
}
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 && phoneNumbers.size() > 0) {
List<PhoneNumber> newPhoneNumbers = source.getPhoneNumbers();
Iterator<PhoneNumber> phoneNumbersIt = phoneNumbers.iterator();
Iterator<PhoneNumber> newPhoneNumbersIt = newPhoneNumbers.iterator();
while (phoneNumbersIt.hasNext()) {
PhoneNumber phoneNumber = phoneNumbersIt.next();
while (newPhoneNumbersIt.hasNext()) {
PhoneNumber newPhoneNumber = newPhoneNumbersIt.next();
if (newPhoneNumber.getType() != null && newPhoneNumber.getType().getValue().equals(phoneNumber.getType().getValue())) {
phoneNumbersIt.remove();
}
}
}
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();
Iterator<Im> imsIt = ims.iterator();
Iterator<Im> newimssIt = newims.iterator();
while (imsIt.hasNext()) {
Im im = imsIt.next();
if (im != null && im.getType() != null) {
while (newimssIt.hasNext()) {
Im newIm = newimssIt.next();
if (newIm.getType() != null && newIm.getType().getValue().equals(im.getType().getValue())) {
imsIt.remove();
}
}
}
}
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();
Iterator<Photo> photosIt = photos.iterator();
Iterator<Photo> newphotosIt = newPhotos.iterator();
while (photosIt.hasNext()) {
Photo old = photosIt.next();
if (old != null && old.getType() != null) {
while (newphotosIt.hasNext()) {
Photo newelement = newphotosIt.next();
if (newelement.getType() != null && newelement.getType().getValue().equals(old.getType().getValue())) {
photosIt.remove();
}
}
}
}
copyUtils2.setAttributeListValue(destination, photos, "oxTrustPhotos");
}
}
if (source.getUserType() != null) {
destination.setAttribute("oxTrustUserType", "");
}
if (source.getTitle() != null) {
destination.setAttribute("oxTrustTitle", "");
}
if (source.getPreferredLanguage() != null) {
destination.setPreferredLanguage("");
}
if (source.getLocale() != null) {
// destination.setAttribute("oxTrustLocale", source.getLocale());
destination.setAttribute("locale", "");
}
if (source.getTimezone() != null) {
destination.setTimezone("");
}
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<String> members = destination.getMemberOf();
if (members != null || members.size() > 0) {
members.removeAll(source.getGroups());
}
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();
Iterator<Role> oldsIt = roles.iterator();
Iterator<Role> newsIt = newRoles.iterator();
while (oldsIt.hasNext()) {
Role old = oldsIt.next();
if (old != null && old.getType() != null) {
while (newsIt.hasNext()) {
Role newelement = newsIt.next();
if (newelement.getType() != null && newelement.getType().getValue().equals(old.getType().getValue())) {
oldsIt.remove();
}
}
}
}
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();
Iterator<Entitlement> oldsIt = entitlements.iterator();
Iterator<Entitlement> newsIt = newEentitlements.iterator();
while (oldsIt.hasNext()) {
Entitlement old = oldsIt.next();
if (old != null && old.getType() != null) {
while (newsIt.hasNext()) {
Entitlement newelement = newsIt.next();
if (newelement.getType() != null && newelement.getType().getValue().equals(old.getType().getValue())) {
oldsIt.remove();
}
}
}
}
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 && X509Certificates.size() > 0) {
List<X509Certificate> newX509Certificates = source.getX509Certificates();
Iterator<X509Certificate> oldsIt = X509Certificates.iterator();
Iterator<X509Certificate> newsIt = newX509Certificates.iterator();
while (oldsIt.hasNext()) {
X509Certificate old = oldsIt.next();
if (old != null && old.getType() != null) {
while (newsIt.hasNext()) {
X509Certificate newelement = newsIt.next();
if (newelement.getType() != null && newelement.getType().getValue().equals(old.getType().getValue())) {
oldsIt.remove();
}
}
}
}
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;
}
use of org.gluu.oxtrust.model.scim2.Address in project oxTrust by GluuFederation.
the class UserExtensionsTest method createUserObject.
private User createUserObject() throws Exception {
User user = new User();
user.setUserName("userjson.add.username");
String testUserName = user.getUserName() + " (" + System.currentTimeMillis() + ")";
user.setUserName(testUserName);
user.setPassword("test");
user.setDisplayName("Scim2DisplayName");
Email email = new Email();
email.setValue("scim@gluu.org");
email.setType(org.gluu.oxtrust.model.scim2.Email.Type.WORK);
email.setPrimary(true);
user.getEmails().add(email);
PhoneNumber phone = new PhoneNumber();
phone.setType(org.gluu.oxtrust.model.scim2.PhoneNumber.Type.WORK);
phone.setValue("654-6509-263");
user.getPhoneNumbers().add(phone);
org.gluu.oxtrust.model.scim2.Address address = new org.gluu.oxtrust.model.scim2.Address();
address.setCountry("US");
address.setStreetAddress("random street");
address.setLocality("Austin");
address.setPostalCode("65672");
address.setRegion("TX");
address.setPrimary(true);
address.setType(org.gluu.oxtrust.model.scim2.Address.Type.WORK);
address.setFormatted(address.getStreetAddress() + " " + address.getLocality() + " " + address.getPostalCode() + " " + address.getRegion() + " " + address.getCountry());
user.getAddresses().add(address);
user.setPreferredLanguage("US_en");
org.gluu.oxtrust.model.scim2.Name name = new org.gluu.oxtrust.model.scim2.Name();
name.setFamilyName("SCIM");
name.setGivenName("SCIM");
user.setName(name);
// User Extensions
Extension.Builder extensionBuilder = new Extension.Builder(Constants.USER_EXT_SCHEMA_ID);
extensionBuilder.setField("scimCustomFirst", "customFirstValue");
// extensionBuilder.setFieldAsList("scimCustomSecond", Arrays.asList(new
// String[]{"2016-02-23T03:35:22Z", "2016-02-24T01:52:05Z"}));
extensionBuilder.setFieldAsList("scimCustomSecond", Arrays.asList(new Date[] { (new DateTime("1969-01-02")).toDate(), (new DateTime("2016-02-27")).toDate() }));
extensionBuilder.setField("scimCustomThird", new BigDecimal(3000));
user.addExtension(extensionBuilder.build());
return user;
}
use of org.gluu.oxtrust.model.scim2.Address in project ORCID-Source by ORCID.
the class RecordTest method testViewRecordFromPublicAPI.
@Test
public void testViewRecordFromPublicAPI() {
ClientResponse response = publicV2_1ApiClient.viewRecordXML(getUser1OrcidId());
assertNotNull(response);
assertEquals("invalid " + response, 200, response.getStatus());
Record record = response.getEntity(Record.class);
assertNotNull(record);
assertNotNull(record.getOrcidIdentifier());
assertEquals(getUser1OrcidId(), record.getOrcidIdentifier().getPath());
// Check the visibility of every activity that exists
if (record.getActivitiesSummary() != null) {
if (record.getActivitiesSummary() != null) {
// Educations
if (record.getActivitiesSummary().getEducations() != null) {
Educations e = record.getActivitiesSummary().getEducations();
if (e.getSummaries() != null) {
for (EducationSummary s : e.getSummaries()) {
assertNotNull(s.getSource());
assertEquals(Visibility.PUBLIC, s.getVisibility());
}
}
}
// Employments
if (record.getActivitiesSummary().getEmployments() != null) {
Employments e = record.getActivitiesSummary().getEmployments();
if (e.getSummaries() != null) {
for (EmploymentSummary s : e.getSummaries()) {
assertNotNull(s.getSource());
assertEquals(Visibility.PUBLIC, s.getVisibility());
}
}
}
// Fundings
if (record.getActivitiesSummary().getFundings() != null) {
Fundings f = record.getActivitiesSummary().getFundings();
List<FundingGroup> groups = f.getFundingGroup();
if (groups != null) {
for (FundingGroup fGroup : groups) {
List<FundingSummary> summaries = fGroup.getFundingSummary();
if (summaries != null) {
for (FundingSummary s : summaries) {
assertNotNull(s.getSource());
assertEquals(Visibility.PUBLIC, s.getVisibility());
}
}
}
}
}
// PeerReviews
if (record.getActivitiesSummary().getPeerReviews() != null) {
PeerReviews p = record.getActivitiesSummary().getPeerReviews();
List<PeerReviewGroup> groups = p.getPeerReviewGroup();
if (groups != null) {
for (PeerReviewGroup pGroup : groups) {
List<PeerReviewSummary> summaries = pGroup.getPeerReviewSummary();
if (summaries != null) {
for (PeerReviewSummary s : summaries) {
assertNotNull(s.getSource());
assertEquals(Visibility.PUBLIC, s.getVisibility());
}
}
}
}
}
// Works
if (record.getActivitiesSummary().getWorks() != null) {
Works w = record.getActivitiesSummary().getWorks();
List<WorkGroup> groups = w.getWorkGroup();
if (groups != null) {
for (WorkGroup wGroup : groups) {
List<WorkSummary> summaries = wGroup.getWorkSummary();
if (summaries != null) {
for (WorkSummary s : summaries) {
assertNotNull(s.getSource());
assertEquals(Visibility.PUBLIC, s.getVisibility());
}
}
}
}
}
}
}
// Check the visibility of every biography elements that exists
if (record.getPerson() != null) {
// Address
if (record.getPerson().getAddresses() != null) {
Addresses addresses = record.getPerson().getAddresses();
List<Address> list = addresses.getAddress();
if (list != null) {
for (Address o : list) {
assertNotNull(o.getSource());
assertEquals(Visibility.PUBLIC, o.getVisibility());
}
}
}
// Biography
if (record.getPerson().getBiography() != null) {
Biography b = record.getPerson().getBiography();
if (b != null) {
assertNotNull(b.getVisibility());
assertEquals(Visibility.PUBLIC, b.getVisibility());
}
}
// Emails
if (record.getPerson().getEmails() != null) {
Emails emails = record.getPerson().getEmails();
List<Email> list = emails.getEmails();
if (list != null) {
for (Email e : list) {
assertNotNull(e.getVisibility());
assertEquals(Visibility.PUBLIC, e.getVisibility());
}
}
}
// External identifiers
if (record.getPerson().getExternalIdentifiers() != null) {
PersonExternalIdentifiers extIds = record.getPerson().getExternalIdentifiers();
List<PersonExternalIdentifier> list = extIds.getExternalIdentifiers();
if (list != null) {
for (PersonExternalIdentifier e : list) {
assertEquals(Visibility.PUBLIC, e.getVisibility());
}
}
}
// Keywords
if (record.getPerson().getKeywords() != null) {
Keywords keywords = record.getPerson().getKeywords();
List<Keyword> list = keywords.getKeywords();
if (list != null) {
for (Keyword e : list) {
assertEquals(Visibility.PUBLIC, e.getVisibility());
}
}
}
// Name
if (record.getPerson().getName() != null) {
Name name = record.getPerson().getName();
assertEquals(Visibility.PUBLIC, name.getVisibility());
}
// Other names
if (record.getPerson().getOtherNames() != null) {
OtherNames otherNames = record.getPerson().getOtherNames();
List<OtherName> list = otherNames.getOtherNames();
if (list != null) {
for (OtherName e : list) {
assertEquals(Visibility.PUBLIC, e.getVisibility());
}
}
}
// Researcher urls
if (record.getPerson().getResearcherUrls() != null) {
ResearcherUrls rUrls = record.getPerson().getResearcherUrls();
List<ResearcherUrl> list = rUrls.getResearcherUrls();
if (list != null) {
for (ResearcherUrl e : list) {
assertEquals(Visibility.PUBLIC, e.getVisibility());
}
}
}
}
}
Aggregations