Skip to content

Commit 1a2bf7c

Browse files
author
TanyaEf
committed
Fixed #156
1 parent 7f8f7da commit 1a2bf7c

File tree

2 files changed

+31
-37
lines changed

2 files changed

+31
-37
lines changed

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/attributes/BatchAttributeAdapter.java

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import com.jaspersoft.jasperserver.jaxrs.client.core.RequestExecution;
3030
import com.jaspersoft.jasperserver.jaxrs.client.core.SessionStorage;
3131
import com.jaspersoft.jasperserver.jaxrs.client.core.ThreadPoolUtil;
32+
import com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.MandatoryParameterNotFoundException;
3233
import com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.handling.DefaultErrorHandler;
3334
import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResult;
3435
import java.util.Collection;
@@ -76,7 +77,7 @@ public BatchAttributeAdapter setIncludePermissions(Boolean includePermissions) {
7677

7778

7879
public OperationResult<HypermediaAttributesListWrapper> get() {
79-
return buildRequest().addParams(params).get();
80+
return buildRequest().get();
8081
}
8182

8283
public <R> RequestExecution asyncGet(final Callback<OperationResult<HypermediaAttributesListWrapper>, R> callback) {
@@ -93,7 +94,7 @@ public void run() {
9394
}
9495

9596
public OperationResult<HypermediaAttributesListWrapper> delete() {
96-
return buildRequest().addParams(params).delete();
97+
return buildRequest().delete();
9798
}
9899

99100
public <R> RequestExecution asyncDelete(final Callback<OperationResult<HypermediaAttributesListWrapper>, R> callback) {
@@ -110,19 +111,21 @@ public void run() {
110111
}
111112

112113
public OperationResult<HypermediaAttributesListWrapper> createOrUpdate(HypermediaAttributesListWrapper attributesListWrapper) {
113-
if (params.get("name") == null || params.get("name").size() == 0) {
114-
throw new IllegalStateException("Names of attributes were not defined.");
114+
if (attributesListWrapper == null) {
115+
throw new MandatoryParameterNotFoundException("Attributes are required");
115116
}
116-
LinkedList<HypermediaAttribute> list = new LinkedList<HypermediaAttribute>(attributesListWrapper.getProfileAttributes());
117-
for (Iterator<HypermediaAttribute> iterator = list.iterator();iterator.hasNext();) {
118-
HypermediaAttribute current = iterator.next();
119-
if (!params.get("name").contains(current.getName())) {
120-
iterator.remove();
117+
if (params.get("name") != null && params.get("name").size() != 0) {
118+
LinkedList<HypermediaAttribute> list = new LinkedList<HypermediaAttribute>(attributesListWrapper.getProfileAttributes());
119+
for (Iterator<HypermediaAttribute> iterator = list.iterator(); iterator.hasNext(); ) {
120+
HypermediaAttribute current = iterator.next();
121+
if (!params.get("name").contains(current.getName())) {
122+
iterator.remove();
123+
}
121124
}
125+
attributesListWrapper.setProfileAttributes(list);
122126
}
123-
attributesListWrapper.setProfileAttributes(list);
124127
return buildRequest()
125-
.setContentType(MimeTypeUtil.toCorrectContentMime(sessionStorage.getConfiguration(),"application/hal+{mime}"))
128+
.setContentType(MimeTypeUtil.toCorrectContentMime(sessionStorage.getConfiguration(), "application/hal+{mime}"))
126129
.put(attributesListWrapper);
127130
}
128131

@@ -146,9 +149,10 @@ private JerseyRequest<HypermediaAttributesListWrapper> buildRequest() {
146149
HypermediaAttributesListWrapper.class,
147150
new String[]{holderUri, "attributes"}, new DefaultErrorHandler());
148151
if (includePermissions) {
149-
request.setAccept(MimeTypeUtil.toCorrectAcceptMime(sessionStorage.getConfiguration(),"application/hal+{mime}"));
152+
request.setAccept(MimeTypeUtil.toCorrectAcceptMime(sessionStorage.getConfiguration(), "application/hal+{mime}"));
150153
request.addParam("_embedded", "permission");
151154
}
155+
request.addParams(params);
152156
return request;
153157
}
154158
}

src/test/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/attributes/BatchAttributeAdapterTest.java

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
import com.jaspersoft.jasperserver.dto.authority.hypermedia.HypermediaAttributesListWrapper;
66
import com.jaspersoft.jasperserver.jaxrs.client.core.Callback;
77
import com.jaspersoft.jasperserver.jaxrs.client.core.JerseyRequest;
8-
import com.jaspersoft.jasperserver.jaxrs.client.core.RequestBuilder;
98
import com.jaspersoft.jasperserver.jaxrs.client.core.RequestExecution;
109
import com.jaspersoft.jasperserver.jaxrs.client.core.RestClientConfiguration;
1110
import com.jaspersoft.jasperserver.jaxrs.client.core.SessionStorage;
1211
import com.jaspersoft.jasperserver.jaxrs.client.core.enums.MimeType;
12+
import com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.MandatoryParameterNotFoundException;
1313
import com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.handling.DefaultErrorHandler;
1414
import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResult;
1515
import java.util.LinkedList;
@@ -32,7 +32,6 @@
3232
import static org.mockito.Mockito.mock;
3333
import static org.mockito.Mockito.times;
3434
import static org.mockito.Mockito.verify;
35-
import static org.mockito.Mockito.verifyNoMoreInteractions;
3635
import static org.powermock.api.mockito.PowerMockito.doReturn;
3736
import static org.powermock.api.mockito.PowerMockito.mockStatic;
3837
import static org.powermock.api.mockito.PowerMockito.spy;
@@ -55,14 +54,12 @@ public class BatchAttributeAdapterTest extends PowerMockTestCase {
5554
private SessionStorage sessionStorageMock;
5655
private JerseyRequest<HypermediaAttributesListWrapper> jerseyRequestMock;
5756
private OperationResult<HypermediaAttributesListWrapper> operationResultMock;
58-
private RequestBuilder<HypermediaAttributesListWrapper> builderMock;
5957

6058
@BeforeMethod
6159
public void before() {
6260
sessionStorageMock = mock(SessionStorage.class);
6361
jerseyRequestMock = mock(JerseyRequest.class);
6462
operationResultMock = mock(OperationResult.class);
65-
builderMock = mock(RequestBuilder.class);
6663
}
6764

6865
@Test
@@ -101,16 +98,11 @@ public void should_return_proper_operation_result() {
10198
any(DefaultErrorHandler.class));
10299
}
103100

104-
@Test(expectedExceptions = IllegalStateException.class)
105-
public void should_throw_an_exception_when_query_params_were_not_set() {
106-
// Given
107-
HypermediaAttributesListWrapper attributes = new HypermediaAttributesListWrapper();
108-
attributes.setProfileAttributes(asList(
109-
new HypermediaAttribute(new ClientUserAttribute().setName("max_threads").setValue("512")),
110-
new HypermediaAttribute(new ClientUserAttribute().setName("admin_cell_phone").setValue("03"))));
101+
@Test(expectedExceptions = MandatoryParameterNotFoundException.class)
102+
public void should_throw_an_exception_when_attributes_is_null() {
111103
// When
112104
BatchAttributeAdapter adapter = new BatchAttributeAdapter("/", sessionStorageMock);
113-
adapter.createOrUpdate(attributes);
105+
adapter.createOrUpdate(null);
114106
// Then
115107
// should be thrown an exception
116108
}
@@ -186,8 +178,7 @@ public void should_delete_server_attributes() {
186178
eq(new String[]{"/", "attributes"}),
187179
any(DefaultErrorHandler.class))).thenReturn(jerseyRequestMock);
188180

189-
when(jerseyRequestMock.addParams(map)).thenReturn(builderMock);
190-
when(builderMock.delete()).thenReturn(operationResultMock);
181+
when(jerseyRequestMock.delete()).thenReturn(operationResultMock);
191182

192183
// When
193184
BatchAttributeAdapter adapter = new BatchAttributeAdapter("/", sessionStorageMock);
@@ -204,8 +195,8 @@ public void should_delete_server_attributes() {
204195
eq(new String[]{"/", "attributes"}),
205196
any(DefaultErrorHandler.class));
206197
verify(jerseyRequestMock, times(1)).addParams(map);
207-
verify(builderMock, times(1)).delete();
208-
verifyNoMoreInteractions(jerseyRequestMock, builderMock);
198+
verify(jerseyRequestMock, times(1)).delete();
199+
// verifyNoMoreInteractions(jerseyRequestMock, builderMock);
209200
}
210201

211202
@Test
@@ -222,8 +213,8 @@ public void should_retrieve_server_attributes() {
222213
eq(new String[]{"/", "attributes"}),
223214
any(DefaultErrorHandler.class))).thenReturn(jerseyRequestMock);
224215

225-
when(jerseyRequestMock.addParams(map)).thenReturn(builderMock);
226-
when(builderMock.get()).thenReturn(operationResultMock);
216+
when(jerseyRequestMock.addParams(map)).thenReturn(jerseyRequestMock);
217+
when(jerseyRequestMock.get()).thenReturn(operationResultMock);
227218

228219
// When
229220
BatchAttributeAdapter adapter = new BatchAttributeAdapter("/", sessionStorageMock);
@@ -240,8 +231,8 @@ public void should_retrieve_server_attributes() {
240231
eq(new String[]{"/", "attributes"}),
241232
any(DefaultErrorHandler.class));
242233
verify(jerseyRequestMock, times(1)).addParams(map);
243-
verify(builderMock, times(1)).get();
244-
verifyNoMoreInteractions(jerseyRequestMock, builderMock);
234+
verify(jerseyRequestMock, times(1)).get();
235+
// verifyNoMoreInteractions(jerseyRequestMock, builderMock);
245236
}
246237

247238

@@ -262,8 +253,8 @@ public void should_retrieve_server_attributes_with_permissions() {
262253
when(sessionStorageMock.getConfiguration()).thenReturn(configurationMock);
263254
when(configurationMock.getAcceptMimeType()).thenReturn(MimeType.JSON);
264255
when(jerseyRequestMock.addParam(anyString(), anyString())).thenReturn(jerseyRequestMock);
265-
when(jerseyRequestMock.addParams(map)).thenReturn(builderMock);
266-
when(builderMock.get()).thenReturn(operationResultMock);
256+
when(jerseyRequestMock.addParams(map)).thenReturn(jerseyRequestMock);
257+
when(jerseyRequestMock.get()).thenReturn(operationResultMock);
267258

268259
// When
269260
BatchAttributeAdapter adapter = new BatchAttributeAdapter("/", sessionStorageMock);
@@ -280,10 +271,10 @@ public void should_retrieve_server_attributes_with_permissions() {
280271
eq(new String[]{"/", "attributes"}),
281272
any(DefaultErrorHandler.class));
282273
verify(jerseyRequestMock, times(1)).addParams(map);
283-
verify(builderMock, times(1)).get();
274+
verify(jerseyRequestMock, times(1)).get();
284275
verify(jerseyRequestMock, times(1)).setAccept("application/hal+json");
285276
verify(jerseyRequestMock, times(1)).addParam("_embedded", "permission");
286-
verifyNoMoreInteractions(jerseyRequestMock, builderMock);
277+
// verifyNoMoreInteractions(jerseyRequestMock, builderMock);
287278
}
288279

289280
@Test
@@ -425,6 +416,5 @@ public void after() {
425416
sessionStorageMock = null;
426417
jerseyRequestMock = null;
427418
operationResultMock = null;
428-
builderMock = null;
429419
}
430420
}

0 commit comments

Comments
 (0)