Skip to content

Commit 3d3322f

Browse files
committed
Fixed #176 (The defaultAllowed parameter is not added to request for thumbnails service)
1 parent 642c642 commit 3d3322f

File tree

2 files changed

+33
-11
lines changed

2 files changed

+33
-11
lines changed

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/thumbnails/SingleThumbnailAdapter.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,16 @@
1818
public class SingleThumbnailAdapter extends AbstractAdapter {
1919

2020
private final MultivaluedHashMap<String, String> params = new MultivaluedHashMap<String, String>();
21+
private String reportName;
2122

2223
public SingleThumbnailAdapter(SessionStorage sessionStorage) {
2324
super(sessionStorage);
2425
}
2526

2627
public SingleThumbnailAdapter report(String uri) {
27-
params.add("uri", uri);
28+
if (uri != null && !uri.equals("")) {
29+
reportName = uri;
30+
}
2831
return this;
2932
}
3033

@@ -34,14 +37,17 @@ public SingleThumbnailAdapter defaultAllowed(Boolean value) {
3437
}
3538

3639
public OperationResult<InputStream> get() {
37-
return request().setAccept("image/jpeg").get();
40+
return request().get();
3841
}
3942

4043
private JerseyRequest<InputStream> request() {
41-
if (params.size() == 0) {
44+
if (reportName == null) {
4245
throw new MandatoryParameterNotFoundException("URI of report should be specified");
4346
}
44-
return JerseyRequest.buildRequest(sessionStorage, InputStream.class,
45-
new String[]{"/thumbnails", params.get("uri").get(0)}, new DefaultErrorHandler());
47+
JerseyRequest<InputStream> request = JerseyRequest.buildRequest(sessionStorage, InputStream.class,
48+
new String[]{"/thumbnails", reportName}, new DefaultErrorHandler());
49+
request.setAccept("image/jpeg");
50+
request.addParams(params);
51+
return request;
4652
}
4753
}

src/test/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/thumbnails/SingleThumbnailAdapterTest.java

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,12 +74,28 @@ public void should_set_report_uri() {
7474
// When
7575
SingleThumbnailAdapter retrieved = thumbnailAdapter.report("/public/Samples/Reports/07g.RevenueDetailReport");
7676

77+
// Then
78+
String reportName = (String) Whitebox.getInternalState(retrieved, "reportName");
79+
assertEquals(reportName, "/public/Samples/Reports/07g.RevenueDetailReport");
80+
}
81+
82+
@Test
83+
/**
84+
* for {@link SingleThumbnailAdapter#report(String)}
85+
*/
86+
public void should_set_report_uri_with_default_allowed() {
87+
// Given
88+
SingleThumbnailAdapter thumbnailAdapter = new SingleThumbnailAdapter(sessionStorageMock);
89+
90+
// When
91+
SingleThumbnailAdapter retrieved = thumbnailAdapter.defaultAllowed(true).report("/public/Samples/Reports/07g.RevenueDetailReport");
92+
7793
// Then
7894
MultivaluedHashMap<String, String> params =
79-
(MultivaluedHashMap<String, String>) Whitebox.getInternalState(thumbnailAdapter, "params");
80-
List<String> list = params.get("uri");
95+
(MultivaluedHashMap<String, String>) Whitebox.getInternalState(retrieved, "params");
96+
List<String> list = params.get("defaultAllowed");
8197
assertSame(retrieved, thumbnailAdapter);
82-
assertEquals(list.get(0), "/public/Samples/Reports/07g.RevenueDetailReport");
98+
assertEquals(list.get(0), "true");
8399
}
84100

85101
@Test
@@ -115,8 +131,8 @@ public void should_return_proper_operation_result() {
115131
eq(InputStream.class),
116132
eq(new String[]{"/thumbnails", "/public/Samples/Reports/07g.RevenueDetailReport"}),
117133
any(DefaultErrorHandler.class))).thenReturn(jerseyRequestMock);
118-
when(jerseyRequestMock.setAccept("image/jpeg")).thenReturn(requestBuilderMock);
119-
when(requestBuilderMock.get()).thenReturn(operationResultMock);
134+
when(jerseyRequestMock.setAccept("image/jpeg")).thenReturn(jerseyRequestMock);
135+
when(jerseyRequestMock.get()).thenReturn(operationResultMock);
120136
SingleThumbnailAdapter thumbnailAdapter = new SingleThumbnailAdapter(sessionStorageMock);
121137
thumbnailAdapter.report("/public/Samples/Reports/07g.RevenueDetailReport");
122138

@@ -128,7 +144,7 @@ public void should_return_proper_operation_result() {
128144
assertNotNull(retrieved);
129145
assertSame(retrieved, operationResultMock);
130146
verify(jerseyRequestMock).setAccept(eq("image/jpeg"));
131-
verify(requestBuilderMock).get();
147+
verify(jerseyRequestMock).get();
132148
verifyStatic(times(1));
133149
buildRequest(
134150
eq(sessionStorageMock),

0 commit comments

Comments
 (0)