killbill-uncached

osgi: cleanup OSGI dependencies, pass 2 Don't use relocated

4/13/2014 6:34:00 PM

Details

osgi/pom.xml 26(+12 -14)

diff --git a/osgi/pom.xml b/osgi/pom.xml
index 59587d5..c4b53e7 100644
--- a/osgi/pom.xml
+++ b/osgi/pom.xml
@@ -65,20 +65,6 @@
             <artifactId>org.apache.felix.framework</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.osgi.compendium</artifactId>
-            <exclusions>
-                <exclusion>
-                    <artifactId>javax.servlet</artifactId>
-                    <groupId>org.apache.felix</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.osgi.foundation</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.jdbi</groupId>
             <artifactId>jdbi</artifactId>
         </dependency>
@@ -93,6 +79,14 @@
         <dependency>
             <groupId>org.kill-bill.billing</groupId>
             <artifactId>killbill-osgi-bundles-lib-killbill</artifactId>
+            <exclusions>
+                <exclusion>
+                    <artifactId>org.osgi.core</artifactId>
+                    <!-- The library is shared by bundles and the core OSGI module, which has these classes
+                         via the Felix framework -->
+                    <groupId>org.osgi</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.kill-bill.billing</groupId>
@@ -140,6 +134,10 @@
             <artifactId>killbill-queue</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.compendium</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.skife.config</groupId>
             <artifactId>config-magic</artifactId>
         </dependency>
diff --git a/osgi-bundles/bundles/jruby/pom.xml b/osgi-bundles/bundles/jruby/pom.xml
index a55d9ca..75477ec 100644
--- a/osgi-bundles/bundles/jruby/pom.xml
+++ b/osgi-bundles/bundles/jruby/pom.xml
@@ -36,18 +36,14 @@
             <artifactId>javax.servlet-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.felix</groupId>
+            <groupId>org.osgi</groupId>
             <artifactId>org.osgi.compendium</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.felix</groupId>
+            <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.osgi.foundation</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.jruby</groupId>
             <artifactId>jruby-complete</artifactId>
         </dependency>
@@ -190,7 +186,8 @@
                             javax.security.auth;
                             javax.security.auth.*;
                             javax.security.auth.x500;
-                            javax.security.auth.x500.*;resolution:=optional</Import-Package>
+                            javax.security.auth.x500.*;resolution:=optional
+                        </Import-Package>
                     </instructions>
                 </configuration>
             </plugin>
diff --git a/osgi-bundles/bundles/logger/pom.xml b/osgi-bundles/bundles/logger/pom.xml
index b804579..9e7acea 100644
--- a/osgi-bundles/bundles/logger/pom.xml
+++ b/osgi-bundles/bundles/logger/pom.xml
@@ -27,18 +27,14 @@
     <name>Killbill billing platform: OSGI logger bundle</name>
     <dependencies>
         <dependency>
-            <groupId>org.apache.felix</groupId>
+            <groupId>org.osgi</groupId>
             <artifactId>org.osgi.compendium</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.felix</groupId>
+            <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.osgi.foundation</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
diff --git a/osgi-bundles/libs/killbill/pom.xml b/osgi-bundles/libs/killbill/pom.xml
index 082df64..6166232 100644
--- a/osgi-bundles/libs/killbill/pom.xml
+++ b/osgi-bundles/libs/killbill/pom.xml
@@ -52,10 +52,12 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <!-- In compile scope for org.osgi.util.tracker.ServiceTracker -->
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.compendium</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
-            <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
diff --git a/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillAPI.java b/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillAPI.java
index 23928aa..2e41138 100644
--- a/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillAPI.java
+++ b/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillAPI.java
@@ -16,9 +16,6 @@
 
 package org.killbill.killbill.osgi.libs.killbill;
 
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-
 import org.killbill.billing.account.api.AccountUserApi;
 import org.killbill.billing.catalog.api.CatalogUserApi;
 import org.killbill.billing.currency.api.CurrencyConversionApi;
@@ -36,15 +33,16 @@ import org.killbill.billing.util.api.CustomFieldUserApi;
 import org.killbill.billing.util.api.ExportUserApi;
 import org.killbill.billing.util.api.RecordIdApi;
 import org.killbill.billing.util.api.TagUserApi;
