Commit 53490df5 authored by Gaston Dombiak's avatar Gaston Dombiak Committed by gaston

JID of contacts in XML file is now a full JID. JM-368


git-svn-id: http://svn.igniterealtime.org/svn/repos/messenger/trunk@1762 b35dd754-fafc-0310-a699-88a17e54d16e
parent 4dc23317
...@@ -45,7 +45,6 @@ import org.xmpp.packet.JID; ...@@ -45,7 +45,6 @@ import org.xmpp.packet.JID;
*/ */
public class ImportExportPlugin implements Plugin { public class ImportExportPlugin implements Plugin {
private UserManager userManager; private UserManager userManager;
private PluginManager pluginManager;
private UserProvider provider; private UserProvider provider;
private String serverName; private String serverName;
...@@ -79,12 +78,10 @@ public class ImportExportPlugin implements Plugin { ...@@ -79,12 +78,10 @@ public class ImportExportPlugin implements Plugin {
} }
public void initializePlugin(PluginManager manager, File pluginDirectory) { public void initializePlugin(PluginManager manager, File pluginDirectory) {
pluginManager = manager;
} }
public void destroyPlugin() { public void destroyPlugin() {
userManager = null; userManager = null;
pluginManager = null;
provider = null; provider = null;
serverName = null; serverName = null;
exportDirectory = null; exportDirectory = null;
...@@ -210,7 +207,7 @@ public class ImportExportPlugin implements Plugin { ...@@ -210,7 +207,7 @@ public class ImportExportPlugin implements Plugin {
Collection<RosterItem> roster = user.getRoster().getRosterItems(); Collection<RosterItem> roster = user.getRoster().getRosterItems();
for (RosterItem ri : roster) { for (RosterItem ri : roster) {
Element itemElement = rosterElement.addElement("Item"); Element itemElement = rosterElement.addElement("Item");
itemElement.addAttribute("jid", removeDoman(ri.getJid())); itemElement.addAttribute("jid", ri.getJid().toString());
itemElement.addAttribute("askstatus", String.valueOf(ri.getAskStatus().getValue())); itemElement.addAttribute("askstatus", String.valueOf(ri.getAskStatus().getValue()));
itemElement.addAttribute("recvstatus", String.valueOf(ri.getRecvStatus().getValue())); itemElement.addAttribute("recvstatus", String.valueOf(ri.getRecvStatus().getValue()));
itemElement.addAttribute("substatus", String.valueOf(ri.getSubStatus().getValue())); itemElement.addAttribute("substatus", String.valueOf(ri.getSubStatus().getValue()));
...@@ -284,7 +281,7 @@ public class ImportExportPlugin implements Plugin { ...@@ -284,7 +281,7 @@ public class ImportExportPlugin implements Plugin {
groups.add(group.getText()); groups.add(group.getText());
} }
rosterItems.add(new RosterItem(new JID(jid + "@" + serverName), rosterItems.add(new RosterItem(new JID(jid),
RosterItem.SubType.getTypeFromInt(Integer.parseInt(substatus)), RosterItem.SubType.getTypeFromInt(Integer.parseInt(substatus)),
RosterItem.AskType.getTypeFromInt(Integer.parseInt(askstatus)), RosterItem.AskType.getTypeFromInt(Integer.parseInt(askstatus)),
RosterItem.RecvType.getTypeFromInt(Integer.parseInt(recvstatus)), RosterItem.RecvType.getTypeFromInt(Integer.parseInt(recvstatus)),
...@@ -316,8 +313,11 @@ public class ImportExportPlugin implements Plugin { ...@@ -316,8 +313,11 @@ public class ImportExportPlugin implements Plugin {
RosterItem ri = (RosterItem) rosterIter.next(); RosterItem ri = (RosterItem) rosterIter.next();
try { try {
userManager.getUser(removeDoman(ri.getJid())); // If the contact is a local user then check that the user exists
rosterItemProvider.createItem(userName, ri); if (serverName.equals(ri.getJid().getDomain())) {
userManager.getUser(removeDoman(ri.getJid()));
}
rosterItemProvider.createItem(userName, ri);
} }
catch (UserNotFoundException e) { catch (UserNotFoundException e) {
Log.info("User '" + removeDoman(ri.getJid()) + "' not found, will not be added to '" + userName + "' roster."); Log.info("User '" + removeDoman(ri.getJid()) + "' not found, will not be added to '" + userName + "' roster.");
...@@ -330,13 +330,13 @@ public class ImportExportPlugin implements Plugin { ...@@ -330,13 +330,13 @@ public class ImportExportPlugin implements Plugin {
return duplicateUsers; return duplicateUsers;
} }
private static String removeDoman(JID jid) { private static String removeDoman(JID jid) {
StringTokenizer tokens = new StringTokenizer(jid.toBareJID(), "@"); StringTokenizer tokens = new StringTokenizer(jid.toBareJID(), "@");
if (tokens.hasMoreTokens()) { if (tokens.hasMoreTokens()) {
return tokens.nextToken(); return tokens.nextToken();
} }
return null; return null;
} }
} }
......
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