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