+import org.osgi.framework.BundleContext;
+import org.osgi.util.tracker.ServiceTracker;
 
 public class OSGIKillbillAPI extends OSGIKillbillLibraryBase implements OSGIKillbill {
 
-
     private static final String KILLBILL_SERVICE_NAME = "org.killbill.billing.osgi.api.OSGIKillbill";
 
-    private final ServiceTracker<OSGIKillbill, OSGIKillbill> killbillTracker;
+    private final ServiceTracker killbillTracker;
 
-    public OSGIKillbillAPI(BundleContext context) {
+    public OSGIKillbillAPI(final BundleContext context) {
         killbillTracker = new ServiceTracker(context, KILLBILL_SERVICE_NAME, null);
         killbillTracker.open();
     }
@@ -85,7 +83,6 @@ public class OSGIKillbillAPI extends OSGIKillbillLibraryBase implements OSGIKill
         });
     }
 
-
     @Override
     public InvoicePaymentApi getInvoicePaymentApi() {
         return withServiceTracker(killbillTracker, new APICallback<InvoicePaymentApi, OSGIKillbill>(KILLBILL_SERVICE_NAME) {
diff --git a/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillDataSource.java b/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillDataSource.java
index e23223f..d0c4864 100644
--- a/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillDataSource.java
+++ b/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillDataSource.java
@@ -25,10 +25,9 @@ public class OSGIKillbillDataSource extends OSGIKillbillLibraryBase {
 
     private static final String DATASOURCE_SERVICE_NAME = "javax.sql.DataSource";
 
-    private final ServiceTracker<DataSource, DataSource> dataSourceTracker;
+    private final ServiceTracker dataSourceTracker;
 
-
-    public OSGIKillbillDataSource(BundleContext context) {
+    public OSGIKillbillDataSource(final BundleContext context) {
         dataSourceTracker = new ServiceTracker(context, DATASOURCE_SERVICE_NAME, null);
         dataSourceTracker.open();
     }
@@ -43,7 +42,7 @@ public class OSGIKillbillDataSource extends OSGIKillbillLibraryBase {
         return withServiceTracker(dataSourceTracker, new APICallback<DataSource, DataSource>(DATASOURCE_SERVICE_NAME) {
             @Override
             public DataSource executeWithService(final DataSource service) {
-                return dataSourceTracker.getService();
+                return (DataSource) dataSourceTracker.getService();
             }
         });
     }
diff --git a/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillEventDispatcher.java b/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillEventDispatcher.java
index 488c235..3e43654 100644
--- a/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillEventDispatcher.java
+++ b/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillEventDispatcher.java
@@ -21,21 +21,19 @@ import java.util.Map;
 import java.util.Observable;
 import java.util.Observer;
 
+import org.killbill.billing.notification.plugin.api.ExtBusEvent;
 import org.osgi.framework.BundleContext;
 import org.osgi.util.tracker.ServiceTracker;
 
-import org.killbill.billing.notification.plugin.api.ExtBusEvent;
-
 public class OSGIKillbillEventDispatcher extends OSGIKillbillLibraryBase {
 
     private static final String OBSERVABLE_SERVICE_NAME = "java.util.Observable";
 
-    private final ServiceTracker<Observable, Observable> observableTracker;
-
+    private final ServiceTracker observableTracker;
 
     private final Map<OSGIKillbillEventHandler, Observer> handlerToObserver;
 
-    public OSGIKillbillEventDispatcher(BundleContext context) {
+    public OSGIKillbillEventDispatcher(final BundleContext context) {
         handlerToObserver = new HashMap<OSGIKillbillEventHandler, Observer>();
         observableTracker = new ServiceTracker(context, OBSERVABLE_SERVICE_NAME, null);
         observableTracker.open();
diff --git a/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillLibraryBase.java b/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillLibraryBase.java
index 637a278..66591d0 100644
--- a/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillLibraryBase.java
+++ b/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillLibraryBase.java
@@ -20,14 +20,11 @@ import org.osgi.util.tracker.ServiceTracker;
 
 public abstract class OSGIKillbillLibraryBase {
 
-
     public OSGIKillbillLibraryBase() {
-
     }
 
     public abstract void close();
 
-
     protected abstract class APICallback<API, T> {
 
         private final String serviceName;
@@ -43,8 +40,8 @@ public abstract class OSGIKillbillLibraryBase {
         }
     }
 
-    protected <API, S, T> API withServiceTracker(ServiceTracker<S, T> t, APICallback<API, T> cb) {
-        T service = t.getService();
+    protected <API, T> API withServiceTracker(final ServiceTracker t, final APICallback<API, T> cb) {
+        final T service = (T) t.getService();
         if (service == null) {
             return cb.executeWithNoService();
         }
diff --git a/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillLogService.java b/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillLogService.java
index e84c80a..16c355a 100644
--- a/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillLogService.java
+++ b/osgi-bundles/libs/killbill/src/main/java/org/killbill/killbill/osgi/libs/killbill/OSGIKillbillLogService.java
@@ -27,10 +27,9 @@ public class OSGIKillbillLogService extends OSGIKillbillLibraryBase implements L
 
     private static final String LOG_SERVICE_NAME = "org.osgi.service.log.LogService";
 
-    private final ServiceTracker<LogService, LogService> logTracker;
+    private final ServiceTracker logTracker;
 
-
-    public OSGIKillbillLogService(BundleContext context) {
+    public OSGIKillbillLogService(final BundleContext context) {
         super();
         logTracker = new ServiceTracker(context, LOG_SERVICE_NAME, null);
         logTracker.open();
diff --git a/osgi-bundles/libs/slf4j-osgi/pom.xml b/osgi-bundles/libs/slf4j-osgi/pom.xml
index de524bb..0019d90 100644
--- a/osgi-bundles/libs/slf4j-osgi/pom.xml
+++ b/osgi-bundles/libs/slf4j-osgi/pom.xml
@@ -30,11 +30,6 @@
             <artifactId>killbill-osgi-bundles-lib-killbill</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
             <scope>provided</scope>
diff --git a/osgi-bundles/tests/beatrix/pom.xml b/osgi-bundles/tests/beatrix/pom.xml
index d649f75..df46e34 100644
--- a/osgi-bundles/tests/beatrix/pom.xml
+++ b/osgi-bundles/tests/beatrix/pom.xml
@@ -31,10 +31,6 @@
             <artifactId>joda-time</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.osgi.core</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.jdbi</groupId>
             <artifactId>jdbi</artifactId>
         </dependency>
@@ -60,6 +56,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>osgi-over-slf4j</artifactId>
         </dependency>
@@ -86,10 +86,7 @@
                 <configuration>
                     <instructions>
                         <Bundle-Activator>org.killbill.billing.osgi.bundles.test.TestActivator</Bundle-Activator>
-                        <Import-Package>
-                            <!-- maven-bundle-plugin does not seem to detect that the library is using OSGIKillbill, this is annoying... -->
-                            *;resolution:=optional,org.killbill.billing.osgi.api
-                        </Import-Package>
+                        <Import-Package>*;resolution:=optional</Import-Package>
                     </instructions>
                 </configuration>
             </plugin>
diff --git a/osgi-bundles/tests/payment/pom.xml b/osgi-bundles/tests/payment/pom.xml
index 2b759ab..9dfc93d 100644
--- a/osgi-bundles/tests/payment/pom.xml
+++ b/osgi-bundles/tests/payment/pom.xml
@@ -31,10 +31,6 @@
             <artifactId>joda-time</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.osgi.core</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.kill-bill.billing</groupId>
             <artifactId>killbill-api</artifactId>
         </dependency>
@@ -59,6 +55,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>osgi-over-slf4j</artifactId>
         </dependency>
@@ -85,10 +85,7 @@
                 <configuration>
                     <instructions>
                         <Bundle-Activator>org.killbill.billing.osgi.bundles.test.PaymentActivator</Bundle-Activator>
-                        <Import-Package>
-                            <!-- maven-bundle-plugin does not seem to detect that the library is using OSGIKillbill, this is annoying... -->
-                            *;resolution:=optional,org.killbill.billing.osgi.api
-                        </Import-Package>
+                        <Import-Package>*;resolution:=optional</Import-Package>
                     </instructions>
                 </configuration>
             </plugin>

server/pom.xml 15(+0 -15)

diff --git a/server/pom.xml b/server/pom.xml
index 78f2c17..351e7c8 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -130,21 +130,6 @@
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.framework</artifactId>
-            <version>4.4.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.osgi.compendium</artifactId>
-            <exclusions>
-                <exclusion>
-                    <artifactId>javax.servlet</artifactId>
-                    <groupId>org.apache.felix</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.osgi.core</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.shiro</groupId>