diff options
author | slewis | 2010-10-02 05:11:51 +0000 |
---|---|---|
committer | slewis | 2010-10-02 05:11:51 +0000 |
commit | 84c8ff095cebadf29b13a7cf9c9a91be14902489 (patch) | |
tree | 92424fa48656a2cdfd3683bbe6f266864300e9eb /providers/bundles | |
parent | b6a7c632fa6b9fa54230370ce780fcfc4a43788c (diff) | |
download | org.eclipse.ecf-84c8ff095cebadf29b13a7cf9c9a91be14902489.tar.gz org.eclipse.ecf-84c8ff095cebadf29b13a7cf9c9a91be14902489.tar.xz org.eclipse.ecf-84c8ff095cebadf29b13a7cf9c9a91be14902489.zip |
Fix for bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=326481
Diffstat (limited to 'providers/bundles')
2 files changed, 1 insertions, 40 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.r_osgi/META-INF/MANIFEST.MF b/providers/bundles/org.eclipse.ecf.provider.r_osgi/META-INF/MANIFEST.MF index ee1707de4..c6c2ecc4f 100644 --- a/providers/bundles/org.eclipse.ecf.provider.r_osgi/META-INF/MANIFEST.MF +++ b/providers/bundles/org.eclipse.ecf.provider.r_osgi/META-INF/MANIFEST.MF @@ -9,7 +9,7 @@ Import-Package: org.eclipse.equinox.concurrent.future;version="1.0.0", org.osgi.util.tracker;version="1.3.3" Require-Bundle: org.eclipse.ecf;bundle-version="3.1.0", org.eclipse.ecf.provider, - org.eclipse.ecf.remoteservice, + org.eclipse.ecf.remoteservice;bundle-version="4.2.0", org.eclipse.equinox.common, ch.ethz.iks.r_osgi.remote Bundle-Activator: org.eclipse.ecf.internal.provider.r_osgi.Activator diff --git a/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/RemoteServiceImpl.java b/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/RemoteServiceImpl.java index b9a6b80f5..ff58009d1 100644 --- a/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/RemoteServiceImpl.java +++ b/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/RemoteServiceImpl.java @@ -13,7 +13,6 @@ package org.eclipse.ecf.internal.provider.r_osgi; import ch.ethz.iks.r_osgi.RemoteOSGiException; import java.lang.reflect.Method; -import java.util.Arrays; import org.eclipse.core.runtime.*; import org.eclipse.ecf.core.util.ECFException; import org.eclipse.ecf.remoteservice.*; @@ -170,44 +169,6 @@ final class RemoteServiceImpl extends AbstractRemoteService { } /** - * @param aClass The Class providing method under question (Must not be null) - * @param aMethodName The method name to search for (Must not be null) - * @param someParameterTypes Method arguments (May be null or parameters) - * @return A match. If more than one method matched (due to overloading) an abitrary match is taken - * @throws NoSuchMethodException If a match cannot be found - */ - Method getMethod(final Class aClass, String aMethodName, final Class[] someParameterTypes) throws NoSuchMethodException { - // no args makes matching simple - if (someParameterTypes == null || someParameterTypes.length == 0) { - return aClass.getMethod(aMethodName, null); - } - - // match parameters to determine callee - final Method[] methods = aClass.getMethods(); - final int parameterCount = someParameterTypes.length; - aMethodName = aMethodName.intern(); - - OUTER: for (int i = 0; i < methods.length; i++) { - Method candidate = methods[i]; - String candidateMethodName = candidate.getName().intern(); - Class[] candidateParameterTypes = candidate.getParameterTypes(); - int candidateParameterCount = candidateParameterTypes.length; - if (candidateParameterCount == parameterCount && aMethodName == candidateMethodName) { - for (int j = 0; j < candidateParameterCount; j++) { - Class clazzA = candidateParameterTypes[j]; - Class clazzB = someParameterTypes[j]; - if (!clazzA.isAssignableFrom(clazzB)) { - continue OUTER; - } - } - return candidate; - } - } - // if no match has been found, fail with NSME - throw new NoSuchMethodException("No such method: " + aMethodName + "(" + Arrays.asList(someParameterTypes) + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - } - - /** * inner class implementing the asynchronous result object. This * implementation also provides the calling infrastructure. */ |