Skip to content

Commit 48c5bf7

Browse files
qinfcheniamdanfox
authored andcommitted
use JsonAlias for kabab case support (#106)
htp-remoting/spark are already on jackson 2.9.5. Fixes palantir/conjure-java-runtime#317 worth mentioning https://github.com/palantir/http-remoting/releases/tag/3.33.0 release notes
1 parent 7aa9f98 commit 48c5bf7

File tree

11 files changed

+83
-176
lines changed

11 files changed

+83
-176
lines changed

errors/versions.lock

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
{
22
"compileClasspath": {
33
"com.fasterxml.jackson.core:jackson-annotations": {
4-
"locked": "2.6.7",
4+
"locked": "2.9.5",
55
"transitive": [
66
"com.fasterxml.jackson.core:jackson-databind"
77
]
88
},
99
"com.fasterxml.jackson.core:jackson-core": {
10-
"locked": "2.6.7",
10+
"locked": "2.9.5",
1111
"transitive": [
1212
"com.fasterxml.jackson.core:jackson-databind"
1313
]
1414
},
1515
"com.fasterxml.jackson.core:jackson-databind": {
16-
"locked": "2.6.7"
16+
"locked": "2.9.5"
1717
},
1818
"com.google.code.findbugs:jsr305": {
1919
"locked": "3.0.1"
@@ -27,19 +27,19 @@
2727
},
2828
"runtime": {
2929
"com.fasterxml.jackson.core:jackson-annotations": {
30-
"locked": "2.6.7",
30+
"locked": "2.9.5",
3131
"transitive": [
3232
"com.fasterxml.jackson.core:jackson-databind"
3333
]
3434
},
3535
"com.fasterxml.jackson.core:jackson-core": {
36-
"locked": "2.6.7",
36+
"locked": "2.9.5",
3737
"transitive": [
3838
"com.fasterxml.jackson.core:jackson-databind"
3939
]
4040
},
4141
"com.fasterxml.jackson.core:jackson-databind": {
42-
"locked": "2.6.7"
42+
"locked": "2.9.5"
4343
},
4444
"com.google.code.findbugs:jsr305": {
4545
"locked": "3.0.1"

extras/jackson-support/versions.lock

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
{
22
"compileClasspath": {
33
"com.fasterxml.jackson.core:jackson-annotations": {
4-
"locked": "2.6.7",
4+
"locked": "2.9.5",
55
"transitive": [
6-
"com.fasterxml.jackson.core:jackson-databind"
6+
"com.fasterxml.jackson.core:jackson-databind",
7+
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310"
78
]
89
},
910
"com.fasterxml.jackson.core:jackson-core": {
10-
"locked": "2.6.7",
11+
"locked": "2.9.5",
1112
"transitive": [
1213
"com.fasterxml.jackson.core:jackson-databind",
1314
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
@@ -18,7 +19,7 @@
1819
]
1920
},
2021
"com.fasterxml.jackson.core:jackson-databind": {
21-
"locked": "2.6.7",
22+
"locked": "2.9.5",
2223
"transitive": [
2324
"com.fasterxml.jackson.datatype:jackson-datatype-guava",
2425
"com.fasterxml.jackson.datatype:jackson-datatype-jdk8",
@@ -27,19 +28,19 @@
2728
]
2829
},
2930
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor": {
30-
"locked": "2.6.7"
31+
"locked": "2.9.5"
3132
},
3233
"com.fasterxml.jackson.datatype:jackson-datatype-guava": {
33-
"locked": "2.6.7"
34+
"locked": "2.9.5"
3435
},
3536
"com.fasterxml.jackson.datatype:jackson-datatype-jdk8": {
36-
"locked": "2.6.7"
37+
"locked": "2.9.5"
3738
},
3839
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310": {
39-
"locked": "2.6.7"
40+
"locked": "2.9.5"
4041
},
4142
"com.fasterxml.jackson.module:jackson-module-afterburner": {
42-
"locked": "2.6.7"
43+
"locked": "2.9.5"
4344
},
4445
"com.google.guava:guava": {
4546
"locked": "18.0",
@@ -50,13 +51,14 @@
5051
},
5152
"runtime": {
5253
"com.fasterxml.jackson.core:jackson-annotations": {
53-
"locked": "2.6.7",
54+
"locked": "2.9.5",
5455
"transitive": [
55-
"com.fasterxml.jackson.core:jackson-databind"
56+
"com.fasterxml.jackson.core:jackson-databind",
57+
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310"
5658
]
5759
},
5860
"com.fasterxml.jackson.core:jackson-core": {
59-
"locked": "2.6.7",
61+
"locked": "2.9.5",
6062
"transitive": [
6163
"com.fasterxml.jackson.core:jackson-databind",
6264
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
@@ -67,7 +69,7 @@
6769
]
6870
},
6971
"com.fasterxml.jackson.core:jackson-databind": {
70-
"locked": "2.6.7",
72+
"locked": "2.9.5",
7173
"transitive": [
7274
"com.fasterxml.jackson.datatype:jackson-datatype-guava",
7375
"com.fasterxml.jackson.datatype:jackson-datatype-jdk8",
@@ -76,19 +78,19 @@
7678
]
7779
},
7880
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor": {
79-
"locked": "2.6.7"
81+
"locked": "2.9.5"
8082
},
8183
"com.fasterxml.jackson.datatype:jackson-datatype-guava": {
82-
"locked": "2.6.7"
84+
"locked": "2.9.5"
8385
},
8486
"com.fasterxml.jackson.datatype:jackson-datatype-jdk8": {
85-
"locked": "2.6.7"
87+
"locked": "2.9.5"
8688
},
8789
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310": {
88-
"locked": "2.6.7"
90+
"locked": "2.9.5"
8991
},
9092
"com.fasterxml.jackson.module:jackson-module-afterburner": {
91-
"locked": "2.6.7"
93+
"locked": "2.9.5"
9294
},
9395
"com.google.guava:guava": {
9496
"locked": "18.0",

service-config/src/main/java/com/palantir/remoting/api/config/service/PartialServiceConfiguration.java

Lines changed: 10 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
package com.palantir.remoting.api.config.service;
1818

19-
import com.fasterxml.jackson.annotation.JsonProperty;
19+
import com.fasterxml.jackson.annotation.JsonAlias;
2020
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
2121
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
2222
import com.palantir.remoting.api.config.ssl.SslConfiguration;
@@ -32,6 +32,7 @@
3232
public interface PartialServiceConfiguration {
3333

3434
/** The API token to be used to interact with the service. */
35+
@JsonAlias("api-token")
3536
Optional<BearerToken> apiToken();
3637

3738
/** The SSL configuration needed to interact with the service. */
@@ -41,27 +42,34 @@ public interface PartialServiceConfiguration {
4142
List<String> uris();
4243

4344
/** Connect timeout for requests. */
45+
@JsonAlias("connect-timeout")
4446
Optional<HumanReadableDuration> connectTimeout();
4547

4648
/** Read timeout for requests. */
49+
@JsonAlias("read-timeout")
4750
Optional<HumanReadableDuration> readTimeout();
4851

4952
/** Write timeout for requests. */
53+
@JsonAlias("write-timeout")
5054
Optional<HumanReadableDuration> writeTimeout();
5155

5256
/** The maximum number of times a failed RPC call should be retried. */
57+
@JsonAlias("max-num-retries")
5358
Optional<Integer> maxNumRetries();
5459

5560
/**
5661
* The size of one backoff time slot for call retries. For example, an exponential backoff retry algorithm may
5762
* choose a backoff time in {@code [0, backoffSlotSize * 2^c]} for the c-th retry.
5863
*/
64+
@JsonAlias("backoff-slot-size")
5965
Optional<HumanReadableDuration> backoffSlotSize();
6066

6167
/** Enables slower, but more standard cipher suite support, defaults to false. */
68+
@JsonAlias("enable-gcm-cipher-suites")
6269
Optional<Boolean> enableGcmCipherSuites();
6370

6471
/** Proxy configuration for connecting to the service. If absent, uses system proxy configuration. */
72+
@JsonAlias("proxy-configuration")
6573
Optional<ProxyConfiguration> proxyConfiguration();
6674

6775
static PartialServiceConfiguration of(List<String> uris, Optional<SslConfiguration> sslConfig) {
@@ -75,47 +83,5 @@ static Builder builder() {
7583
return new Builder();
7684
}
7785

78-
// TODO(jnewman): #317 - remove kebab-case methods when Jackson 2.7 is picked up
79-
class Builder extends ImmutablePartialServiceConfiguration.Builder {
80-
81-
@JsonProperty("api-token")
82-
Builder apiTokenKebabCase(Optional<BearerToken> apiToken) {
83-
return apiToken(apiToken);
84-
}
85-
86-
@JsonProperty("connect-timeout")
87-
Builder connectTimeoutKebabCase(Optional<HumanReadableDuration> connectTimeout) {
88-
return connectTimeout(connectTimeout);
89-
}
90-
91-
@JsonProperty("read-timeout")
92-
Builder readTimeoutKebabCase(Optional<HumanReadableDuration> readTimeout) {
93-
return readTimeout(readTimeout);
94-
}
95-
96-
@JsonProperty("write-timeout")
97-
Builder writeTimeoutKebabCase(Optional<HumanReadableDuration> writeTimeout) {
98-
return writeTimeout(writeTimeout);
99-
}
100-
101-
@JsonProperty("max-num-retries")
102-
Builder maxNumRetriesKebabCase(Optional<Integer> maxNumRetries) {
103-
return maxNumRetries(maxNumRetries);
104-
}
105-
106-
@JsonProperty("backoff-slot-size")
107-
Builder backoffSlotSizeKebabCase(Optional<HumanReadableDuration> backoffSlotSize) {
108-
return backoffSlotSize(backoffSlotSize);
109-
}
110-
111-
@JsonProperty("proxy-configuration")
112-
Builder proxyConfigurationKebabCase(Optional<ProxyConfiguration> proxyConfiguration) {
113-
return proxyConfiguration(proxyConfiguration);
114-
}
115-
116-
@JsonProperty("enable-gcm-cipher-suites")
117-
Builder enableGcmCipherSuitesKebabCase(Optional<Boolean> enableGcmCipherSuites) {
118-
return enableGcmCipherSuites(enableGcmCipherSuites);
119-
}
120-
}
86+
class Builder extends ImmutablePartialServiceConfiguration.Builder { }
12187
}

service-config/src/main/java/com/palantir/remoting/api/config/service/ProxyConfiguration.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.palantir.remoting.api.config.service;
1818

19+
import com.fasterxml.jackson.annotation.JsonAlias;
1920
import com.fasterxml.jackson.annotation.JsonProperty;
2021
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
2122
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@@ -54,6 +55,7 @@ public enum Type {
5455
* com.google.common.net.HostAndPort}, for instance {@code foo.com:80}, {@code 192.168.3.100:8080}, etc.
5556
*/
5657
@JsonProperty("hostAndPort")
58+
@JsonAlias("host-and-port")
5759
public abstract Optional<String> hostAndPort();
5860

5961
/**
@@ -113,12 +115,5 @@ public static Builder builder() {
113115
return new Builder();
114116
}
115117

116-
// TODO(jnewman): #317 - remove kebab-case methods when Jackson 2.7 is picked up
117-
static final class Builder extends ImmutableProxyConfiguration.Builder {
118-
119-
@JsonProperty("host-and-port")
120-
Builder hostAndPortKebabCase(String hostAndPort) {
121-
return hostAndPort(hostAndPort);
122-
}
123-
}
118+
static final class Builder extends ImmutableProxyConfiguration.Builder {}
124119
}

service-config/src/main/java/com/palantir/remoting/api/config/service/ServicesConfigBlock.java

Lines changed: 9 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.palantir.remoting.api.config.service;
1818

19+
import com.fasterxml.jackson.annotation.JsonAlias;
1920
import com.fasterxml.jackson.annotation.JsonProperty;
2021
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
2122
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@@ -42,6 +43,7 @@ public abstract class ServicesConfigBlock {
4243
* PartialServiceConfiguration}.
4344
*/
4445
@JsonProperty("apiToken")
46+
@JsonAlias("api-token")
4547
public abstract Optional<BearerToken> defaultApiToken();
4648

4749
/**
@@ -58,78 +60,47 @@ public abstract class ServicesConfigBlock {
5860
* Default global proxy configuration for connecting to the services.
5961
*/
6062
@JsonProperty("proxyConfiguration")
63+
@JsonAlias("proxy-configuration")
6164
public abstract Optional<ProxyConfiguration> defaultProxyConfiguration();
6265

6366
/**
6467
* Default global connect timeout.
6568
*/
6669
@JsonProperty("connectTimeout")
70+
@JsonAlias("connect-timeout")
6771
public abstract Optional<HumanReadableDuration> defaultConnectTimeout();
6872

6973
/**
7074
* Default global read timeout.
7175
*/
7276
@JsonProperty("readTimeout")
77+
@JsonAlias("read-timeout")
7378
public abstract Optional<HumanReadableDuration> defaultReadTimeout();
7479

7580
/**
7681
* Default global write timeout.
7782
*/
7883
@JsonProperty("writeTimeout")
84+
@JsonAlias("write-timeout")
7985
public abstract Optional<HumanReadableDuration> defaultWriteTimeout();
8086

8187
/**
8288
* Default global backoff slot size, see {@link PartialServiceConfiguration#backoffSlotSize()}.
8389
*/
8490
@JsonProperty("backoffSlotSize")
91+
@JsonAlias("backoff-slot-size")
8592
public abstract Optional<HumanReadableDuration> defaultBackoffSlotSize();
8693

8794
/**
8895
* Default enablement of gcm cipher suites, defaults to false.
8996
*/
9097
@JsonProperty("enableGcmCipherSuites")
98+
@JsonAlias("enable-gcm-cipher-suites")
9199
public abstract Optional<Boolean> defaultEnableGcmCipherSuites();
92100

93101
public static Builder builder() {
94102
return new Builder();
95103
}
96104

97-
// TODO(jnewman): #317 - remove kebab-case methods when Jackson 2.7 is picked up
98-
public static final class Builder extends ImmutableServicesConfigBlock.Builder {
99-
100-
@JsonProperty("api-token")
101-
Builder defaultApiTokenKebabCase(Optional<BearerToken> defaultApiToken) {
102-
return defaultApiToken(defaultApiToken);
103-
}
104-
105-
@JsonProperty("proxy-configuration")
106-
Builder defaultProxyConfigurationKebabCase(Optional<ProxyConfiguration> defaultProxyConfiguration) {
107-
return defaultProxyConfiguration(defaultProxyConfiguration);
108-
}
109-
110-
@JsonProperty("connect-timeout")
111-
Builder defaultConnectTimeoutKebabCase(Optional<HumanReadableDuration> defaultConnectTimeout) {
112-
return defaultConnectTimeout(defaultConnectTimeout);
113-
}
114-
115-
@JsonProperty("read-timeout")
116-
Builder defaultReadTimeoutKebabCase(Optional<HumanReadableDuration> defaultReadTimeout) {
117-
return defaultReadTimeout(defaultReadTimeout);
118-
}
119-
120-
@JsonProperty("write-timeout")
121-
Builder defaultWriteTimeoutKebabCase(Optional<HumanReadableDuration> defaultWriteTimeout) {
122-
return defaultWriteTimeout(defaultWriteTimeout);
123-
}
124-
125-
@JsonProperty("backoff-slot-size")
126-
Builder defaultBackoffSlotSizeKebabCase(Optional<HumanReadableDuration> defaultBackoffSlotSize) {
127-
return defaultBackoffSlotSize(defaultBackoffSlotSize);
128-
}
129-
130-
@JsonProperty("enable-gcm-cipher-suites")
131-
Builder defaultEnableGcmCipherSuitesKebabCase(Optional<Boolean> defaultEnableGcmCipherSuites) {
132-
return defaultEnableGcmCipherSuites(defaultEnableGcmCipherSuites);
133-
}
134-
}
105+
public static final class Builder extends ImmutableServicesConfigBlock.Builder {}
135106
}

0 commit comments

Comments
 (0)