private static RichUser createRichUser(Map<String, String> beanAttr) throws InternalErrorException {
if(beanAttr==null) return null;
User user = createUser(beanAttr);
List<UserExtSource> userExtSources = new ArrayList<UserExtSource>();
if(beanAttr.get("userExtSources").equals("\\0")) userExtSources = null;
else {
List<Pair<String, Map<String, String>>> userExtSourcesList = beansToMap(beanAttr.get("userExtSources"));
for(Pair<String, Map<String, String>> p: userExtSourcesList) {
UserExtSource userExtSource = createUserExtSource(p.getRight());
userExtSources.add(userExtSource);
}
}
List<Attribute> userAttributes = new ArrayList<Attribute>();
if(beanAttr.get("userAttributes").equals("\\0")) userAttributes = null;
else {
List<Pair<String, Map<String, String>>> userAttributesList = beansToMap(beanAttr.get("userAttributes"));
for(Pair<String, Map<String, String>> p: userAttributesList) {
Attribute attribute = createAttribute(p.getRight());
userAttributes.add(attribute);
}
}
RichUser richUser = new RichUser(user, userExtSources, userAttributes);
return richUser;
}