Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
changeKind: dependencies
packages:
- "@typespec/http-client-java"
---

Upgrade TCGC
2 changes: 2 additions & 0 deletions .github/instructions/http-client-java.instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Steps:
5. Commit the changes to `package.json` and `package-lock.json`.
6. If there is an update to the `http-specs` or `azure-http-specs` libraries, run `Generate.ps1` in `generator/http-client-generator-test` and commit the generated changes in that folder.
7. If there is an update to the `http-specs` library, run `Generate.ps1` in `generator/http-client-generator-clientcore-test` and commit the generated changes in that folder.
8. Call `pnpm chronus add @typespec/http-client-java`, select "Bump dependencies" in terminal, then input a summary in terminal. Commit the new md file in ".chronus" folder of repository root.

# Prepare for minor/patch release

Expand Down Expand Up @@ -45,3 +46,4 @@ Typical task: `add e2e test case for <package>, scenario is <url-to-tsp-file>`.
9. Start Spector server by `npm run spector-start`.
10. Run the tests (`mvn test`). Make sure all tests pass.
11. Stop Spector server by `npm run spector-stop`.
12. Call `pnpm chronus add @typespec/http-client-java`, select "Internal" in terminal, then input a summary in terminal. Commit the new md file in ".chronus" folder of repository root.
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"dependencies": {
"@typespec/spector": "0.1.0-alpha.22",
"@typespec/spec-api": "0.1.0-alpha.12",
"@typespec/http-specs": "0.1.0-alpha.30",
"@typespec/http-specs": "0.1.0-alpha.31",
"@typespec/json-schema": "1.8.0",
"@typespec/http-client-java": "file:../../typespec-http-client-java-0.6.1.tgz",
"@typespec/http-client-java-tests": "file:"
Expand All @@ -30,7 +30,7 @@
"@typespec/sse": "0.78.0",
"@typespec/streams": "0.78.0",
"@azure-tools/typespec-azure-core": "0.64.0",
"@azure-tools/typespec-client-generator-core": "0.64.1",
"@azure-tools/typespec-client-generator-core": "0.64.3",
"@azure-tools/typespec-azure-resource-manager": "0.64.0",
"@azure-tools/typespec-autorest": "0.64.0"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ static ListsService getNewInstance(HttpPipeline pipeline) {
@HttpRequestInformation(
method = HttpMethod.POST,
path = "/documentation/lists/bullet-points/model",
expectedStatusCodes = { 204 })
expectedStatusCodes = { 200 })
@UnexpectedResponseExceptionDetail
Response<Void> bulletPointsModel(@HostParam("endpoint") String endpoint,
@HeaderParam("Content-Type") String contentType,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import io.clientcore.core.instrumentation.Instrumentation;
import specialwords.implementation.ModelPropertiesImpl;
import specialwords.modelproperties.DictMethods;
import specialwords.modelproperties.ModelWithList;
import specialwords.modelproperties.SameAsModel;

/**
Expand Down Expand Up @@ -96,4 +97,35 @@ public Response<Void> dictMethodsWithResponse(DictMethods body, RequestContext r
public void dictMethods(DictMethods body) {
dictMethodsWithResponse(body, RequestContext.none());
}

/**
* The withList operation.
*
* @param body The body parameter.
* @param requestContext The context to configure the HTTP request before HTTP client sends it.
* @throws IllegalArgumentException thrown if parameters fail the validation.
* @throws HttpResponseException thrown if the service returns an error.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the {@link Response}.
*/
@Metadata(properties = { MetadataProperties.GENERATED })
@ServiceMethod(returns = ReturnType.SINGLE)
public Response<Void> withListWithResponse(ModelWithList body, RequestContext requestContext) {
return this.instrumentation.instrumentWithResponse("SpecialWords.ModelProperties.withList", requestContext,
updatedContext -> this.serviceClient.withListWithResponse(body, updatedContext));
}

/**
* The withList operation.
*
* @param body The body parameter.
* @throws IllegalArgumentException thrown if parameters fail the validation.
* @throws HttpResponseException thrown if the service returns an error.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
*/
@Metadata(properties = { MetadataProperties.GENERATED })
@ServiceMethod(returns = ReturnType.SINGLE)
public void withList(ModelWithList body) {
withListWithResponse(body, RequestContext.none());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import io.clientcore.core.instrumentation.Instrumentation;
import java.lang.reflect.InvocationTargetException;
import specialwords.modelproperties.DictMethods;
import specialwords.modelproperties.ModelWithList;
import specialwords.modelproperties.SameAsModel;

/**
Expand Down Expand Up @@ -83,6 +84,14 @@ Response<Void> sameAsModel(@HostParam("endpoint") String endpoint,
Response<Void> dictMethods(@HostParam("endpoint") String endpoint,
@HeaderParam("Content-Type") String contentType, @BodyParam("application/json") DictMethods body,
RequestContext requestContext);

@HttpRequestInformation(
method = HttpMethod.POST,
path = "/special-words/model-properties/list",
expectedStatusCodes = { 204 })
@UnexpectedResponseExceptionDetail
Response<Void> withList(@HostParam("endpoint") String endpoint, @HeaderParam("Content-Type") String contentType,
@BodyParam("application/json") ModelWithList body, RequestContext requestContext);
}

/**
Expand Down Expand Up @@ -122,4 +131,23 @@ public Response<Void> dictMethodsWithResponse(DictMethods body, RequestContext r
return service.dictMethods(this.client.getEndpoint(), contentType, body, updatedContext);
});
}

/**
* The withList operation.
*
* @param body The body parameter.
* @param requestContext The context to configure the HTTP request before HTTP client sends it.
* @throws IllegalArgumentException thrown if parameters fail the validation.
* @throws HttpResponseException thrown if the service returns an error.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the {@link Response}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public Response<Void> withListWithResponse(ModelWithList body, RequestContext requestContext) {
return this.instrumentation.instrumentWithResponse("SpecialWords.ModelProperties.withList", requestContext,
updatedContext -> {
final String contentType = "application/json";
return service.withList(this.client.getEndpoint(), contentType, body, updatedContext);
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
* in
* is
* lambda
* list
* not
* or
* pass
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
package specialwords.modelproperties;

import io.clientcore.core.annotations.Metadata;
import io.clientcore.core.annotations.MetadataProperties;
import io.clientcore.core.serialization.json.JsonReader;
import io.clientcore.core.serialization.json.JsonSerializable;
import io.clientcore.core.serialization.json.JsonToken;
import io.clientcore.core.serialization.json.JsonWriter;
import java.io.IOException;

/**
* The ModelWithList model.
*/
@Metadata(properties = { MetadataProperties.IMMUTABLE })
public final class ModelWithList implements JsonSerializable<ModelWithList> {
/*
* The list property.
*/
@Metadata(properties = { MetadataProperties.GENERATED })
private final String list;

/**
* Creates an instance of ModelWithList class.
*
* @param list the list value to set.
*/
@Metadata(properties = { MetadataProperties.GENERATED })
public ModelWithList(String list) {
this.list = list;
}

/**
* Get the list property: The list property.
*
* @return the list value.
*/
@Metadata(properties = { MetadataProperties.GENERATED })
public String getList() {
return this.list;
}

/**
* {@inheritDoc}
*/
@Metadata(properties = { MetadataProperties.GENERATED })
@Override
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
jsonWriter.writeStringField("list", this.list);
return jsonWriter.writeEndObject();
}

/**
* Reads an instance of ModelWithList from the JsonReader.
*
* @param jsonReader The JsonReader being read.
* @return An instance of ModelWithList if the JsonReader was pointing to an instance of it, or null if it was
* pointing to JSON null.
* @throws IllegalStateException If the deserialized JSON object was missing any required properties.
* @throws IOException If an error occurs while reading the ModelWithList.
*/
@Metadata(properties = { MetadataProperties.GENERATED })
public static ModelWithList fromJson(JsonReader jsonReader) throws IOException {
return jsonReader.readObject(reader -> {
String list = null;
while (reader.nextToken() != JsonToken.END_OBJECT) {
String fieldName = reader.getFieldName();
reader.nextToken();

if ("list".equals(fieldName)) {
list = reader.getString();
} else {
reader.skipChildren();
}
}
return new ModelWithList(list);
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
* in
* is
* lambda
* list
* not
* or
* pass
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
* in
* is
* lambda
* list
* not
* or
* pass
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
* in
* is
* lambda
* list
* not
* or
* pass
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"specialwords.ParametersClient": "SpecialWords.Parameters",
"specialwords.SpecialWordsClientBuilder": "SpecialWords",
"specialwords.modelproperties.DictMethods": "SpecialWords.ModelProperties.DictMethods",
"specialwords.modelproperties.ModelWithList": "SpecialWords.ModelProperties.ModelWithList",
"specialwords.modelproperties.SameAsModel": "SpecialWords.ModelProperties.SameAsModel",
"specialwords.models.And": "SpecialWords.Models.and",
"specialwords.models.As": "SpecialWords.Models.as",
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"flavor":"generic","crossLanguageDefinitions":{"specialwords.ModelPropertiesClient":"SpecialWords.ModelProperties","specialwords.ModelsClient":"SpecialWords.Models","specialwords.OperationsClient":"SpecialWords.Operations","specialwords.ParametersClient":"SpecialWords.Parameters","specialwords.SpecialWordsClientBuilder":"SpecialWords","specialwords.modelproperties.DictMethods":"SpecialWords.ModelProperties.DictMethods","specialwords.modelproperties.SameAsModel":"SpecialWords.ModelProperties.SameAsModel","specialwords.models.And":"SpecialWords.Models.and","specialwords.models.As":"SpecialWords.Models.as","specialwords.models.Assert":"SpecialWords.Models.assert","specialwords.models.Async":"SpecialWords.Models.async","specialwords.models.Await":"SpecialWords.Models.await","specialwords.models.Break":"SpecialWords.Models.break","specialwords.models.ClassModel":"SpecialWords.Models.class","specialwords.models.Constructor":"SpecialWords.Models.constructor","specialwords.models.Continue":"SpecialWords.Models.continue","specialwords.models.Def":"SpecialWords.Models.def","specialwords.models.Del":"SpecialWords.Models.del","specialwords.models.Elif":"SpecialWords.Models.elif","specialwords.models.Else":"SpecialWords.Models.else","specialwords.models.Except":"SpecialWords.Models.except","specialwords.models.Exec":"SpecialWords.Models.exec","specialwords.models.Finally":"SpecialWords.Models.finally","specialwords.models.For":"SpecialWords.Models.for","specialwords.models.From":"SpecialWords.Models.from","specialwords.models.Global":"SpecialWords.Models.global","specialwords.models.If":"SpecialWords.Models.if","specialwords.models.Import":"SpecialWords.Models.import","specialwords.models.In":"SpecialWords.Models.in","specialwords.models.Is":"SpecialWords.Models.is","specialwords.models.Lambda":"SpecialWords.Models.lambda","specialwords.models.Not":"SpecialWords.Models.not","specialwords.models.Or":"SpecialWords.Models.or","specialwords.models.Pass":"SpecialWords.Models.pass","specialwords.models.Raise":"SpecialWords.Models.raise","specialwords.models.Return":"SpecialWords.Models.return","specialwords.models.Try":"SpecialWords.Models.try","specialwords.models.While":"SpecialWords.Models.while","specialwords.models.With":"SpecialWords.Models.with","specialwords.models.Yield":"SpecialWords.Models.yield"},"generatedFiles":["src/main/java/module-info.java","src/main/java/specialwords/ModelPropertiesClient.java","src/main/java/specialwords/ModelsClient.java","src/main/java/specialwords/OperationsClient.java","src/main/java/specialwords/ParametersClient.java","src/main/java/specialwords/SpecialWordsClientBuilder.java","src/main/java/specialwords/implementation/ModelPropertiesImpl.java","src/main/java/specialwords/implementation/ModelsImpl.java","src/main/java/specialwords/implementation/OperationsImpl.java","src/main/java/specialwords/implementation/ParametersImpl.java","src/main/java/specialwords/implementation/SpecialWordsClientImpl.java","src/main/java/specialwords/implementation/package-info.java","src/main/java/specialwords/modelproperties/DictMethods.java","src/main/java/specialwords/modelproperties/SameAsModel.java","src/main/java/specialwords/modelproperties/package-info.java","src/main/java/specialwords/models/And.java","src/main/java/specialwords/models/As.java","src/main/java/specialwords/models/Assert.java","src/main/java/specialwords/models/Async.java","src/main/java/specialwords/models/Await.java","src/main/java/specialwords/models/Break.java","src/main/java/specialwords/models/ClassModel.java","src/main/java/specialwords/models/Constructor.java","src/main/java/specialwords/models/Continue.java","src/main/java/specialwords/models/Def.java","src/main/java/specialwords/models/Del.java","src/main/java/specialwords/models/Elif.java","src/main/java/specialwords/models/Else.java","src/main/java/specialwords/models/Except.java","src/main/java/specialwords/models/Exec.java","src/main/java/specialwords/models/Finally.java","src/main/java/specialwords/models/For.java","src/main/java/specialwords/models/From.java","src/main/java/specialwords/models/Global.java","src/main/java/specialwords/models/If.java","src/main/java/specialwords/models/Import.java","src/main/java/specialwords/models/In.java","src/main/java/specialwords/models/Is.java","src/main/java/specialwords/models/Lambda.java","src/main/java/specialwords/models/Not.java","src/main/java/specialwords/models/Or.java","src/main/java/specialwords/models/Pass.java","src/main/java/specialwords/models/Raise.java","src/main/java/specialwords/models/Return.java","src/main/java/specialwords/models/Try.java","src/main/java/specialwords/models/While.java","src/main/java/specialwords/models/With.java","src/main/java/specialwords/models/Yield.java","src/main/java/specialwords/models/package-info.java","src/main/java/specialwords/package-info.java"]}
{"flavor":"generic","crossLanguageDefinitions":{"specialwords.ModelPropertiesClient":"SpecialWords.ModelProperties","specialwords.ModelsClient":"SpecialWords.Models","specialwords.OperationsClient":"SpecialWords.Operations","specialwords.ParametersClient":"SpecialWords.Parameters","specialwords.SpecialWordsClientBuilder":"SpecialWords","specialwords.modelproperties.DictMethods":"SpecialWords.ModelProperties.DictMethods","specialwords.modelproperties.ModelWithList":"SpecialWords.ModelProperties.ModelWithList","specialwords.modelproperties.SameAsModel":"SpecialWords.ModelProperties.SameAsModel","specialwords.models.And":"SpecialWords.Models.and","specialwords.models.As":"SpecialWords.Models.as","specialwords.models.Assert":"SpecialWords.Models.assert","specialwords.models.Async":"SpecialWords.Models.async","specialwords.models.Await":"SpecialWords.Models.await","specialwords.models.Break":"SpecialWords.Models.break","specialwords.models.ClassModel":"SpecialWords.Models.class","specialwords.models.Constructor":"SpecialWords.Models.constructor","specialwords.models.Continue":"SpecialWords.Models.continue","specialwords.models.Def":"SpecialWords.Models.def","specialwords.models.Del":"SpecialWords.Models.del","specialwords.models.Elif":"SpecialWords.Models.elif","specialwords.models.Else":"SpecialWords.Models.else","specialwords.models.Except":"SpecialWords.Models.except","specialwords.models.Exec":"SpecialWords.Models.exec","specialwords.models.Finally":"SpecialWords.Models.finally","specialwords.models.For":"SpecialWords.Models.for","specialwords.models.From":"SpecialWords.Models.from","specialwords.models.Global":"SpecialWords.Models.global","specialwords.models.If":"SpecialWords.Models.if","specialwords.models.Import":"SpecialWords.Models.import","specialwords.models.In":"SpecialWords.Models.in","specialwords.models.Is":"SpecialWords.Models.is","specialwords.models.Lambda":"SpecialWords.Models.lambda","specialwords.models.Not":"SpecialWords.Models.not","specialwords.models.Or":"SpecialWords.Models.or","specialwords.models.Pass":"SpecialWords.Models.pass","specialwords.models.Raise":"SpecialWords.Models.raise","specialwords.models.Return":"SpecialWords.Models.return","specialwords.models.Try":"SpecialWords.Models.try","specialwords.models.While":"SpecialWords.Models.while","specialwords.models.With":"SpecialWords.Models.with","specialwords.models.Yield":"SpecialWords.Models.yield"},"generatedFiles":["src/main/java/module-info.java","src/main/java/specialwords/ModelPropertiesClient.java","src/main/java/specialwords/ModelsClient.java","src/main/java/specialwords/OperationsClient.java","src/main/java/specialwords/ParametersClient.java","src/main/java/specialwords/SpecialWordsClientBuilder.java","src/main/java/specialwords/implementation/ModelPropertiesImpl.java","src/main/java/specialwords/implementation/ModelsImpl.java","src/main/java/specialwords/implementation/OperationsImpl.java","src/main/java/specialwords/implementation/ParametersImpl.java","src/main/java/specialwords/implementation/SpecialWordsClientImpl.java","src/main/java/specialwords/implementation/package-info.java","src/main/java/specialwords/modelproperties/DictMethods.java","src/main/java/specialwords/modelproperties/ModelWithList.java","src/main/java/specialwords/modelproperties/SameAsModel.java","src/main/java/specialwords/modelproperties/package-info.java","src/main/java/specialwords/models/And.java","src/main/java/specialwords/models/As.java","src/main/java/specialwords/models/Assert.java","src/main/java/specialwords/models/Async.java","src/main/java/specialwords/models/Await.java","src/main/java/specialwords/models/Break.java","src/main/java/specialwords/models/ClassModel.java","src/main/java/specialwords/models/Constructor.java","src/main/java/specialwords/models/Continue.java","src/main/java/specialwords/models/Def.java","src/main/java/specialwords/models/Del.java","src/main/java/specialwords/models/Elif.java","src/main/java/specialwords/models/Else.java","src/main/java/specialwords/models/Except.java","src/main/java/specialwords/models/Exec.java","src/main/java/specialwords/models/Finally.java","src/main/java/specialwords/models/For.java","src/main/java/specialwords/models/From.java","src/main/java/specialwords/models/Global.java","src/main/java/specialwords/models/If.java","src/main/java/specialwords/models/Import.java","src/main/java/specialwords/models/In.java","src/main/java/specialwords/models/Is.java","src/main/java/specialwords/models/Lambda.java","src/main/java/specialwords/models/Not.java","src/main/java/specialwords/models/Or.java","src/main/java/specialwords/models/Pass.java","src/main/java/specialwords/models/Raise.java","src/main/java/specialwords/models/Return.java","src/main/java/specialwords/models/Try.java","src/main/java/specialwords/models/While.java","src/main/java/specialwords/models/With.java","src/main/java/specialwords/models/Yield.java","src/main/java/specialwords/models/package-info.java","src/main/java/specialwords/package-info.java"]}
Loading
Loading