Skip to content

Commit 8843bb8

Browse files
Merge pull request #134 from TanyaEf/master
Fixed deserialization bugs. Jackson upgrade is reverted
2 parents 77309b5 + e0108b6 commit 8843bb8

File tree

18 files changed

+366
-104
lines changed

18 files changed

+366
-104
lines changed

pom.xml

Lines changed: 12 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,7 @@
1414
<properties>
1515
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1616
<powermock.version>1.5.5</powermock.version>
17-
<jersey.version>2.13</jersey.version>
18-
<fasterxml.version>2.3.2</fasterxml.version>
19-
</properties>
17+
</properties>
2018

2119
<scm>
2220
<connection>scm:git:http://github.com/Jaspersoft/jrs-rest-java-client</connection>
@@ -48,38 +46,27 @@
4846
<version>6.0.1</version>
4947
</dependency>
5048

51-
<!-- Jersey -->
49+
<!-- Jersey-->
50+
5251
<dependency>
5352
<groupId>org.glassfish.jersey.core</groupId>
5453
<artifactId>jersey-client</artifactId>
55-
<version>${jersey.version}</version>
54+
<version>2.5</version>
5655
</dependency>
5756
<dependency>
58-
<groupId>org.glassfish.jersey.media</groupId>
59-
<artifactId>jersey-media-json-jettison</artifactId>
60-
<version>${jersey.version}</version>
57+
<groupId>com.sun.jersey</groupId>
58+
<artifactId>jersey-json</artifactId>
59+
<version>1.18</version>
6160
</dependency>
6261
<dependency>
63-
<groupId>org.glassfish.jersey.media</groupId>
64-
<artifactId>jersey-media-json-jackson</artifactId>
65-
<version>${jersey.version}</version>
62+
<groupId>com.sun.jersey.contribs</groupId>
63+
<artifactId>jersey-multipart</artifactId>
64+
<version>1.17</version>
6665
</dependency>
6766
<dependency>
6867
<groupId>org.glassfish.jersey.media</groupId>
69-
<artifactId>jersey-media-multipart</artifactId>
70-
<version>${jersey.version}</version>
71-
</dependency>
72-
73-
<!-- Jackson -->
74-
<dependency>
75-
<groupId>com.fasterxml.jackson.dataformat</groupId>
76-
<artifactId>jackson-dataformat-yaml</artifactId>
77-
<version>${fasterxml.version}</version>
78-
</dependency>
79-
<dependency>
80-
<groupId>com.fasterxml.jackson.dataformat</groupId>
81-
<artifactId>jackson-dataformat-xml</artifactId>
82-
<version>${fasterxml.version}</version>
68+
<artifactId>jersey-media-json-jackson</artifactId>
69+
<version>2.5.1</version>
8370
</dependency>
8471

8572
<!-- TestNG -->

src/integration-test/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/authority/users/UsersServiceIT.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,15 @@
22

33
import com.jaspersoft.jasperserver.dto.authority.ClientUser;
44
import com.jaspersoft.jasperserver.jaxrs.client.RestClientTestUtil;
5+
import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResult;
56
import java.util.List;
67
import org.testng.Assert;
78
import org.testng.annotations.AfterClass;
89
import org.testng.annotations.BeforeClass;
910
import org.testng.annotations.Test;
1011

12+
import static org.testng.AssertJUnit.assertNotNull;
13+
1114
/**
1215
* @author Alexander Krasnyanskiy
1316
*/
@@ -51,6 +54,23 @@ public void should_return_list_users_by_role() {
5154
Assert.assertTrue(users.size() > 3);
5255
}
5356

