Skip to content

Commit 8cb4883

Browse files
committed
Merge branch 'bugFix' into develop
2 parents ff66c17 + b3df504 commit 8cb4883

File tree

4 files changed

+100
-39
lines changed

4 files changed

+100
-39
lines changed

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

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public class BatchThumbnailAdapter extends AbstractAdapter {
2020

2121
private final MultivaluedHashMap<String, String> params = new MultivaluedHashMap<String, String>();
2222
private RequestMethod requestMethod;
23+
private Boolean defaultAllowed = false;
2324

2425
public BatchThumbnailAdapter(SessionStorage sessionStorage) {
2526
super(sessionStorage);
@@ -46,7 +47,7 @@ public BatchThumbnailAdapter reports(Collection<String> uris) {
4647
}
4748

4849
public BatchThumbnailAdapter defaultAllowed(Boolean value) {
49-
params.add("defaultAllowed", value.toString());
50+
this.defaultAllowed = value;
5051
return this;
5152
}
5253

@@ -56,12 +57,19 @@ public BatchThumbnailAdapter requestMethod(RequestMethod requestMethod){
5657
}
5758

5859
public OperationResult<ResourceThumbnailsListWrapper> get() {
59-
return (requestMethod == RequestMethod.POST) ? request().setContentType("application/x-www-form-urlencoded").post(params) : request().addParams(params).get();
60+
if (requestMethod == RequestMethod.POST) {
61+
return request()
62+
.setContentType("application/x-www-form-urlencoded")
63+
.post(params);
64+
}
65+
return request().addParams(params).get();
6066
}
6167

6268
private JerseyRequest<ResourceThumbnailsListWrapper> request() {
63-
return JerseyRequest.buildRequest(sessionStorage, ResourceThumbnailsListWrapper.class,
69+
JerseyRequest<ResourceThumbnailsListWrapper> jerseyRequest = JerseyRequest.buildRequest(sessionStorage, ResourceThumbnailsListWrapper.class,
6470
new String[]{"/thumbnails"}, new DefaultErrorHandler());
71+
jerseyRequest.addParam("defaultAllowed", defaultAllowed.toString());
72+
return jerseyRequest;
6573
}
6674

6775
}

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
import com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.MandatoryParameterNotFoundException;
77
import com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.handling.DefaultErrorHandler;
88
import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResult;
9-
10-
import javax.ws.rs.core.MultivaluedHashMap;
119
import java.io.InputStream;
1210

1311
/**
@@ -17,8 +15,8 @@
1715
*/
1816
public class SingleThumbnailAdapter extends AbstractAdapter {
1917

20-
private final MultivaluedHashMap<String, String> params = new MultivaluedHashMap<String, String>();
2118
private String reportName;
19+
private Boolean defaultAllowed = false;
2220

2321
public SingleThumbnailAdapter(SessionStorage sessionStorage) {
2422
super(sessionStorage);
@@ -32,7 +30,7 @@ public SingleThumbnailAdapter report(String uri) {
3230
}
3331

3432
public SingleThumbnailAdapter defaultAllowed(Boolean value) {
35-
params.add("defaultAllowed", value.toString());
33+
this.defaultAllowed = value;
3634
return this;
3735
}
3836

@@ -47,7 +45,7 @@ private JerseyRequest<InputStream> request() {
4745
JerseyRequest<InputStream> request = JerseyRequest.buildRequest(sessionStorage, InputStream.class,
4846
new String[]{"/thumbnails", reportName}, new DefaultErrorHandler());
4947
request.setAccept("image/jpeg");
50-
request.addParams(params);
48+
request.addParam("defaultAllowed", defaultAllowed.toString());
5149
return request;
5250
}
5351
}

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

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
package com.jaspersoft.jasperserver.jaxrs.client.apiadapters.thumbnails;
22

3+
import com.jaspersoft.jasperserver.dto.thumbnails.ResourceThumbnailsListWrapper;
34
import com.jaspersoft.jasperserver.jaxrs.client.core.JerseyRequest;
4-
import com.jaspersoft.jasperserver.jaxrs.client.core.RequestBuilder;
55
import com.jaspersoft.jasperserver.jaxrs.client.core.SessionStorage;
66
import com.jaspersoft.jasperserver.jaxrs.client.core.enums.RequestMethod;
77
import com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.handling.DefaultErrorHandler;
88
import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResult;
9-
import com.jaspersoft.jasperserver.dto.thumbnails.ResourceThumbnailsListWrapper;
109
import java.util.List;
1110
import javax.ws.rs.core.MultivaluedHashMap;
1211
import org.mockito.ArgumentCaptor;
@@ -46,8 +45,6 @@ public class BatchThumbnailAdapterTest extends PowerMockTestCase {
4645
@Mock
4746
private JerseyRequest jerseyRequestMock;
4847
@Mock
49-
private RequestBuilder<ResourceThumbnailsListWrapper> requestBuilderMock;
50-
@Mock
5148
private OperationResult<ResourceThumbnailsListWrapper> operationResultMock;
5249
@Captor
5350
private ArgumentCaptor<MultivaluedHashMap> argument = ArgumentCaptor.forClass(MultivaluedHashMap.class);
@@ -80,7 +77,7 @@ public void should_set_report_uri() {
8077

8178
// Then
8279
MultivaluedHashMap<String, String> params =
83-
(MultivaluedHashMap<String, String>) Whitebox.getInternalState(thumbnailAdapter, "params");
80+
(MultivaluedHashMap<String, String>) Whitebox.getInternalState(retrieved, "params");
8481
List<String> list = params.get("uri");
8582
assertSame(retrieved, thumbnailAdapter);
8683
assertEquals(list.get(0), "/public/Samples/Reports/07g.RevenueDetailReport");
@@ -99,39 +96,41 @@ public void should_set_thumbnails_parameter() {
9996
BatchThumbnailAdapter retrieved = thumbnailAdapter.defaultAllowed(true);
10097

10198
// Then /
102-
MultivaluedHashMap<String, String> params =
103-
(MultivaluedHashMap<String, String>) Whitebox.getInternalState(thumbnailAdapter, "params");
104-
List<String> list = params.get("defaultAllowed");
99+
Boolean param = (Boolean)Whitebox.getInternalState(retrieved, "defaultAllowed");
105100
assertSame(retrieved, thumbnailAdapter);
106-
assertEquals(list.get(0), Boolean.TRUE.toString());
101+
assertEquals(param, Boolean.TRUE);
107102
}
108103

109104
@Test
110105
/**
111106
* for {@link BatchThumbnailAdapter#get()}
112107
*/
113-
public void should_return_proper_operation_result_with_defualt_request_method() {
108+
public void should_return_proper_operation_result_with_default_request_method() {
114109

115110
// Given
116111
mockStatic(JerseyRequest.class);
117112
when(buildRequest(eq(sessionStorageMock), eq(ResourceThumbnailsListWrapper.class), eq(new String[]{"/thumbnails"}), any(DefaultErrorHandler.class))).thenReturn(jerseyRequestMock);
118-
when(jerseyRequestMock.setContentType("application/x-www-form-urlencoded")).thenReturn(requestBuilderMock);
119-
when(requestBuilderMock.post(any(MultivaluedHashMap.class))).thenReturn(operationResultMock);
113+
when(jerseyRequestMock.setContentType("application/x-www-form-urlencoded")).thenReturn(jerseyRequestMock);
114+
when(jerseyRequestMock.addParam("defaultAllowed", "false")).thenReturn(jerseyRequestMock);
115+
when(jerseyRequestMock.post(any(MultivaluedHashMap.class))).thenReturn(operationResultMock);
120116

121117
BatchThumbnailAdapter thumbnailAdapter = new BatchThumbnailAdapter(sessionStorageMock);
122118

123119
// When
124-
OperationResult<ResourceThumbnailsListWrapper> retrieved = thumbnailAdapter.reports("/public/Samples/Reports/07g.RevenueDetailReport", "/public/Samples/Reports/03._Store_Segment_Performance_Report").get();
120+
OperationResult<ResourceThumbnailsListWrapper> retrieved = thumbnailAdapter
121+
.reports("/public/Samples/Reports/07g.RevenueDetailReport", "/public/Samples/Reports/03._Store_Segment_Performance_Report")
122+
.get();
125123

126124
// Then
127125
Assert.assertNotNull(retrieved);
128126
Assert.assertSame(retrieved, operationResultMock);
129127
PowerMockito.verifyStatic(times(1));
130128
buildRequest(eq(sessionStorageMock), eq(ResourceThumbnailsListWrapper.class), eq(new String[]{"/thumbnails"}), any(DefaultErrorHandler.class));
131129
verify(jerseyRequestMock).setContentType(eq("application/x-www-form-urlencoded"));
132-
verify(requestBuilderMock).post(argument.capture());
130+
verify(jerseyRequestMock).post(any(MultivaluedHashMap.class));
133131
verify(jerseyRequestMock, never()).addParams(argument.capture());
134-
verify(requestBuilderMock, never()).get();
132+
verify(jerseyRequestMock, never()).get();
133+
verify(jerseyRequestMock).post(argument.capture());
135134
Assert.assertNotNull(argument.getValue());
136135
Assert.assertTrue(argument.getValue().containsKey("uri"));
137136
Assert.assertSame(argument.getValue().get("uri").get(0), "/public/Samples/Reports/07g.RevenueDetailReport");
@@ -146,9 +145,9 @@ public void should_return_proper_operation_result_with_get_request_method() {
146145
// Given
147146
mockStatic(JerseyRequest.class);
148147
when(buildRequest(eq(sessionStorageMock), eq(ResourceThumbnailsListWrapper.class), eq(new String[]{"/thumbnails"}), any(DefaultErrorHandler.class))).thenReturn(jerseyRequestMock);
149-
when(jerseyRequestMock.setContentType("application/x-www-form-urlencoded")).thenReturn(requestBuilderMock);
150-
when(jerseyRequestMock.addParams(any(MultivaluedHashMap.class))).thenReturn(requestBuilderMock);
151-
when(requestBuilderMock.get()).thenReturn(operationResultMock);
148+
when(jerseyRequestMock.setContentType("application/x-www-form-urlencoded")).thenReturn(jerseyRequestMock);
149+
when(jerseyRequestMock.addParams(any(MultivaluedHashMap.class))).thenReturn(jerseyRequestMock);
150+
when(jerseyRequestMock.get()).thenReturn(operationResultMock);
152151

153152
BatchThumbnailAdapter thumbnailAdapter = new BatchThumbnailAdapter(sessionStorageMock);
154153

@@ -165,16 +164,16 @@ public void should_return_proper_operation_result_with_get_request_method() {
165164
PowerMockito.verifyStatic(times(1));
166165
buildRequest(eq(sessionStorageMock), eq(ResourceThumbnailsListWrapper.class), eq(new String[]{"/thumbnails"}), any(DefaultErrorHandler.class));
167166
verify(jerseyRequestMock, never()).setContentType(eq("application/x-www-form-urlencoded"));
168-
verify(requestBuilderMock, never()).post(argument.capture());
167+
verify(jerseyRequestMock, never()).post(argument.capture());
169168
verify(jerseyRequestMock).addParams(argument.capture());
170-
verify(requestBuilderMock).get();
169+
verify(jerseyRequestMock).get();
171170
Assert.assertNotNull(argument.getValue());
172171
Assert.assertTrue(argument.getValue().containsKey("uri"));
173172
Assert.assertSame(argument.getValue().get("uri").get(0), "/public/Samples/Reports/07g.RevenueDetailReport");
174173
}
175174

176175
@AfterMethod
177176
public void after() {
178-
reset(sessionStorageMock, jerseyRequestMock, requestBuilderMock, operationResultMock);
177+
reset(sessionStorageMock, jerseyRequestMock, operationResultMock);
179178
}
180179
}

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

Lines changed: 66 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
import com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.handling.DefaultErrorHandler;
88
import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResult;
99
import java.io.InputStream;
10-
import java.util.List;
11-
import javax.ws.rs.core.MultivaluedHashMap;
1210
import org.mockito.Mock;
1311
import org.mockito.internal.util.reflection.Whitebox;
1412
import org.powermock.core.classloader.annotations.PrepareForTest;
@@ -109,6 +107,68 @@ public void should_not_set_empty_report_uri() {
109107
assertNull(Whitebox.getInternalState(retrieved, "reportName"));
110108
}
111109

110+
@Test
111+
/**
112+
* for {@link SingleThumbnailAdapter#report(String)}
113+
*/
114+
public void should_not_set_null_report_uri() {
115+
// Given
116+
SingleThumbnailAdapter thumbnailAdapter = new SingleThumbnailAdapter(sessionStorageMock);
117+
118+
// When
119+
SingleThumbnailAdapter retrieved = thumbnailAdapter.report(null);
120+
121+
// Then
122+
String reportName = (String) Whitebox.getInternalState(retrieved, "reportName");
123+
assertNull(reportName);
124+
}
125+
126+
@Test(expectedExceptions = MandatoryParameterNotFoundException.class)
127+
/**
128+
* for {@link SingleThumbnailAdapter#report(String)}
129+
*/
130+
public void should_throw_exception_when_report_uri_is_null() {
131+
// Given
132+
SingleThumbnailAdapter thumbnailAdapter = new SingleThumbnailAdapter(sessionStorageMock);
133+
134+
// When
135+
thumbnailAdapter.report(null).get();
136+
137+
// Then
138+
}
139+
140+
141+
@Test(expectedExceptions = MandatoryParameterNotFoundException.class)
142+
/**
143+
* for {@link SingleThumbnailAdapter#report(String)}
144+
*/
145+
public void should_throw_exception_when_report_uri_is_empty() {
146+
// Given
147+
SingleThumbnailAdapter thumbnailAdapter = new SingleThumbnailAdapter(sessionStorageMock);
148+
149+
// When
150+
thumbnailAdapter.report("").get();
151+
152+
// Then
153+
}
154+
155+
156+
@Test
157+
/**
158+
* for {@link SingleThumbnailAdapter#report(String)}
159+
*/
160+
public void should_not_set_empty_report_uri() {
161+
// Given
162+
SingleThumbnailAdapter thumbnailAdapter = new SingleThumbnailAdapter(sessionStorageMock);
163+
164+
// When
165+
SingleThumbnailAdapter retrieved = thumbnailAdapter.report("");
166+
167+
// Then
168+
String reportName = (String) Whitebox.getInternalState(retrieved, "reportName");
169+
assertNull(reportName);
170+
}
171+
112172
@Test
113173
/**
114174
* for {@link SingleThumbnailAdapter#report(String)}
@@ -121,11 +181,9 @@ public void should_set_report_uri_with_default_allowed() {
121181
SingleThumbnailAdapter retrieved = thumbnailAdapter.defaultAllowed(true).report("/public/Samples/Reports/07g.RevenueDetailReport");
122182

123183
// Then
124-
MultivaluedHashMap<String, String> params =
125-
(MultivaluedHashMap<String, String>) Whitebox.getInternalState(retrieved, "params");
126-
List<String> list = params.get("defaultAllowed");
184+
Boolean param = (Boolean) Whitebox.getInternalState(retrieved,"defaultAllowed");
127185
assertSame(retrieved, thumbnailAdapter);
128-
assertEquals(list.get(0), "true");
186+
assertEquals(param, Boolean.TRUE);
129187
}
130188

131189
@Test
@@ -141,11 +199,9 @@ public void should_set_thumbnails_parameter() {
141199
SingleThumbnailAdapter retrieved = thumbnailAdapter.defaultAllowed(true);
142200

143201
// Then
144-
MultivaluedHashMap<String, String> params =
145-
(MultivaluedHashMap<String, String>) Whitebox.getInternalState(thumbnailAdapter, "params");
146-
List<String> list = params.get("defaultAllowed");
202+
Boolean param = (Boolean) Whitebox.getInternalState(retrieved, "defaultAllowed");
147203
assertSame(retrieved, thumbnailAdapter);
148-
assertEquals(list.get(0), Boolean.TRUE.toString());
204+
assertEquals(param, Boolean.TRUE);
149205
}
150206

151207
@Test

0 commit comments

Comments
 (0)