com.azure.cosmos.models.CosmosContainerResponse Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-cosmos Show documentation
Show all versions of azure-cosmos Show documentation
This Package contains Microsoft Azure Cosmos SDK (with Reactive Extension Reactor support) for Azure Cosmos DB SQL API
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.cosmos.models;
import com.azure.cosmos.BridgeInternal;
import com.azure.cosmos.CosmosAsyncDatabase;
import com.azure.cosmos.implementation.DocumentCollection;
import com.azure.cosmos.implementation.ResourceResponse;
import com.azure.cosmos.implementation.SerializationDiagnosticsContext;
import com.azure.cosmos.implementation.apachecommons.lang.StringUtils;
import com.fasterxml.jackson.databind.node.ObjectNode;
import java.time.Instant;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
/**
* The type Cosmos container response.
*/
@SuppressWarnings("enforcefinalfields")
public class CosmosContainerResponse extends CosmosResponse {
CosmosContainerResponse(ResourceResponse response) {
super(response);
ObjectNode bodyAsJson = (ObjectNode)response.getBody();
if (bodyAsJson == null) {
super.setProperties(null);
} else {
SerializationDiagnosticsContext serializationDiagnosticsContext = BridgeInternal.getSerializationDiagnosticsContext(this.getDiagnostics());
Instant serializationStartTime = Instant.now();
CosmosContainerProperties props = new CosmosContainerProperties(bodyAsJson);
Instant serializationEndTime = Instant.now();
SerializationDiagnosticsContext.SerializationDiagnostics diagnostics = new SerializationDiagnosticsContext.SerializationDiagnostics(
serializationStartTime,
serializationEndTime,
SerializationDiagnosticsContext.SerializationType.CONTAINER_DESERIALIZATION
);
serializationDiagnosticsContext.addSerializationDiagnostics(diagnostics);
super.setProperties(props);
}
}
/**
* Gets the progress of an index transformation, if one is underway.
*
* @return the progress of an index transformation.
*/
public long getIndexTransformationProgress() {
return resourceResponseWrapper.getIndexTransformationProgress();
}
/**
* Gets the progress of lazy indexing.
*
* @return the progress of lazy indexing.
*/
long getLazyIndexingProgress() {
return resourceResponseWrapper.getLazyIndexingProgress();
}
/**
* Gets the container properties
*
* @return the cosmos container properties
*/
public CosmosContainerProperties getProperties() {
return super.getProperties();
}
}