diff --git a/source/java/org/alfresco/rest/framework/tools/RecognizedParamsExtractor.java b/source/java/org/alfresco/rest/framework/tools/RecognizedParamsExtractor.java index 360151e527..1527b32d22 100644 --- a/source/java/org/alfresco/rest/framework/tools/RecognizedParamsExtractor.java +++ b/source/java/org/alfresco/rest/framework/tools/RecognizedParamsExtractor.java @@ -315,6 +315,7 @@ public interface RecognizedParamsExtractor { rpeLogger().debug("Invalid sort order definition (" + sortDef + "). Valid values are " + SortColumn.ASCENDING + " or " + SortColumn.DESCENDING + "."); + throw new InvalidArgumentException("Unknown sort order direction: "+sortDef+" expected: asc or desc"); } } sortedColumns.add(new SortColumn(columnName, SortColumn.ASCENDING.equals(sortOrder))); diff --git a/source/test-java/org/alfresco/rest/framework/tools/RecognizedParamsExtractorTest.java b/source/test-java/org/alfresco/rest/framework/tools/RecognizedParamsExtractorTest.java index ae2ae155a2..d52139cb18 100644 --- a/source/test-java/org/alfresco/rest/framework/tools/RecognizedParamsExtractorTest.java +++ b/source/test-java/org/alfresco/rest/framework/tools/RecognizedParamsExtractorTest.java @@ -139,7 +139,7 @@ public class RecognizedParamsExtractorTest implements RecognizedParamsExtractor assertEquals("age", theSort.get(1).column); assertTrue(!theSort.get(1).asc); //desc - theSort = getSort("age Desc, name Asc"); + theSort = getSort("age DeSc, name AsC"); assertNotNull(theSort); assertTrue("Must have a value for column: NAME", !theSort.isEmpty()); assertTrue(theSort.size() == 2); @@ -147,15 +147,18 @@ public class RecognizedParamsExtractorTest implements RecognizedParamsExtractor assertTrue(!theSort.get(0).asc); //desc assertEquals("name", theSort.get(1).column); assertTrue(theSort.get(1).asc); + + try + { + getSort("age asc, name des"); // nvalid, should be desc + fail("Should throw an InvalidSelectException"); + } + catch (InvalidArgumentException error) + { + // this is correct + } - theSort = getSort("name des"); //invalid, should be desc - assertNotNull(theSort); - assertTrue("Must have a value for column: NAME", !theSort.isEmpty()); - assertTrue(theSort.size() == 1); - assertEquals("name", theSort.get(0).column); - assertTrue(theSort.get(0).asc); //Defaults to ascending because the sort order was invalid - - theSort = getSort("name asc,"); //invalid, should be desc + theSort = getSort("name asc,"); // trailing comma is ignored assertNotNull(theSort); assertTrue("Must have a value for column: NAME", !theSort.isEmpty()); assertTrue(theSort.size() == 1);