Skip to content
This repository was archived by the owner on Jul 6, 2026. It is now read-only.
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
2 changes: 1 addition & 1 deletion typespec-extension/changelog.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Release History

## 0.17.1 (Unreleased)
## 0.17.1 (2024-07-03)

Compatible with compiler 0.57.

Expand Down
4 changes: 2 additions & 2 deletions typespec-extension/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion typespec-extension/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@azure-tools/typespec-java",
"version": "0.17.0",
"version": "0.17.1",
"description": "TypeSpec library for emitting Java client from the TypeSpec REST protocol binding",
"keywords": [
"TypeSpec"
Expand Down
17 changes: 15 additions & 2 deletions typespec-extension/src/code-model-builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -111,12 +111,17 @@ import {
HttpStatusCodesEntry,
Visibility,
getAuthentication,
getHeaderFieldName,
getHeaderFieldOptions,
getHttpOperation,
getPathParamName,
getQueryParamName,
getQueryParamOptions,
getServers,
getStatusCodeDescription,
isHeader,
isPathParam,
isQueryParam,
} from "@typespec/http";
import { getResourceOperation, getSegment } from "@typespec/rest";
import { Version, getAddedOnVersions, getVersion } from "@typespec/versioning";
Expand Down Expand Up @@ -2256,8 +2261,16 @@ export class CodeModelBuilder {
}

private getSerializedName(target: ModelProperty): string {
// TODO: currently this is only for JSON
return getWireName(this.sdkContext, target);
if (isHeader(this.program, target)) {
return getHeaderFieldName(this.program, target);
} else if (isQueryParam(this.program, target)) {
return getQueryParamName(this.program, target);
} else if (isPathParam(this.program, target)) {
return getPathParamName(this.program, target);
} else {
// TODO: currently this is only for JSON
return getWireName(this.sdkContext, target);
}
}

private isReadOnly(target: SdkModelPropertyType): boolean {
Expand Down
4 changes: 2 additions & 2 deletions typespec-tests/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
"testserver-run": "npx cadl-ranch serve ./node_modules/@azure-tools/cadl-ranch-specs/http --coverageFile ./cadl-ranch-coverage-java.json"
},
"dependencies": {
"@azure-tools/cadl-ranch-specs": "0.34.1",
"@azure-tools/typespec-java": "file:/../typespec-extension/azure-tools-typespec-java-0.17.0.tgz"
"@azure-tools/cadl-ranch-specs": "0.34.3",
"@azure-tools/typespec-java": "file:/../typespec-extension/azure-tools-typespec-java-0.17.1.tgz"
},
"devDependencies": {
"@typespec/prettier-plugin-typespec": "~0.57.0",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) TypeSpec Code Generator.

package com._specs_.azure.core.model;

import com._specs_.azure.core.model.implementation.AzureCoreEmbeddingVectorsImpl;
import com._specs_.azure.core.model.models.AzureEmbeddingModel;
import com.azure.core.annotation.Generated;
import com.azure.core.annotation.ReturnType;
import com.azure.core.annotation.ServiceClient;
import com.azure.core.annotation.ServiceMethod;
import com.azure.core.exception.ClientAuthenticationException;
import com.azure.core.exception.HttpResponseException;
import com.azure.core.exception.ResourceModifiedException;
import com.azure.core.exception.ResourceNotFoundException;
import com.azure.core.http.rest.RequestOptions;
import com.azure.core.http.rest.Response;
import com.azure.core.util.BinaryData;
import com.azure.core.util.FluxUtil;
import com.azure.core.util.serializer.TypeReference;
import java.util.List;
import reactor.core.publisher.Mono;

/**
* Initializes a new instance of the asynchronous ModelClient type.
*/
@ServiceClient(builder = ModelClientBuilder.class, isAsync = true)
public final class ModelAsyncClient {
@Generated
private final AzureCoreEmbeddingVectorsImpl serviceClient;

/**
* Initializes an instance of ModelAsyncClient class.
*
* @param serviceClient the service client implementation.
*/
@Generated
ModelAsyncClient(AzureCoreEmbeddingVectorsImpl serviceClient) {
this.serviceClient = serviceClient;
}

/**
* get an embedding vector.
* <p><strong>Response Body Schema</strong></p>
*
* <pre>{@code
* [
* int (Required)
* ]
* }</pre>
*
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
* @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
* @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
* @return an embedding vector along with {@link Response} on successful completion of {@link Mono}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono<Response<BinaryData>> getWithResponse(RequestOptions requestOptions) {
return this.serviceClient.getWithResponseAsync(requestOptions);
}

/**
* put an embedding vector.
* <p><strong>Request Body Schema</strong></p>
*
* <pre>{@code
* [
* int (Required)
* ]
* }</pre>
*
* @param body _.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
* @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
* @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
* @return the {@link Response} on successful completion of {@link Mono}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono<Response<Void>> putWithResponse(BinaryData body, RequestOptions requestOptions) {
return this.serviceClient.putWithResponseAsync(body, requestOptions);
}

/**
* post a model which has an embeddingVector property.
* <p><strong>Request Body Schema</strong></p>
*
* <pre>{@code
* {
* embedding (Required): [
* int (Required)
* ]
* }
* }</pre>
*
* <p><strong>Response Body Schema</strong></p>
*
* <pre>{@code
* {
* embedding (Required): [
* int (Required)
* ]
* }
* }</pre>
*
* @param body _.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
* @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
* @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
* @return the response body along with {@link Response} on successful completion of {@link Mono}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono<Response<BinaryData>> postWithResponse(BinaryData body, RequestOptions requestOptions) {
return this.serviceClient.postWithResponseAsync(body, requestOptions);
}

/**
* get an embedding vector.
*
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
* @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
* @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return an embedding vector on successful completion of {@link Mono}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono<List<Integer>> get() {
// Generated convenience method for getWithResponse
RequestOptions requestOptions = new RequestOptions();
return getWithResponse(requestOptions).flatMap(FluxUtil::toMono)
.map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_INTEGER));
}

/**
* put an embedding vector.
*
* @param body _.
* @throws IllegalArgumentException thrown if parameters fail the validation.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
* @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
* @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return A {@link Mono} that completes when a successful response is received.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono<Void> put(List<Integer> body) {
// Generated convenience method for putWithResponse
RequestOptions requestOptions = new RequestOptions();
return putWithResponse(BinaryData.fromObject(body), requestOptions).flatMap(FluxUtil::toMono);
}

/**
* post a model which has an embeddingVector property.
*
* @param body _.
* @throws IllegalArgumentException thrown if parameters fail the validation.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
* @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
* @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the response body on successful completion of {@link Mono}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono<AzureEmbeddingModel> post(AzureEmbeddingModel body) {
// Generated convenience method for postWithResponse
RequestOptions requestOptions = new RequestOptions();
return postWithResponse(BinaryData.fromObject(body), requestOptions).flatMap(FluxUtil::toMono)
.map(protocolMethodData -> protocolMethodData.toObject(AzureEmbeddingModel.class));
}

@Generated
private static final TypeReference<List<Integer>> TYPE_REFERENCE_LIST_INTEGER = new TypeReference<List<Integer>>() {
};
}
Loading