Commit 799b0b3b authored by Gaston Dombiak's avatar Gaston Dombiak Committed by gato

Fixed NPE when ServerItemsProvider#getItems returns null. JM-674

git-svn-id: http://svn.igniterealtime.org/svn/repos/wildfire/trunk@3856 b35dd754-fafc-0310-a699-88a17e54d16e
parent f229a63c
......@@ -175,11 +175,16 @@ public class IQDiscoItemsHandler extends IQHandler implements ServerFeaturesProv
*/
public void addServerItemsProvider(ServerItemsProvider provider) {
DiscoServerItem discoItem;
for (Iterator it = provider.getItems(); it.hasNext();) {
discoItem = (DiscoServerItem)it.next();
Iterator<DiscoServerItem> items = provider.getItems();
if (items == null) {
// Do nothing
return;
}
while (items.hasNext()) {
discoItem = items.next();
// Add the element to the list of items related to the server
addComponentItem(discoItem.getJID(), discoItem.getNode(), discoItem.getName());
// Add the new item as a valid entity that could receive info and items disco requests
String host = new JID(discoItem.getJID()).getDomain();
infoHandler.setProvider(host, discoItem.getDiscoInfoProvider());
......@@ -194,8 +199,13 @@ public class IQDiscoItemsHandler extends IQHandler implements ServerFeaturesProv
*/
public void removeServerItemsProvider(ServerItemsProvider provider) {
DiscoServerItem discoItem;
for (Iterator it = provider.getItems(); it.hasNext();) {
discoItem = (DiscoServerItem)it.next();
Iterator<DiscoServerItem> items = provider.getItems();
if (items == null) {
// Do nothing
return;
}
while (items.hasNext()) {
discoItem = items.next();
// Remove the item from the server items list
removeComponentItem(discoItem.getJID());
......
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