diff options
author | rsuen | 2007-04-08 00:33:58 +0000 |
---|---|---|
committer | rsuen | 2007-04-08 00:33:58 +0000 |
commit | b0977d71fe66e04c08ec348f6cbae766856f1431 (patch) | |
tree | cac34d635257588eb2b2c0b88cf153c71eba64ec /providers | |
parent | f060f445c3590ab6c26e4b59e65c0264d837a5e7 (diff) | |
download | org.eclipse.ecf-b0977d71fe66e04c08ec348f6cbae766856f1431.tar.gz org.eclipse.ecf-b0977d71fe66e04c08ec348f6cbae766856f1431.tar.xz org.eclipse.ecf-b0977d71fe66e04c08ec348f6cbae766856f1431.zip |
Create MSNIDs for MSNRosterEntry instances.
Diffstat (limited to 'providers')
2 files changed, 12 insertions, 6 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.msn/src/org/eclipse/ecf/internal/provider/msn/MSNContainer.java b/providers/bundles/org.eclipse.ecf.provider.msn/src/org/eclipse/ecf/internal/provider/msn/MSNContainer.java index 27c1b341a..f1b5e062c 100644 --- a/providers/bundles/org.eclipse.ecf.provider.msn/src/org/eclipse/ecf/internal/provider/msn/MSNContainer.java +++ b/providers/bundles/org.eclipse.ecf.provider.msn/src/org/eclipse/ecf/internal/provider/msn/MSNContainer.java @@ -172,10 +172,11 @@ final class MSNContainer implements IContainer, IChatManager, public void contactAdded(Contact contact) { final MSNRosterEntry entry = new MSNRosterEntry( - MSNContainer.this, contact); + MSNContainer.this, contact, namespace); contact.addContactListener(new IContactListener() { public void nameChanged(String name) { + entry.updateUserName(); fireRosterUpdate(entry); fireRosterEntryUpdated(entry); } diff --git a/providers/bundles/org.eclipse.ecf.provider.msn/src/org/eclipse/ecf/internal/provider/msn/MSNRosterEntry.java b/providers/bundles/org.eclipse.ecf.provider.msn/src/org/eclipse/ecf/internal/provider/msn/MSNRosterEntry.java index 8133b3152..6a6eef74f 100644 --- a/providers/bundles/org.eclipse.ecf.provider.msn/src/org/eclipse/ecf/internal/provider/msn/MSNRosterEntry.java +++ b/providers/bundles/org.eclipse.ecf.provider.msn/src/org/eclipse/ecf/internal/provider/msn/MSNRosterEntry.java @@ -17,7 +17,7 @@ import java.util.Map; import org.eclipse.ecf.core.identity.ID; import org.eclipse.ecf.core.identity.IDCreateException; -import org.eclipse.ecf.core.identity.IDFactory; +import org.eclipse.ecf.core.identity.Namespace; import org.eclipse.ecf.core.user.IUser; import org.eclipse.ecf.presence.IPresence; import org.eclipse.ecf.presence.roster.IRoster; @@ -36,18 +36,19 @@ final class MSNRosterEntry implements IPresence, IRosterEntry, IUser { private final Contact contact; - private ID id; + private MSNID id; private IRoster roster; - MSNRosterEntry(IRoster roster, Contact contact) { + MSNRosterEntry(IRoster roster, Contact contact, Namespace namespace) { this.roster = roster; this.contact = contact; groups = Collections.EMPTY_LIST; try { - id = IDFactory.getDefault().createStringID(contact.getEmail()); + id = (MSNID) namespace.createInstance(new Object[] { + contact.getEmail(), contact.getDisplayName() }); } catch (IDCreateException e) { - throw new RuntimeException(e.getMessage()); + e.printStackTrace(); } } @@ -104,6 +105,10 @@ final class MSNRosterEntry implements IPresence, IRosterEntry, IUser { public IUser getUser() { return this; } + + void updateUserName() { + id.setUserName(contact.getDisplayName()); + } void setParent(MSNRosterGroup parent) { this.parent = parent; |