Author: rgodfrey
Date: Sun Jun 2 14:58:05 2013
New Revision: 1488726
URL: http://svn.apache.org/r1488726
Log:
QPID-4897 : [Java Broker] changes to how exchangeBound result is calculated
Modified:
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/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=1488726&r1=1488725&r2=1488726&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
Sun Jun 2 14:58:05 2013
@@ -1132,30 +1132,64 @@ public class ServerSessionDelegate exten
{
final boolean keyMatched =
exchange.isBound(method.getBindingKey(), queue);
result.setKeyNotMatched(!keyMatched);
- if(method.hasArguments() && keyMatched)
+ if(method.hasArguments())
{
-
result.setArgsNotMatched(!exchange.isBound(method.getBindingKey(),
method.getArguments(), queue));
+ if(keyMatched)
+ {
+
result.setArgsNotMatched(!exchange.isBound(method.getBindingKey(),
method.getArguments(), queue));
+ }
+ else
+ {
+
result.setArgsNotMatched(!exchange.isBound(method.getArguments(), queue));
+ }
}
}
else
{
-
result.setKeyNotMatched(!exchange.isBound(method.getBindingKey()));
+ boolean keyMatched =
exchange.isBound(method.getBindingKey());
+ result.setKeyNotMatched(!keyMatched);
+ if(method.hasArguments())
+ {
+ if(keyMatched)
+ {
+
result.setArgsNotMatched(!exchange.isBound(method.getBindingKey(),
method.getArguments()));
+ }
+ else
+ {
+
result.setArgsNotMatched(!exchange.isBound(method.getArguments()));
+ }
+ }
}
}
else if (method.hasArguments())
{
-
result.setArgsNotMatched(!exchange.isBound(method.getArguments(), queue));
+ if(queueMatched)
+ {
+
result.setArgsNotMatched(!exchange.isBound(method.getArguments(), queue));
+ }
+ else
+ {
+
result.setArgsNotMatched(!exchange.isBound(method.getArguments()));
+ }
}
}
else if(exchange != null && method.hasBindingKey())
{
-
result.setKeyNotMatched(!exchange.isBound(method.getBindingKey()));
+ final boolean keyMatched =
exchange.isBound(method.getBindingKey());
+ result.setKeyNotMatched(!keyMatched);
if(method.hasArguments())
{
-
result.setArgsNotMatched(!exchange.isBound(result.getKeyNotMatched() ? null :
method.getBindingKey(), method.getArguments(), queue));
+ if(keyMatched)
+ {
+
result.setArgsNotMatched(!exchange.isBound(method.getBindingKey(),
method.getArguments()));
+ }
+ else
+ {
+
result.setArgsNotMatched(!exchange.isBound(method.getArguments()));
+ }
}
@@ -1164,11 +1198,20 @@ public class ServerSessionDelegate exten
}
else if(exchange != null && method.hasBindingKey())
{
+ final boolean keyMatched =
exchange.isBound(method.getBindingKey());
+ result.setKeyNotMatched(!keyMatched);
+
if(method.hasArguments())
{
-
result.setArgsNotMatched(!exchange.isBound(method.getBindingKey(),
method.getArguments()));
+ if(keyMatched)
+ {
+
result.setArgsNotMatched(!exchange.isBound(method.getBindingKey(),
method.getArguments()));
+ }
+ else
+ {
+
result.setArgsNotMatched(!exchange.isBound(method.getArguments()));
+ }
}
- result.setKeyNotMatched(!exchange.isBound(method.getBindingKey()));
}
else if(exchange != null && method.hasArguments())
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]