Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server')
-rw-r--r--plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/BuddyAdmin.java40
-rw-r--r--plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/ServerBuddy.java (renamed from plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/Buddy.java)12
-rw-r--r--plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/ServerSession.java (renamed from plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/BuddySession.java)30
-rw-r--r--plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/BuddiesServerProtocol.java10
-rw-r--r--plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/LoadAccountIndication.java4
-rw-r--r--plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/OpenSessionIndication.java14
6 files changed, 61 insertions, 49 deletions
diff --git a/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/BuddyAdmin.java b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/BuddyAdmin.java
index 8a1c9a5a23..7fb80f7ca1 100644
--- a/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/BuddyAdmin.java
+++ b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/BuddyAdmin.java
@@ -12,14 +12,14 @@ package org.eclipse.net4j.buddies.internal.server;
import org.eclipse.net4j.IChannel;
import org.eclipse.net4j.IProtocol;
-import org.eclipse.net4j.buddies.internal.protocol.BuddyAccount;
+import org.eclipse.net4j.buddies.internal.protocol.Account;
import org.eclipse.net4j.buddies.internal.protocol.BuddyStateNotification;
import org.eclipse.net4j.buddies.internal.server.bundle.OM;
import org.eclipse.net4j.buddies.internal.server.protocol.BuddyRemovedNotification;
-import org.eclipse.net4j.buddies.protocol.IBuddyAccount;
+import org.eclipse.net4j.buddies.protocol.IAccount;
+import org.eclipse.net4j.buddies.protocol.ISession;
import org.eclipse.net4j.buddies.protocol.IBuddyStateChangedEvent;
import org.eclipse.net4j.buddies.server.IBuddyAdmin;
-import org.eclipse.net4j.buddies.server.IBuddySession;
import org.eclipse.net4j.internal.util.lifecycle.Lifecycle;
import org.eclipse.net4j.internal.util.om.trace.ContextTracer;
import org.eclipse.net4j.util.ObjectUtil;
@@ -40,33 +40,33 @@ public class BuddyAdmin extends Lifecycle implements IBuddyAdmin, IListener
private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, BuddyAdmin.class);
- private Map<String, IBuddyAccount> accounts = new HashMap<String, IBuddyAccount>();
+ private Map<String, IAccount> accounts = new HashMap<String, IAccount>();
- private Map<String, IBuddySession> sessions = new HashMap<String, IBuddySession>();
+ private Map<String, ISession> sessions = new HashMap<String, ISession>();
public BuddyAdmin()
{
LifecycleUtil.activate(this);
}
- public Map<String, IBuddyAccount> getAccounts()
+ public Map<String, IAccount> getAccounts()
{
return accounts;
}
- public Map<String, IBuddySession> getSessions()
+ public Map<String, ISession> getSessions()
{
return sessions;
}
- public synchronized IBuddySession openSession(IChannel channel, String userID, String password)
+ public synchronized ISession openSession(IChannel channel, String userID, String password)
{
if (sessions.containsKey(userID))
{
return null;
}
- IBuddyAccount account = accounts.get(userID);
+ IAccount account = accounts.get(userID);
if (account != null)
{
if (!account.authenticate(password))
@@ -76,14 +76,14 @@ public class BuddyAdmin extends Lifecycle implements IBuddyAdmin, IListener
}
else
{
- account = new BuddyAccount(userID, password);
+ account = new Account(userID, password);
accounts.put(userID, account);
}
- Buddy buddy = new Buddy(account);
+ ServerBuddy buddy = new ServerBuddy(account);
buddy.addListener(this);
- BuddySession session = new BuddySession(channel, buddy);
+ ServerSession session = new ServerSession(channel, buddy);
((IProtocol)channel.getReceiveHandler()).setInfraStructure(session);
sessions.put(userID, session);
@@ -94,21 +94,21 @@ public class BuddyAdmin extends Lifecycle implements IBuddyAdmin, IListener
public void notifyEvent(IEvent event)
{
- if (event.getSource() instanceof BuddySession)
+ if (event.getSource() instanceof ServerSession)
{
if (event instanceof ILifecycleEvent)
{
if (((ILifecycleEvent)event).getKind() == ILifecycleEvent.Kind.DEACTIVATED)
{
- String userID = ((BuddySession)event.getSource()).getBuddy().getUserID();
+ String userID = ((ServerSession)event.getSource()).getSelf().getUserID();
synchronized (this)
{
- BuddySession removed = (BuddySession)sessions.remove(userID);
+ ServerSession removed = (ServerSession)sessions.remove(userID);
if (removed != null)
{
removed.removeListener(this);
- removed.getBuddy().removeListener(this);
- for (IBuddySession session : sessions.values())
+ removed.getSelf().removeListener(this);
+ for (ISession session : sessions.values())
{
try
{
@@ -124,18 +124,18 @@ public class BuddyAdmin extends Lifecycle implements IBuddyAdmin, IListener
}
}
}
- else if (event.getSource() instanceof Buddy)
+ else if (event.getSource() instanceof ServerBuddy)
{
if (event instanceof IBuddyStateChangedEvent)
{
IBuddyStateChangedEvent e = (IBuddyStateChangedEvent)event;
synchronized (this)
{
- for (IBuddySession session : sessions.values())
+ for (ISession session : sessions.values())
{
try
{
- if (!ObjectUtil.equals(session.getBuddy(), e.getBuddy()))
+ if (!ObjectUtil.equals(session.getSelf(), e.getBuddy()))
{
new BuddyStateNotification(session.getChannel(), e.getBuddy().getUserID(), e.getNewState()).send();
}
diff --git a/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/Buddy.java b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/ServerBuddy.java
index ec3e66cbb9..22f70b3121 100644
--- a/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/Buddy.java
+++ b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/ServerBuddy.java
@@ -10,17 +10,17 @@
**************************************************************************/
package org.eclipse.net4j.buddies.internal.server;
-import org.eclipse.net4j.buddies.internal.protocol.AbstractBuddy;
-import org.eclipse.net4j.buddies.protocol.IBuddyAccount;
+import org.eclipse.net4j.buddies.internal.protocol.Buddy;
+import org.eclipse.net4j.buddies.protocol.IAccount;
/**
* @author Eike Stepper
*/
-public class Buddy extends AbstractBuddy
+public class ServerBuddy extends Buddy
{
- private IBuddyAccount account;
+ private IAccount account;
- public Buddy(IBuddyAccount account)
+ public ServerBuddy(IAccount account)
{
this.account = account;
}
@@ -30,7 +30,7 @@ public class Buddy extends AbstractBuddy
return account.getUserID();
}
- public IBuddyAccount getAccount()
+ public IAccount getAccount()
{
return account;
}
diff --git a/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/BuddySession.java b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/ServerSession.java
index 8a2867f986..0716c4b7e2 100644
--- a/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/BuddySession.java
+++ b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/ServerSession.java
@@ -12,26 +12,29 @@ package org.eclipse.net4j.buddies.internal.server;
import org.eclipse.net4j.IChannel;
import org.eclipse.net4j.buddies.protocol.IBuddy;
-import org.eclipse.net4j.buddies.server.IBuddySession;
+import org.eclipse.net4j.buddies.protocol.ISession;
import org.eclipse.net4j.internal.util.lifecycle.Lifecycle;
import org.eclipse.net4j.util.event.IEvent;
import org.eclipse.net4j.util.event.IListener;
import org.eclipse.net4j.util.lifecycle.ILifecycleEvent;
import org.eclipse.net4j.util.lifecycle.LifecycleUtil;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.PlatformObject;
+
/**
* @author Eike Stepper
*/
-public class BuddySession extends Lifecycle implements IBuddySession, IListener
+public class ServerSession extends Lifecycle implements ISession, IListener
{
private IChannel channel;
- private IBuddy buddy;
+ private IBuddy self;
- public BuddySession(IChannel channel, IBuddy buddy)
+ public ServerSession(IChannel channel, IBuddy self)
{
this.channel = channel;
- this.buddy = buddy;
+ this.self = self;
LifecycleUtil.activate(this);
}
@@ -40,9 +43,9 @@ public class BuddySession extends Lifecycle implements IBuddySession, IListener
return channel;
}
- public IBuddy getBuddy()
+ public IBuddy getSelf()
{
- return buddy;
+ return self;
}
public void close()
@@ -51,6 +54,15 @@ public class BuddySession extends Lifecycle implements IBuddySession, IListener
deactivate();
}
+ /**
+ * @see PlatformObject#getAdapter(Class)
+ */
+ @SuppressWarnings("unchecked")
+ public Object getAdapter(Class adapter)
+ {
+ return Platform.getAdapterManager().getAdapter(this, adapter);
+ }
+
public void notifyEvent(IEvent event)
{
if (event.getSource() == channel)
@@ -70,13 +82,13 @@ public class BuddySession extends Lifecycle implements IBuddySession, IListener
{
super.doActivate();
channel.addListener(this);
- buddy.getAccount().touch();
+ self.getAccount().touch();
}
@Override
protected void doDeactivate() throws Exception
{
- buddy.getAccount().touch();
+ self.getAccount().touch();
channel.removeListener(this);
super.doDeactivate();
}
diff --git a/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/BuddiesServerProtocol.java b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/BuddiesServerProtocol.java
index c43caa7a14..ce8ea530c2 100644
--- a/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/BuddiesServerProtocol.java
+++ b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/BuddiesServerProtocol.java
@@ -12,10 +12,10 @@ package org.eclipse.net4j.buddies.internal.server.protocol;
import org.eclipse.net4j.buddies.internal.protocol.BuddyStateIndication;
import org.eclipse.net4j.buddies.internal.protocol.ProtocolConstants;
-import org.eclipse.net4j.buddies.internal.server.Buddy;
+import org.eclipse.net4j.buddies.internal.server.ServerBuddy;
+import org.eclipse.net4j.buddies.protocol.ISession;
import org.eclipse.net4j.buddies.protocol.IBuddy.State;
import org.eclipse.net4j.buddies.server.IBuddyAdmin;
-import org.eclipse.net4j.buddies.server.IBuddySession;
import org.eclipse.net4j.signal.SignalProtocol;
import org.eclipse.net4j.signal.SignalReactor;
@@ -51,11 +51,11 @@ public class BuddiesServerProtocol extends SignalProtocol
{
synchronized (IBuddyAdmin.INSTANCE)
{
- Map<String, IBuddySession> sessions = IBuddyAdmin.INSTANCE.getSessions();
- IBuddySession session = sessions.get(userID);
+ Map<String, ISession> sessions = IBuddyAdmin.INSTANCE.getSessions();
+ ISession session = sessions.get(userID);
if (session != null)
{
- Buddy buddy = (Buddy)session.getBuddy();
+ ServerBuddy buddy = (ServerBuddy)session.getSelf();
buddy.setState(state);
}
}
diff --git a/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/LoadAccountIndication.java b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/LoadAccountIndication.java
index 992b3528e1..a6f8f76192 100644
--- a/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/LoadAccountIndication.java
+++ b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/LoadAccountIndication.java
@@ -12,7 +12,7 @@ package org.eclipse.net4j.buddies.internal.server.protocol;
import org.eclipse.net4j.buddies.internal.protocol.ProtocolConstants;
import org.eclipse.net4j.buddies.protocol.ProtocolUtil;
-import org.eclipse.net4j.buddies.protocol.IBuddyAccount;
+import org.eclipse.net4j.buddies.protocol.IAccount;
import org.eclipse.net4j.buddies.server.IBuddyAdmin;
import org.eclipse.net4j.signal.IndicationWithResponse;
import org.eclipse.net4j.util.io.ExtendedDataInputStream;
@@ -25,7 +25,7 @@ import java.io.IOException;
*/
public class LoadAccountIndication extends IndicationWithResponse
{
- private IBuddyAccount account;
+ private IAccount account;
public LoadAccountIndication()
{
diff --git a/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/OpenSessionIndication.java b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/OpenSessionIndication.java
index 246207a0b6..81b0794d6a 100644
--- a/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/OpenSessionIndication.java
+++ b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/OpenSessionIndication.java
@@ -13,10 +13,10 @@ package org.eclipse.net4j.buddies.internal.server.protocol;
import org.eclipse.net4j.IChannel;
import org.eclipse.net4j.buddies.internal.protocol.ProtocolConstants;
import org.eclipse.net4j.buddies.internal.server.bundle.OM;
+import org.eclipse.net4j.buddies.protocol.ISession;
import org.eclipse.net4j.buddies.protocol.ProtocolUtil;
-import org.eclipse.net4j.buddies.protocol.IBuddyAccount;
+import org.eclipse.net4j.buddies.protocol.IAccount;
import org.eclipse.net4j.buddies.server.IBuddyAdmin;
-import org.eclipse.net4j.buddies.server.IBuddySession;
import org.eclipse.net4j.signal.IndicationWithResponse;
import org.eclipse.net4j.util.io.ExtendedDataInputStream;
import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
@@ -31,7 +31,7 @@ import java.util.Map;
*/
public class OpenSessionIndication extends IndicationWithResponse
{
- private IBuddyAccount account;
+ private IAccount account;
private String[] buddies;
@@ -52,13 +52,13 @@ public class OpenSessionIndication extends IndicationWithResponse
String password = in.readString();
synchronized (IBuddyAdmin.INSTANCE)
{
- Map<String, IBuddySession> sessions = IBuddyAdmin.INSTANCE.getSessions();
+ Map<String, ISession> sessions = IBuddyAdmin.INSTANCE.getSessions();
buddies = sessions.keySet().toArray(new String[sessions.size()]);
- IBuddySession session = IBuddyAdmin.INSTANCE.openSession(getProtocol().getChannel(), userID, password);
+ ISession session = IBuddyAdmin.INSTANCE.openSession(getProtocol().getChannel(), userID, password);
if (session != null)
{
- account = session.getBuddy().getAccount();
+ account = session.getSelf().getAccount();
}
else
{
@@ -78,7 +78,7 @@ public class OpenSessionIndication extends IndicationWithResponse
for (String buddy : buddies)
{
out.writeString(buddy);
- IBuddySession buddySession = IBuddyAdmin.INSTANCE.getSessions().get(buddy);
+ ISession buddySession = IBuddyAdmin.INSTANCE.getSessions().get(buddy);
if (buddySession != null)
{
channels.add(buddySession.getChannel());

Back to the top