Skip to content

Commit f37df1e

Browse files
committed
Allow deserializing path params from JSON
Signed-off-by: Thomas Farr <[email protected]>
1 parent 9beeb7b commit f37df1e

File tree

8 files changed

+25
-4
lines changed

8 files changed

+25
-4
lines changed

java-client/src/generated/java/org/opensearch/client/opensearch/indices/CreateIndexRequest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -449,6 +449,7 @@ public CreateIndexRequest build() {
449449

450450
protected static void setupCreateIndexRequestDeserializer(ObjectDeserializer<CreateIndexRequest.Builder> op) {
451451
op.add(Builder::aliases, JsonpDeserializer.stringMapDeserializer(Alias._DESERIALIZER), "aliases");
452+
op.add(Builder::index, JsonpDeserializer.stringDeserializer(), "index");
452453
op.add(Builder::mappings, TypeMapping._DESERIALIZER, "mappings");
453454
op.add(Builder::settings, IndexSettings._DESERIALIZER, "settings");
454455
}

java-client/src/generated/java/org/opensearch/client/opensearch/indices/PutIndexTemplateRequest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -576,6 +576,7 @@ protected static void setupPutIndexTemplateRequestDeserializer(ObjectDeserialize
576576
op.add(Builder::dataStream, IndexTemplateDataStreamConfiguration._DESERIALIZER, "data_stream");
577577
op.add(Builder::indexPatterns, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "index_patterns");
578578
op.add(Builder::meta, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "_meta");
579+
op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name");
579580
op.add(Builder::priority, JsonpDeserializer.integerDeserializer(), "priority");
580581
op.add(Builder::template, IndexTemplateMapping._DESERIALIZER, "template");
581582
op.add(Builder::version, JsonpDeserializer.longDeserializer(), "version");

java-client/src/generated/java/org/opensearch/client/opensearch/indices/SimulateIndexTemplateRequest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -625,6 +625,7 @@ protected static void setupSimulateIndexTemplateRequestDeserializer(ObjectDeseri
625625
op.add(Builder::dataStream, IndexTemplateDataStreamConfiguration._DESERIALIZER, "data_stream");
626626
op.add(Builder::indexPatterns, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "index_patterns");
627627
op.add(Builder::meta, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "_meta");
628+
op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name");
628629
op.add(Builder::priority, JsonpDeserializer.integerDeserializer(), "priority");
629630
op.add(Builder::template, IndexTemplateMapping._DESERIALIZER, "template");
630631
op.add(Builder::version, JsonpDeserializer.longDeserializer(), "version");

java-client/src/generated/java/org/opensearch/client/opensearch/snapshot/CloneSnapshotRequest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,9 @@ public CloneSnapshotRequest build() {
304304

305305
protected static void setupCloneSnapshotRequestDeserializer(ObjectDeserializer<CloneSnapshotRequest.Builder> op) {
306306
op.add(Builder::indices, JsonpDeserializer.stringDeserializer(), "indices");
307+
op.add(Builder::repository, JsonpDeserializer.stringDeserializer(), "repository");
308+
op.add(Builder::snapshot, JsonpDeserializer.stringDeserializer(), "snapshot");
309+
op.add(Builder::targetSnapshot, JsonpDeserializer.stringDeserializer(), "target_snapshot");
307310
}
308311

309312
// ---------------------------------------------------------------------------------------------

java-codegen/src/main/java/org/opensearch/client/codegen/model/ObjectShape.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,18 @@ public void setShortcutProperty(String shortcutProperty) {
7272
this.shortcutProperty = shortcutProperty;
7373
}
7474

75+
public Collection<Field> getFieldsToSerialize() {
76+
return getBodyFields();
77+
}
78+
7579
public boolean hasFieldsToSerialize() {
7680
return !bodyFields.isEmpty() || additionalPropertiesField != null;
7781
}
7882

83+
public Collection<Field> getFieldsToDeserialize() {
84+
return getBodyFields();
85+
}
86+
7987
public Collection<ReferencingDiscriminatedUnion> getReferencingDiscriminatedUnions() {
8088
return getIncomingReference(ReferenceKind.UnionVariant).stream()
8189
.map(s -> (TaggedUnionShape) s)

java-codegen/src/main/java/org/opensearch/client/codegen/model/RequestShape.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,13 @@ public boolean canBeSingleton() {
9898
return !hasRequestBody() && !hasQueryParams() && hasSinglePath() && !getFirstPath().hasParams();
9999
}
100100

101+
@Override
102+
public Collection<Field> getFieldsToDeserialize() {
103+
var fields = new TreeMap<>(bodyFields);
104+
fields.putAll(pathParams);
105+
return fields.values();
106+
}
107+
101108
public boolean hasRequestBody() {
102109
return !getBodyFields().isEmpty();
103110
}

java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Deserialize.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
{{#extendsOtherShape}}
1515
setup{{extendsType.name}}Deserializer(op{{#extendsType.typeParams}}, {{>Type/deserializer}}{{/extendsType.typeParams}});
1616
{{/extendsOtherShape}}
17-
{{#bodyFields}}
17+
{{#fieldsToDeserialize}}
1818
op.add({{#extendedByOtherShape}}Abstract{{/extendedByOtherShape}}Builder::{{name}}, {{#type}}{{>Type/deserializer}}{{/type}}, {{#quoted}}{{wireName}}{{/quoted}}{{#aliases}}, {{#quoted}}{{.}}{{/quoted}}{{/aliases}});
19-
{{/bodyFields}}
19+
{{/fieldsToDeserialize}}
2020
{{#additionalPropertiesField}}
2121
op.setUnknownFieldHandler((builder, name, parser, mapper) -> {
2222
if (builder.{{name}} == null) {

java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Serialize.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
{{#additionalPropertiesField}}
2121
{{#type.directSerializer}}this.{{name}}{{/type.directSerializer}}
2222
{{/additionalPropertiesField}}
23-
{{#bodyFields}}
23+
{{#fieldsToSerialize}}
2424
{{^required}}
2525
if ({{#type.isDefined}}this.{{name}}{{/type.isDefined}}) {
2626
{{/required}}
@@ -32,5 +32,5 @@
3232
{{^-last}}
3333

3434
{{/-last}}
35-
{{/bodyFields}}
35+
{{/fieldsToSerialize}}
3636
}

0 commit comments

Comments
 (0)