Commit 7e8445b7 authored by Gaston Dombiak's avatar Gaston Dombiak Committed by gaston

Fixed NPE when trying to get the vCard of an anonymous user. JM-212


git-svn-id: http://svn.igniterealtime.org/svn/repos/messenger/trunk@1127 b35dd754-fafc-0310-a699-88a17e54d16e
parent 33726493
......@@ -86,12 +86,13 @@ public class IQvCardHandler extends IQHandler {
result = IQ.createResultIQ(packet);
}
else if (type.equals(IQ.Type.get)) {
User user = userManager.getUser(recipient.getNode());
result = IQ.createResultIQ(packet);
Element vcard = DocumentHelper.createElement(QName.get("vCard", "vcard-temp"));
result.setChildElement(vcard);
// Only try to get the vCard values of non-anonymous users
if (recipient.getNode() != null) {
User user = userManager.getUser(recipient.getNode());
VCardManager vManager = VCardManager.getInstance();
Collection<String> names = vManager.getVCardPropertyNames(user.getUsername());
for (String name : names) {
......@@ -100,13 +101,16 @@ public class IQvCardHandler extends IQHandler {
node.setText(vManager.getVCardProperty(user.getUsername(), name));
}
}
}
else {
result = IQ.createResultIQ(packet);
result.setChildElement(packet.getChildElement().createCopy());
result.setError(PacketError.Condition.not_acceptable);
}
}
catch (UserNotFoundException e) {
result = IQ.createResultIQ(packet);
result.setChildElement(packet.getChildElement().createCopy());
result.setError(PacketError.Condition.item_not_found);
}
return result;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment