[jboss-cvs] JBossAS SVN: r90604 - projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jun 25 18:51:57 EDT 2009


Author: alesj
Date: 2009-06-25 18:51:57 -0400 (Thu, 25 Jun 2009)
New Revision: 90604

Modified:
   projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DominoOrdering.java
   projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/Dots.java
   projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/SetDots.java
Log:
Better check for proper dimension size.

Modified: projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DominoOrdering.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DominoOrdering.java	2009-06-25 22:34:31 UTC (rev 90603)
+++ projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DominoOrdering.java	2009-06-25 22:51:57 UTC (rev 90604)
@@ -79,12 +79,12 @@
                if (oneHead.match(twoHead) && oneTail.match(twoTail))
                {
                   // lets try do do more exact match
-                  // although we should aviod singe size checks
+                  // although we should aviod singe dimension checks
                   // which are already part of match() check
                   // in order not to break comparator comparison
-                  if (oneTail.contains(twoHead))
+                  if (twoHead.dimension() > 1 && oneTail.dimension() >= twoHead.dimension() && oneTail.contains(twoHead))
                      relation = -1;
-                  else if (twoTail.contains(oneHead))
+                  else if (oneHead.dimension() > 1 && twoTail.dimension() >= oneHead.dimension() && twoTail.contains(oneHead))
                      relation = 1;
                   else
                      relation = COMPARATOR.compare(one, two);

Modified: projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/Dots.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/Dots.java	2009-06-25 22:34:31 UTC (rev 90603)
+++ projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/Dots.java	2009-06-25 22:51:57 UTC (rev 90604)
@@ -52,4 +52,13 @@
     * @return true if these dots contain param dots
     */
    boolean contains(Dots<T> dots);
+
+   /**
+    * The dimension of different dots.
+    * For strict domino dots this would be one,
+    * in our string set case this is the size of the set.
+    *
+    * @return the dimension of dots 
+    */
+   int dimension();
 }

Modified: projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/SetDots.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/SetDots.java	2009-06-25 22:34:31 UTC (rev 90603)
+++ projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/SetDots.java	2009-06-25 22:51:57 UTC (rev 90604)
@@ -64,14 +64,15 @@
    public boolean contains(Dots<Set<V>> containable)
    {
       Set<V> otherSet = containable.getValue();
-      // do not match singe dot, due to name comparison consistency
-      if (otherSet.size() < 2)
-         return false;
-
       Set<V> copy = new HashSet<V>(otherSet);
       return copy.retainAll(set) == false; 
    }
-   
+
+   public int dimension()
+   {
+      return set.size();
+   }
+
    @Override
    public String toString()
    {




More information about the jboss-cvs-commits mailing list