You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2013/06/02 16:58:05 UTC
svn commit: r1488726 -
/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java
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: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org