diff options
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tcf.te.runtime.services/src/org/eclipse/tcf/te/runtime/services/AbstractServiceManager.java')
-rw-r--r-- | target_explorer/plugins/org.eclipse.tcf.te.runtime.services/src/org/eclipse/tcf/te/runtime/services/AbstractServiceManager.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.runtime.services/src/org/eclipse/tcf/te/runtime/services/AbstractServiceManager.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.services/src/org/eclipse/tcf/te/runtime/services/AbstractServiceManager.java index 1de409e6e..836e9abf9 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.services/src/org/eclipse/tcf/te/runtime/services/AbstractServiceManager.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.services/src/org/eclipse/tcf/te/runtime/services/AbstractServiceManager.java @@ -182,11 +182,15 @@ public abstract class AbstractServiceManager { Assert.isNotNull(serviceTypeName); if (service != null) { - Class<?>[] interfaces = service.getClass().getInterfaces(); - for (Class<?> interfaze : interfaces) { - if (serviceTypeName.equals(interfaze.getName())) { - return true; + Class<?> clazz = service.getClass(); + while (clazz != null) { + Class<?>[] interfaces = clazz.getInterfaces(); + for (Class<?> interfaze : interfaces) { + if (serviceTypeName.equals(interfaze.getName())) { + return true; + } } + clazz = clazz.getSuperclass(); } } else if (configElement != null) { |