@@ -51,6 +51,23 @@ void BuildsUrlOnProvidedBaseUrl() {
5151 assertEquals ("http://localhost/users" , result .toString ());
5252 }
5353
54+ @ Test
55+ void ThrowsIllegalArgumentWhenMultidimensionalQueryParameterIsSet () {
56+ // Arrange as the request builders would
57+ final RequestInformation requestInfo = new RequestInformation ();
58+ requestInfo .httpMethod = HttpMethod .GET ;
59+ requestInfo .urlTemplate = "{+baseurl}/users{?datasetIds}" ;
60+ final GetQueryParameters queryParameters = new GetQueryParameters ();
61+ queryParameters .parallelDatasetIds = new UUID [][] {
62+ {UUID .fromString ("f0f351e7-8e5f-4d0e-8f2a-7b5e4b6f4f3e" )},
63+ {UUID .fromString ("a2f351e7-8e5f-4d0e-8f2a-7b5e4b6f4f3e" )}
64+ };
65+
66+ // Assert
67+ var exception = assertThrows (IllegalArgumentException .class , () -> requestInfo .addQueryParameters (queryParameters ));
68+ assertTrue (exception .getMessage ().contains ("multidimensional arrays are not supported" ));
69+ }
70+
5471 @ Test
5572 void SetsPathParametersOfDateTimeOffsetType () {
5673 // Arrange as the request builders would
@@ -483,6 +500,11 @@ class GetQueryParameters implements QueryParameters {
483500
484501 @ jakarta .annotation .Nullable public UUID [] datasetIds ;
485502
503+ /**
504+ * Search by dataset ids in parallel (or something like that)
505+ */
506+ @ jakarta .annotation .Nullable public UUID [][] parallelDatasetIds ;
507+
486508 /** Per-dataset boolean indicating whether to resolve its child datasets */
487509 @ jakarta .annotation .Nullable public Boolean [] expandChildren ;
488510
@@ -491,13 +513,15 @@ class GetQueryParameters implements QueryParameters {
491513 */
492514 @ jakarta .annotation .Nullable public PeriodAndDuration [] messageAges ;
493515
516+
494517 @ jakarta .annotation .Nonnull public Map <String , Object > toQueryParameters () {
495518 final Map <String , Object > allQueryParams = new HashMap <>();
496519 allQueryParams .put ("%24select" , select );
497520 allQueryParams .put ("%24search" , search );
498521 allQueryParams .put ("dataset" , dataset );
499522 allQueryParams .put ("datasets" , datasets );
500523 allQueryParams .put ("datasetIds" , datasetIds );
524+ allQueryParams .put ("parallelDatasetIds" , parallelDatasetIds );
501525 allQueryParams .put ("expandChildren" , expandChildren );
502526 allQueryParams .put ("periods" , messageAges );
503527 return allQueryParams ;
0 commit comments