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
12 changes: 6 additions & 6 deletions eng/code-quality-reports/src/main/resources/revapi/revapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -195,12 +195,6 @@
"new": "class com.azure.ai.formrecognizer.documentanalysis.models.(DocumentField|DocumentLine)",
"justification": "Skip customized getters on class when serialization and deserialization."
},
{
"regex": true,
"code": "java.annotation.added",
"new": "class com.azure.ai.textanalytics.models.HealthcareEntityRelationType",
"justification": "Skip JsonCreator annotation on the method fromString when serialization and deserialization."
},
{
"code": "java.class.removed",
"old": "enum com.azure.messaging.eventhubs.checkpointstore.blob.Messages",
Expand Down Expand Up @@ -265,6 +259,12 @@
"description": ".*com.fasterxml.jackson.*",
"justification": "Removing Jackson annotations from ACR, KeyVault, and Search in transition to stream-style."
},
{
"regex": true,
"code": "java\\.annotation\\.removed",
"old": ".*? com\\.azure\\.ai\\.textanalytics\\.models.*",
"justification": "Removing Jackson annotations from Text Analytics in transition to stream-style."
},
{
"code": "java.field.removed",
"old": "field com.azure.spring.cloud.core.properties.profile.AzureEnvironmentProperties.AZURE_GERMANY",
Expand Down
2 changes: 1 addition & 1 deletion sdk/textanalytics/azure-ai-textanalytics/assets.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"AssetsRepo": "Azure/azure-sdk-assets",
"AssetsRepoPrefixPath": "java",
"TagPrefix": "java/textanalytics/azure-ai-textanalytics",
"Tag": "java/textanalytics/azure-ai-textanalytics_c9a531404c"
"Tag": "java/textanalytics/azure-ai-textanalytics_759d95d1a2"
}
5 changes: 5 additions & 0 deletions sdk/textanalytics/azure-ai-textanalytics/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,11 @@
<artifactId>azure-core-http-netty</artifactId>
<version>1.13.9</version> <!-- {x-version-update;com.azure:azure-core-http-netty;dependency} -->
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-json</artifactId>
<version>1.1.0</version> <!-- {x-version-update;com.azure:azure-json;dependency} -->
</dependency>

