Skip to content
This repository was archived by the owner on Sep 26, 2023. It is now read-only.

Commit ed0fc79

Browse files
authored
fix: Remove default value handling (#1353)
This is done in favor of explicit `optional` field handling in the generator.
1 parent 06a53ac commit ed0fc79

File tree

3 files changed

+5
-19
lines changed

3 files changed

+5
-19
lines changed

gax-httpjson/src/main/java/com/google/api/gax/httpjson/ProtoRestSerializer.java

-19
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,6 @@ RequestT fromJson(InputStream message, Charset messageCharset, Message.Builder b
101101
* @param fieldValue a field value
102102
*/
103103
public void putPathParam(Map<String, String> fields, String fieldName, Object fieldValue) {
104-
if (isDefaultValue(fieldName, fieldValue)) {
105-
return;
106-
}
107104
fields.put(fieldName, String.valueOf(fieldValue));
108105
}
109106

@@ -116,11 +113,6 @@ public void putPathParam(Map<String, String> fields, String fieldName, Object fi
116113
* @param fieldValue a field value
117114
*/
118115
public void putQueryParam(Map<String, List<String>> fields, String fieldName, Object fieldValue) {
119-
// Avoids empty query parameter
120-
if (isDefaultValue(fieldName, fieldValue)) {
121-
return;
122-
}
123-
124116
ImmutableList.Builder<String> paramValueList = ImmutableList.builder();
125117
if (fieldValue instanceof List<?>) {
126118
for (Object fieldValueItem : (List<?>) fieldValue) {
@@ -142,15 +134,4 @@ public void putQueryParam(Map<String, List<String>> fields, String fieldName, Ob
142134
public String toBody(String fieldName, RequestT fieldValue) {
143135
return toJson(fieldValue);
144136
}
145-
146-
private boolean isDefaultValue(String fieldName, Object fieldValue) {
147-
// TODO: Revisit this approach to ensure proper default-value handling as per design.
148-
if (fieldValue instanceof Number) {
149-
return ((Number) fieldValue).longValue() == 0L;
150-
} else if (fieldValue instanceof String) {
151-
return ((String) fieldValue).isEmpty();
152-
}
153-
154-
return false;
155-
}
156137
}

gax-httpjson/src/test/java/com/google/api/gax/httpjson/ProtoMessageRequestFormatterTest.java

+1
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ public void getQueryParamNames() {
9898
Map<String, List<String>> queryParamNames = formatter.getQueryParamNames(field);
9999
Map<String, List<String>> expected = new HashMap<>();
100100
expected.put("number", Arrays.asList("2"));
101+
expected.put("typeUrl", Arrays.asList(""));
101102
Truth.assertThat(queryParamNames).isEqualTo(expected);
102103
}
103104

gax-httpjson/src/test/java/com/google/api/gax/httpjson/ProtoRestSerializerTest.java

+4
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,9 @@ public void putPathParam() {
115115

116116
Map<String, String> expectedFields = new HashMap<>();
117117
expectedFields.put("optName1", "1");
118+
expectedFields.put("optName2", "0");
118119
expectedFields.put("optName3", "three");
120+
expectedFields.put("optName4", "");
119121

120122
Truth.assertThat(fields).isEqualTo(expectedFields);
121123
}
@@ -131,7 +133,9 @@ public void putQueryParam() {
131133

132134
Map<String, List<String>> expectedFields = new HashMap<>();
133135
expectedFields.put("optName1", Arrays.asList("1"));
136+
expectedFields.put("optName2", Arrays.asList("0"));
134137
expectedFields.put("optName3", Arrays.asList("three"));
138+
expectedFields.put("optName4", Arrays.asList(""));
135139
expectedFields.put("optName5", Arrays.asList("four", "five"));
136140

137141
Truth.assertThat(fields).isEqualTo(expectedFields);

0 commit comments

Comments
 (0)