Skip to content

Commit dc648a2

Browse files
authored
21165 replace gson w jackson in espresso (#11)
* remove gson * version bump * correct version
1 parent f8243d2 commit dc648a2

4 files changed

Lines changed: 19 additions & 18 deletions

File tree

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,14 @@ java {
3434
}
3535

3636
dependencies {
37-
implementation 'com.google.code.gson:gson:2.10.1'
3837
implementation 'com.google.guava:guava:32.1.1-jre'
3938
implementation 'com.squareup.okhttp3:okhttp:4.12.0'
4039
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
41-
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
4240
implementation 'jakarta.annotation:jakarta.annotation-api:3.0.0'
4341
implementation 'org.slf4j:slf4j-api:2.0.12'
4442
implementation 'com.google.auto.service:auto-service:1.1.1'
43+
implementation 'com.fasterxml.jackson.core:jackson-databind:2.18.1'
44+
implementation 'com.squareup.retrofit2:converter-jackson:2.9.0'
4545

4646
compileOnly 'org.projectlombok:lombok:1.18.30'
4747
annotationProcessor 'org.projectlombok:lombok:1.18.30'

src/main/java/com/ziro/espresso/okhttp3/JwtTokenFactory.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package com.ziro.espresso.okhttp3;
22

3-
import com.google.gson.JsonElement;
4-
import com.google.gson.JsonObject;
5-
import com.google.gson.JsonParser;
3+
import com.fasterxml.jackson.databind.JsonNode;
4+
import com.fasterxml.jackson.databind.ObjectMapper;
65
import com.ziro.espresso.fluent.exceptions.SystemUnhandledException;
76
import java.io.IOException;
87
import java.util.Objects;
@@ -34,6 +33,7 @@
3433
*/
3534
public class JwtTokenFactory {
3635

36+
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
3737
private static final int SUCCESS_STATUS_CODE = 200;
3838

3939
/**
@@ -91,10 +91,8 @@ public static String createAccessToken(String scope, String clientId, String cli
9191
response.code(), responseAsString)
9292
.throwIf(response.code() != SUCCESS_STATUS_CODE);
9393

94-
JsonParser jsonParser = new JsonParser();
95-
JsonElement jwtJsonElement = jsonParser.parse(responseAsString);
96-
JsonObject jwtJsonObject = jwtJsonElement.getAsJsonObject();
97-
return jwtJsonObject.get("access_token").getAsString();
94+
JsonNode jwtJsonObject = OBJECT_MAPPER.readTree(responseAsString);
95+
return jwtJsonObject.get("access_token").asText();
9896
}
9997
}
10098
}

src/main/java/com/ziro/espresso/onepasssdk/OnePasswordConnector.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
package com.ziro.espresso.onepasssdk;
22

3+
import com.fasterxml.jackson.databind.DeserializationFeature;
4+
import com.fasterxml.jackson.databind.ObjectMapper;
5+
import com.fasterxml.jackson.databind.SerializationFeature;
36
import com.google.common.base.Preconditions;
47
import com.google.common.base.Strings;
5-
import com.google.gson.Gson;
6-
import com.google.gson.GsonBuilder;
78
import com.ziro.espresso.fluent.exceptions.SystemUnhandledException;
89
import com.ziro.espresso.okhttp3.OkHttpClientFactory;
910
import com.ziro.espresso.okhttp3.SynchronousCallAdapterFactory;
1011
import com.ziro.espresso.streams.MoreCollectors;
1112
import java.io.ByteArrayInputStream;
1213
import java.io.IOException;
1314
import java.io.InputStream;
15+
import java.text.SimpleDateFormat;
1416
import java.time.Duration;
1517
import java.util.Objects;
1618
import java.util.Properties;
@@ -22,7 +24,7 @@
2224
import okhttp3.OkHttpClient;
2325
import okhttp3.Request;
2426
import retrofit2.Retrofit;
25-
import retrofit2.converter.gson.GsonConverterFactory;
27+
import retrofit2.converter.jackson.JacksonConverterFactory;
2628

2729
/**
2830
* A connector for interacting with 1Password Connect Server API.
@@ -116,14 +118,15 @@ public Properties getSecureNoteAsProperties(String vaultId, String itemId) {
116118
*/
117119
private static OnePasswordConnectServerApiClient createClient(
118120
String baseUrl, String accessToken, X509TrustManager trustManager) {
119-
Gson gson = new GsonBuilder()
120-
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ")
121-
.setPrettyPrinting()
122-
.create();
121+
122+
ObjectMapper objectMapper = new ObjectMapper()
123+
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
124+
.enable(SerializationFeature.INDENT_OUTPUT)
125+
.setDateFormat(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"));
123126

124127
Retrofit.Builder retrofitBuilder = new Retrofit.Builder()
125128
.baseUrl(baseUrl)
126-
.addConverterFactory(GsonConverterFactory.create(gson))
129+
.addConverterFactory(JacksonConverterFactory.create(objectMapper))
127130
.addCallAdapterFactory(new SynchronousCallAdapterFactory<>());
128131

129132
OkHttpClient.Builder okHttpClientBuilder = new OkHttpClient.Builder();

version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5.0.0
1+
5.1.0

0 commit comments

Comments
 (0)