<!-- Added this dependency to include necessary annotations used by reactor core.
Without this dependency, javadoc throws a warning as it cannot find enum When.MAYBE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
import com.azure.core.annotation.UnexpectedResponseExceptionType;
import com.azure.core.http.HttpPipeline;
import com.azure.core.http.HttpPipelineBuilder;
import com.azure.core.http.policy.CookiePolicy;
import com.azure.core.http.policy.RetryPolicy;
import com.azure.core.http.policy.UserAgentPolicy;
import com.azure.core.http.rest.Response;
Expand Down Expand Up @@ -105,9 +104,7 @@ public AnalyzeTextsImpl getAnalyzeTexts() {
*/
MicrosoftCognitiveLanguageServiceTextAnalysisImpl(String endpoint, String apiVersion) {
this(
new HttpPipelineBuilder()
.policies(new UserAgentPolicy(), new RetryPolicy(), new CookiePolicy())
.build(),
new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(),
JacksonAdapter.createDefaultSerializerAdapter(),
endpoint,
apiVersion);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import com.azure.core.credential.AzureKeyCredential;
import com.azure.core.credential.TokenCredential;
import com.azure.core.http.HttpClient;
import com.azure.core.http.HttpHeaderName;
import com.azure.core.http.HttpHeaders;
import com.azure.core.http.HttpPipeline;
import com.azure.core.http.HttpPipelineBuilder;
Expand All @@ -23,7 +24,6 @@
import com.azure.core.http.policy.AddHeadersPolicy;
import com.azure.core.http.policy.AzureKeyCredentialPolicy;
import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
import com.azure.core.http.policy.CookiePolicy;
import com.azure.core.http.policy.HttpLogOptions;
import com.azure.core.http.policy.HttpLoggingPolicy;
import com.azure.core.http.policy.HttpPipelinePolicy;
Expand Down Expand Up @@ -260,7 +260,7 @@ public MicrosoftCognitiveLanguageServiceTextAnalysisImpl buildClient() {
(serializerAdapter != null) ? serializerAdapter : JacksonAdapter.createDefaultSerializerAdapter();
MicrosoftCognitiveLanguageServiceTextAnalysisImpl client =
new MicrosoftCognitiveLanguageServiceTextAnalysisImpl(
localPipeline, localSerializerAdapter, endpoint, localApiVersion);
localPipeline, localSerializerAdapter, this.endpoint, localApiVersion);
return client;
}

Expand All @@ -278,7 +278,9 @@ private HttpPipeline createHttpPipeline() {
policies.add(new RequestIdPolicy());
policies.add(new AddHeadersFromContextPolicy());
HttpHeaders headers = new HttpHeaders();
localClientOptions.getHeaders().forEach(header -> headers.set(header.getName(), header.getValue()));
localClientOptions
.getHeaders()
.forEach(header -> headers.set(HttpHeaderName.fromString(header.getName()), header.getValue()));
if (headers.getSize() > 0) {
policies.add(new AddHeadersPolicy(headers));
}
Expand All @@ -288,7 +290,6 @@ private HttpPipeline createHttpPipeline() {
HttpPolicyProviders.addBeforeRetryPolicies(policies);
policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
policies.add(new AddDatePolicy());
policies.add(new CookiePolicy());
if (azureKeyCredential != null) {
policies.add(new AzureKeyCredentialPolicy("Ocp-Apim-Subscription-Key", azureKeyCredential));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,19 @@
package com.azure.ai.textanalytics.implementation.models;

import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.azure.json.JsonReader;
import com.azure.json.JsonToken;
import com.azure.json.JsonWriter;
import java.io.IOException;
import java.time.OffsetDateTime;
import java.util.Objects;

/** An object representing the results for an Abstractive Summarization task. */
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
@JsonTypeName("AbstractiveSummarizationLROResults")
@Fluent
public final class AbstractiveSummarizationLROResult extends AnalyzeTextLROResult {
/*
* An object representing the pre-build summarization results of each document.
*/
@JsonProperty(value = "results", required = true)
private AbstractiveSummarizationResult results;

/** Creates an instance of AbstractiveSummarizationLROResult class. */
Expand Down Expand Up @@ -64,4 +63,64 @@ public AbstractiveSummarizationLROResult setStatus(State status) {
super.setStatus(status);
return this;
}

@Override
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
jsonWriter.writeStringField(
"kind", Objects.toString(AnalyzeTextLROResultsKind.ABSTRACTIVE_SUMMARIZATION_LRORESULTS, null));
jsonWriter.writeStringField("lastUpdateDateTime", Objects.toString(getLastUpdateDateTime(), null));
jsonWriter.writeStringField("status", Objects.toString(getStatus(), null));
jsonWriter.writeStringField("taskName", getTaskName());
jsonWriter.writeJsonField("results", this.results);
return jsonWriter.writeEndObject();
}

/**
* Reads an instance of AbstractiveSummarizationLROResult from the JsonReader.
*
* @param jsonReader The JsonReader being read.
* @return An instance of AbstractiveSummarizationLROResult 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 or the
* polymorphic discriminator.
* @throws IOException If an error occurs while reading the AbstractiveSummarizationLROResult.
*/
public static AbstractiveSummarizationLROResult fromJson(JsonReader jsonReader) throws IOException {
return jsonReader.readObject(
reader -> {
AbstractiveSummarizationLROResult deserializedAbstractiveSummarizationLROResult =
new AbstractiveSummarizationLROResult();
while (reader.nextToken() != JsonToken.END_OBJECT) {
String fieldName = reader.getFieldName();
reader.nextToken();

if ("kind".equals(fieldName)) {
String kind = reader.getString();
if (!"AbstractiveSummarizationLROResults".equals(kind)) {
throw new IllegalStateException(
"'kind' was expected to be non-null and equal to 'AbstractiveSummarizationLROResults'. The found 'kind' was '"
+ kind
+ "'.");
}
} else if ("lastUpdateDateTime".equals(fieldName)) {
deserializedAbstractiveSummarizationLROResult.setLastUpdateDateTime(
reader.getNullable(
nonNullReader -> OffsetDateTime.parse(nonNullReader.getString())));
} else if ("status".equals(fieldName)) {
deserializedAbstractiveSummarizationLROResult.setStatus(
State.fromString(reader.getString()));
} else if ("taskName".equals(fieldName)) {
deserializedAbstractiveSummarizationLROResult.setTaskName(reader.getString());
} else if ("results".equals(fieldName)) {
deserializedAbstractiveSummarizationLROResult.results =
AbstractiveSummarizationResult.fromJson(reader);
} else {
reader.skipChildren();
}
}

return deserializedAbstractiveSummarizationLROResult;
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,18 @@
package com.azure.ai.textanalytics.implementation.models;

import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.azure.json.JsonReader;
import com.azure.json.JsonToken;
import com.azure.json.JsonWriter;
import java.io.IOException;
import java.util.Objects;

/** An object representing the task definition for an Abstractive Summarization task. */
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
@JsonTypeName("AbstractiveSummarization")
@Fluent
public final class AbstractiveSummarizationLROTask extends AnalyzeTextLROTask {
/*
* Supported parameters for the pre-build Abstractive Summarization task.
*/
@JsonProperty(value = "parameters", required = true)
private AbstractiveSummarizationTaskParameters parameters;

/** Creates an instance of AbstractiveSummarizationLROTask class. */
Expand Down Expand Up @@ -49,4 +48,54 @@ public AbstractiveSummarizationLROTask setTaskName(String taskName) {
super.setTaskName(taskName);
return this;
}

@Override
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
jsonWriter.writeStringField("kind", Objects.toString(AnalyzeTextLROTaskKind.ABSTRACTIVE_SUMMARIZATION, null));
jsonWriter.writeStringField("taskName", getTaskName());
jsonWriter.writeJsonField("parameters", this.parameters);
return jsonWriter.writeEndObject();
}

/**
* Reads an instance of AbstractiveSummarizationLROTask from the JsonReader.
*
* @param jsonReader The JsonReader being read.
* @return An instance of AbstractiveSummarizationLROTask 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 or the
* polymorphic discriminator.
* @throws IOException If an error occurs while reading the AbstractiveSummarizationLROTask.
*/
public static AbstractiveSummarizationLROTask fromJson(JsonReader jsonReader) throws IOException {
return jsonReader.readObject(
reader -> {
AbstractiveSummarizationLROTask deserializedAbstractiveSummarizationLROTask =
new AbstractiveSummarizationLROTask();
while (reader.nextToken() != JsonToken.END_OBJECT) {
String fieldName = reader.getFieldName();
reader.nextToken();

if ("kind".equals(fieldName)) {
String kind = reader.getString();
if (!"AbstractiveSummarization".equals(kind)) {
throw new IllegalStateException(
"'kind' was expected to be non-null and equal to 'AbstractiveSummarization'. The found 'kind' was '"
+ kind
+ "'.");
}
} else if ("taskName".equals(fieldName)) {
deserializedAbstractiveSummarizationLROTask.setTaskName(reader.getString());
} else if ("parameters".equals(fieldName)) {
deserializedAbstractiveSummarizationLROTask.parameters =
AbstractiveSummarizationTaskParameters.fromJson(reader);
} else {
reader.skipChildren();
}
}

return deserializedAbstractiveSummarizationLROTask;
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@
package com.azure.ai.textanalytics.implementation.models;

import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.azure.json.JsonReader;
import com.azure.json.JsonToken;
import com.azure.json.JsonWriter;
import java.io.IOException;
import java.util.List;

/** An object representing the pre-build summarization results of each document. */
Expand All @@ -14,19 +17,16 @@ public final class AbstractiveSummarizationResult extends AbstractiveSummarizati
/*
* Errors by document id.
*/
@JsonProperty(value = "errors", required = true)
private List<DocumentError> errors;

/*
* if showStats=true was specified in the request this field will contain information about the request payload.
*/
@JsonProperty(value = "statistics")
private RequestStatistics statistics;

/*
* This field indicates which model is used for scoring.
*/
@JsonProperty(value = "modelVersion", required = true)
private String modelVersion;

/** Creates an instance of AbstractiveSummarizationResult class. */
Expand Down Expand Up @@ -100,4 +100,52 @@ public AbstractiveSummarizationResult setDocuments(List<AbstractiveSummaryDocume
super.setDocuments(documents);
return this;
}

@Override
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
jsonWriter.writeArrayField("documents", getDocuments(), (writer, element) -> writer.writeJson(element));
jsonWriter.writeArrayField("errors", this.errors, (writer, element) -> writer.writeJson(element));
jsonWriter.writeStringField("modelVersion", this.modelVersion);
jsonWriter.writeJsonField("statistics", this.statistics);
return jsonWriter.writeEndObject();
}

/**
* Reads an instance of AbstractiveSummarizationResult from the JsonReader.
*
* @param jsonReader The JsonReader being read.
* @return An instance of AbstractiveSummarizationResult 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 AbstractiveSummarizationResult.
*/
public static AbstractiveSummarizationResult fromJson(JsonReader jsonReader) throws IOException {
return jsonReader.readObject(
reader -> {
AbstractiveSummarizationResult deserializedAbstractiveSummarizationResult =
new AbstractiveSummarizationResult();
while (reader.nextToken() != JsonToken.END_OBJECT) {
String fieldName = reader.getFieldName();
reader.nextToken();

if ("documents".equals(fieldName)) {
List<AbstractiveSummaryDocumentResult> documents =
reader.readArray(reader1 -> AbstractiveSummaryDocumentResult.fromJson(reader1));
deserializedAbstractiveSummarizationResult.setDocuments(documents);
} else if ("errors".equals(fieldName)) {
List<DocumentError> errors = reader.readArray(reader1 -> DocumentError.fromJson(reader1));
deserializedAbstractiveSummarizationResult.errors = errors;
} else if ("modelVersion".equals(fieldName)) {
deserializedAbstractiveSummarizationResult.modelVersion = reader.getString();
} else if ("statistics".equals(fieldName)) {
deserializedAbstractiveSummarizationResult.statistics = RequestStatistics.fromJson(reader);
} else {
reader.skipChildren();
}
}

return deserializedAbstractiveSummarizationResult;
});
}
}
Loading