community.setOwnerId(new ObjectId(personIdStr));
community.setOwnerDisplayName(displayName);
}
// Create the new member object
CommunityMemberPojo cmp = new CommunityMemberPojo();
cmp.set_id(new ObjectId(personIdStr));
cmp.setEmail(email);
cmp.setDisplayName(displayName);
cmp.setUserStatus(userStatus);
cmp.setUserType(userType);
// Set the userAttributes based on default
Set<CommunityMemberUserAttributePojo> cmua = new HashSet<CommunityMemberUserAttributePojo>();
Map<String,CommunityUserAttributePojo> cua = community.getCommunityUserAttribute();
Iterator<Map.Entry<String,CommunityUserAttributePojo>> it = cua.entrySet().iterator();
while (it.hasNext())
{
CommunityMemberUserAttributePojo c = new CommunityMemberUserAttributePojo();
Map.Entry<String,CommunityUserAttributePojo> pair = it.next();
c.setType(pair.getKey().toString());
CommunityUserAttributePojo v = (CommunityUserAttributePojo)pair.getValue();
c.setValue(v.getDefaultValue());
cmua.add(c);
}
cmp.setUserAttributes(cmua);
// Get Person data to added to member record
BasicDBObject query2 = new BasicDBObject();
query2.put("_id", new ObjectId(personIdStr));
DBObject dbo2 = DbManager.getSocial().getPerson().findOne(query2);
PersonPojo p = PersonPojo.fromDb(dbo2, PersonPojo.class);
if (p.getContacts() != null)
{
// Set contacts from person record
Set<CommunityMemberContactPojo> contacts = new HashSet<CommunityMemberContactPojo>();
Map<String, PersonContactPojo> pcp = p.getContacts();
Iterator<Map.Entry<String, PersonContactPojo>> it2 = pcp.entrySet().iterator();
while (it2.hasNext())
{
CommunityMemberContactPojo c = new CommunityMemberContactPojo();
Map.Entry<String, PersonContactPojo> pair = it2.next();
c.setType(pair.getKey().toString());
PersonContactPojo v = (PersonContactPojo)pair.getValue();
c.setValue(v.getValue());
contacts.add(c);
}
cmp.setContacts(contacts);
}
// Set links from person record
if (p.getLinks() != null)
{
// Set contacts from person record
Set<CommunityMemberLinkPojo> links = new HashSet<CommunityMemberLinkPojo>();
Map<String, PersonLinkPojo> plp = p.getLinks();
Iterator<Map.Entry<String, PersonLinkPojo>> it3 = plp.entrySet().iterator();
while (it.hasNext())
{
CommunityMemberLinkPojo c = new CommunityMemberLinkPojo();
Map.Entry<String, PersonLinkPojo> pair = it3.next();
c.setTitle(pair.getKey().toString());
PersonLinkPojo v = (PersonLinkPojo)pair.getValue();
c.setUrl(v.getUrl());
links.add(c);
}
cmp.setLinks(links);
}
// Add new member object to the set
cmps.add(cmp);