REPO-1058: REST API - minor fix for "fields" param (fka "properties") to handle field names with spaces

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@130835 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jan Vonka
2016-09-20 13:11:22 +00:00
parent 94efedd1b1
commit 6501413922
3 changed files with 42 additions and 25 deletions

View File

@@ -150,7 +150,7 @@ public interface RecognizedParamsExtractor
Set<String> filteredProperties = new HashSet<String>(st.countTokens()); Set<String> filteredProperties = new HashSet<String>(st.countTokens());
while (st.hasMoreTokens()) while (st.hasMoreTokens())
{ {
filteredProperties.add(st.nextToken()); filteredProperties.add(st.nextToken().trim());
} }
// if supplied, the select takes precedence over the filter (fields/properties) for top-level bean properties // if supplied, the select takes precedence over the filter (fields/properties) for top-level bean properties

View File

@@ -520,24 +520,19 @@ public class QueriesPeopleApiTest extends AbstractSingleNetworkSiteTest
checkApiCall(term, orderBy, fields, paging, expectedStatus, expectedPeople); checkApiCall(term, orderBy, fields, paging, expectedStatus, expectedPeople);
} }
// // TODO Having a space in the list discards everything after the space - found in manual testing - is this a framework bug? @Test
// @Test public void testFieldsWithSpace() throws Exception
// public void testFieldsWithSpace() throws Exception {
// { fields = PARAM_FIRSTNAME+", "+PARAM_LASTNAME;
// fields = PARAM_FIRSTNAME+", "+PARAM_LASTNAME; term = LAST_A;
// term = LAST_A; expectedPeople = new String[]
// expectedPeople = new String[] {
// { "Person ["+ "lastName=LastA, ]", // USER5
// "Person ["+ "lastName=LastA, ]", // USER5 "Person ["+"firstName=FirstA, lastName=LastA, ]", // USER1
// "Person ["+"firstName=FirstA, lastName=LastA, ]", // USER1 "Person ["+"firstName=FirstB, lastName=LastA, ]" // USER3
// "Person ["+"firstName=FirstB, lastName=LastA, ]", // USER3 };
// // But is the following:
//// "Person ["+ "]", checkApiCall(term, orderBy, fields, paging, expectedStatus, expectedPeople);
//// "Person ["+"firstName=FirstA, ]", }
//// "Person ["+"firstName=FirstB, ]",
// };
//
// checkApiCall(term, orderBy, fields, paging, expectedStatus, expectedPeople);
// }
} }

View File

@@ -54,26 +54,48 @@ import java.util.Map;
*/ */
public class RecognizedParamsExtractorTest implements RecognizedParamsExtractor public class RecognizedParamsExtractorTest implements RecognizedParamsExtractor
{ {
@Test @Test
public void getFilterTest() public void getFilterTest()
{ {
BeanPropertiesFilter theFilter = getFilter(null); BeanPropertiesFilter theFilter = getFilter(null);
assertNotNull(theFilter); assertNotNull(theFilter);
assertTrue("Null passed in so must return the default BeanPropertiesFilter.ALLOW_ALL class", BeanPropertiesFilter.AllProperties.class.equals(theFilter.getClass())); assertTrue("Null passed in so must return the default BeanPropertiesFilter.ALLOW_ALL class", BeanPropertiesFilter.AllProperties.class.equals(theFilter.getClass()));
assertTrue(theFilter.isAllowed("bob"));
assertTrue(theFilter.isAllowed("fred"));
assertTrue(theFilter.isAllowed("50"));
assertTrue(theFilter.isAllowed("b.z"));
theFilter = getFilter("bob"); theFilter = getFilter("bob");
assertNotNull(theFilter); assertNotNull(theFilter);
assertTrue("Must return the BeanPropertiesFilter class", theFilter instanceof BeanPropertiesFilter); assertTrue("Must return the BeanPropertiesFilter class", theFilter instanceof BeanPropertiesFilter);
assertTrue(theFilter.isAllowed("bob"));
assertFalse(theFilter.isAllowed("fred"));
assertFalse(theFilter.isAllowed("50"));
assertFalse(theFilter.isAllowed("b.z"));
theFilter = getFilter("50,fred,b.z"); theFilter = getFilter("50,fred,b.z");
assertNotNull(theFilter); assertNotNull(theFilter);
assertTrue("Must return the BeanPropertiesFilter class", theFilter instanceof BeanPropertiesFilter); assertTrue("Must return the BeanPropertiesFilter class", theFilter instanceof BeanPropertiesFilter);
assertFalse(theFilter.isAllowed("bob"));
assertTrue(theFilter.isAllowed("fred"));
assertTrue(theFilter.isAllowed("50"));
assertTrue(theFilter.isAllowed("b.z"));
theFilter = getFilter("50,fred,"); theFilter = getFilter("50,fred,");
assertNotNull(theFilter); assertNotNull(theFilter);
assertTrue("Must return the BeanPropertiesFilter class", theFilter instanceof BeanPropertiesFilter); assertTrue("Must return the BeanPropertiesFilter class", theFilter instanceof BeanPropertiesFilter);
assertFalse(theFilter.isAllowed("bob"));
assertTrue(theFilter.isAllowed("fred"));
assertTrue(theFilter.isAllowed("50"));
assertFalse(theFilter.isAllowed("b.z"));
theFilter = getFilter("50, bob, fred ,");
assertNotNull(theFilter);
assertTrue("Must return the BeanPropertiesFilter class", theFilter instanceof BeanPropertiesFilter);
assertTrue(theFilter.isAllowed("bob"));
assertTrue(theFilter.isAllowed("fred"));
assertTrue(theFilter.isAllowed("50"));
assertFalse(theFilter.isAllowed("b.z"));
} }