diff options
| author | bbokowski | 2005-08-17 06:16:48 +0000 |
|---|---|---|
| committer | bbokowski | 2005-08-17 06:16:48 +0000 |
| commit | fbb64a3d23b8544c579743492a5aec1ff3f91660 (patch) | |
| tree | 0ad0a1eea6bbf70b5dab5be2befa6002a4899ecd | |
| parent | bbcd1980d731bdbd2793eb4068731c71d6edeff0 (diff) | |
| download | org.eclipse.ecf-fbb64a3d23b8544c579743492a5aec1ff3f91660.tar.gz org.eclipse.ecf-fbb64a3d23b8544c579743492a5aec1ff3f91660.tar.xz org.eclipse.ecf-fbb64a3d23b8544c579743492a5aec1ff3f91660.zip | |
Changed implementations of getAdapter() to conform to what the Javadoc says
3 files changed, 10 insertions, 12 deletions
diff --git a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java index 8116a31f6..5f4f41a02 100644 --- a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java +++ b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java @@ -22,6 +22,7 @@ import java.util.Iterator; import java.util.Map; import java.util.Vector; +import org.eclipse.core.runtime.Platform; import org.eclipse.ecf.core.ContainerJoinException; import org.eclipse.ecf.core.IOSGIService; import org.eclipse.ecf.core.ISharedObject; @@ -455,8 +456,11 @@ public abstract class SOContainer implements ISharedObjectContainer { * @see org.eclipse.ecf.core.ISharedObjectContainer#getAdapter(java.lang.Class) */ public Object getAdapter(Class adapter) { - if (adapter.equals(ISharedObjectContainer.class)) return this; - else return null; + if (adapter.isInstance(this)) { + return this; + } else { + return Platform.getAdapterManager().getAdapter(this, adapter); + } } /** diff --git a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/ServerSOContainer.java b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/ServerSOContainer.java index 411a7d1a6..e8aad9b53 100644 --- a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/ServerSOContainer.java +++ b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/ServerSOContainer.java @@ -40,11 +40,6 @@ public class ServerSOContainer extends SOContainer implements ISharedObjectConta super(config); } - public Object getAdapter(Class clazz) { - if (clazz.equals(ISharedObjectContainerGroupManager.class)) { - return this; - } else return super.getAdapter(clazz); - } public boolean isGroupManager() { return true; } diff --git a/providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/provider/xmpp/container/XMPPClientSOContainer.java b/providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/provider/xmpp/container/XMPPClientSOContainer.java index 87812a903..d135cbbec 100644 --- a/providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/provider/xmpp/container/XMPPClientSOContainer.java +++ b/providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/provider/xmpp/container/XMPPClientSOContainer.java @@ -15,7 +15,6 @@ import java.util.Map; import javax.security.auth.callback.Callback; import org.eclipse.ecf.core.ContainerJoinException; -import org.eclipse.ecf.core.ISharedObjectContainer; import org.eclipse.ecf.core.SharedObjectAddException; import org.eclipse.ecf.core.comm.AsynchConnectionEvent; import org.eclipse.ecf.core.comm.ConnectionInstantiationException; @@ -323,8 +322,7 @@ public class XMPPClientSOContainer extends ClientSOContainer { } public Object getAdapter(Class clazz) { - if (clazz.equals(ISharedObjectContainer.class)) return this; - if (clazz.equals(IPresenceContainer.class)) { + if (clazz.equals(IPresenceContainer.class)) { return new IPresenceContainer() { public void addPresenceListener(IPresenceListener listener) { @@ -417,7 +415,8 @@ public class XMPPClientSOContainer extends ClientSOContainer { } }; - } - return null; + } else { + return super.getAdapter(clazz); + } } }
\ No newline at end of file |
