diff --git a/eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml b/eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml index b3faa05df9ad..f9211243ee09 100755 --- a/eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml +++ b/eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml @@ -37,12 +37,12 @@ - - - - - - + + + + + + @@ -676,7 +676,7 @@ + files="com.azure.core.implementation.Option.java"/> ` to represent the states of instantiated, null, and non-null for the wrapped value. - Added `JsonPatchDocument` to support `json-patch` functionality. - Added new Identity `Configuration` properties. diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/Option.java b/sdk/core/azure-core/src/main/java/com/azure/core/implementation/Option.java similarity index 90% rename from sdk/core/azure-core/src/main/java/com/azure/core/util/Option.java rename to sdk/core/azure-core/src/main/java/com/azure/core/implementation/Option.java index 347e02f4bd1b..5404ac44b6fd 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/Option.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/implementation/Option.java @@ -1,14 +1,14 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -package com.azure.core.util; +package com.azure.core.implementation; import java.util.NoSuchElementException; import java.util.Objects; /** - * The Option type to describe tri-state. Every Option instance is in one of - * the three states: a state representing a non-null-value, null-value, or no-value. + * The Option type to describe tri-state. Every Option instance is in one of the three states: a state representing a + * non-null-value, null-value, or no-value. * *

Code sample

* {@codesnippet com.azure.core.util.Option} @@ -37,6 +37,7 @@ public static Option of(T value) { *

* {@code Option.empty()} is a syntactic sugar for {@code Option.of(null)}. *

+ * * @param The value type. * @return an {@link Option} with a null-value. */ @@ -59,8 +60,8 @@ public static Option uninitialized() { } /** - * Return {@code true} if this instance is initialized with a null-value or non-null-value, - * otherwise {@code false}. + * Return {@code true} if this instance is initialized with a null-value or non-null-value, otherwise {@code + * false}. * * @return {@code true} if a value has been initialized, otherwise {@code false} */ @@ -71,8 +72,7 @@ public boolean isInitialized() { /** * Gets the value in the {@link Option}. * - * @return The {@code null} (null-value) or non-null-value that the {@link Option} - * is initialized with. + * @return The {@code null} (null-value) or non-null-value that the {@link Option} is initialized with. * @throws NoSuchElementException thrown if the {@link Option} is in no-value state. */ public T getValue() { @@ -83,8 +83,7 @@ public T getValue() { } /** - * Indicates whether some other object is "equal to" this Option. The - * other object is considered equal if: + * Indicates whether some other object is "equal to" this Option. The other object is considered equal if: *
    *
  • it is also an {@code Option} and; *
  • both instances are not initialized or; @@ -112,13 +111,12 @@ public boolean equals(Object obj) { } /** - * Returns hash code of the value this Option is initialized with or -1 if in - * uninitialized state. + * Returns hash code of the value this Option is initialized with or -1 if in uninitialized state. *

    * The value 0 will be returned when initialized with {@code null}. *

    - * @return hash code of the value this Option is initialized with or -1 if in - * uninitialized state. + * + * @return hash code of the value this Option is initialized with or -1 if in uninitialized state. */ @Override public int hashCode() { diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionBeanPropertyWriter.java b/sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionBeanPropertyWriter.java similarity index 98% rename from sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionBeanPropertyWriter.java rename to sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionBeanPropertyWriter.java index 2a56cc39a643..a9c95e56764c 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionBeanPropertyWriter.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionBeanPropertyWriter.java @@ -18,9 +18,8 @@ * Portions Copyright (c) Microsoft Corporation */ -package com.azure.core.util.serializer; +package com.azure.core.implementation; -import com.azure.core.util.Option; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.io.SerializedString; import com.fasterxml.jackson.databind.PropertyName; diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionModule.java b/sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionModule.java similarity index 95% rename from sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionModule.java rename to sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionModule.java index a412a6887671..3e296cbf0769 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionModule.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionModule.java @@ -18,9 +18,8 @@ * Portions Copyright (c) Microsoft Corporation */ -package com.azure.core.util.serializer; +package com.azure.core.implementation; -import com.azure.core.util.Option; import com.fasterxml.jackson.core.Version; import com.fasterxml.jackson.databind.Module; diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionPropertiesModifier.java b/sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionPropertiesModifier.java similarity index 95% rename from sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionPropertiesModifier.java rename to sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionPropertiesModifier.java index 6507c6f08218..0b7e74dde01e 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionPropertiesModifier.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionPropertiesModifier.java @@ -18,9 +18,8 @@ * Portions Copyright (c) Microsoft Corporation */ -package com.azure.core.util.serializer; +package com.azure.core.implementation; -import com.azure.core.util.Option; import com.fasterxml.jackson.databind.BeanDescription; import com.fasterxml.jackson.databind.SerializationConfig; import com.fasterxml.jackson.databind.ser.BeanPropertyWriter; diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionSerializer.java b/sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionSerializer.java similarity index 74% rename from sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionSerializer.java rename to sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionSerializer.java index 1a6c75ac06ae..8b5ff9ff3d80 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionSerializer.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionSerializer.java @@ -18,9 +18,8 @@ * Portions Copyright (c) Microsoft Corporation */ -package com.azure.core.util.serializer; +package com.azure.core.implementation; -import com.azure.core.util.Option; import com.fasterxml.jackson.databind.BeanProperty; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.jsontype.TypeSerializer; @@ -35,19 +34,19 @@ final class OptionSerializer extends ReferenceTypeSerializer> { private static final long serialVersionUID = 1L; OptionSerializer(ReferenceType fullType, - boolean staticTyping, - TypeSerializer typeSerializer, - JsonSerializer valueSerializer) { + boolean staticTyping, + TypeSerializer typeSerializer, + JsonSerializer valueSerializer) { super(fullType, staticTyping, typeSerializer, valueSerializer); } private OptionSerializer(OptionSerializer base, - BeanProperty property, - TypeSerializer typeSerializer, - JsonSerializer valueSerializer, - NameTransformer transformer, - Object suppressableValue, - boolean suppressNulls) { + BeanProperty property, + TypeSerializer typeSerializer, + JsonSerializer valueSerializer, + NameTransformer transformer, + Object suppressableValue, + boolean suppressNulls) { super(base, property, typeSerializer, valueSerializer, transformer, suppressableValue, suppressNulls); @@ -55,9 +54,9 @@ private OptionSerializer(OptionSerializer base, @Override protected ReferenceTypeSerializer> withResolved(BeanProperty property, - TypeSerializer typeSerializer, - JsonSerializer valueSerializer, - NameTransformer transformer) { + TypeSerializer typeSerializer, + JsonSerializer valueSerializer, + NameTransformer transformer) { return new OptionSerializer(this, property, typeSerializer, valueSerializer, transformer, super._suppressableValue, super._suppressNulls); @@ -65,7 +64,7 @@ protected ReferenceTypeSerializer> withResolved(BeanProperty property, @Override public ReferenceTypeSerializer> withContentInclusion(Object suppressableValue, - boolean suppressNulls) { + boolean suppressNulls) { return new OptionSerializer(this, super._property, super._valueTypeSerializer, super._valueSerializer, super._unwrapper, suppressableValue, suppressNulls); diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionSerializerProvider.java b/sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionSerializerProvider.java similarity index 82% rename from sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionSerializerProvider.java rename to sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionSerializerProvider.java index 6c2fbf1a6b97..7176a82f8d27 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionSerializerProvider.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionSerializerProvider.java @@ -18,9 +18,8 @@ * Portions Copyright (c) Microsoft Corporation */ -package com.azure.core.util.serializer; +package com.azure.core.implementation; -import com.azure.core.util.Option; import com.fasterxml.jackson.databind.BeanDescription; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.MapperFeature; @@ -37,10 +36,10 @@ final class OptionSerializerProvider extends Serializers.Base implements java.io @Override public JsonSerializer findReferenceSerializer(SerializationConfig config, - ReferenceType refType, - BeanDescription beanDesc, - TypeSerializer contentTypeSerializer, - JsonSerializer contentValueSerializer) { + ReferenceType refType, + BeanDescription beanDesc, + TypeSerializer contentTypeSerializer, + JsonSerializer contentValueSerializer) { if (Option.class.isAssignableFrom(refType.getRawClass())) { // The standard Serializers.Base implementations for reference types honor // USE_STATIC_TYPING flag (e.g. Optional in Jdk8Module), do the same for diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionTypeModifier.java b/sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionTypeModifier.java similarity index 96% rename from sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionTypeModifier.java rename to sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionTypeModifier.java index b10ea04d2ccd..f15ac0352004 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/OptionTypeModifier.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/implementation/OptionTypeModifier.java @@ -18,9 +18,8 @@ * Portions Copyright (c) Microsoft Corporation */ -package com.azure.core.util.serializer; +package com.azure.core.implementation; -import com.azure.core.util.Option; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.type.ReferenceType; import com.fasterxml.jackson.databind.type.TypeBindings; diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchDocument.java b/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchDocument.java index d5d7f460089a..8f5fdfcfc6a9 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchDocument.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchDocument.java @@ -3,11 +3,13 @@ package com.azure.core.models; -import com.azure.core.util.Option; +import com.azure.core.implementation.Option; import com.azure.core.util.logging.ClientLogger; import com.azure.core.util.serializer.JacksonAdapter; import com.azure.core.util.serializer.JsonSerializer; import com.azure.core.util.serializer.JsonSerializerProviders; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonValue; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -23,9 +25,13 @@ public final class JsonPatchDocument { private static final Object SERIALIZER_INSTANTIATION_SYNCHRONIZER = new Object(); private static volatile JsonSerializer defaultSerializer; + @JsonIgnore private final ClientLogger logger = new ClientLogger(JsonPatchDocument.class); + @JsonIgnore private final JsonSerializer serializer; + + @JsonValue private final List operations; /** @@ -54,7 +60,7 @@ public JsonPatchDocument(JsonSerializer serializer) { * * @return The JSON patch operations in this JSON patch document. */ - public List getOperations() { + List getOperations() { return new ArrayList<>(operations); } diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/JsonPatchDocumentSerializer.java b/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchDocumentSerializer.java similarity index 91% rename from sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/JsonPatchDocumentSerializer.java rename to sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchDocumentSerializer.java index 0c9960970b90..32de095b0f99 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/JsonPatchDocumentSerializer.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchDocumentSerializer.java @@ -1,11 +1,9 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -package com.azure.core.util.serializer; +package com.azure.core.models; import com.azure.core.util.CoreUtils; -import com.azure.core.models.JsonPatchDocument; -import com.azure.core.models.JsonPatchOperation; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchOperation.java b/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchOperation.java index 4d370b3a6972..52764516285a 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchOperation.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchOperation.java @@ -4,7 +4,8 @@ package com.azure.core.models; import com.azure.core.annotation.Immutable; -import com.azure.core.util.Option; +import com.azure.core.implementation.Option; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; import java.util.Objects; import java.util.Optional; @@ -13,7 +14,8 @@ * Represents a JSON Patch operation. */ @Immutable -public final class JsonPatchOperation { +@JsonSerialize(using = JsonPatchOperationSerializer.class) +final class JsonPatchOperation { private final JsonPatchOperationKind op; private final String from; private final String path; @@ -42,7 +44,7 @@ public final class JsonPatchOperation { * * @return The kind of operation. */ - public JsonPatchOperationKind getOp() { + JsonPatchOperationKind getOp() { return op; } @@ -51,7 +53,7 @@ public JsonPatchOperationKind getOp() { * * @return The operation from target path. */ - public String getFrom() { + String getFrom() { return from; } @@ -60,7 +62,7 @@ public String getFrom() { * * @return The operation target path. */ - public String getPath() { + String getPath() { return path; } @@ -71,7 +73,7 @@ public String getPath() { * * @return The operation value. */ - public Option getValue() { + Option getValue() { return value; } diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchOperationKind.java b/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchOperationKind.java index 3a5d942ff1d9..2ee1885d74cb 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchOperationKind.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchOperationKind.java @@ -8,7 +8,7 @@ /** * Represents the JSON Patch operation kind. */ -public enum JsonPatchOperationKind { +enum JsonPatchOperationKind { /** * Add operation. */ diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/JsonPatchOperationSerializer.java b/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchOperationSerializer.java similarity index 93% rename from sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/JsonPatchOperationSerializer.java rename to sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchOperationSerializer.java index 0cd3fe3ecab0..0427c0234d5f 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/JsonPatchOperationSerializer.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchOperationSerializer.java @@ -1,10 +1,9 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -package com.azure.core.util.serializer; +package com.azure.core.models; -import com.azure.core.models.JsonPatchOperation; -import com.azure.core.util.Option; +import com.azure.core.implementation.Option; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/JacksonAdapter.java b/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/JacksonAdapter.java index 16d2346b814a..9dc693db50a1 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/JacksonAdapter.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/JacksonAdapter.java @@ -288,7 +288,6 @@ private static T initializeObjectMapper(T mapper) { .configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true) .setSerializationInclusion(JsonInclude.Include.NON_NULL) .registerModule(new JavaTimeModule()) - .registerModule(new OptionModule()) .registerModule(ByteArraySerializer.getModule()) .registerModule(Base64UrlSerializer.getModule()) .registerModule(DateTimeSerializer.getModule()) @@ -296,8 +295,6 @@ private static T initializeObjectMapper(T mapper) { .registerModule(DateTimeRfc1123Serializer.getModule()) .registerModule(DurationSerializer.getModule()) .registerModule(HttpHeadersSerializer.getModule()) - .registerModule(JsonPatchDocumentSerializer.getModule()) - .registerModule(JsonPatchOperationSerializer.getModule()) .registerModule(UnixTimeSerializer.getModule()); mapper.setVisibility(mapper.getSerializationConfig().getDefaultVisibilityChecker() .withFieldVisibility(JsonAutoDetect.Visibility.ANY) diff --git a/sdk/core/azure-core/src/samples/java/com/azure/core/util/OptionJavaDocCodeSnippets.java b/sdk/core/azure-core/src/samples/java/com/azure/core/util/OptionJavaDocCodeSnippets.java index 987a00dd9790..0c1ce58e4ebd 100644 --- a/sdk/core/azure-core/src/samples/java/com/azure/core/util/OptionJavaDocCodeSnippets.java +++ b/sdk/core/azure-core/src/samples/java/com/azure/core/util/OptionJavaDocCodeSnippets.java @@ -3,6 +3,8 @@ package com.azure.core.util; +import com.azure.core.implementation.Option; + import java.util.NoSuchElementException; /** diff --git a/sdk/core/azure-core/src/test/java/com/azure/core/util/serializer/OptionSerializerTests.java b/sdk/core/azure-core/src/test/java/com/azure/core/implementation/OptionSerializerTests.java similarity index 71% rename from sdk/core/azure-core/src/test/java/com/azure/core/util/serializer/OptionSerializerTests.java rename to sdk/core/azure-core/src/test/java/com/azure/core/implementation/OptionSerializerTests.java index 522ea77c8d8c..ec3bf84ee517 100644 --- a/sdk/core/azure-core/src/test/java/com/azure/core/util/serializer/OptionSerializerTests.java +++ b/sdk/core/azure-core/src/test/java/com/azure/core/implementation/OptionSerializerTests.java @@ -1,9 +1,10 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -package com.azure.core.util.serializer; +package com.azure.core.implementation; -import com.azure.core.util.Option; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerEncoding; import com.fasterxml.jackson.annotation.JsonProperty; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -14,23 +15,32 @@ * Tests for {@link Option} that can represent tri-sate (non-null-value, null-value, or no-value). */ public class OptionSerializerTests { + private static final JacksonAdapter ADAPTER; + + static { + JacksonAdapter adapter = new JacksonAdapter(); + adapter.serializer().registerModule(new OptionModule()); + + ADAPTER = adapter; + } + @Test public void canSerializeExplicitNull() throws IOException { PatchModel model = new PatchModel(); model.setSku(Option.of(null)); - String serialized = new JacksonAdapter().serialize(model, SerializerEncoding.JSON); + String serialized = ADAPTER.serialize(model, SerializerEncoding.JSON); Assertions.assertEquals("{\"sku\":null}", serialized); model.setSku(Option.empty()); - serialized = new JacksonAdapter().serialize(model, SerializerEncoding.JSON); + serialized = ADAPTER.serialize(model, SerializerEncoding.JSON); Assertions.assertEquals("{\"sku\":null}", serialized); } @Test public void shouldIgnoreImplicitNull() throws IOException { PatchModel model = new PatchModel(); - String serialized = new JacksonAdapter().serialize(model, SerializerEncoding.JSON); + String serialized = ADAPTER.serialize(model, SerializerEncoding.JSON); Assertions.assertEquals("{}", serialized); } @@ -38,7 +48,7 @@ public void shouldIgnoreImplicitNull() throws IOException { public void shouldIgnoreUninitialized() throws IOException { PatchModel model = new PatchModel(); model.setSku(Option.uninitialized()); - String serialized = new JacksonAdapter().serialize(model, SerializerEncoding.JSON); + String serialized = ADAPTER.serialize(model, SerializerEncoding.JSON); Assertions.assertEquals("{}", serialized); } @@ -46,7 +56,7 @@ public void shouldIgnoreUninitialized() throws IOException { public void canSerializeNonNullValue() throws IOException { PatchModel model = new PatchModel(); model.setSku(Option.of("basic")); - String serialized = new JacksonAdapter().serialize(model, SerializerEncoding.JSON); + String serialized = ADAPTER.serialize(model, SerializerEncoding.JSON); Assertions.assertEquals("{\"sku\":\"basic\"}", serialized); } @@ -54,12 +64,12 @@ public void canSerializeNonNullValue() throws IOException { public void canSerializeRawType() throws IOException { @SuppressWarnings("rawtypes") final Option rawOption = Option.of(new RawModel().setName("test")); - String serialized = new JacksonAdapter().serialize(rawOption, SerializerEncoding.JSON); + String serialized = ADAPTER.serialize(rawOption, SerializerEncoding.JSON); Assertions.assertEquals("{\"name\":\"test\"}", serialized); @SuppressWarnings("rawtypes") final Option rawOption1 = Option.of("test"); - String serialized1 = new JacksonAdapter().serialize(rawOption1, SerializerEncoding.JSON); + String serialized1 = ADAPTER.serialize(rawOption1, SerializerEncoding.JSON); Assertions.assertEquals("\"test\"", serialized1); } diff --git a/sdk/core/azure-core/src/test/java/com/azure/core/util/OptionTests.java b/sdk/core/azure-core/src/test/java/com/azure/core/implementation/OptionTests.java similarity index 89% rename from sdk/core/azure-core/src/test/java/com/azure/core/util/OptionTests.java rename to sdk/core/azure-core/src/test/java/com/azure/core/implementation/OptionTests.java index 4a841eaaf0b5..7029d50c4f4b 100644 --- a/sdk/core/azure-core/src/test/java/com/azure/core/util/OptionTests.java +++ b/sdk/core/azure-core/src/test/java/com/azure/core/implementation/OptionTests.java @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -package com.azure.core.util; +package com.azure.core.implementation; import org.junit.jupiter.api.Test; @@ -10,6 +10,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -25,14 +26,14 @@ public void testOfNonNull() { public void testOfNull() { final Option setOption = Option.of(null); assertTrue(setOption.isInitialized()); - assertEquals(null, setOption.getValue()); + assertNull(setOption.getValue()); } @Test public void testEmpty() { final Option emptyOption = Option.empty(); assertTrue(emptyOption.isInitialized()); - assertEquals(null, emptyOption.getValue()); + assertNull(emptyOption.getValue()); } @Test @@ -44,9 +45,7 @@ public void testUninitialized() { @Test public void testGetValueThrows() { final Option uninitializedOption = Option.uninitialized(); - assertThrows(NoSuchElementException.class, () -> { - uninitializedOption.getValue(); - }); + assertThrows(NoSuchElementException.class, uninitializedOption::getValue); } @Test