@SuppressWarnings("unchecked")
@Override
public T getOsgiServiceProxy(final Filter filter, Class targetClass, final long timeout) {
<<<<<<< HEAD
return (T) Proxy.newProxyInstance(targetClass.getClassLoader(), new Class>[]{ targetClass },
new InvocationHandler() {
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
LOGGER.info("dynamically resolving service for filter : {}", filter);
Object service = getService(filter, timeout);
return method.invoke(service, args);
}
});
}
@Override
@SuppressWarnings("unchecked")
public T getOsgiServiceProxy(final String filter, Class targetClass, final long timeout) {
return (T) Proxy.newProxyInstance(targetClass.getClassLoader(), new Class>[]{ targetClass },
new InvocationHandler() {
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
LOGGER.info("dynamically resolving service for filter : {}", filter);
Object service = getService(filter, timeout);
return method.invoke(service, args);
}
});
=======
return (T) Proxy.newProxyInstance(targetClass.getClassLoader(), new Class>[] { targetClass },
new ServiceTrackerInvocationHandler(filter, timeout));
}
@Override
public T getOsgiServiceProxy(final String filter, Class targetClass, long timeout) {
return getOsgiServiceProxy(createFilter(filter), targetClass, timeout);
}
/**
* creates a Filter, but wraps the {@link InvalidSyntaxException} into an {@link IllegalArgumentException}
*/
public static Filter createFilter(String filterString) {
try {
return FrameworkUtil.createFilter(filterString);
} catch (InvalidSyntaxException e) {
throw new IllegalArgumentException(e);
}
>>>>>>> 9828da5346be5f1d76b5082e1cc0a8c55c200d4a
}
@SuppressWarnings("unchecked") |