[prev in list] [next in list] [prev in thread] [next in thread] 

List:       activemq-commits
Subject:    activemq git commit: https://issues.apache.org/jira/browse/AMQ-6109
From:       cshannon () apache ! org
Date:       2015-12-29 12:49:08
Message-ID: 6d81692cc3224defa388e4a805c374e4 () git ! apache ! org
[Download RAW message or body]

Repository: activemq
Updated Branches:
  refs/heads/activemq-5.12.x 7eb142573 -> bf35f42bb


https://issues.apache.org/jira/browse/AMQ-6109

The chooseValue method in DestinationMap will now always return the
exact match, if there is one, else it will then sort as before.

(cherry picked from commit 8e2176d93c95d847c813f54d54aaf9bafba4d5c4)


Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/bf35f42b
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/bf35f42b
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/bf35f42b

Branch: refs/heads/activemq-5.12.x
Commit: bf35f42bb69e57d5aebdb4f2afc95f544fb1edb5
Parents: 7eb1425
Author: Christopher L. Shannon (cshannon) <christopher.l.shannon@gmail.com>
Authored: Mon Dec 28 16:40:10 2015 +0000
Committer: Christopher L. Shannon (cshannon) <christopher.l.shannon@gmail.com>
Committed: Tue Dec 29 12:48:08 2015 +0000

----------------------------------------------------------------------
 .../java/org/apache/activemq/filter/DestinationMap.java  | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/bf35f42b/activemq-client/src/main/java/org/apache/activemq/filter/DestinationMap.java
                
----------------------------------------------------------------------
diff --git a/activemq-client/src/main/java/org/apache/activemq/filter/DestinationMap.java \
b/activemq-client/src/main/java/org/apache/activemq/filter/DestinationMap.java index \
                fd07b7a..b361203 100755
--- a/activemq-client/src/main/java/org/apache/activemq/filter/DestinationMap.java
+++ b/activemq-client/src/main/java/org/apache/activemq/filter/DestinationMap.java
@@ -16,6 +16,7 @@
  */
 package org.apache.activemq.filter;
 
+import java.util.Comparator;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -201,12 +202,18 @@ public class DestinationMap {
      * @return the largest matching value or null if no value matches
      */
     @SuppressWarnings({"rawtypes", "unchecked"})
-    public Object chooseValue(ActiveMQDestination destination) {
+    public Object chooseValue(final ActiveMQDestination destination) {
         Set set = get(destination);
         if (set == null || set.isEmpty()) {
             return null;
         }
-        SortedSet sortedSet = new TreeSet(set);
+        SortedSet sortedSet = new TreeSet(new Comparator<DestinationMapEntry>() {
+            @Override
+            public int compare(DestinationMapEntry entry1, DestinationMapEntry \
entry2) { +                return destination.equals(entry1.destination) ? -1 : \
(destination.equals(entry2.destination) ? 1 : entry1.compareTo(entry2)); +            \
} +        });
+        sortedSet.addAll(set);
         return sortedSet.first();
     }
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic