Skip to content

Commit f369b4f

Browse files
exclude id from create flow (#764)
1 parent a7ce759 commit f369b4f

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

fluentgen/src/main/java/com/azure/autorest/fluent/model/clientmodel/fluentmodel/create/ResourceCreate.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,7 @@ private List<ClientModelProperty> getNonRequiredProperties() {
195195
protected List<ClientModelProperty> getProperties() {
196196
return super.getProperties().stream()
197197
.filter(p -> !p.getIsReadOnlyForCreate())
198+
.filter(p -> !isIdProperty(p)) // create should not be able to set id
198199
.collect(Collectors.toList());
199200
}
200201

@@ -299,6 +300,10 @@ private FluentMethod getCreateMethod(boolean hasContextParameter) {
299300
}
300301
}
301302

303+
private boolean isIdProperty(ClientModelProperty property) {
304+
return property.getName().equals(ResourceTypeName.FIELD_ID);
305+
}
306+
302307
public void addImportsTo(Set<String> imports, boolean includeImplementationImports) {
303308
getDefinitionStages().forEach(s -> s.addImportsTo(imports, includeImplementationImports));
304309
}

fluentgen/src/main/java/com/azure/autorest/fluent/model/clientmodel/fluentmodel/update/ResourceUpdate.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,12 @@ public List<UpdateStage> getUpdateStages() {
6060

6161
List<ClientModelProperty> properties = this.getProperties();
6262
for (ClientModelProperty property : properties) {
63-
if (!isLocationProperty(property)) { // update should not be able to change location
64-
UpdateStage stage = new UpdateStage("With" + CodeNamer.toPascalCase(property.getName()), property);
65-
stage.setNextStage(updateStageApply);
63+
UpdateStage stage = new UpdateStage("With" + CodeNamer.toPascalCase(property.getName()), property);
64+
stage.setNextStage(updateStageApply);
6665

67-
stage.getMethods().add(this.getPropertyMethod(stage, requestBodyParameterModel, property));
66+
stage.getMethods().add(this.getPropertyMethod(stage, requestBodyParameterModel, property));
6867

69-
updateStages.add(stage);
70-
}
68+
updateStages.add(stage);
7169
}
7270
// header and query parameters
7371
List<ClientMethodParameter> miscParameters = this.getMiscParameters();
@@ -103,6 +101,7 @@ public String getLocalVariablePrefix() {
103101
protected List<ClientModelProperty> getProperties() {
104102
return super.getProperties().stream()
105103
.filter(p -> !p.getIsReadOnlyForUpdate())
104+
.filter(p -> !isLocationProperty(p)) // update should not be able to change location
106105
.collect(Collectors.toList());
107106
}
108107

0 commit comments

Comments
 (0)