Skip to content

Commit 3a918a0

Browse files
authored
Remove payload from Thrift converter deprecation log and add additional log for TEnumType converter (#1011)
What changed? added deprecation log for TEnumType converter log only payload class rather than body Why? In V4, default support for thrift message will be dropped
1 parent daa6211 commit 3a918a0

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

src/main/java/com/uber/cadence/converter/TBaseTypeAdapterFactory.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ public void write(JsonWriter jsonWriter, T value) throws IOException {
6565
newThriftSerializer().toString((TBase) value, StandardCharsets.UTF_8.name());
6666
jsonWriter.value(result);
6767
logger.warn(
68-
"TBase message will no longer be support in cadence-java-client V4, payload {}",
69-
result);
68+
"Thrift message will no longer be supported for data conversion in cadence-java-client V4, payload class name {}",
69+
result.getClass().getName());
7070
} catch (TException e) {
7171
throw new DataConverterException("Failed to serialize TBase", e);
7272
}
@@ -79,13 +79,13 @@ public T read(JsonReader jsonReader) throws IOException {
7979
}
8080
String value = jsonReader.nextString();
8181
try {
82-
logger.warn(
83-
"TBase message will no longer be support in cadence-java-client V4, payload {}",
84-
value);
8582
@SuppressWarnings("unchecked")
8683
T instance = (T) typeToken.getRawType().getConstructor().newInstance();
8784
newThriftDeserializer()
8885
.deserialize((TBase) instance, value, StandardCharsets.UTF_8.name());
86+
logger.warn(
87+
"Thrift message will no longer be supported for data conversion in cadence-java-client V4, payload class name {}",
88+
instance.getClass().getName());
8989
return instance;
9090
} catch (Exception e) {
9191
throw new DataConverterException("Failed to deserialize TBase", e);

src/main/java/com/uber/cadence/converter/TEnumTypeAdapterFactory.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
import java.io.IOException;
2727
import java.lang.reflect.Method;
2828
import org.apache.thrift.TEnum;
29+
import org.slf4j.Logger;
30+
import org.slf4j.LoggerFactory;
2931

3032
/**
3133
* Special handling of TEnum serialization and deserialization. This is to support for inline TEnum
@@ -34,6 +36,8 @@
3436
*/
3537
public class TEnumTypeAdapterFactory implements TypeAdapterFactory {
3638

39+
private static final Logger logger = LoggerFactory.getLogger(TEnumTypeAdapterFactory.class);
40+
3741
@Override
3842
public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
3943
// this class only serializes 'TEnum' and its subtypes
@@ -44,6 +48,9 @@ public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
4448
new TypeAdapter<T>() {
4549
@Override
4650
public void write(JsonWriter jsonWriter, T value) throws IOException {
51+
logger.warn(
52+
"Thrift message will no longer be supported for data conversion in cadence-java-client V4, payload class name {}",
53+
value.getClass().getName());
4754
jsonWriter.value(((TEnum) value).getValue());
4855
}
4956

@@ -54,6 +61,9 @@ public T read(JsonReader jsonReader) throws IOException {
5461
Method m = (typeToken.getRawType().getDeclaredMethod("findByValue", Integer.TYPE));
5562
@SuppressWarnings("unchecked")
5663
T instance = (T) m.invoke(null, value);
64+
logger.warn(
65+
"Thrift message will no longer be supported for data conversion in cadence-java-client V4, payload class name {}",
66+
instance.getClass().getName());
5767
return instance;
5868
} catch (Exception e) {
5969
throw new DataConverterException("Failed to deserilize TEnum", e);

0 commit comments

Comments
 (0)