* reference.
* @return The collection of linked attributes.
*/
protected Collection mapLinkedUserAttributes(Collection userAttributes, Collection userAttributeRefs)
{
UserAttributeRefImpl impl;
Collection linkedUserAttributes = new ArrayList();
if ((null != userAttributeRefs) && (userAttributeRefs.size() > 0))
{
Iterator attrIter = userAttributes.iterator();
while (attrIter.hasNext())
{
UserAttribute currentAttribute = (UserAttribute) attrIter.next();
boolean linkedAttribute = false;
impl = new UserAttributeRefImpl();
Iterator attrRefsIter = userAttributeRefs.iterator();
while (attrRefsIter.hasNext())
{
UserAttributeRef currentAttributeRef = (UserAttributeRef) attrRefsIter.next();
if ((currentAttribute.getName()).equals(currentAttributeRef.getNameLink()))
{
if (log.isDebugEnabled())
{
log.debug("Linking user attribute ref: [[name, " + currentAttribute.getName()
+ "], [linked name, " + currentAttributeRef.getName() + "]]");
}
impl.setName(currentAttributeRef.getName());
impl.setNameLink(currentAttributeRef.getNameLink());
linkedAttribute = true;
break;
}
}
if (!linkedAttribute)
{
impl.setName(currentAttribute.getName());
}
linkedUserAttributes.add(impl);
}
}
else
{
Iterator attrIter = userAttributes.iterator();
while (attrIter.hasNext())
{
UserAttribute currentAttribute = (UserAttribute) attrIter.next();
impl = new UserAttributeRefImpl();
impl.setName(currentAttribute.getName());
linkedUserAttributes.add(impl);
}
}
return linkedUserAttributes;
}