Skip to content

Commit 9d1791d

Browse files
author
Pritham Marupaka
committed
review changes
1 parent f00bd5f commit 9d1791d

File tree

4 files changed

+32
-43
lines changed

4 files changed

+32
-43
lines changed

dialogue-serde/src/main/java/com/palantir/conjure/java/dialogue/serde/ConjureBodySerDe.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -82,16 +82,16 @@ final class ConjureBodySerDe implements BodySerDe {
8282
emptyContainerDeserializer,
8383
BinaryEncoding.MARKER,
8484
DeserializerArgs.<InputStream>builder()
85-
.withBaseType(BinaryEncoding.MARKER)
86-
.withExpectedResult(BinaryEncoding.MARKER)
85+
.baseType(BinaryEncoding.MARKER)
86+
.success(BinaryEncoding.MARKER)
8787
.build());
8888
this.optionalBinaryInputStreamDeserializer = new EncodingDeserializerForEndpointRegistry<>(
8989
ImmutableList.of(BinaryEncoding.INSTANCE),
9090
emptyContainerDeserializer,
9191
BinaryEncoding.OPTIONAL_MARKER,
9292
DeserializerArgs.<Optional<InputStream>>builder()
93-
.withBaseType(BinaryEncoding.OPTIONAL_MARKER)
94-
.withExpectedResult(BinaryEncoding.OPTIONAL_MARKER)
93+
.baseType(BinaryEncoding.OPTIONAL_MARKER)
94+
.success(BinaryEncoding.OPTIONAL_MARKER)
9595
.build());
9696
this.emptyBodyDeserializer =
9797
new EmptyBodyDeserializer(new EndpointErrorDecoder<>(Collections.emptyMap(), Optional.empty()));
@@ -108,8 +108,8 @@ private <T> EncodingDeserializerForEndpointRegistry<?> buildCacheEntry(TypeMarke
108108
emptyContainerDeserializer,
109109
typeMarker,
110110
DeserializerArgs.<T>builder()
111-
.withBaseType(typeMarker)
112-
.withExpectedResult(typeMarker)
111+
.baseType(typeMarker)
112+
.success(typeMarker)
113113
.build());
114114
}
115115

dialogue-serde/src/main/java/com/palantir/conjure/java/dialogue/serde/EndpointErrorDecoder.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
import com.fasterxml.jackson.databind.JsonNode;
2020
import com.fasterxml.jackson.databind.ObjectMapper;
2121
import com.google.common.collect.ImmutableList;
22+
import com.google.common.collect.ImmutableMap;
23+
import com.google.common.collect.Maps;
2224
import com.google.common.io.CharStreams;
2325
import com.google.common.net.HttpHeaders;
2426
import com.google.common.primitives.Longs;
@@ -53,7 +55,6 @@
5355
import java.util.List;
5456
import java.util.Map;
5557
import java.util.Optional;
56-
import java.util.stream.Collectors;
5758

