diff --git a/javagen/src/main/java/com/azure/autorest/model/clientmodel/EnumType.java b/javagen/src/main/java/com/azure/autorest/model/clientmodel/EnumType.java index 0e4e25e17f..bdfd0d6a78 100644 --- a/javagen/src/main/java/com/azure/autorest/model/clientmodel/EnumType.java +++ b/javagen/src/main/java/com/azure/autorest/model/clientmodel/EnumType.java @@ -143,7 +143,9 @@ public final String getFromMethodName() { * @return The method name used to convert the enum type to JSON. */ public final String getToMethodName() { - return "to" + CodeNamer.toPascalCase(elementType.getClientType().toString()); + return expandable + ? "toString" // TODO(xiaofei) use getValue() once we support ExpandableEnum interface in azure + : "to" + CodeNamer.toPascalCase(elementType.getClientType().toString()); } @Override @@ -190,8 +192,10 @@ public String jsonSerializationMethodCall(String jsonWriterName, String fieldNam ? valueGetter + "." + getToMethodName() + "()" : valueGetter + " == null ? null : " + valueGetter + "." + getToMethodName() + "()"; - return elementType.asNullable().jsonSerializationMethodCall(jsonWriterName, fieldName, actualValueGetter, - jsonMergePatch); + return (expandable + ? ClassType.STRING // TODO(xiaofei) always use elementType once we support ExpandableEnum interface in azure + : elementType.asNullable()) + .jsonSerializationMethodCall(jsonWriterName, fieldName, actualValueGetter, jsonMergePatch); } @Override diff --git a/javagen/src/main/java/com/azure/autorest/template/StreamSerializationModelTemplate.java b/javagen/src/main/java/com/azure/autorest/template/StreamSerializationModelTemplate.java index ada8a7c09b..10eb70d795 100644 --- a/javagen/src/main/java/com/azure/autorest/template/StreamSerializationModelTemplate.java +++ b/javagen/src/main/java/com/azure/autorest/template/StreamSerializationModelTemplate.java @@ -266,7 +266,7 @@ && readOnlyNotInCtor(model, parentProperty, settings) // we shadow parent read-o * @param model the client model * @param property the property to generate getter * @param settings {@link JavaSettings} instance - * @param methodVisibility + * @param methodVisibility {@link JavaVisibility} for the method * @return whether the property's getter overrides parent getter */ @Override