GERONIMO-6610 Add service loader mediator metadata to JSONB spec
.. and remove the legacy locator code which was not used.
Signed-off-by: Raymond Auge <rotty3000@apache.org>
git-svn-id: https://svn.apache.org/repos/asf/geronimo/specs/trunk@1834163 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/geronimo-jsonb_1.0_spec/pom.xml b/geronimo-jsonb_1.0_spec/pom.xml
index 3a40a95..21e683f 100644
--- a/geronimo-jsonb_1.0_spec/pom.xml
+++ b/geronimo-jsonb_1.0_spec/pom.xml
@@ -99,6 +99,10 @@
<Provide-Capability><![CDATA[
osgi.contract;osgi.contract=JavaJSONB;uses:="${packages;NAMED;javax.*}";version:List<Version>='1.0'
]]></Provide-Capability>
+ <Require-Capability><![CDATA[
+ osgi.serviceloader;filter:="(osgi.serviceloader=javax.json.bind.spi.JsonbProvider)";cardinality:=multiple,
+ osgi.extender;filter:="(osgi.extender=osgi.serviceloader.processor)"
+ ]]></Require-Capability>
<_contract>JavaJSONP</_contract>
</instructions>
</configuration>
diff --git a/geronimo-jsonb_1.0_spec/src/main/java/javax/json/bind/spi/JsonbProvider.java b/geronimo-jsonb_1.0_spec/src/main/java/javax/json/bind/spi/JsonbProvider.java
index cb2495c..7fb0f0e 100644
--- a/geronimo-jsonb_1.0_spec/src/main/java/javax/json/bind/spi/JsonbProvider.java
+++ b/geronimo-jsonb_1.0_spec/src/main/java/javax/json/bind/spi/JsonbProvider.java
@@ -48,19 +48,6 @@
}
private static JsonbProvider doLoadProvider(final String providerFqn) {
-
- final ClassLoader tccl = Thread.currentThread().getContextClassLoader();
- try {
- final Class<?> clazz = Class.forName("org.apache.geronimo.osgi.locator.ProviderLocator");
- final Method getServices = clazz.getDeclaredMethod("getServices", String.class, Class.class, ClassLoader.class);
- final List<JsonbProvider> osgiProviders = (List<JsonbProvider>) getServices.invoke(null, JsonbProvider.class.getName(), JsonbProvider.class, tccl);
- if (osgiProviders != null && !osgiProviders.isEmpty()) {
- return osgiProviders.iterator().next();
- }
- } catch (final Throwable e) {
- // locator not available, try normal mode
- }
-
for (final JsonbProvider provider : ServiceLoader.load(JsonbProvider.class)) {
if (providerFqn == null) {
return provider;