diff options
author | slewis | 2015-11-18 03:35:03 +0000 |
---|---|---|
committer | slewis | 2015-11-18 03:35:03 +0000 |
commit | f0eaa8099cc088a3ed8142fb1057c524549dbc79 (patch) | |
tree | 7d5e560bcdadcf82ed529aa8158aad597cccd180 /osgi/bundles | |
parent | 609b0f6ce15d0ed6432be42eded3cea4d7e37391 (diff) | |
download | org.eclipse.ecf-f0eaa8099cc088a3ed8142fb1057c524549dbc79.tar.gz org.eclipse.ecf-f0eaa8099cc088a3ed8142fb1057c524549dbc79.tar.xz org.eclipse.ecf-f0eaa8099cc088a3ed8142fb1057c524549dbc79.zip |
Fix for bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=482434
Change-Id: I94dd0cc43c52b107bcb3452ac8e65fb681328a41
Diffstat (limited to 'osgi/bundles')
2 files changed, 10 insertions, 3 deletions
diff --git a/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/META-INF/MANIFEST.MF b/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/META-INF/MANIFEST.MF index 4ccbe94e3..78fad59d8 100644 --- a/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/META-INF/MANIFEST.MF +++ b/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %bundle.name Bundle-SymbolicName: org.eclipse.ecf.osgi.services.remoteserviceadmin -Bundle-Version: 4.3.200.qualifier +Bundle-Version: 4.3.300.qualifier Bundle-Activator: org.eclipse.ecf.internal.osgi.services.remoteserviceadmin.Activator Bundle-Vendor: %bundle.provider Bundle-RequiredExecutionEnvironment: J2SE-1.5 diff --git a/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.java b/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.java index e89c0dff3..3afa247af 100644 --- a/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.java +++ b/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.java @@ -1531,7 +1531,14 @@ public class RemoteServiceAdmin implements }); if (service == null) return null; - Class[] interfaceClasses = service.getClass().getInterfaces(); + List<Class> interfaces = new ArrayList<Class>(); + Class<?> serviceClass = service.getClass(); + while (!serviceClass.equals(Object.class)) { + interfaces.addAll(Arrays.asList(serviceClass.getInterfaces())); + serviceClass = serviceClass.getSuperclass(); + } + Class[] interfaceClasses = interfaces.toArray(new Class[interfaces.size()]); + if (interfaceClasses == null) return null; Class interfaceClass = null; @@ -1908,7 +1915,7 @@ public class RemoteServiceAdmin implements public Object getService(Bundle bundle, ServiceRegistration registration) { Object proxy = createProxy(bundle, registration.getReference(), remoteService, interfaceVersions); - remoteProxyCount++; + if (proxy != null) remoteProxyCount++; return proxy; } |