Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrsuen2007-04-08 00:33:58 +0000
committerrsuen2007-04-08 00:33:58 +0000
commitb0977d71fe66e04c08ec348f6cbae766856f1431 (patch)
treecac34d635257588eb2b2c0b88cf153c71eba64ec /providers
parentf060f445c3590ab6c26e4b59e65c0264d837a5e7 (diff)
downloadorg.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')
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.msn/src/org/eclipse/ecf/internal/provider/msn/MSNContainer.java3
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.msn/src/org/eclipse/ecf/internal/provider/msn/MSNRosterEntry.java15
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;

Back to the top