You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2010/04/23 17:44:39 UTC

svn commit: r937343 - in /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins: Activator.java PluginManager.java

Author: ritchiem
Date: Fri Apr 23 15:44:39 2010
New Revision: 937343

URL: http://svn.apache.org/viewvc?rev=937343&view=rev
Log:
QPID-2513 : Applied patch from Sorin Suciu to enable OSGi Service plugins

Modified:
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/Activator.java
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/PluginManager.java

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/Activator.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/Activator.java?rev=937343&r1=937342&r2=937343&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/Activator.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/Activator.java Fri Apr 23 15:44:39 2010
@@ -19,6 +19,8 @@
 
 package org.apache.qpid.server.plugins;
 
+import org.apache.qpid.server.configuration.ServerConfiguration;
+import org.apache.qpid.server.registry.ApplicationRegistry;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
 
@@ -30,6 +32,8 @@ public class Activator implements Bundle
     public void start(BundleContext ctx) throws Exception
     {
         _context = ctx;
+         ctx.registerService(ServerConfiguration.class.getName(), ApplicationRegistry.getInstance().getConfiguration(), null);
+         
     }
 
     public void stop(BundleContext ctx) throws Exception

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/PluginManager.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/PluginManager.java?rev=937343&r1=937342&r2=937343&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/PluginManager.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/PluginManager.java Fri Apr 23 15:44:39 2010
@@ -44,13 +44,12 @@ import org.osgi.util.tracker.ServiceTrac
 /**
  * 
  * @author aidan
- *
+ * 
  * Provides access to pluggable elements, such as exchanges
  */
 
 public class PluginManager
 {
-
     private Felix _felix = null;
     private ServiceTracker _exchangeTracker = null;
     private ServiceTracker _securityTracker = null;
@@ -70,16 +69,28 @@ public class PluginManager
                 + "org.osgi.service.packageadmin; version=1.2.0," + 
                 "org.osgi.service.startlevel; version=1.0.0," + 
                 "org.osgi.service.url; version=1.0.0," + 
-                "org.apache.qpid.framing; version=0.2.1," +
-                "org.apache.qpid.server.exchange; version=0.2.1," +
-                "org.apache.qpid.server.management; version=0.2.1,"+
-                "org.apache.qpid.protocol; version=0.2.1,"+
-                "org.apache.qpid.server.virtualhost; version=0.2.1," +
-                "org.apache.qpid; version=0.2.1," +
-                "org.apache.qpid.server.queue; version=0.2.1," +
+                "org.osgi.util.tracker; version=1.0.0,"+
+                "org.apache.qpid; version=0.7," +
+                "org.apache.qpid.framing; version=0.7," +
+                "org.apache.qpid.server.exchange; version=0.7," +
+                "org.apache.qpid.server.management; version=0.7,"+
+                "org.apache.qpid.server.protocol; version=0.7,"+
+                "org.apache.qpid.server.virtualhost; version=0.7," +
+                "org.apache.qpid.server.registry; version=0.7," +
+                "org.apache.qpid.server.queue; version=0.7," +
+                "org.apache.qpid.server.binding; version=0.7," +
+                "org.apache.qpid.server.configuration; version=0.7," +
+                "org.apache.qpid.server.configuration.management; version=0.7," +
+                "org.apache.qpid.server.persistent; version=0.7," +
+                "org.apache.qpid.server.plugins; version=0.7," +           
+                "org.apache.qpid.server.queue; version=0.7," +
+                "org.apache.qpid.server.security; version=0.7," + 
+                "org.apache.qpid.framing.AMQShortString; version=0.7," + 
+                "org.apache.qpid.server.queue.AMQQueue; version=0.7," +
+                "org.apache.qpid.server.security.access; version=0.7,"+
+                "org.apache.commons.configuration; version=0.7," +
                 "javax.management.openmbean; version=1.0.0,"+
-                "javax.management; version=1.0.0,"+
-                "org.apache.qpid.junit.extensions.util; version=0.6.1,"
+                "javax.management; version=1.0.0,"
                 );
         
         if (plugindir == null)
@@ -91,10 +102,11 @@ public class PluginManager
         // Set the list of bundles to load
         File dir = new File(plugindir);
         if (!dir.exists())
-        {
+        {	
         	_empty = true;
             return;
-        }
+        } 
+        
         StringBuffer pluginJars = new StringBuffer();
         
         if (dir.isDirectory())
@@ -107,6 +119,7 @@ public class PluginManager
                 }
             }
         }
+        
         if (pluginJars.length() == 0)
         {
             _empty = true;
@@ -124,13 +137,13 @@ public class PluginManager
         try
         {
             _felix.start();
-            
+              
             _exchangeTracker = new ServiceTracker(_activator.getContext(), ExchangeType.class.getName(), null);
             _exchangeTracker.open();
             
             _securityTracker = new ServiceTracker(_activator.getContext(), ACLPlugin.class.getName(), null);
-            _exchangeTracker.open();
-            
+            _securityTracker.open();
+             
         }
         catch (BundleException e)
         {
@@ -138,19 +151,19 @@ public class PluginManager
         }
     }
 
-    private <type> Map<String, type> getServices(ServiceTracker tracker)
+    private <T> Map<String, T> getServices(ServiceTracker tracker)
     {   
-        Map<String, type>exchanges = new HashMap<String, type>();
+        Map<String, T>services = new HashMap<String, T>();
         
-        if (tracker != null)
+        if ((tracker != null) && (tracker.getServices() != null))
         {
             for (Object service : tracker.getServices())
             {
-                exchanges.put(service.getClass().getName(), (type) service);
+                services.put(service.getClass().getName(), (T) service);
             }
-        }
+        } 
         
-        return exchanges;
+        return services;
     }
     
     public Map<String, ExchangeType<?>> getExchanges()



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org