You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gr...@apache.org on 2010/09/20 13:31:04 UTC

svn commit: r998891 - in /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server: filter/FilterManagerFactory.java transport/ServerSessionDelegate.java

Author: grkvlt
Date: Mon Sep 20 11:31:04 2010
New Revision: 998891

URL: http://svn.apache.org/viewvc?rev=998891&view=rev
Log:
QPID-2858: Implement FilterManager for 0-10 subscriptions

Implementation of review changes.

Patch from <so...@gmail.com>

Modified:
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/filter/FilterManagerFactory.java
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/filter/FilterManagerFactory.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/filter/FilterManagerFactory.java?rev=998891&r1=998890&r2=998891&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/filter/FilterManagerFactory.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/filter/FilterManagerFactory.java Mon Sep 20 11:31:04 2010
@@ -20,15 +20,18 @@
  */
 package org.apache.qpid.server.filter;
 
+import java.util.Map;
+
 import org.apache.qpid.AMQException;
 import org.apache.qpid.common.AMQPFilterTypes;
 import org.apache.qpid.framing.FieldTable;
+import org.apache.log4j.Logger;
 
 
 public class FilterManagerFactory
 {
-    //private final static Logger _logger = LoggerFactory.getLogger(FilterManagerFactory.class);
-    private final static org.apache.log4j.Logger _logger = org.apache.log4j.Logger.getLogger(FilterManagerFactory.class);
+ 
+    private final static Logger _logger = Logger.getLogger(FilterManagerFactory.class);
 
     //fixme move to a common class so it can be refered to from client code.
 
@@ -64,4 +67,9 @@ public class FilterManagerFactory
         return manager;
 
     }
+    
+    public static FilterManager createManager(Map<String,Object> map) throws AMQException
+    {
+        return createManager(FieldTable.convertToFieldTable(map));
+    }
 }

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java?rev=998891&r1=998890&r2=998891&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java Mon Sep 20 11:31:04 2010
@@ -230,20 +230,11 @@ public class ServerSessionDelegate exten
                     }
 
                     FlowCreditManager_0_10 creditManager = new WindowCreditManager(0L,0L);
-
-                    FieldTable filters = new FieldTable();
-                    Map<String,Object> fields = method.getFields();
-                    for (String key: fields.keySet()) 
-                    {
-                        if (key.equals(AMQPFilterTypes.JMS_SELECTOR.getValue().asString()))
-                        { 
-                            filters.setObject(key, fields.get(key));
-                        }
-                    }
+                    
                     FilterManager filterManager = null;
                     try 
                     {
-                        filterManager = FilterManagerFactory.createManager(filters);
+                        filterManager = FilterManagerFactory.createManager(method.getArguments());
                     } 
                     catch (AMQException amqe) 
                     {
@@ -256,7 +247,7 @@ public class ServerSessionDelegate exten
                                                                   method.getAcceptMode(),
                                                                   method.getAcquireMode(),
                                                                   MessageFlowMode.WINDOW,
-                                                                  creditManager, null);
+                                                                  creditManager, filterManager);
 
                     ((ServerSession)session).register(destination, sub);
                     try



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