Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2015-11-18 03:35:03 +0000
committerslewis2015-11-18 03:35:03 +0000
commitf0eaa8099cc088a3ed8142fb1057c524549dbc79 (patch)
tree7d5e560bcdadcf82ed529aa8158aad597cccd180 /osgi/bundles
parent609b0f6ce15d0ed6432be42eded3cea4d7e37391 (diff)
downloadorg.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
Diffstat (limited to 'osgi/bundles')
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/META-INF/MANIFEST.MF2
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.java11
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;
}

Back to the top