Skip to content

Commit 157b0c2

Browse files
authored
Migrate to client core (#2684)
* Migrate to io.clientcore * update apiview properties file name * generate tests * git ignore * fix gitignore path for apiview properties files
1 parent b8010a6 commit 157b0c2

20 files changed

+198
-95
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,3 +101,6 @@ javagen/*.yaml
101101

102102
# package-lock.json in test module
103103
typespec-tests/package-lock.json
104+
105+
# ApiView properties files
106+
/typespec-tests/src/main/resources/META-INF/*apiview_properties.json

javagen/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@
7676
<scope>test</scope>
7777
</dependency>
7878
<!-- <dependency>-->
79-
<!-- <groupId>com.generic</groupId>-->
80-
<!-- <artifactId>generic-core</artifactId>-->
79+
<!-- <groupId>io.clientcore</groupId>-->
80+
<!-- <artifactId>core</artifactId>-->
8181
<!-- <version>1.0.0-beta.1</version>-->
8282
<!-- </dependency>-->
8383
</dependencies>

javagen/src/main/java/com/azure/autorest/mapper/ClientMapper.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,9 @@ protected Map<ServiceClient, com.azure.autorest.extension.base.model.codemodel.C
460460

461461
private void addBuilderTraits(ClientBuilder clientBuilder, ServiceClient serviceClient) {
462462
clientBuilder.addBuilderTrait(ClientBuilderTrait.HTTP_TRAIT);
463+
if (!JavaSettings.getInstance().isBranded()) {
464+
clientBuilder.addBuilderTrait(ClientBuilderTrait.PROXY_TRAIT);
465+
}
463466

464467
clientBuilder.addBuilderTrait(ClientBuilderTrait.CONFIGURATION_TRAIT);
465468
if (serviceClient.getSecurityInfo().getSecurityTypes().contains(Scheme.SecuritySchemeType.OAUTH2)) {

javagen/src/main/java/com/azure/autorest/mapper/ClientMethodMapper.java

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -588,7 +588,7 @@ private ReturnTypeHolder getReturnTypes(Operation operation, boolean isProtocolM
588588
}
589589

590590
IType responseBodyType = MapperUtils.handleResponseSchema(operation, settings);
591-
if (isProtocolMethod) {
591+
if (isProtocolMethod && JavaSettings.getInstance().isBranded()) {
592592
responseBodyType = SchemaUtil.removeModelFromResponse(responseBodyType, operation);
593593
}
594594

@@ -1461,11 +1461,13 @@ private static void addClientMethodWithContext(List<ClientMethod> methods, Build
14611461
List<ClientMethodParameter> parameters, ClientMethodType clientMethodType, String proxyMethodName,
14621462
ReturnValue returnValue, MethodPageDetails details, ClientMethodParameter contextParameter) {
14631463

1464-
List<ClientMethodParameter> withContextParameters = new ArrayList<>(parameters);
1465-
withContextParameters.add(contextParameter);
1464+
List<ClientMethodParameter> updatedParams = new ArrayList<>(parameters);
1465+
if (JavaSettings.getInstance().isBranded() || contextParameter.getClientType().equals(ClassType.REQUEST_OPTIONS)) {
1466+
updatedParams.add(contextParameter);
1467+
}
14661468

14671469
methods.add(builder
1468-
.parameters(withContextParameters) // update builder parameters to include context
1470+
.parameters(updatedParams) // update builder parameters to include context
14691471
.returnValue(returnValue)
14701472
.name(proxyMethodName)
14711473
.onlyRequiredParameters(false)
@@ -1498,15 +1500,16 @@ protected ClientMethodParameter getContextParameter(boolean isProtocolMethod) {
14981500
* @param contextParameter The Context parameter.
14991501
*/
15001502
protected static void addClientMethodWithContext(List<ClientMethod> methods, Builder builder,
1501-
List<ClientMethodParameter> parameters, ClientMethodParameter contextParameter) {
1502-
1503-
List<ClientMethodParameter> withContextParameters = new ArrayList<>(parameters);
1504-
withContextParameters.add(contextParameter);
1503+
List<ClientMethodParameter> parameters, ClientMethodParameter contextParameter) {
1504+
List<ClientMethodParameter> updatedParams = new ArrayList<>(parameters);
1505+
if (JavaSettings.getInstance().isBranded() || contextParameter.getClientType().equals(ClassType.REQUEST_OPTIONS)) {
1506+
updatedParams.add(contextParameter);
1507+
}
15051508

15061509
methods.add(builder
1507-
.parameters(withContextParameters) // update builder parameters to include context
1508-
.onlyRequiredParameters(false)
1509-
.build());
1510+
.parameters(updatedParams) // update builder parameters to include context
1511+
.onlyRequiredParameters(false)
1512+
.build());
15101513
// reset the parameters to original params
15111514
builder.parameters(parameters);
15121515
}

