You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2010/09/21 13:33:19 UTC

svn commit: r999319 - in /karaf/branches/karaf-2.0.x/shell/commands/src: main/java/org/apache/karaf/shell/commands/SortAction.java test/java/org/apache/karaf/shell/commands/SortTest.java

Author: gnodet
Date: Tue Sep 21 11:33:18 2010
New Revision: 999319

URL: http://svn.apache.org/viewvc?rev=999319&view=rev
Log:
KARAF-134: The sort command does not work when trying to sort on the last field

Modified:
    karaf/branches/karaf-2.0.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/SortAction.java
    karaf/branches/karaf-2.0.x/shell/commands/src/test/java/org/apache/karaf/shell/commands/SortTest.java

Modified: karaf/branches/karaf-2.0.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/SortAction.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.0.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/SortAction.java?rev=999319&r1=999318&r2=999319&view=diff
==============================================================================
--- karaf/branches/karaf-2.0.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/SortAction.java (original)
+++ karaf/branches/karaf-2.0.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/SortAction.java Tue Sep 21 11:33:18 2010
@@ -233,7 +233,7 @@ public class SortAction extends OsgiComm
         protected int[] getSortKey(String str, List<Integer> fields, Key key) {
             int start;
             int end;
-            if (key.startField * 2 < fields.size()) {
+            if (key.startField * 2 <= fields.size()) {
                 start = fields.get((key.startField - 1) * 2);
                 if (key.ignoreBlanksStart) {
                     while (start < fields.get((key.startField - 1) * 2 + 1) && Character.isWhitespace(str.charAt(start))) {
@@ -246,7 +246,7 @@ public class SortAction extends OsgiComm
             } else {
                 start = 0;
             }
-            if (key.endField > 0 && key.endField * 2 < fields.size()) {
+            if (key.endField > 0 && key.endField * 2 <= fields.size()) {
                 end =  fields.get((key.endField - 1) * 2);
                 if (key.ignoreBlanksEnd) {
                     while (end < fields.get((key.endField - 1) * 2 + 1) && Character.isWhitespace(str.charAt(end))) {

Modified: karaf/branches/karaf-2.0.x/shell/commands/src/test/java/org/apache/karaf/shell/commands/SortTest.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.0.x/shell/commands/src/test/java/org/apache/karaf/shell/commands/SortTest.java?rev=999319&r1=999318&r2=999319&view=diff
==============================================================================
--- karaf/branches/karaf-2.0.x/shell/commands/src/test/java/org/apache/karaf/shell/commands/SortTest.java (original)
+++ karaf/branches/karaf-2.0.x/shell/commands/src/test/java/org/apache/karaf/shell/commands/SortTest.java Tue Sep 21 11:33:18 2010
@@ -55,6 +55,9 @@ public class SortTest extends TestCase {
 
         Collections.sort(strings, new SortAction.SortComparator(false, false, false, true, '\0', null));
         assertTrue(Arrays.asList(s1, s2, s0).equals(strings));
+
+        Collections.sort(strings, new SortAction.SortComparator(false, true, false, false, '\0', Arrays.asList("4")));
+        assertTrue(Arrays.asList(s2, s1, s0).equals(strings));
     }
 
 }