57+
@Test
58+
public void should_return_user_by_name() {
59+
60+
OperationResult<ClientUser> operationResult =
61+
session
62+
.usersService()
63+
.username("superuser")
64+
.get();
65+
66+
ClientUser user = operationResult.getEntity();
67+
68+
assertNotNull(user);
69+
assertNotNull(user.getUsername());
70+
}
71+
72+
73+
5474
@AfterClass
5575
public void after() {
5676
session.logout();

src/integration-test/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/resources/ResourcesServiceIT.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public void should_return_resource_details() throws InterruptedException {
4848
.getEntity();
4949

5050
Assert.assertNotNull(clientResource);
51+
Assert.assertNotNull(clientResource.getCreationDate());
5152
}
5253

5354
@AfterClass

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/authority/organizations/SingleOrganizationAdapter.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,6 @@
2121

2222
package com.jaspersoft.jasperserver.jaxrs.client.apiadapters.authority.organizations;
2323

24-
import com.fasterxml.jackson.annotation.JsonInclude;
25-
import com.fasterxml.jackson.databind.AnnotationIntrospector;
26-
import com.fasterxml.jackson.databind.ObjectMapper;
27-
import com.fasterxml.jackson.databind.type.TypeFactory;
28-
import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;
2924
import com.jaspersoft.jasperserver.dto.authority.ClientTenant;
3025
import com.jaspersoft.jasperserver.jaxrs.client.apiadapters.AbstractAdapter;
3126
import com.jaspersoft.jasperserver.jaxrs.client.apiadapters.authority.organizations.attributes.OrganizationBatchAttributeAdapter;
@@ -43,6 +38,11 @@
4338
import javax.ws.rs.core.MultivaluedHashMap;
4439
import org.apache.commons.logging.Log;
4540
import org.apache.commons.logging.LogFactory;
41+
import org.codehaus.jackson.map.AnnotationIntrospector;
42+
import org.codehaus.jackson.map.ObjectMapper;
43+
import org.codehaus.jackson.map.SerializationConfig;
44+
import org.codehaus.jackson.map.annotate.JsonSerialize;
45+
import org.codehaus.jackson.xc.JaxbAnnotationIntrospector;
4646

4747

4848
public class SingleOrganizationAdapter extends AbstractAdapter {
@@ -76,8 +76,10 @@ public void run() {
7676

7777
private String prepareJsonForUpdate(ClientTenant clientTenant) {
7878
ObjectMapper mapper = new ObjectMapper();
79-
AnnotationIntrospector introspector = new JaxbAnnotationIntrospector(TypeFactory.defaultInstance());
80-
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
79+
SerializationConfig serializationConfig = mapper.getSerializationConfig();
80+
serializationConfig = serializationConfig.withSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
81+
AnnotationIntrospector introspector = new JaxbAnnotationIntrospector();
82+
mapper.setSerializationConfig(serializationConfig);
8183
mapper.setAnnotationIntrospector(introspector);
8284

8385
String json;

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/jobs/BatchJobsOperationsAdapter.java

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,36 +20,35 @@
2020
*/
2121
package com.jaspersoft.jasperserver.jaxrs.client.apiadapters.jobs;
2222

23-
import com.fasterxml.jackson.annotation.JsonInclude;
24-
import com.fasterxml.jackson.databind.AnnotationIntrospector;
25-
import com.fasterxml.jackson.databind.ObjectMapper;
26-
import com.fasterxml.jackson.databind.type.TypeFactory;
27-
import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;
2823
import com.jaspersoft.jasperserver.jaxrs.client.apiadapters.AbstractAdapter;
2924
import com.jaspersoft.jasperserver.jaxrs.client.core.Callback;
3025
import com.jaspersoft.jasperserver.jaxrs.client.core.JerseyRequest;
31-
import com.jaspersoft.jasperserver.jaxrs.client.core.enums.MimeType;
3226
import com.jaspersoft.jasperserver.jaxrs.client.core.RequestExecution;
3327
import com.jaspersoft.jasperserver.jaxrs.client.core.SessionStorage;
3428
import com.jaspersoft.jasperserver.jaxrs.client.core.ThreadPoolUtil;
29+
import com.jaspersoft.jasperserver.jaxrs.client.core.enums.MimeType;
3530
import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResult;
3631
import com.jaspersoft.jasperserver.jaxrs.client.dto.jobs.Job;
3732
import com.jaspersoft.jasperserver.jaxrs.client.dto.jobs.JobIdListWrapper;
3833
import com.jaspersoft.jasperserver.jaxrs.client.dto.jobs.jaxb.wrappers.JobSummaryListWrapper;
3934
import com.jaspersoft.jasperserver.jaxrs.client.dto.jobs.reportjobmodel.ReportJobModel;
40-
import org.apache.commons.logging.Log;
41-
import org.apache.commons.logging.LogFactory;
42-
43-
import javax.ws.rs.core.MultivaluedHashMap;
44-
import javax.ws.rs.core.MultivaluedMap;
45-
import javax.xml.bind.JAXBContext;
46-
import javax.xml.bind.JAXBException;
47-
import javax.xml.bind.Marshaller;
4835
import java.io.IOException;
4936
import java.io.StringWriter;
5037
import java.net.URLEncoder;
5138
import java.util.ArrayList;
5239
import java.util.List;
40+
import javax.ws.rs.core.MultivaluedHashMap;
41+
import javax.ws.rs.core.MultivaluedMap;
42+
import javax.xml.bind.JAXBContext;
43+
import javax.xml.bind.JAXBException;
44+
import javax.xml.bind.Marshaller;
45+
import org.apache.commons.logging.Log;
46+
import org.apache.commons.logging.LogFactory;
47+
import org.codehaus.jackson.map.AnnotationIntrospector;
48+
import org.codehaus.jackson.map.ObjectMapper;
49+
import org.codehaus.jackson.map.SerializationConfig;
50+
import org.codehaus.jackson.map.annotate.JsonSerialize;
51+
import org.codehaus.jackson.xc.JaxbAnnotationIntrospector;
5352

5453
import static com.jaspersoft.jasperserver.jaxrs.client.core.JerseyRequest.buildRequest;
5554

@@ -103,8 +102,10 @@ private JerseyRequest<JobSummaryListWrapper> prepareSearchRequest(Job searchCrit
103102
private String buildJson(Object object) {
104103

105104
ObjectMapper mapper = new ObjectMapper();
106-
AnnotationIntrospector introspector = new JaxbAnnotationIntrospector(TypeFactory.defaultInstance());
107-
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
105+
SerializationConfig serializationConfig = mapper.getSerializationConfig();
106+
serializationConfig = serializationConfig.withSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
107+
AnnotationIntrospector introspector = new JaxbAnnotationIntrospector();
108+
mapper.setSerializationConfig(serializationConfig);
108109
mapper.setAnnotationIntrospector(introspector);
109110

110111
try {

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/resources/SingleResourceAdapter.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,12 @@
3434
import com.jaspersoft.jasperserver.jaxrs.client.core.ThreadPoolUtil;
3535
import com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.handling.DefaultErrorHandler;
3636
import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResult;
37-
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
38-
37+
import com.sun.jersey.multipart.FormDataMultiPart;
38+
import java.io.File;
39+
import java.io.InputStream;
3940
import javax.ws.rs.core.MediaType;
4041
import javax.ws.rs.core.MultivaluedHashMap;
4142
import javax.ws.rs.core.MultivaluedMap;
42-
import java.io.File;
43-
import java.io.InputStream;
4443

4544
import static com.jaspersoft.jasperserver.jaxrs.client.core.JerseyRequest.buildRequest;
4645

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/resources/support/decorator/DomainResourceOperationProcessorDecorator.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@
2525
import com.jaspersoft.jasperserver.jaxrs.client.apiadapters.resources.support.processor.CommonOperationProcessorImpl;
2626
import com.jaspersoft.jasperserver.jaxrs.client.core.SessionStorage;
2727
import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResult;
28-
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
29-
28+
import com.sun.jersey.multipart.FormDataMultiPart;
3029
import javax.ws.rs.core.MediaType;
3130

3231
/**

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/resources/support/decorator/MondrianConnectionResourceOperationProcessorDecorator.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@
2424
import com.jaspersoft.jasperserver.jaxrs.client.apiadapters.resources.support.processor.CommonOperationProcessorImpl;
2525
import com.jaspersoft.jasperserver.jaxrs.client.core.SessionStorage;
2626
import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResult;
27-
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
28-
27+
import com.sun.jersey.multipart.FormDataMultiPart;
2928
import javax.ws.rs.core.MediaType;
3029

3130
/**

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/resources/support/decorator/ReportUnitResourceOperationProcessorDecorator.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@
2424
import com.jaspersoft.jasperserver.jaxrs.client.apiadapters.resources.support.processor.CommonOperationProcessorImpl;
2525
import com.jaspersoft.jasperserver.jaxrs.client.core.SessionStorage;
2626
import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResult;
27-
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
28-
27+
import com.sun.jersey.multipart.FormDataMultiPart;
2928
import javax.ws.rs.core.MediaType;
3029

3130
/**

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/resources/support/decorator/SecureMondrianConnectionResourceOperationProcessorDecorator.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@
2424
import com.jaspersoft.jasperserver.jaxrs.client.apiadapters.resources.support.processor.CommonOperationProcessorImpl;
2525
import com.jaspersoft.jasperserver.jaxrs.client.core.SessionStorage;
2626
import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResult;
27-
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
28-
27+
import com.sun.jersey.multipart.FormDataMultiPart;
2928
import javax.ws.rs.core.MediaType;
3029

3130
/**

0 commit comments

Comments
 (0)