Skip to content

Commit 6b9b6c5

Browse files
authored
fix: deprecate JacksonFactory in favor of GsonFactory to align with security team advice (#1216)
1 parent adb2ea4 commit 6b9b6c5

File tree

3 files changed

+44
-41
lines changed

3 files changed

+44
-41
lines changed

google-http-client-jackson2/src/main/java/com/google/api/client/json/jackson2/JacksonFactory.java

Lines changed: 2 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import com.google.api.client.json.JsonFactory;
1818
import com.google.api.client.json.JsonGenerator;
1919
import com.google.api.client.json.JsonParser;
20-
import com.google.api.client.json.JsonToken;
2120
import com.google.api.client.util.Preconditions;
2221
import java.io.IOException;
2322
import java.io.InputStream;
@@ -34,7 +33,9 @@
3433
*
3534
* @since 1.11
3635
* @author Yaniv Inbar
36+
* @deprecated use com.google.api.client.json.GsonFactory instead
3737
*/
38+
@Deprecated
3839
public final class JacksonFactory extends JsonFactory {
3940

4041
/** JSON factory. */
@@ -96,36 +97,4 @@ public JsonParser createJsonParser(String value) throws IOException {
9697
Preconditions.checkNotNull(value);
9798
return new JacksonParser(this, factory.createJsonParser(value));
9899
}
99-
100-
static JsonToken convert(com.fasterxml.jackson.core.JsonToken token) {
101-
if (token == null) {
102-
return null;
103-
}
104-
switch (token) {
105-
case END_ARRAY:
106-
return JsonToken.END_ARRAY;
107-
case START_ARRAY:
108-
return JsonToken.START_ARRAY;
109-
case END_OBJECT:
110-
return JsonToken.END_OBJECT;
111-
case START_OBJECT:
112-
return JsonToken.START_OBJECT;
113-
case VALUE_FALSE:
114-
return JsonToken.VALUE_FALSE;
115-
case VALUE_TRUE:
116-
return JsonToken.VALUE_TRUE;
117-
case VALUE_NULL:
118-
return JsonToken.VALUE_NULL;
119-
case VALUE_STRING:
120-
return JsonToken.VALUE_STRING;
121-
case VALUE_NUMBER_FLOAT:
122-
return JsonToken.VALUE_NUMBER_FLOAT;
123-
case VALUE_NUMBER_INT:
124-
return JsonToken.VALUE_NUMBER_INT;
125-
case FIELD_NAME:
126-
return JsonToken.FIELD_NAME;
127-
default:
128-
return JsonToken.NOT_AVAILABLE;
129-
}
130-
}
131100
}

google-http-client-jackson2/src/main/java/com/google/api/client/json/jackson2/JacksonGenerator.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
package com.google.api.client.json.jackson2;
1616

17+
import com.google.api.client.json.JsonFactory;
1718
import com.google.api.client.json.JsonGenerator;
1819
import java.io.IOException;
1920
import java.math.BigDecimal;
@@ -28,14 +29,14 @@
2829
*/
2930
final class JacksonGenerator extends JsonGenerator {
3031
private final com.fasterxml.jackson.core.JsonGenerator generator;
31-
private final JacksonFactory factory;
32+
private final JsonFactory factory;
3233

3334
@Override
34-
public JacksonFactory getFactory() {
35+
public JsonFactory getFactory() {
3536
return factory;
3637
}
3738

38-
JacksonGenerator(JacksonFactory factory, com.fasterxml.jackson.core.JsonGenerator generator) {
39+
JacksonGenerator(JsonFactory factory, com.fasterxml.jackson.core.JsonGenerator generator) {
3940
this.factory = factory;
4041
this.generator = generator;
4142
}

google-http-client-jackson2/src/main/java/com/google/api/client/json/jackson2/JacksonParser.java

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
package com.google.api.client.json.jackson2;
1616

17+
import com.google.api.client.json.JsonFactory;
1718
import com.google.api.client.json.JsonParser;
1819
import com.google.api.client.json.JsonToken;
1920
import java.io.IOException;
@@ -30,14 +31,14 @@
3031
final class JacksonParser extends JsonParser {
3132

3233
private final com.fasterxml.jackson.core.JsonParser parser;
33-
private final JacksonFactory factory;
34+
private final JsonFactory factory;
3435

3536
@Override
36-
public JacksonFactory getFactory() {
37+
public JsonFactory getFactory() {
3738
return factory;
3839
}
3940

40-
JacksonParser(JacksonFactory factory, com.fasterxml.jackson.core.JsonParser parser) {
41+
JacksonParser(JsonFactory factory, com.fasterxml.jackson.core.JsonParser parser) {
4142
this.factory = factory;
4243
this.parser = parser;
4344
}
@@ -49,7 +50,7 @@ public void close() throws IOException {
4950

5051
@Override
5152
public JsonToken nextToken() throws IOException {
52-
return JacksonFactory.convert(parser.nextToken());
53+
return convert(parser.nextToken());
5354
}
5455

5556
@Override
@@ -59,7 +60,7 @@ public String getCurrentName() throws IOException {
5960

6061
@Override
6162
public JsonToken getCurrentToken() {
62-
return JacksonFactory.convert(parser.getCurrentToken());
63+
return convert(parser.getCurrentToken());
6364
}
6465

6566
@Override
@@ -112,4 +113,36 @@ public double getDoubleValue() throws IOException {
112113
public long getLongValue() throws IOException {
113114
return parser.getLongValue();
114115
}
116+
117+
private static JsonToken convert(com.fasterxml.jackson.core.JsonToken token) {
118+
if (token == null) {
119+
return null;
120+
}
121+
switch (token) {
122+
case END_ARRAY:
123+
return JsonToken.END_ARRAY;
124+
case START_ARRAY:
125+
return JsonToken.START_ARRAY;
126+
case END_OBJECT:
127+
return JsonToken.END_OBJECT;
128+
case START_OBJECT:
129+
return JsonToken.START_OBJECT;
130+
case VALUE_FALSE:
131+
return JsonToken.VALUE_FALSE;
132+
case VALUE_TRUE:
133+
return JsonToken.VALUE_TRUE;
134+
case VALUE_NULL:
135+
return JsonToken.VALUE_NULL;
136+
case VALUE_STRING:
137+
return JsonToken.VALUE_STRING;
138+
case VALUE_NUMBER_FLOAT:
139+
return JsonToken.VALUE_NUMBER_FLOAT;
140+
case VALUE_NUMBER_INT:
141+
return JsonToken.VALUE_NUMBER_INT;
142+
case FIELD_NAME:
143+
return JsonToken.FIELD_NAME;
144+
default:
145+
return JsonToken.NOT_AVAILABLE;
146+
}
147+
}
115148
}

0 commit comments

Comments
 (0)