5859
/**
5960
* Extracts the error from a {@link Response}.
@@ -71,10 +72,8 @@ final class EndpointErrorDecoder<T> {
7172
EndpointErrorDecoder(
7273
Map<String, TypeMarker<? extends T>> errorNameToTypeMap, Optional<Encoding> maybeJsonEncoding) {
7374
this.errorNameToJsonDeserializerMap = maybeJsonEncoding
74-
.<Map<String, Encoding.Deserializer<? extends T>>>map(
75-
jsonEncoding -> errorNameToTypeMap.entrySet().stream()
76-
.collect(Collectors.toMap(
77-
Map.Entry::getKey, entry -> jsonEncoding.deserializer(entry.getValue()))))
75+
.<Map<String, Encoding.Deserializer<? extends T>>>map(jsonEncoding ->
76+
ImmutableMap.copyOf(Maps.transformValues(errorNameToTypeMap, jsonEncoding::deserializer)))
7877
.orElseGet(Collections::emptyMap);
7978
}
8079

dialogue-serde/src/test/java/com/palantir/conjure/java/dialogue/serde/EndpointErrorsConjureBodySerDeTest.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,9 @@ public void testDeserializeCustomError() throws IOException {
116116
.code(500);
117117
BodySerDe serializers = conjureBodySerDe("application/json", "text/plain");
118118
DeserializerArgs<EndpointReturnBaseType> deserializerArgs = DeserializerArgs.<EndpointReturnBaseType>builder()
119-
.withBaseType(new TypeMarker<>() {})
120-
.withExpectedResult(new TypeMarker<ExpectedReturnValue>() {})
121-
.withErrorType("Default:FailedPrecondition", new TypeMarker<ErrorReturnValue>() {})
119+
.baseType(new TypeMarker<>() {})
120+
.success(new TypeMarker<ExpectedReturnValue>() {})
121+
.error("Default:FailedPrecondition", new TypeMarker<ErrorReturnValue>() {})
122122
.build();
123123

124124
// When
@@ -155,8 +155,8 @@ public void testDeserializingUndefinedErrorFallsbackToSerializableError() throws
155155
.code(500);
156156
BodySerDe serializers = conjureBodySerDe("application/json", "text/plain");
157157
DeserializerArgs<EndpointReturnBaseType> deserializerArgs = DeserializerArgs.<EndpointReturnBaseType>builder()
158-
.withBaseType(new TypeMarker<>() {})
159-
.withExpectedResult(new TypeMarker<ExpectedReturnValue>() {})
158+
.baseType(new TypeMarker<>() {})
159+
.success(new TypeMarker<ExpectedReturnValue>() {})
160160
// Note: no error types are registered.
161161
.build();
162162

@@ -190,9 +190,9 @@ public void testDeserializeExpectedValue() {
190190
.code(200);
191191
BodySerDe serializers = conjureBodySerDe("application/json", "text/plain");
192192
DeserializerArgs<EndpointReturnBaseType> deserializerArgs = DeserializerArgs.<EndpointReturnBaseType>builder()
193-
.withBaseType(new TypeMarker<>() {})
194-
.withExpectedResult(new TypeMarker<ExpectedReturnValue>() {})
195-
.withErrorType("Default:FailedPrecondition", new TypeMarker<ErrorReturnValue>() {})
193+
.baseType(new TypeMarker<>() {})
194+
.success(new TypeMarker<ExpectedReturnValue>() {})
195+
.error("Default:FailedPrecondition", new TypeMarker<ErrorReturnValue>() {})
196196
.build();
197197
// When
198198
EndpointReturnBaseType value =

dialogue-target/src/main/java/com/palantir/dialogue/DeserializerArgs.java

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.util.HashMap;
2222
import java.util.Map;
2323
import javax.annotation.Nonnull;
24+
import javax.annotation.Nullable;
2425

2526
public final class DeserializerArgs<T> {
2627
private final TypeMarker<T> baseType;
@@ -42,59 +43,48 @@ public static <T> Builder<T> builder() {
4243

4344
public static final class Builder<T> {
4445
private boolean buildInvoked = false;
45-
private TypeMarker<T> baseType;
46-
private boolean baseTypeSet = false;
47-
private TypeMarker<? extends T> expectedResultType;
48-
private boolean expectedResultSet = false;
46+
private @Nullable TypeMarker<T> baseType;
47+
private @Nullable TypeMarker<? extends T> successType;
4948
private final Map<String, TypeMarker<? extends T>> errorNameToTypeMarker;
5049

51-
@SuppressWarnings("NullAway")
52-
// We ensure that the baseType and expectedResultType are set before building.
5350
private Builder() {
5451
this.errorNameToTypeMarker = new HashMap<>();
5552
}
5653

57-
public Builder<T> withBaseType(@Nonnull TypeMarker<T> base) {
54+
public Builder<T> baseType(@Nonnull TypeMarker<T> baseT) {
5855
checkNotBuilt();
59-
this.baseType = Preconditions.checkNotNull(base, "base type must be non-null");
60-
this.baseTypeSet = true;
56+
this.baseType = Preconditions.checkNotNull(baseT, "base type must be non-null");
6157
return this;
6258
}
6359

64-
public Builder<T> withExpectedResult(TypeMarker<? extends T> expectedResultT) {
60+
public Builder<T> success(@Nonnull TypeMarker<? extends T> successT) {
6561
checkNotBuilt();
66-
this.expectedResultType =
67-
Preconditions.checkNotNull(expectedResultT, "expected result type must be non-null");
68-
this.expectedResultSet = true;
62+
this.successType = Preconditions.checkNotNull(successT, "success type must be non-null");
6963
return this;
7064
}
7165

72-
public Builder<T> withErrorType(@Nonnull String errorName, @Nonnull TypeMarker<? extends T> errorType) {
66+
public Builder<T> error(@Nonnull String errorName, @Nonnull TypeMarker<? extends T> errorT) {
7367
checkNotBuilt();
7468
this.errorNameToTypeMarker.put(
7569
Preconditions.checkNotNull(errorName, "error name must be non-null"),
76-
Preconditions.checkNotNull(errorType, "error type must be non-null"));
70+
Preconditions.checkNotNull(errorT, "error type must be non-null"));
7771
return this;
7872
}
7973

8074
public DeserializerArgs<T> build() {
8175
checkNotBuilt();
82-
checkRequiredArgsSet();
76+
Preconditions.checkNotNull(baseType, "base type must be set");
77+
Preconditions.checkNotNull(successType, "success type must be set");
8378
buildInvoked = true;
84-
return new DeserializerArgs<>(baseType, expectedResultType, ImmutableMap.copyOf(errorNameToTypeMarker));
79+
return new DeserializerArgs<>(baseType, successType, ImmutableMap.copyOf(errorNameToTypeMarker));
8580
}
8681

8782
private void checkNotBuilt() {
88-
Preconditions.checkState(!buildInvoked, "Build has already been called");
89-
}
90-
91-
private void checkRequiredArgsSet() {
92-
Preconditions.checkState(baseTypeSet, "base type must be set");
93-
Preconditions.checkState(expectedResultSet, "expected result type must be set");
83+
Preconditions.checkState(!buildInvoked, "build has already been called");
9484
}
9585
}
9686

97-
public TypeMarker<? extends T> baseType() {
87+
public TypeMarker<T> baseType() {
9888
return baseType;
9989
}
10090

0 commit comments

Comments
 (0)