Details
diff --git a/api/src/main/java/com/ning/billing/osgi/api/OSGIUserApi.java b/api/src/main/java/com/ning/billing/osgi/api/OSGIUserApi.java
index 60067be..edde588 100644
--- a/api/src/main/java/com/ning/billing/osgi/api/OSGIUserApi.java
+++ b/api/src/main/java/com/ning/billing/osgi/api/OSGIUserApi.java
@@ -18,5 +18,5 @@ package com.ning.billing.osgi.api;
public interface OSGIUserApi {
- public <S> S getService(Class<S> serviceClass) throws LiveTrackerException;
+ public <S> S getService(final String serviceClassName) throws LiveTrackerException;
}
diff --git a/osgi/src/main/java/com/ning/billing/osgi/api/DefaultOSGIUserApi.java b/osgi/src/main/java/com/ning/billing/osgi/api/DefaultOSGIUserApi.java
index be9050b..7f28a9c 100644
--- a/osgi/src/main/java/com/ning/billing/osgi/api/DefaultOSGIUserApi.java
+++ b/osgi/src/main/java/com/ning/billing/osgi/api/DefaultOSGIUserApi.java
@@ -30,7 +30,7 @@ public class DefaultOSGIUserApi implements OSGIUserApi {
}
@Override
- public <S> S getService(final Class<S> serviceClass) throws LiveTrackerException {
- return liveTracker.getRegisteredOSGIService(serviceClass);
+ public <S> S getService(final String serviceClassName) throws LiveTrackerException {
+ return liveTracker.getRegisteredOSGIService(serviceClassName );
}
}
diff --git a/osgi/src/main/java/com/ning/billing/osgi/KillbillActivator.java b/osgi/src/main/java/com/ning/billing/osgi/KillbillActivator.java
index 07d2ec6..2c25c32 100644
--- a/osgi/src/main/java/com/ning/billing/osgi/KillbillActivator.java
+++ b/osgi/src/main/java/com/ning/billing/osgi/KillbillActivator.java
@@ -132,19 +132,19 @@ public class KillbillActivator implements BundleActivator, ServiceListener, Live
}
@Override
- public <S> S getRegisteredOSGIService(final Class<S> serviceType) throws LiveTrackerException {
+ public <S> S getRegisteredOSGIService(final String serviceClassName) throws LiveTrackerException {
try {
- ServiceTracker tracker = liveTrackers.get(serviceType.getName());
+ ServiceTracker tracker = liveTrackers.get(serviceClassName);
if (tracker == null) {
- throw new LiveTrackerException("No live tracker for service " + serviceType.getName());
+ throw new LiveTrackerException("No live tracker for service " + serviceClassName);
}
S result = (S) tracker.getService();
if (result == null) {
- throw new LiveTrackerException("Live tracker found a null service for " + serviceType.getName());
+ throw new LiveTrackerException("Live tracker found a null service for " + serviceClassName);
}
return result;
} catch (ClassCastException e) {
- throw new LiveTrackerException("Live tracker got ClassCastException for " + serviceType.getName(), e);
+ throw new LiveTrackerException("Live tracker got ClassCastException for " + serviceClassName, e);
}
}
diff --git a/osgi/src/main/java/com/ning/billing/osgi/LiveTracker.java b/osgi/src/main/java/com/ning/billing/osgi/LiveTracker.java
index 110c937..187579b 100644
--- a/osgi/src/main/java/com/ning/billing/osgi/LiveTracker.java
+++ b/osgi/src/main/java/com/ning/billing/osgi/LiveTracker.java
@@ -20,5 +20,5 @@ import com.ning.billing.osgi.api.LiveTrackerException;
public interface LiveTracker {
- public <S> S getRegisteredOSGIService(final Class<S> serviceType) throws LiveTrackerException;
+ public <S> S getRegisteredOSGIService(final String serviceClassName) throws LiveTrackerException;
}