TSK-1699 - Register CustomEditor for String[]
all String[] parameters should not be splitted when only one parameter exists, with values delimited with comma
This commit is contained in:
parent
f812639cc2
commit
f854e3d579
|
@ -5,6 +5,7 @@
|
|||
|
||||
### GENERATED ###
|
||||
target/
|
||||
routing/taskana-routing-rest/target\\routing.dmn
|
||||
.apt_generated/
|
||||
.checkstyle
|
||||
bin/
|
||||
|
|
|
@ -2,6 +2,7 @@ package pro.taskana.common.rest;
|
|||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.propertyeditors.StringArrayPropertyEditor;
|
||||
import org.springframework.web.bind.WebDataBinder;
|
||||
import org.springframework.web.bind.annotation.ControllerAdvice;
|
||||
import org.springframework.web.bind.annotation.InitBinder;
|
||||
|
@ -11,12 +12,12 @@ import pro.taskana.task.api.models.ObjectReference;
|
|||
import pro.taskana.task.internal.models.ObjectReferenceImpl;
|
||||
|
||||
@ControllerAdvice
|
||||
public class JsonPropertyEditorRegistrator {
|
||||
public class InitBinderControllerAdvice {
|
||||
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
@Autowired
|
||||
public JsonPropertyEditorRegistrator(ObjectMapper objectMapper) {
|
||||
public InitBinderControllerAdvice(ObjectMapper objectMapper) {
|
||||
this.objectMapper = objectMapper;
|
||||
}
|
||||
|
||||
|
@ -27,5 +28,6 @@ public class JsonPropertyEditorRegistrator {
|
|||
new JsonPropertyEditor(objectMapper, PriorityColumnHeaderRepresentationModel.class));
|
||||
binder.registerCustomEditor(
|
||||
ObjectReference.class, new JsonPropertyEditor(objectMapper, ObjectReferenceImpl.class));
|
||||
binder.registerCustomEditor(String[].class, new StringArrayPropertyEditor(null));
|
||||
}
|
||||
}
|
|
@ -103,6 +103,24 @@ class WorkbasketAccessItemControllerIntTest {
|
|||
assertThat(response.getBody().getPageMetadata().getNumber()).isEqualTo(1);
|
||||
}
|
||||
|
||||
@Test
|
||||
void should_notSplitQueryParameterByComma_When_accessId_containsTwo() {
|
||||
String parameters =
|
||||
"?sort-by=WORKBASKET_KEY&order=ASCENDING&page=1&page-size=9&access-id=user-1-1,user-1-2";
|
||||
String url = restHelper.toUrl(RestEndpoints.URL_WORKBASKET_ACCESS_ITEMS) + parameters;
|
||||
HttpEntity<Object> auth = new HttpEntity<>(RestHelper.generateHeadersForUser("teamlead-1"));
|
||||
|
||||
ResponseEntity<WorkbasketAccessItemPagedRepresentationModel> response =
|
||||
TEMPLATE.exchange(
|
||||
url, HttpMethod.GET, auth, WORKBASKET_ACCESS_ITEM_PAGED_REPRESENTATION_MODEL_TYPE);
|
||||
assertThat(response.getBody()).isNotNull();
|
||||
assertThat(response.getBody().getContent()).hasSize(0);
|
||||
assertThat(response.getBody().getPageMetadata().getSize()).isEqualTo(9);
|
||||
assertThat(response.getBody().getPageMetadata().getTotalElements()).isEqualTo(0);
|
||||
assertThat(response.getBody().getPageMetadata().getTotalPages()).isEqualTo(0);
|
||||
assertThat(response.getBody().getPageMetadata().getNumber()).isEqualTo(1);
|
||||
}
|
||||
|
||||
@Test
|
||||
void should_DeleteAllAccessItemForUser_ifValidAccessIdOfUserIsSupplied() {
|
||||
String url =
|
||||
|
|
Loading…
Reference in New Issue