diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/DatabaseAccount.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/DatabaseAccount.java index bd8357e5edde..def1e0a0bbf2 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/DatabaseAccount.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/DatabaseAccount.java @@ -4,7 +4,6 @@ package com.azure.cosmos.implementation; import com.azure.cosmos.BridgeInternal; -import com.azure.cosmos.models.DatabaseAccountLocation; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.node.ObjectNode; import com.azure.cosmos.implementation.apachecommons.lang.ObjectUtils; diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/DatabaseAccountLocation.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/DatabaseAccountLocation.java similarity index 57% rename from sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/DatabaseAccountLocation.java rename to sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/DatabaseAccountLocation.java index d6a1a49ce27f..6e5e93a2cb50 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/DatabaseAccountLocation.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/DatabaseAccountLocation.java @@ -1,28 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -package com.azure.cosmos.models; +package com.azure.cosmos.implementation; -import com.azure.cosmos.implementation.Constants; -import com.azure.cosmos.implementation.JsonSerializable; import com.fasterxml.jackson.databind.node.ObjectNode; -import static com.azure.cosmos.BridgeInternal.setProperty; - /** * Represents the location of a database account in the Azure Cosmos DB database service. */ -public final class DatabaseAccountLocation { - private JsonSerializable jsonSerializable; - +public final class DatabaseAccountLocation extends JsonSerializable { /** * Constructor. * * @param objectNode the {@link ObjectNode} that represent the * {@link JsonSerializable} */ - DatabaseAccountLocation(ObjectNode objectNode) { - this.jsonSerializable = new JsonSerializable(objectNode); + public DatabaseAccountLocation(ObjectNode objectNode) { + super(objectNode); } /** @@ -30,7 +24,7 @@ public final class DatabaseAccountLocation { * DatabaseAccountLocation object. */ public DatabaseAccountLocation() { - this.jsonSerializable = new JsonSerializable(); + super(); } /** @@ -40,7 +34,7 @@ public DatabaseAccountLocation() { * @param jsonString the JSON string that represents the DatabaseAccountLocation object. */ public DatabaseAccountLocation(String jsonString) { - this.jsonSerializable = new JsonSerializable(jsonString); + super(jsonString); } /** @@ -49,7 +43,7 @@ public DatabaseAccountLocation(String jsonString) { * @return the name of the database account location. */ public String getName() { - return this.jsonSerializable.getString(Constants.Properties.Name); + return super.getString(Constants.Properties.Name); } /** @@ -57,9 +51,8 @@ public String getName() { * * @param name the name of the database account location. */ - void setName(String name) { - - setProperty(this.jsonSerializable, Constants.Properties.Name, name); + public void setName(String name) { + super.set( Constants.Properties.Name, name); } /** @@ -68,7 +61,7 @@ void setName(String name) { * @return the endpoint of the database account location. */ public String getEndpoint() { - return this.jsonSerializable.getString(Constants.Properties.DATABASE_ACCOUNT_ENDPOINT); + return super.getString(Constants.Properties.DATABASE_ACCOUNT_ENDPOINT); } /** @@ -76,13 +69,7 @@ public String getEndpoint() { * * @param endpoint the endpoint of the database account location. */ - void setEndpoint(String endpoint) { - setProperty(this.jsonSerializable, Constants.Properties.DATABASE_ACCOUNT_ENDPOINT, endpoint); + public void setEndpoint(String endpoint) { + super.set(Constants.Properties.DATABASE_ACCOUNT_ENDPOINT, endpoint); } - - void populatePropertyBag() { - this.jsonSerializable.populatePropertyBag(); - } - - JsonSerializable getJsonSerializable() { return this.jsonSerializable; } } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/JsonSerializable.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/JsonSerializable.java index 05ffb876013f..7b388879bc3e 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/JsonSerializable.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/JsonSerializable.java @@ -5,7 +5,6 @@ import com.azure.cosmos.models.CompositePath; import com.azure.cosmos.models.ConflictResolutionPolicy; -import com.azure.cosmos.models.DatabaseAccountLocation; import com.azure.cosmos.models.ExcludedPath; import com.azure.cosmos.models.IncludedPath; import com.azure.cosmos.models.Index; @@ -686,7 +685,6 @@ public ObjectNode getPropertyBag() { boolean containsJsonSerializable(Class c) { return CompositePath.class.equals(c) || ConflictResolutionPolicy.class.equals(c) - || DatabaseAccountLocation.class.equals(c) || ExcludedPath.class.equals(c) || IncludedPath.class.equals(c) || IndexingPolicy.class.equals(c) diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/routing/LocationCache.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/routing/LocationCache.java index 073bf8106350..d2968017e036 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/routing/LocationCache.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/routing/LocationCache.java @@ -8,7 +8,7 @@ import com.azure.cosmos.implementation.apachecommons.collections.map.CaseInsensitiveMap; import com.azure.cosmos.implementation.apachecommons.collections.map.UnmodifiableMap; import com.azure.cosmos.implementation.DatabaseAccount; -import com.azure.cosmos.models.DatabaseAccountLocation; +import com.azure.cosmos.implementation.DatabaseAccountLocation; import com.azure.cosmos.implementation.Configs; import com.azure.cosmos.implementation.ResourceType; import com.azure.cosmos.implementation.RxDocumentServiceRequest; diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ModelBridgeInternal.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ModelBridgeInternal.java index 70116b1c00ab..88fd34f971e5 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ModelBridgeInternal.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ModelBridgeInternal.java @@ -9,6 +9,7 @@ import com.azure.cosmos.implementation.CosmosResourceType; import com.azure.cosmos.implementation.Database; import com.azure.cosmos.implementation.DatabaseAccount; +import com.azure.cosmos.implementation.DatabaseAccountLocation; import com.azure.cosmos.implementation.Document; import com.azure.cosmos.implementation.DocumentCollection; import com.azure.cosmos.implementation.HttpConstants; @@ -559,8 +560,6 @@ public static void populatePropertyBag(T t) { ((CompositePath) t).populatePropertyBag(); } else if (t instanceof ConflictResolutionPolicy) { ((ConflictResolutionPolicy) t).populatePropertyBag(); - } else if (t instanceof DatabaseAccountLocation) { - ((DatabaseAccountLocation) t).populatePropertyBag(); } else if (t instanceof ExcludedPath) { ((ExcludedPath) t).populatePropertyBag(); } else if (t instanceof IncludedPath) { @@ -594,8 +593,6 @@ public static JsonSerializable getJsonSerializable(T t) { return ((CompositePath) t).getJsonSerializable(); } else if (t instanceof ConflictResolutionPolicy) { return ((ConflictResolutionPolicy) t).getJsonSerializable(); - } else if (t instanceof DatabaseAccountLocation) { - return ((DatabaseAccountLocation) t).getJsonSerializable(); } else if (t instanceof ExcludedPath) { return ((ExcludedPath) t).getJsonSerializable(); } else if (t instanceof IncludedPath) { diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/routing/LocationCacheTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/routing/LocationCacheTest.java index a432a33db6ff..f452567b335b 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/routing/LocationCacheTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/routing/LocationCacheTest.java @@ -8,7 +8,7 @@ import com.azure.cosmos.implementation.LifeCycleUtils; import com.azure.cosmos.implementation.apachecommons.collections.list.UnmodifiableList; import com.azure.cosmos.implementation.DatabaseAccount; -import com.azure.cosmos.models.DatabaseAccountLocation; +import com.azure.cosmos.implementation.DatabaseAccountLocation; import com.azure.cosmos.implementation.Configs; import com.azure.cosmos.implementation.DatabaseAccountManagerInternal; import com.azure.cosmos.implementation.GlobalEndpointManager; @@ -39,7 +39,6 @@ import java.util.stream.Stream; import java.util.stream.StreamSupport; -import static com.azure.cosmos.models.ModelBridgeUtils.createDatabaseAccountLocation; import static org.assertj.core.api.Assertions.assertThat; /** @@ -437,4 +436,12 @@ private static URI createUrl(String url) { throw new IllegalArgumentException(e); } } + + private static DatabaseAccountLocation createDatabaseAccountLocation(String name, String endpoint) { + DatabaseAccountLocation dal = new DatabaseAccountLocation(); + dal.setName(name); + dal.setEndpoint(endpoint); + + return dal; + } } diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/models/ModelBridgeUtils.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/models/ModelBridgeUtils.java index 06e1787f0edb..624073d6c176 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/models/ModelBridgeUtils.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/models/ModelBridgeUtils.java @@ -4,6 +4,7 @@ package com.azure.cosmos.models; import com.azure.cosmos.implementation.DatabaseAccount; +import com.azure.cosmos.implementation.DatabaseAccountLocation; import java.util.List; @@ -28,14 +29,6 @@ public static DatabaseAccount createDatabaseAccount(List