[gatein-commits] gatein SVN: r5028 - in portal/branches/navcontroller/component/web/controller/src: test/java/org/exoplatform/web/controller/router and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Nov 10 16:22:26 EST 2010


Author: julien_viet
Date: 2010-11-10 16:22:25 -0500 (Wed, 10 Nov 2010)
New Revision: 5028

Modified:
   portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/QualifiedName.java
   portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestQualifiedName.java
Log:
make QualifiedName implement Comparable


Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/QualifiedName.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/QualifiedName.java	2010-11-10 21:20:38 UTC (rev 5027)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/QualifiedName.java	2010-11-10 21:22:25 UTC (rev 5028)
@@ -31,7 +31,7 @@
  * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
  * @version $Revision$
  */
-public class QualifiedName
+public class QualifiedName implements Comparable<QualifiedName>
 {
 
    /**
@@ -179,6 +179,30 @@
       return false;
    }
 
+   public int compareTo(QualifiedName o)
+   {
+      if (o == null)
+      {
+         throw new NullPointerException("No null argument accepted");
+      }
+      else if (o == this)
+      {
+         return 0;
+      }
+      else
+      {
+         int qualifierComparison = qualifier.compareTo(o.qualifier);
+         if (qualifierComparison == 0)
+         {
+            return name.compareTo(o.name);
+         }
+         else
+         {
+            return qualifierComparison;
+         }
+      }
+   }
+
    @Override
    public String toString()
    {

Modified: portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestQualifiedName.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestQualifiedName.java	2010-11-10 21:20:38 UTC (rev 5027)
+++ portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestQualifiedName.java	2010-11-10 21:22:25 UTC (rev 5028)
@@ -29,7 +29,7 @@
 public class TestQualifiedName extends TestCase
 {
 
-   public void testQualifiedName()
+   public void testSame()
    {
       QualifiedName qd1 = QualifiedName.create("a", "bc");
       assertEquals("a", qd1.getQualifier());
@@ -52,8 +52,32 @@
       assertEquals(qd1.hashCode(), qd2.hashCode());
    }
 
-   public void testEmptyQualifier()
+   public void testSameQualifierComparison()
    {
+      QualifiedName qd1 = QualifiedName.create("a", "b");
+      QualifiedName qd2 = QualifiedName.create("a", "c");
+      assertEquals(Math.signum(qd1.compareTo(qd2)), Math.signum("b".compareTo("c")));
+      assertEquals(Math.signum(qd2.compareTo(qd1)), Math.signum("c".compareTo("b")));
+   }
+
+   public void testEmptyQualifierComparison()
+   {
+      QualifiedName qd1 = QualifiedName.create("a");
+      QualifiedName qd2 = QualifiedName.create("b");
+      assertEquals(Math.signum(qd1.compareTo(qd2)), Math.signum("a".compareTo("b")));
+      assertEquals(Math.signum(qd2.compareTo(qd1)), Math.signum("b".compareTo("a")));
+   }
+
+   public void testDifferentQualifierSameNameComparison()
+   {
+      QualifiedName qd1 = QualifiedName.create("a", "c");
+      QualifiedName qd2 = QualifiedName.create("b", "c");
+      assertEquals(Math.signum(qd1.compareTo(qd2)), Math.signum("a".compareTo("b")));
+      assertEquals(Math.signum(qd2.compareTo(qd1)), Math.signum("b".compareTo("a")));
+   }
+
+   public void testSameWithEmptyQualifier()
+   {
       QualifiedName qd1 = QualifiedName.create("abc");
       assertEquals("", qd1.getQualifier());
       assertEquals("abc", qd1.getName());



More information about the gatein-commits mailing list