javagen/src/main/java/com/azure/autorest/mapper/ProxyMethodMapper.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ public Map<Request, List<ProxyMethod>> map(Operation operation) {
105105
builder.responseExpectedStatusCodes(expectedStatusCodes);
106106

107107
IType responseBodyType = MapperUtils.handleResponseSchema(operation, settings);
108-
if (settings.isDataPlaneClient()) {
108+
if (settings.isDataPlaneClient() && settings.isBranded()) {
109109
builder.rawResponseBodyType(responseBodyType);
110110
responseBodyType = SchemaUtil.removeModelFromResponse(responseBodyType, operation);
111111
}
@@ -213,9 +213,11 @@ public Map<Request, List<ProxyMethod>> map(Operation operation) {
213213
parameters.add(requestOptions);
214214
}
215215

216-
ProxyMethodParameter contextParameter = getContextParameter();
217-
allParameters.add(contextParameter);
218-
parameters.add(contextParameter);
216+
if (JavaSettings.getInstance().isBranded()) {
217+
ProxyMethodParameter contextParameter = getContextParameter();
218+
allParameters.add(contextParameter);
219+
parameters.add(contextParameter);
220+
}
219221

220222
appendCallbackParameter(parameters, responseBodyType);
221223
builder.allParameters(allParameters);

javagen/src/main/java/com/azure/autorest/model/clientmodel/Annotation.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,12 @@ public class Annotation {
6969
.knownClass(com.azure.core.annotation.HeaderCollection.class)
7070
.build();
7171

72-
// clientcore
73-
public static final Annotation METADATA = new Annotation("com.generic.core.annotation", "Metadata");
72+
public static final Annotation METADATA = new Annotation("io.clientcore.core.annotation", "Metadata");
73+
7474
public static final Annotation HTTP_REQUEST_INFORMATION
7575
= new Annotation("com.generic.core.http.annotation", "HttpRequestInformation");
7676
public static final Annotation UNEXPECTED_RESPONSE_EXCEPTION_INFORMATION
77-
= new Annotation("com.generic.core.http.annotation", "UnexpectedResponseExceptionInformation");
77+
= new Annotation("com.generic.core.http.annotation", "UnexpectedResponseExceptionDetail");
7878
public static final Annotation TYPE_CONDITIONS = new Annotation("com.generic.core.annotation", "TypeConditions");
7979

8080
private final String fullName;

javagen/src/main/java/com/azure/autorest/model/clientmodel/ClassType.java

Lines changed: 41 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,12 @@
2626
import com.azure.core.http.HttpPipelineBuilder;
2727
import com.azure.core.http.HttpRequest;
2828
import com.azure.core.http.MatchConditions;
29+
import com.azure.core.http.ProxyOptions;
2930
import com.azure.core.http.RequestConditions;
3031
import com.azure.core.http.policy.HttpLogOptions;
3132
import com.azure.core.http.policy.HttpPipelinePolicy;
3233
import com.azure.core.http.policy.KeyCredentialPolicy;
34+
import com.azure.core.http.policy.RedirectPolicy;
3335
import com.azure.core.http.policy.RetryOptions;
3436
import com.azure.core.http.policy.RetryPolicy;
3537
import com.azure.core.http.rest.RequestOptions;
@@ -101,32 +103,35 @@ public String getGenericClass() {
101103
}
102104

103105
private static final Map<Class<?>, ClassDetails> CLASS_TYPE_MAPPING = new HashMap<Class<?>, ClassDetails>() {{
104-
put(RestProxy.class, new ClassDetails(RestProxy.class, "com.generic.core.http.RestProxy"));
105-
put(HttpPipeline.class, new ClassDetails(HttpPipeline.class, "com.generic.core.http.pipeline.HttpPipeline"));
106-
put(HttpPipelineBuilder.class, new ClassDetails(HttpPipelineBuilder.class, "com.generic.core.http.pipeline.HttpPipelineBuilder"));
107-
put(Context.class, new ClassDetails(Context.class, "com.generic.core.models.Context"));
108-
put(HttpClient.class, new ClassDetails(HttpClient.class, "com.generic.core.http.client.HttpClient"));
109-
put(HttpLogOptions.class, new ClassDetails(HttpLogOptions.class, "com.generic.core.http.models.HttpLogOptions"));
110-
put(HttpPipelinePolicy.class, new ClassDetails(HttpPipelinePolicy.class, "com.generic.core.http.pipeline.HttpPipelinePolicy"));
111-
put(KeyCredentialPolicy.class, new ClassDetails(KeyCredentialPolicy.class, "com.generic.core.http.policy.KeyCredentialPolicy"));
112-
put(Configuration.class, new ClassDetails(Configuration.class, "com.generic.core.util.configuration.Configuration"));
113-
put(HttpHeaders.class, new ClassDetails(HttpHeaders.class, "com.generic.core.models.Headers"));
114-
put(HttpHeaderName.class, new ClassDetails(HttpHeaderName.class, "com.generic.core.http.models.HttpHeaderName"));
115-
put(HttpRequest.class, new ClassDetails(HttpRequest.class, "com.generic.core.http.models.HttpRequest"));
116-
put(RequestOptions.class, new ClassDetails(RequestOptions.class, "com.generic.core.http.models.RequestOptions"));
117-
put(BinaryData.class, new ClassDetails(BinaryData.class, "com.generic.core.models.BinaryData"));
118-
put(RetryOptions.class, new ClassDetails(RetryOptions.class, "com.generic.core.http.models.HttpRetryOptions"));
119-
put(Response.class, new ClassDetails(Response.class, "com.generic.core.http.Response"));
120-
put(SimpleResponse.class, new ClassDetails(SimpleResponse.class, "com.generic.core.http.SimpleResponse"));
121-
put(ExpandableStringEnum.class, new ClassDetails(ExpandableStringEnum.class, "com.generic.core.models.ExpandableStringEnum"));
122-
put(HttpResponseException.class, new ClassDetails(HttpResponseException.class, "com.generic.core.http.exception.HttpResponseException"));
123-
put(HttpTrait.class, new ClassDetails(HttpTrait.class, "com.generic.core.models.traits.HttpTrait"));
124-
put(ConfigurationTrait.class, new ClassDetails(ConfigurationTrait.class, "com.generic.core.models.traits.ConfigurationTrait"));
125-
put(EndpointTrait.class, new ClassDetails(EndpointTrait.class, "com.generic.core.models.traits.EndpointTrait"));
126-
put(KeyCredentialTrait.class, new ClassDetails(KeyCredentialTrait.class, "com.generic.core.models.traits.KeyCredentialTrait"));
127-
put(TypeReference.class, new ClassDetails(TypeReference.class, "com.generic.core.models.TypeReference"));
128-
put(ClientLogger.class, new ClassDetails(ClientLogger.class, "com.generic.core.util.ClientLogger"));
129-
put(LogLevel.class, new ClassDetails(LogLevel.class, "com.generic.core.util.ClientLogger.LogLevel"));
106+
put(RestProxy.class, new ClassDetails(RestProxy.class, "io.clientcore.core.http.RestProxy"));
107+
put(HttpPipeline.class, new ClassDetails(HttpPipeline.class, "io.clientcore.core.http.pipeline.HttpPipeline"));
108+
put(HttpPipelineBuilder.class, new ClassDetails(HttpPipelineBuilder.class, "io.clientcore.core.http.pipeline.HttpPipelineBuilder"));
109+
put(Context.class, new ClassDetails(Context.class, "io.clientcore.core.util.Context"));
110+
put(HttpClient.class, new ClassDetails(HttpClient.class, "io.clientcore.core.http.client.HttpClient"));
111+
put(HttpLogOptions.class, new ClassDetails(HttpLogOptions.class, "io.clientcore.core.http.models.HttpLogOptions"));
112+
put(HttpPipelinePolicy.class, new ClassDetails(HttpPipelinePolicy.class, "io.clientcore.core.http.pipeline.HttpPipelinePolicy"));
113+
put(KeyCredentialPolicy.class, new ClassDetails(KeyCredentialPolicy.class, "io.clientcore.core.http.pipeline.KeyCredentialPolicy"));
114+
put(RetryPolicy.class, new ClassDetails(RetryPolicy.class, "io.clientcore.core.http.pipeline.HttpRetryPolicy"));
115+
put(RedirectPolicy.class, new ClassDetails(RedirectPolicy.class, "io.clientcore.core.http.pipeline.HttpRedirectPolicy"));
116+
put(Configuration.class, new ClassDetails(Configuration.class, "io.clientcore.core.util.configuration.Configuration"));
117+
put(HttpHeaders.class, new ClassDetails(HttpHeaders.class, "io.clientcore.core.models.Headers"));
118+
put(HttpHeaderName.class, new ClassDetails(HttpHeaderName.class, "io.clientcore.core.http.models.HttpHeaderName"));
119+
put(HttpRequest.class, new ClassDetails(HttpRequest.class, "io.clientcore.core.http.models.HttpRequest"));
120+
put(RequestOptions.class, new ClassDetails(RequestOptions.class, "io.clientcore.core.http.models.RequestOptions"));
121+
put(BinaryData.class, new ClassDetails(BinaryData.class, "io.clientcore.core.util.binarydata.BinaryData"));
122+
put(RetryOptions.class, new ClassDetails(RetryOptions.class, "io.clientcore.core.http.models.HttpRetryOptions"));
123+
put(ProxyOptions.class, new ClassDetails(ProxyOptions.class, "io.clientcore.core.http.models.ProxyOptions"));
124+
put(Response.class, new ClassDetails(Response.class, "io.clientcore.core.http.models.Response"));
125+
put(SimpleResponse.class, new ClassDetails(SimpleResponse.class, "io.clientcore.core.http.SimpleResponse"));
126+
put(ExpandableStringEnum.class, new ClassDetails(ExpandableStringEnum.class, "io.clientcore.core.util.ExpandableEnum"));
127+
put(HttpResponseException.class, new ClassDetails(HttpResponseException.class, "io.clientcore.core.http.exception.HttpResponseException"));
128+
put(HttpTrait.class, new ClassDetails(HttpTrait.class, "io.clientcore.core.models.traits.HttpTrait"));
129+
put(ConfigurationTrait.class, new ClassDetails(ConfigurationTrait.class, "io.clientcore.core.models.traits.ConfigurationTrait"));
130+
put(EndpointTrait.class, new ClassDetails(EndpointTrait.class, "io.clientcore.core.models.traits.EndpointTrait"));
131+
put(KeyCredentialTrait.class, new ClassDetails(KeyCredentialTrait.class, "io.clientcore.core.models.traits.KeyCredentialTrait"));
132+
put(TypeReference.class, new ClassDetails(TypeReference.class, "io.clientcore.core.models.TypeReference"));
133+
put(ClientLogger.class, new ClassDetails(ClientLogger.class, "io.clientcore.core.util.ClientLogger"));
134+
put(LogLevel.class, new ClassDetails(LogLevel.class, "io.clientcore.core.util.ClientLogger.LogLevel"));
130135
}};
131136

132137
private static ClassType.Builder getClassTypeBuilder(Class<?> classKey) {
@@ -160,6 +165,9 @@ private static ClassType.Builder getClassTypeBuilder(Class<?> classKey) {
160165
public static final ClassType ENDPOINT_TRAIT = getClassTypeBuilder(EndpointTrait.class).build();
161166
public static final ClassType HTTP_TRAIT = getClassTypeBuilder(HttpTrait.class).build();
162167
public static final ClassType CONFIGURATION_TRAIT = getClassTypeBuilder(ConfigurationTrait.class).build();
168+
public static final ClassType PROXY_TRAIT = new ClassType.Builder(false)
169+
.packageName("io.clientcore.core.models.traits").name("ProxyTrait")
170+
.build();
163171
public static final ClassType POLL_OPERATION_DETAILS = getClassTypeBuilder(PollOperationDetails.class).build();
164172
public static final ClassType JSON_SERIALIZABLE = getClassTypeBuilder(JsonSerializable.class).build();
165173
public static final ClassType JSON_WRITER = getClassTypeBuilder(JsonWriter.class).build();
@@ -438,10 +446,15 @@ private static ClassType.Builder getClassTypeBuilder(Class<?> classKey) {
438446

439447
public static final ClassType KEY_CREDENTIAL = getClassTypeBuilder(KeyCredential.class).build();
440448

441-
public static final ClassType RETRY_POLICY = new ClassType.Builder(false).knownClass(RetryPolicy.class).build();
449+
public static final ClassType RETRY_POLICY = getClassTypeBuilder(RetryPolicy.class).build();
450+
public static final ClassType REDIRECT_POLICY = getClassTypeBuilder(RedirectPolicy.class).build();
442451

443452
public static final ClassType RETRY_OPTIONS = getClassTypeBuilder(RetryOptions.class).build();
444453

454+
public static final ClassType REDIRECT_OPTIONS = new ClassType.Builder(false)
455+
.packageName("io.clientcore.core.http.models").name("HttpRedirectOptions")
456+
.build();
457+
445458
public static final ClassType ANDROID_RETRY_POLICY = new ClassType.Builder(false)
446459
.packageName("com.azure.android.core.http.policy").name("RetryPolicy")
447460
.build();
@@ -461,6 +474,7 @@ private static ClassType.Builder getClassTypeBuilder(Class<?> classKey) {
461474
.build();
462475

463476
public static final ClassType REQUEST_OPTIONS = getClassTypeBuilder(RequestOptions.class).build();
477+
public static final ClassType PROXY_OPTIONS = getClassTypeBuilder(ProxyOptions.class).build();
464478
public static final ClassType CLIENT_OPTIONS = getClassTypeBuilder(ClientOptions.class).build();
465479
public static final ClassType HTTP_REQUEST = getClassTypeBuilder(HttpRequest.class).build();
466480
public static final ClassType HTTP_HEADERS = getClassTypeBuilder(HttpHeaders.class).build();

0 commit comments

Comments
 (0)