use of org.gluu.oxtrust.model.scim2.User in project camel by apache.
the class UserProducer method doCreate.
private void doCreate(Exchange exchange) {
final User in = messageToUser(exchange.getIn());
final User out = osV3Client.identity().users().create(in);
exchange.getIn().setBody(out);
}
use of org.gluu.oxtrust.model.scim2.User in project oxTrust by GluuFederation.
the class CopyUtils2 method copy.
/**
* Copy data from ScimPerson object to GluuCustomPerson object "Reda"
*
* @param source
* @param destination
* @return
* @throws Exception
*/
public GluuCustomPerson copy(User source, GluuCustomPerson destination, boolean isUpdate) throws Exception {
if (source == null || !isValidData(source, isUpdate)) {
return null;
}
if (destination == null) {
log.trace(" creating a new GluuCustomPerson instant ");
destination = new GluuCustomPerson();
}
log.trace(" setting schemas ");
destination.setSchemas(source.getSchemas());
if (isUpdate) {
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 = source.getEmails();
// StringWriter listOfEmails = new StringWriter();
// mapper.writeValue(listOfEmails, emails);
List<String> emailList = new ArrayList<String>();
for (Email email : emails) {
emailList.add(mapper.writeValueAsString(email));
}
// destination.setAttribute("oxTrustEmail", listOfEmails.toString());
destination.setAttribute("oxTrustEmail", emailList.toArray(new String[]{}));
*/
setAttributeListValue(destination, source.getEmails(), "oxTrustEmail");
}
// getting addresses
log.trace(" setting addresses ");
if (source.getAddresses() != null && source.getAddresses().size() > 0) {
setAttributeListValue(destination, source.getAddresses(), "oxTrustAddresses");
}
// getting phone numbers;
log.trace(" setting phoneNumbers ");
if (source.getPhoneNumbers() != null && source.getPhoneNumbers().size() > 0) {
setAttributeListValue(destination, source.getPhoneNumbers(), "oxTrustPhoneValue");
}
// getting ims
log.trace(" setting ims ");
if (source.getIms() != null && source.getIms().size() > 0) {
setAttributeListValue(destination, source.getIms(), "oxTrustImsValue");
}
// getting Photos
log.trace(" setting photos ");
if (source.getPhotos() != null && source.getPhotos().size() > 0) {
setAttributeListValue(destination, source.getPhotos(), "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) {
setAttributeListValue(destination, source.getRoles(), "oxTrustRole");
}
// getting entitlements
log.trace(" setting entitlements ");
if (source.getEntitlements() != null && source.getEntitlements().size() > 0) {
setAttributeListValue(destination, source.getEntitlements(), "oxTrustEntitlements");
}
// getting x509Certificates
log.trace(" setting certs ");
if (source.getX509Certificates() != null && source.getX509Certificates().size() > 0) {
setAttributeListValue(destination, source.getX509Certificates(), "oxTrustx509Certificate");
}
log.trace(" setting extensions ");
if (source.getExtensions() != null && (source.getExtensions().size() > 0)) {
destination.setExtensions(source.getExtensions());
}
/*
// getting customAttributes
log.trace("getting custom attributes");
if (source.getCustomAttributes() != null) {
log.trace("source.getCustomAttributes() != null");
log.trace("getting a list of ScimCustomAttributes");
List<CustomAttributes> customAttr = source.getCustomAttributes();
log.trace("checling every attribute in the request");
for (CustomAttributes oneAttr : customAttr) {
if (oneAttr == null) {
continue;
}
int countValues = oneAttr.getValues().size();
if (countValues == 0) {
log.trace("setting a empty attribute");
destination.setAttribute(oneAttr.getName().replaceAll(" ", ""), oneAttr.getValues().toArray(new String[0]));
} else if (countValues == 1) {
log.trace("setting a single attribute");
destination.setAttribute(oneAttr.getName().replaceAll(" ", ""), oneAttr.getValues().get(0));
} else if (countValues > 1) {
log.trace("setting a multivalued attribute");
List<String> listOfAttr = oneAttr.getValues();
String[] AttrArray = new String[listOfAttr.size()];
int i = 0;
for (String oneValue : listOfAttr) {
if (oneValue != null && oneValue.length() > 0) {
log.trace("setting a value");
AttrArray[i] = oneValue;
i++;
}
}
log.trace("setting the list of multivalued attributes");
destination.setAttribute(oneAttr.getName().replaceAll(" ", ""), AttrArray);
}
}
}
*/
// log.trace("getting meta attributes");
/*
if (source.getMeta()!=null && source.getMeta().getAttributes() != null) {
log.trace("source.getCustomAttributes() != null");
log.trace("getting a list of ScimCustomAttributes");
Set<String> customAttr = source.getMeta().getAttributes();
log.trace("checling every attribute in the request");
for (String oneAttr : customAttr) {
if (oneAttr == null) {
continue;
}
destination.setAttribute(oneAttr.replaceAll(" ", ""), "");
*/
/* NOTE : WRITE CODE FOR THIS
int countValues = oneAttr.getValues().size();
if (countValues == 0) {
log.trace("setting a empty attribute");
destination.setAttribute(oneAttr.getName().replaceAll(" ", ""), oneAttr.getValues().toArray(new String[0]));
} else if (countValues == 1) {
log.trace("setting a single attribute");
destination.setAttribute(oneAttr.getName().replaceAll(" ", ""), oneAttr.getValues().get(0));
} else if (countValues > 1) {
log.trace("setting a multivalued attribute");
List<String> listOfAttr = oneAttr.getValues();
String[] AttrArray = new String[listOfAttr.size()];
int i = 0;
for (String oneValue : listOfAttr) {
if (oneValue != null && oneValue.length() > 0) {
log.trace("setting a value");
AttrArray[i] = oneValue;
i++;
}
}
log.trace("setting the list of multivalued attributes");
destination.setAttribute(oneAttr.getName().replaceAll(" ", ""), AttrArray);
}
*/
/*
}
}
*/
} else {
try {
if (personService.getPersonByUid(source.getUserName()) != null) {
throw new DuplicateEntryException("Duplicate UID value: " + source.getUserName());
}
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("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("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 = source.getEmails();
// StringWriter listOfEmails = new StringWriter();
// mapper.writeValue(listOfEmails, emails);
List<String> emailList = new ArrayList<String>();
for (Email email : emails) {
emailList.add(mapper.writeValueAsString(email));
}
// destination.setAttribute("oxTrustEmail", listOfEmails.toString());
destination.setAttribute("oxTrustEmail", emailList.toArray(new String[]{}));
*/
setAttributeListValue(destination, source.getEmails(), "oxTrustEmail");
}
// getting addresses
log.trace(" setting addresses ");
if (source.getAddresses() != null && source.getAddresses().size() > 0) {
setAttributeListValue(destination, source.getAddresses(), "oxTrustAddresses");
}
// getting phone numbers;
log.trace(" setting phoneNumbers ");
if (source.getPhoneNumbers() != null && source.getPhoneNumbers().size() > 0) {
setAttributeListValue(destination, source.getPhoneNumbers(), "oxTrustPhoneValue");
}
// getting ims
log.trace(" setting ims ");
if (source.getIms() != null && source.getIms().size() > 0) {
setAttributeListValue(destination, source.getIms(), "oxTrustImsValue");
}
// getting Photos
log.trace(" setting photos ");
if (source.getPhotos() != null && source.getPhotos().size() > 0) {
setAttributeListValue(destination, source.getPhotos(), "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) {
setAttributeListValue(destination, source.getRoles(), "oxTrustRole");
}
// getting entitlements
log.trace(" setting entitlements ");
if (source.getEntitlements() != null && source.getEntitlements().size() > 0) {
setAttributeListValue(destination, source.getEntitlements(), "oxTrustEntitlements");
}
// getting x509Certificates
log.trace(" setting certs ");
if (source.getX509Certificates() != null && source.getX509Certificates().size() > 0) {
setAttributeListValue(destination, source.getX509Certificates(), "oxTrustx509Certificate");
}
log.trace(" setting extensions ");
if (source.getExtensions() != null && (source.getExtensions().size() > 0)) {
destination.setExtensions(source.getExtensions());
}
/*
// getting customAttributes
log.trace("getting custom attributes");
if (source.getCustomAttributes() != null && source.getCustomAttributes().size() > 0) {
log.trace("source.getCustomAttributes() != null");
log.trace("getting a list of CustomAttributes");
List<CustomAttributes> customAttr = source.getCustomAttributes();
log.trace("checling every attribute in the request");
for (CustomAttributes oneAttr : customAttr) {
if (oneAttr != null && oneAttr.getValues().size() == 1) {
log.trace("setting a single attribute");
destination.setAttribute(oneAttr.getName().replaceAll(" ", ""), oneAttr.getValues().get(0));
} else if (oneAttr != null && oneAttr.getValues().size() > 1) {
log.trace("setting a multivalued attribute");
List<String> listOfAttr = oneAttr.getValues();
String[] AttrArray = new String[listOfAttr.size()];
int i = 0;
for (String oneValue : listOfAttr) {
if (oneValue != null && oneValue.length() > 0) {
log.trace("setting a value");
AttrArray[i] = oneValue;
i++;
}
}
log.trace("setting the list of multivalued attributes");
destination.setAttribute(oneAttr.getName().replaceAll(" ", ""), AttrArray);
}
}
}
*/
} catch (DuplicateEntryException e) {
throw e;
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
setGluuStatus(source, destination);
return destination;
}
use of org.gluu.oxtrust.model.scim2.User in project oxTrust by GluuFederation.
the class SchemaTypeGroupSerializer method serialize.
@Override
public void serialize(Group group, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
log.info(" serialize() ");
try {
ObjectMapper mapper = new ObjectMapper();
mapper.disable(SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS);
JsonNode rootNode = mapper.convertValue(group, JsonNode.class);
Iterator<Map.Entry<String, JsonNode>> iterator = rootNode.getFields();
while (iterator.hasNext()) {
Map.Entry<String, JsonNode> rootNodeEntry = iterator.next();
if (rootNodeEntry.getValue() instanceof ObjectNode) {
// Definitely maybe in the near future
} else if (rootNodeEntry.getValue() instanceof ArrayNode) {
AttributeHolder arrayNodeAttributeHolder = new AttributeHolder();
arrayNodeAttributeHolder.setName(rootNodeEntry.getKey());
if (rootNodeEntry.getKey().equalsIgnoreCase("members")) {
arrayNodeAttributeHolder.setDescription(rootNodeEntry.getKey() + " list; using sub-attributes in a query filter is not supported (cross-querying)");
arrayNodeAttributeHolder.setCaseExact(Boolean.TRUE);
List<String> referenceTypes = new ArrayList<String>();
referenceTypes.add("User");
arrayNodeAttributeHolder.setReferenceTypes(referenceTypes);
} else {
arrayNodeAttributeHolder.setDescription(rootNodeEntry.getKey() + " list");
arrayNodeAttributeHolder.setCaseExact(Boolean.FALSE);
}
arrayNodeAttributeHolder.setRequired(Boolean.FALSE);
arrayNodeAttributeHolder.setMultiValued(Boolean.TRUE);
if (rootNodeEntry.getKey().equalsIgnoreCase("schemas")) {
arrayNodeAttributeHolder.setUniqueness("server");
arrayNodeAttributeHolder.setType("string");
arrayNodeAttributeHolder.setCaseExact(Boolean.TRUE);
arrayNodeAttributeHolder.setMutability("readOnly");
arrayNodeAttributeHolder.setReturned("always");
} else {
arrayNodeAttributeHolder.setType("complex");
}
List<AttributeHolder> arrayNodeMapAttributeHolders = new ArrayList<AttributeHolder>();
Iterator<JsonNode> arrayNodeIterator = rootNodeEntry.getValue().getElements();
while (arrayNodeIterator.hasNext()) {
JsonNode jsonNode = arrayNodeIterator.next();
Iterator<Map.Entry<String, JsonNode>> arrayNodeMapIterator = jsonNode.getFields();
while (arrayNodeMapIterator.hasNext()) {
Map.Entry<String, JsonNode> arrayNodeMapRootNodeEntry = arrayNodeMapIterator.next();
AttributeHolder arrayNodeMapAttributeHolder = new AttributeHolder();
if (rootNodeEntry.getKey().equalsIgnoreCase("members") && arrayNodeMapRootNodeEntry.getKey().equalsIgnoreCase("reference")) {
arrayNodeMapAttributeHolder.setName("$ref");
} else {
arrayNodeMapAttributeHolder.setName(arrayNodeMapRootNodeEntry.getKey());
}
arrayNodeMapAttributeHolder.setType("string");
arrayNodeMapAttributeHolder.setDescription(arrayNodeMapRootNodeEntry.getKey());
if (arrayNodeMapRootNodeEntry.getKey().equalsIgnoreCase("value") || arrayNodeMapRootNodeEntry.getKey().equalsIgnoreCase("type")) {
arrayNodeMapAttributeHolder.setRequired(Boolean.TRUE);
} else {
arrayNodeMapAttributeHolder.setRequired(Boolean.FALSE);
}
arrayNodeMapAttributeHolders.add(arrayNodeMapAttributeHolder);
}
arrayNodeAttributeHolder.setSubAttributes(arrayNodeMapAttributeHolders);
attributeHolders.add(arrayNodeAttributeHolder);
}
} else {
if (!rootNodeEntry.getKey().equalsIgnoreCase("externalId")) {
AttributeHolder attributeHolder = new AttributeHolder();
attributeHolder.setName(rootNodeEntry.getKey());
if (rootNodeEntry.getValue().isBoolean()) {
attributeHolder.setType("boolean");
} else {
attributeHolder.setType("string");
}
attributeHolder.setDescription(rootNodeEntry.getKey());
attributeHolder.setRequired(Boolean.FALSE);
if (rootNodeEntry.getKey().equalsIgnoreCase("id")) {
attributeHolder.setUniqueness("server");
attributeHolder.setCaseExact(Boolean.TRUE);
attributeHolder.setMutability("readOnly");
attributeHolder.setReturned("always");
}
if (rootNodeEntry.getKey().equalsIgnoreCase("displayName")) {
attributeHolder.setReturned("always");
}
attributeHolders.add(attributeHolder);
}
}
}
GroupCoreSchema groupCoreSchema = (GroupCoreSchema) schemaType;
groupCoreSchema.setAttributeHolders(attributeHolders);
schemaType = groupCoreSchema;
} catch (Exception e) {
e.printStackTrace();
throw new IOException("Unexpected processing error; please check the Group class structure.");
}
}
use of org.gluu.oxtrust.model.scim2.User in project oxTrust by GluuFederation.
the class UserCoreLoadingStrategy method createDummyUser.
private User createDummyUser() {
User user = new User();
org.gluu.oxtrust.model.scim2.Name name = new org.gluu.oxtrust.model.scim2.Name();
name.setGivenName("");
name.setMiddleName("");
name.setFamilyName("");
name.setHonorificPrefix("");
name.setHonorificSuffix("");
user.setName(name);
user.setActive(false);
user.setId("");
user.setExternalId("");
user.setUserName("");
user.setPassword("");
user.setDisplayName("");
user.setNickName("");
user.setProfileUrl("");
user.setLocale("");
user.setPreferredLanguage("");
user.setTimezone("");
user.setTitle("");
List<GroupRef> groups = new ArrayList<GroupRef>();
GroupRef groupRef = new GroupRef();
groupRef.setOperation("");
groupRef.setPrimary(false);
groupRef.setValue("test");
groupRef.setDisplay("");
groupRef.setType(GroupRef.Type.DIRECT);
groupRef.setReference("");
groups.add(groupRef);
user.setGroups(groups);
List<Email> emails = new ArrayList<Email>();
Email email = new Email();
email.setOperation("");
email.setPrimary(false);
email.setValue("a@b.com");
email.setDisplay("");
email.setType(Email.Type.WORK);
email.setReference("");
emails.add(email);
user.setEmails(emails);
List<PhoneNumber> phoneNumbers = new ArrayList<PhoneNumber>();
PhoneNumber phoneNumber = new PhoneNumber();
phoneNumber.setOperation("");
phoneNumber.setPrimary(false);
phoneNumber.setValue("123-456-7890");
phoneNumber.setDisplay("");
phoneNumber.setType(PhoneNumber.Type.WORK);
phoneNumber.setReference("");
phoneNumbers.add(phoneNumber);
user.setPhoneNumbers(phoneNumbers);
List<Im> ims = new ArrayList<Im>();
Im im = new Im();
im.setOperation("");
im.setPrimary(false);
im.setValue("test");
im.setDisplay("");
im.setType(Im.Type.SKYPE);
im.setReference("");
ims.add(im);
user.setIms(ims);
List<Photo> photos = new ArrayList<Photo>();
Photo photo = new Photo();
photo.setOperation("");
photo.setPrimary(false);
photo.setValue("data:image/jpg;charset=utf-8;base64,dGVzdA==");
photo.setDisplay("");
photo.setType(Photo.Type.PHOTO);
photo.setReference("");
photos.add(photo);
user.setPhotos(photos);
List<Address> addresses = new ArrayList<Address>();
Address address = new Address();
address.setOperation("");
address.setPrimary(false);
address.setValue("test");
address.setDisplay("");
address.setType(Address.Type.WORK);
address.setReference("");
address.setStreetAddress("");
address.setLocality("");
address.setPostalCode("");
address.setRegion("");
address.setCountry("");
address.setFormatted("");
addresses.add(address);
user.setAddresses(addresses);
List<Entitlement> entitlements = new ArrayList<Entitlement>();
Entitlement entitlement = new Entitlement();
entitlement.setOperation("");
entitlement.setPrimary(false);
entitlement.setValue("test");
entitlement.setDisplay("");
entitlement.setType(new Entitlement.Type("test"));
entitlement.setReference("");
entitlements.add(entitlement);
user.setEntitlements(entitlements);
List<Role> roles = new ArrayList<Role>();
Role role = new Role();
role.setOperation("");
role.setPrimary(false);
role.setValue("test");
role.setDisplay("");
role.setType(new Role.Type("test"));
role.setReference("");
roles.add(role);
user.setRoles(roles);
List<X509Certificate> x509Certificates = new ArrayList<X509Certificate>();
X509Certificate x509Certificate = new X509Certificate();
x509Certificate.setOperation("");
x509Certificate.setPrimary(false);
x509Certificate.setValue("test");
x509Certificate.setDisplay("");
x509Certificate.setType(new X509Certificate.Type("test"));
x509Certificate.setReference("");
x509Certificates.add(x509Certificate);
user.setX509Certificates(x509Certificates);
return user;
}
use of org.gluu.oxtrust.model.scim2.User 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;
}
Aggregations