From c828581d94110d9b72c0d239865a1e9999054787 Mon Sep 17 00:00:00 2001 From: xixingya <2679431923@qq.com> Date: Fri, 22 Dec 2023 21:36:22 +0800 Subject: [PATCH] serialization module adapter to 3.2 (#259) * avro,fst,kryo,msgpack adapt to 3.2 * serialize adapt to 3.2 * remove cycle refer * add model * change fix * bug fix * format * ci fix * avoid import * * avoid import * * avoid import * * avoid import * * style fix * maven fix --------- Co-authored-by: xiaosheng --- .github/workflows/ci.yml | 2 +- .../dubbo-serialization-avro/pom.xml | 8 +- .../serialize/avro/AvroObjectInput.java | 4 +- .../serialize/avro/AvroObjectOutput.java | 4 +- .../avro/AvroObjectInputOutputTest.java | 1 - .../serialize/avro/AvroSerializationTest.java | 1 - .../dubbo-serialization-common/pom.xml | 2 + .../dubbo-serialization-fastjson/pom.xml | 2 + .../dubbo-serialization-fst/pom.xml | 15 +- .../common/serialize/fst/FstObjectInput.java | 2 +- .../common/serialize/fst/FstObjectOutput.java | 2 +- .../common/serialize/fst/FstFactoryTest.java | 0 .../serialize/fst/FstObjectInputTest.java | 1 - .../serialize/fst/FstObjectOutputTest.java | 1 - .../serialize/fst/FstSerializationTest.java | 1 - .../dubbo-serialization-fury/pom.xml | 3 + .../dubbo-serialization-gson/pom.xml | 7 +- .../dubbo-serialization-jackson/pom.xml | 2 + .../dubbo-serialization-kryo/pom.xml | 16 +- .../serialize/kryo/KryoObjectInput.java | 2 +- .../kryo/optimized/KryoObjectInput2.java | 2 +- .../kryo/optimized/KryoObjectOutput2.java | 4 +- .../serialize/kryo/KryoPersonOkTest.java | 2 +- .../kryo/KryoSerialization2Test.java | 4 +- .../serialize/kryo/KyroSerializationTest.java | 0 .../dubbo-serialization-msgpack/pom.xml | 11 +- .../serialize/msgpack/MsgpackObjectInput.java | 2 +- .../msgpack/MsgpackObjectOutput.java | 2 +- .../pom.xml | 2 +- .../dubbo-serialization-protobuf/pom.xml | 8 +- .../GenericProtobufJsonObjectOutput.java | 18 +- .../support/GenericProtobufObjectOutput.java | 18 +- .../AbstractProtobufSerializationTest.java | 1 - .../GenericProtobufJsonObjectOutputTest.java | 1 - .../GenericProtobufJsonSerializationTest.java | 0 .../GenericProtobufSerializationTest.java | 0 .../protobuf/support/model/GooglePB.java | 0 .../support/model/ServiceInterface.java | 0 .../src/test/proto/GooglePB.proto | 0 .../dubbo-serialization-protostuff/pom.xml | 15 +- .../ProtostuffObjectOutputTest.java | 1 - .../ProtostuffSerializationTest.java | 0 .../dubbo-serialization-test/pom.xml | 44 +--- .../AbstractSerializationPersonFailTest.java | 1 - .../AbstractSerializationPersonOkTest.java | 1 - .../base/AbstractSerializationTest.java | 3 +- .../common/serialize/model/AnimalEnum.java | 2 +- .../common/serialize/model/BizException.java | 2 +- .../BizExceptionNoDefaultConstructor.java | 2 +- .../common/serialize/model/Organization.java | 0 .../dubbo/common/serialize/model/Person.java | 2 +- .../serialize/model/SerializablePerson.java | 2 +- .../common/serialize/model/media/Image.java | 2 +- .../common/serialize/model/media/Media.java | 2 +- .../serialize/model/media/MediaContent.java | 2 +- .../serialize/model/person/BigPerson.java | 0 .../serialize/model/person/FullAddress.java | 2 +- .../serialize/model/person/PersonInfo.java | 0 .../serialize/model/person/PersonStatus.java | 2 +- .../common/serialize/model/person/Phone.java | 2 +- .../jackson/JacksonObjectInputTest.java | 202 ------------------ .../jackson/JacksonObjectOutputTest.java | 145 ------------- .../jackson/JacksonSerializationTest.java | 68 ------ 63 files changed, 135 insertions(+), 518 deletions(-) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-avro}/src/test/java/org/apache/dubbo/common/serialize/avro/AvroObjectInputOutputTest.java (99%) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-avro}/src/test/java/org/apache/dubbo/common/serialize/avro/AvroSerializationTest.java (99%) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-fst}/src/test/java/org/apache/dubbo/common/serialize/fst/FstFactoryTest.java (100%) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-fst}/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectInputTest.java (99%) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-fst}/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectOutputTest.java (99%) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-fst}/src/test/java/org/apache/dubbo/common/serialize/fst/FstSerializationTest.java (99%) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-kryo}/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoPersonOkTest.java (99%) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-kryo}/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoSerialization2Test.java (97%) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-kryo}/src/test/java/org/apache/dubbo/common/serialize/kryo/KyroSerializationTest.java (100%) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-protobuf}/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/AbstractProtobufSerializationTest.java (99%) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-protobuf}/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutputTest.java (99%) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-protobuf}/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonSerializationTest.java (100%) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-protobuf}/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufSerializationTest.java (100%) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-protobuf}/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/GooglePB.java (100%) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-protobuf}/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/ServiceInterface.java (100%) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-protobuf}/src/test/proto/GooglePB.proto (100%) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-protostuff}/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffObjectOutputTest.java (99%) rename dubbo-serialization-extensions/{dubbo-serialization-test => dubbo-serialization-protostuff}/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffSerializationTest.java (100%) rename dubbo-serialization-extensions/dubbo-serialization-test/src/{test => main}/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonFailTest.java (99%) rename dubbo-serialization-extensions/dubbo-serialization-test/src/{test => main}/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonOkTest.java (99%) rename dubbo-serialization-extensions/dubbo-serialization-test/src/{test => main}/java/org/apache/dubbo/common/serialize/base/AbstractSerializationTest.java (99%) rename dubbo-serialization-extensions/dubbo-serialization-test/src/{test => main}/java/org/apache/dubbo/common/serialize/model/AnimalEnum.java (99%) rename dubbo-serialization-extensions/dubbo-serialization-test/src/{test => main}/java/org/apache/dubbo/common/serialize/model/BizException.java (99%) rename dubbo-serialization-extensions/dubbo-serialization-test/src/{test => main}/java/org/apache/dubbo/common/serialize/model/BizExceptionNoDefaultConstructor.java (99%) rename dubbo-serialization-extensions/dubbo-serialization-test/src/{test => main}/java/org/apache/dubbo/common/serialize/model/Organization.java (100%) rename dubbo-serialization-extensions/dubbo-serialization-test/src/{test => main}/java/org/apache/dubbo/common/serialize/model/Person.java (99%) rename dubbo-serialization-extensions/dubbo-serialization-test/src/{test => main}/java/org/apache/dubbo/common/serialize/model/SerializablePerson.java (99%) rename dubbo-serialization-extensions/dubbo-serialization-test/src/{test => main}/java/org/apache/dubbo/common/serialize/model/media/Image.java (99%) rename dubbo-serialization-extensions/dubbo-serialization-test/src/{test => main}/java/org/apache/dubbo/common/serialize/model/media/Media.java (99%) rename dubbo-serialization-extensions/dubbo-serialization-test/src/{test => main}/java/org/apache/dubbo/common/serialize/model/media/MediaContent.java (99%) rename dubbo-serialization-extensions/dubbo-serialization-test/src/{test => main}/java/org/apache/dubbo/common/serialize/model/person/BigPerson.java (100%) rename dubbo-serialization-extensions/dubbo-serialization-test/src/{test => main}/java/org/apache/dubbo/common/serialize/model/person/FullAddress.java (99%) rename dubbo-serialization-extensions/dubbo-serialization-test/src/{test => main}/java/org/apache/dubbo/common/serialize/model/person/PersonInfo.java (100%) rename dubbo-serialization-extensions/dubbo-serialization-test/src/{test => main}/java/org/apache/dubbo/common/serialize/model/person/PersonStatus.java (99%) rename dubbo-serialization-extensions/dubbo-serialization-test/src/{test => main}/java/org/apache/dubbo/common/serialize/model/person/Phone.java (99%) delete mode 100644 dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonObjectInputTest.java delete mode 100644 dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonObjectOutputTest.java delete mode 100644 dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonSerializationTest.java diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e8811904..5270c23f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,7 +42,7 @@ jobs: ./mvnw --batch-mode -U -e --no-transfer-progress clean test verify -Pjacoco -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.count=5 -DskipTests=false -DskipIntegrationTests=false -Dcheckstyle.skip=false -Dcheckstyle_unix.skip=false -Drat.skip=false -Dmaven.javadoc.skip=true - name: "Test with Maven" timeout-minutes: 50 - if: ${{ startsWith( matrix.os) }} + if: ${{ startsWith( matrix.os, 'windows') }} run: | cd ./dubbo-spi-extensions ./mvnw --batch-mode -U -e --no-transfer-progress clean test verify -Pjacoco -D"http.keepAlive=false" -D"maven.wagon.http.pool=false" -D"maven.wagon.httpconnectionManager.ttlSeconds=120" -D"maven.wagon.http.retryHandler.count=5" -DskipTests=false -DskipIntegrationTests=true -D"checkstyle.skip=false" -D"checkstyle_unix.skip=true" -D"rat.skip=false" -D"maven.javadoc.skip=true" diff --git a/dubbo-serialization-extensions/dubbo-serialization-avro/pom.xml b/dubbo-serialization-extensions/dubbo-serialization-avro/pom.xml index e0592496..6fee7a28 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-avro/pom.xml +++ b/dubbo-serialization-extensions/dubbo-serialization-avro/pom.xml @@ -26,7 +26,7 @@ dubbo-serialization-avro jar ${project.artifactId} - 1.0.2-SNAPSHOT + 3.2.0-SNAPSHOT The avro serialization module of dubbo project false @@ -46,6 +46,12 @@ ${dubbo.version} true + + org.apache.dubbo.extensions + dubbo-serialization-test + 3.2.0-SNAPSHOT + test + org.apache.avro avro diff --git a/dubbo-serialization-extensions/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroObjectInput.java b/dubbo-serialization-extensions/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroObjectInput.java index 036f5f09..0f37d714 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroObjectInput.java +++ b/dubbo-serialization-extensions/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroObjectInput.java @@ -31,8 +31,8 @@ import java.util.Map; public class AvroObjectInput implements ObjectInput { - private static DecoderFactory decoderFactory = DecoderFactory.get(); - private BinaryDecoder decoder; + private static final DecoderFactory decoderFactory = DecoderFactory.get(); + private final BinaryDecoder decoder; public AvroObjectInput(InputStream in) { decoder = decoderFactory.binaryDecoder(in, null); diff --git a/dubbo-serialization-extensions/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroObjectOutput.java b/dubbo-serialization-extensions/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroObjectOutput.java index a1f97c3d..da78e9c6 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroObjectOutput.java +++ b/dubbo-serialization-extensions/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroObjectOutput.java @@ -29,8 +29,8 @@ import java.util.Arrays; public class AvroObjectOutput implements ObjectOutput { - private static EncoderFactory encoderFactory = EncoderFactory.get(); - private BinaryEncoder encoder; + private static final EncoderFactory encoderFactory = EncoderFactory.get(); + private final BinaryEncoder encoder; public AvroObjectOutput(OutputStream out) { encoder = encoderFactory.binaryEncoder(out, null); diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/avro/AvroObjectInputOutputTest.java b/dubbo-serialization-extensions/dubbo-serialization-avro/src/test/java/org/apache/dubbo/common/serialize/avro/AvroObjectInputOutputTest.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/avro/AvroObjectInputOutputTest.java rename to dubbo-serialization-extensions/dubbo-serialization-avro/src/test/java/org/apache/dubbo/common/serialize/avro/AvroObjectInputOutputTest.java index 6ca1cace..0ef1f3a9 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/avro/AvroObjectInputOutputTest.java +++ b/dubbo-serialization-extensions/dubbo-serialization-avro/src/test/java/org/apache/dubbo/common/serialize/avro/AvroObjectInputOutputTest.java @@ -18,7 +18,6 @@ import org.apache.dubbo.common.serialize.model.Person; - import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/avro/AvroSerializationTest.java b/dubbo-serialization-extensions/dubbo-serialization-avro/src/test/java/org/apache/dubbo/common/serialize/avro/AvroSerializationTest.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/avro/AvroSerializationTest.java rename to dubbo-serialization-extensions/dubbo-serialization-avro/src/test/java/org/apache/dubbo/common/serialize/avro/AvroSerializationTest.java index 0b127571..2151e3e3 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/avro/AvroSerializationTest.java +++ b/dubbo-serialization-extensions/dubbo-serialization-avro/src/test/java/org/apache/dubbo/common/serialize/avro/AvroSerializationTest.java @@ -18,7 +18,6 @@ import org.apache.dubbo.common.serialize.ObjectInput; import org.apache.dubbo.common.serialize.ObjectOutput; - import org.hamcrest.Matchers; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/dubbo-serialization-extensions/dubbo-serialization-common/pom.xml b/dubbo-serialization-extensions/dubbo-serialization-common/pom.xml index 37a53c47..6ab846fa 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-common/pom.xml +++ b/dubbo-serialization-extensions/dubbo-serialization-common/pom.xml @@ -38,11 +38,13 @@ limitations under the License. org.apache.dubbo dubbo-serialization-api 3.2.7 + true org.apache.dubbo dubbo-common 3.2.7 + true diff --git a/dubbo-serialization-extensions/dubbo-serialization-fastjson/pom.xml b/dubbo-serialization-extensions/dubbo-serialization-fastjson/pom.xml index e84c7adb..f9208fa6 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-fastjson/pom.xml +++ b/dubbo-serialization-extensions/dubbo-serialization-fastjson/pom.xml @@ -43,11 +43,13 @@ limitations under the License. org.apache.dubbo dubbo-serialization-api ${dubbo.version} + true org.apache.dubbo dubbo-common ${dubbo.version} + true com.alibaba diff --git a/dubbo-serialization-extensions/dubbo-serialization-fst/pom.xml b/dubbo-serialization-extensions/dubbo-serialization-fst/pom.xml index f8a60ac5..4d102802 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-fst/pom.xml +++ b/dubbo-serialization-extensions/dubbo-serialization-fst/pom.xml @@ -26,17 +26,30 @@ dubbo-serialization-fst jar ${project.artifactId} - 1.0.2-SNAPSHOT + 3.2.0-SNAPSHOT The fst serialization module of dubbo project false + 3.2.7 org.apache.dubbo dubbo-serialization-api + ${dubbo.version} true + + org.apache.dubbo + dubbo-common + 3.2.7 + + + org.apache.dubbo.extensions + dubbo-serialization-test + 3.2.0-SNAPSHOT + test + de.ruedigermoeller fst diff --git a/dubbo-serialization-extensions/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstObjectInput.java b/dubbo-serialization-extensions/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstObjectInput.java index 51e8340a..e08c98fc 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstObjectInput.java +++ b/dubbo-serialization-extensions/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstObjectInput.java @@ -29,7 +29,7 @@ */ public class FstObjectInput implements ObjectInput { - private FSTObjectInput input; + private final FSTObjectInput input; public FstObjectInput(InputStream inputStream) { input = FstFactory.getDefaultFactory().getObjectInput(inputStream); diff --git a/dubbo-serialization-extensions/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstObjectOutput.java b/dubbo-serialization-extensions/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstObjectOutput.java index a2c40e5d..4ff4ee26 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstObjectOutput.java +++ b/dubbo-serialization-extensions/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstObjectOutput.java @@ -28,7 +28,7 @@ */ public class FstObjectOutput implements ObjectOutput { - private FSTObjectOutput output; + private final FSTObjectOutput output; public FstObjectOutput(OutputStream outputStream) { output = FstFactory.getDefaultFactory().getObjectOutput(outputStream); diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstFactoryTest.java b/dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstFactoryTest.java similarity index 100% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstFactoryTest.java rename to dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstFactoryTest.java diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectInputTest.java b/dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectInputTest.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectInputTest.java rename to dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectInputTest.java index 2937dba5..1fdcb7e9 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectInputTest.java +++ b/dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectInputTest.java @@ -17,7 +17,6 @@ package org.apache.dubbo.common.serialize.fst; import org.apache.dubbo.common.serialize.model.person.FullAddress; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectOutputTest.java b/dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectOutputTest.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectOutputTest.java rename to dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectOutputTest.java index c8ef1c70..2ad62c8e 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectOutputTest.java +++ b/dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectOutputTest.java @@ -18,7 +18,6 @@ import org.apache.dubbo.common.serialize.model.AnimalEnum; import org.apache.dubbo.common.serialize.model.person.FullAddress; - import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstSerializationTest.java b/dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstSerializationTest.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstSerializationTest.java rename to dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstSerializationTest.java index 24de5bf8..f340cba2 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstSerializationTest.java +++ b/dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstSerializationTest.java @@ -18,7 +18,6 @@ import org.apache.dubbo.common.serialize.ObjectInput; import org.apache.dubbo.common.serialize.ObjectOutput; - import org.hamcrest.Matchers; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/dubbo-serialization-extensions/dubbo-serialization-fury/pom.xml b/dubbo-serialization-extensions/dubbo-serialization-fury/pom.xml index fb7b98d6..278164ce 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-fury/pom.xml +++ b/dubbo-serialization-extensions/dubbo-serialization-fury/pom.xml @@ -27,6 +27,9 @@ limitations under the License. dubbo-serialization-fury + jar + ${project.artifactId} + 3.2.0-SNAPSHOT 17 diff --git a/dubbo-serialization-extensions/dubbo-serialization-gson/pom.xml b/dubbo-serialization-extensions/dubbo-serialization-gson/pom.xml index 2a7b0b1d..17ae41ba 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-gson/pom.xml +++ b/dubbo-serialization-extensions/dubbo-serialization-gson/pom.xml @@ -32,20 +32,17 @@ Licensed to the Apache Software Foundation (ASF) under one or more false - - org.apache.dubbo - dubbo-serialization-api - true - org.apache.dubbo dubbo-serialization-api 3.2.7 + true org.apache.dubbo dubbo-common 3.2.7 + true org.apache.dubbo.extensions diff --git a/dubbo-serialization-extensions/dubbo-serialization-jackson/pom.xml b/dubbo-serialization-extensions/dubbo-serialization-jackson/pom.xml index a4ea97d8..50ff4b27 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-jackson/pom.xml +++ b/dubbo-serialization-extensions/dubbo-serialization-jackson/pom.xml @@ -27,6 +27,7 @@ dubbo-serialization-jackson The jackson serialization module of dubbo project + 3.2.0-SNAPSHOT 1.8 @@ -49,6 +50,7 @@ org.apache.dubbo dubbo-common + true 3.2.7 diff --git a/dubbo-serialization-extensions/dubbo-serialization-kryo/pom.xml b/dubbo-serialization-extensions/dubbo-serialization-kryo/pom.xml index fb887df9..1fe9a88b 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-kryo/pom.xml +++ b/dubbo-serialization-extensions/dubbo-serialization-kryo/pom.xml @@ -27,18 +27,32 @@ limitations under the License. dubbo-serialization-kryo jar ${project.artifactId} - 1.0.2-SNAPSHOT + 3.2.0-SNAPSHOT The kryo serialization module of dubbo project false + 3.2.7 1.0.1 org.apache.dubbo dubbo-serialization-api + ${dubbo.version} true + + org.apache.dubbo + dubbo-common + ${dubbo.version} + true + + + org.apache.dubbo.extensions + dubbo-serialization-test + 3.2.0-SNAPSHOT + test + com.esotericsoftware kryo diff --git a/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/KryoObjectInput.java b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/KryoObjectInput.java index 91648e5c..1fac6704 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/KryoObjectInput.java +++ b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/KryoObjectInput.java @@ -34,7 +34,7 @@ public class KryoObjectInput implements ObjectInput, Cleanable { private Kryo kryo; - private Input input; + private final Input input; public KryoObjectInput(InputStream inputStream) { input = new Input(inputStream); diff --git a/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/optimized/KryoObjectInput2.java b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/optimized/KryoObjectInput2.java index 648557a1..cf89e4d9 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/optimized/KryoObjectInput2.java +++ b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/optimized/KryoObjectInput2.java @@ -36,7 +36,7 @@ public class KryoObjectInput2 implements ObjectInput, Cleanable { private Kryo kryo; - private Input input; + private final Input input; public KryoObjectInput2(InputStream inputStream) { input = new Input(inputStream); diff --git a/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/optimized/KryoObjectOutput2.java b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/optimized/KryoObjectOutput2.java index 8500a06b..118f401d 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/optimized/KryoObjectOutput2.java +++ b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/optimized/KryoObjectOutput2.java @@ -31,7 +31,7 @@ */ public class KryoObjectOutput2 implements ObjectOutput, Cleanable { - private Output output; + private final Output output; private Kryo kryo; public KryoObjectOutput2(OutputStream outputStream) { @@ -105,7 +105,7 @@ public void writeObject(Object v) throws IOException { } @Override - public void writeThrowable(Object v) throws IOException { + public void writeThrowable(Throwable v) throws IOException { kryo.writeClassAndObject(output, v); } diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoPersonOkTest.java b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoPersonOkTest.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoPersonOkTest.java rename to dubbo-serialization-extensions/dubbo-serialization-kryo/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoPersonOkTest.java index 6ed86360..7e82285b 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoPersonOkTest.java +++ b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoPersonOkTest.java @@ -26,4 +26,4 @@ public class KryoPersonOkTest extends AbstractSerializationPersonOkTest { { serialization = new KryoSerialization(); } -} +} \ No newline at end of file diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoSerialization2Test.java b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoSerialization2Test.java similarity index 97% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoSerialization2Test.java rename to dubbo-serialization-extensions/dubbo-serialization-kryo/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoSerialization2Test.java index 760761ef..ed14ffd4 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoSerialization2Test.java +++ b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoSerialization2Test.java @@ -88,7 +88,7 @@ public void testObject() throws IOException, ClassNotFoundException { objectOutput.flushBuffer(); ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream( - byteArrayOutputStream.toByteArray()); + byteArrayOutputStream.toByteArray()); ObjectInput deserialize = serialization.deserialize(url, byteArrayInputStream); assertEquals(bigPerson, BigPerson.class.cast(deserialize.readObject(BigPerson.class))); @@ -112,7 +112,7 @@ public void testObjectWithAttachments() throws IOException, ClassNotFoundExcepti objectOutput.flushBuffer(); ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream( - byteArrayOutputStream.toByteArray()); + byteArrayOutputStream.toByteArray()); ObjectInput deserialize = serialization.deserialize(url, byteArrayInputStream); assertEquals(bigPerson, BigPerson.class.cast(deserialize.readObject(BigPerson.class))); diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/kryo/KyroSerializationTest.java b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/test/java/org/apache/dubbo/common/serialize/kryo/KyroSerializationTest.java similarity index 100% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/kryo/KyroSerializationTest.java rename to dubbo-serialization-extensions/dubbo-serialization-kryo/src/test/java/org/apache/dubbo/common/serialize/kryo/KyroSerializationTest.java diff --git a/dubbo-serialization-extensions/dubbo-serialization-msgpack/pom.xml b/dubbo-serialization-extensions/dubbo-serialization-msgpack/pom.xml index 960ba07d..6792dad1 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-msgpack/pom.xml +++ b/dubbo-serialization-extensions/dubbo-serialization-msgpack/pom.xml @@ -25,12 +25,13 @@ Licensed to the Apache Software Foundation (ASF) under one or more ../pom.xml dubbo-serialization-msgpack - 1.0.2-SNAPSHOT + 3.2.0-SNAPSHOT jar ${project.artifactId} The Msgpack serialization implement for dubbo false + 3.2.7 @@ -38,6 +39,14 @@ Licensed to the Apache Software Foundation (ASF) under one or more org.apache.dubbo dubbo-serialization-api + ${dubbo.version} + true + + + + org.apache.dubbo + dubbo-common + ${dubbo.version} true diff --git a/dubbo-serialization-extensions/dubbo-serialization-msgpack/src/main/java/org/apache/dubbo/common/serialize/msgpack/MsgpackObjectInput.java b/dubbo-serialization-extensions/dubbo-serialization-msgpack/src/main/java/org/apache/dubbo/common/serialize/msgpack/MsgpackObjectInput.java index 3b7c004e..46c5bf56 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-msgpack/src/main/java/org/apache/dubbo/common/serialize/msgpack/MsgpackObjectInput.java +++ b/dubbo-serialization-extensions/dubbo-serialization-msgpack/src/main/java/org/apache/dubbo/common/serialize/msgpack/MsgpackObjectInput.java @@ -32,7 +32,7 @@ public class MsgpackObjectInput implements ObjectInput { private final InputStream in; - private ObjectMapper om; + private final ObjectMapper om; public MsgpackObjectInput(InputStream in) { this.in = in; diff --git a/dubbo-serialization-extensions/dubbo-serialization-msgpack/src/main/java/org/apache/dubbo/common/serialize/msgpack/MsgpackObjectOutput.java b/dubbo-serialization-extensions/dubbo-serialization-msgpack/src/main/java/org/apache/dubbo/common/serialize/msgpack/MsgpackObjectOutput.java index c3353523..f707b9d7 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-msgpack/src/main/java/org/apache/dubbo/common/serialize/msgpack/MsgpackObjectOutput.java +++ b/dubbo-serialization-extensions/dubbo-serialization-msgpack/src/main/java/org/apache/dubbo/common/serialize/msgpack/MsgpackObjectOutput.java @@ -97,7 +97,7 @@ public void writeObject(Object obj) throws IOException { } @Override - public void writeThrowable(Object obj) throws IOException { + public void writeThrowable(Throwable obj) throws IOException { writeObject(obj.getClass()); writeObject(obj); } diff --git a/dubbo-serialization-extensions/dubbo-serialization-native-hession/pom.xml b/dubbo-serialization-extensions/dubbo-serialization-native-hession/pom.xml index 0a1157e6..bb837bc3 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-native-hession/pom.xml +++ b/dubbo-serialization-extensions/dubbo-serialization-native-hession/pom.xml @@ -25,7 +25,7 @@ limitations under the License. dubbo-serialization-native-hession - 1.0.2-SNAPSHOT + 3.2.0-SNAPSHOT jar ${project.artifactId} The native-hession serialization module of dubbo project diff --git a/dubbo-serialization-extensions/dubbo-serialization-protobuf/pom.xml b/dubbo-serialization-extensions/dubbo-serialization-protobuf/pom.xml index 438132c3..24e01b40 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-protobuf/pom.xml +++ b/dubbo-serialization-extensions/dubbo-serialization-protobuf/pom.xml @@ -26,24 +26,24 @@ limitations under the License. dubbo-serialization-protobuf jar ${project.artifactId} - 1.0.2-SNAPSHOT + 3.2.0-SNAPSHOT The protobuf serialization module of dubbo project false 0.0.1-SNAPSHOT - 2.7.23 + 3.2.7 org.apache.dubbo dubbo-serialization-api - 2.7.23 + ${dubbo.version} true org.apache.dubbo dubbo-common - 2.7.23 + ${dubbo.version} true diff --git a/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/main/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutput.java b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/main/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutput.java index 4940e28c..54605bac 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/main/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutput.java +++ b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/main/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutput.java @@ -27,12 +27,14 @@ import com.google.protobuf.Int32Value; import com.google.protobuf.Int64Value; import com.google.protobuf.StringValue; +import org.apache.dubbo.common.serialize.protobuf.support.wrapper.ThrowablePB; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.util.Map; +import java.util.Objects; import static org.apache.dubbo.common.constants.CommonConstants.HEARTBEAT_EVENT; import static org.apache.dubbo.common.constants.CommonConstants.MOCK_HEARTBEAT_EVENT; @@ -115,21 +117,23 @@ public void writeObject(Object obj) throws IOException { } @Override - public void writeThrowable(Object th) throws IOException { - if (th instanceof Throwable && !ProtobufUtils.isSupported(th.getClass())) { - th = ProtobufUtils.convertToThrowableProto((Throwable) th); + public void writeThrowable(Throwable th) throws IOException { + if (!ProtobufUtils.isSupported(th.getClass())) { + ThrowablePB.ThrowableProto throwableProto = ProtobufUtils.convertToThrowableProto(th); + writer.write(ProtobufUtils.serializeJson(throwableProto)); + } else { + writer.write(ProtobufUtils.serializeJson(th)); } - writer.write(ProtobufUtils.serializeJson(th)); writer.println(); writer.flush(); } @Override - public void writeEvent(Object data) throws IOException { - if (data == HEARTBEAT_EVENT) { + public void writeEvent(String data) throws IOException { + if (Objects.equals(data, HEARTBEAT_EVENT)) { data = MOCK_HEARTBEAT_EVENT; } - writeUTF((String) data); + writeUTF(data); } /** diff --git a/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/main/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufObjectOutput.java b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/main/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufObjectOutput.java index 55bdba9d..b114c4b3 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/main/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufObjectOutput.java +++ b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/main/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufObjectOutput.java @@ -28,10 +28,12 @@ import org.apache.dubbo.common.serialize.ObjectOutput; import org.apache.dubbo.common.serialize.protobuf.support.wrapper.MapValue; +import org.apache.dubbo.common.serialize.protobuf.support.wrapper.ThrowablePB; import java.io.IOException; import java.io.OutputStream; import java.util.Map; +import java.util.Objects; import static org.apache.dubbo.common.constants.CommonConstants.HEARTBEAT_EVENT; import static org.apache.dubbo.common.constants.CommonConstants.MOCK_HEARTBEAT_EVENT; @@ -119,19 +121,21 @@ public void writeObject(Object obj) throws IOException { } @Override - public void writeEvent(Object data) throws IOException { - if (data == HEARTBEAT_EVENT) { + public void writeEvent(String data) throws IOException { + if (Objects.equals(data, HEARTBEAT_EVENT)) { data = MOCK_HEARTBEAT_EVENT; } - writeUTF((String) data); + writeUTF(data); } @Override - public void writeThrowable(Object obj) throws IOException { - if (obj instanceof Throwable && !(obj instanceof MessageLite)) { - obj = ProtobufUtils.convertToThrowableProto((Throwable) obj); + public void writeThrowable(Throwable obj) throws IOException { + if (!(obj instanceof MessageLite)) { + ThrowablePB.ThrowableProto throwableProto = ProtobufUtils.convertToThrowableProto(obj); + ProtobufUtils.serialize(throwableProto, os); + } else { + ProtobufUtils.serialize(obj, os); } - ProtobufUtils.serialize(obj, os); os.flush(); } diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/AbstractProtobufSerializationTest.java b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/AbstractProtobufSerializationTest.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/AbstractProtobufSerializationTest.java rename to dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/AbstractProtobufSerializationTest.java index 88ad01a2..dc37ad63 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/AbstractProtobufSerializationTest.java +++ b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/AbstractProtobufSerializationTest.java @@ -21,7 +21,6 @@ import org.apache.dubbo.common.serialize.ObjectOutput; import org.apache.dubbo.common.serialize.Serialization; import org.apache.dubbo.common.serialize.protobuf.support.model.GooglePB; - import org.junit.jupiter.api.Test; import java.io.ByteArrayInputStream; diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutputTest.java b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutputTest.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutputTest.java rename to dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutputTest.java index 38f51507..28ad919e 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutputTest.java +++ b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutputTest.java @@ -17,7 +17,6 @@ package org.apache.dubbo.common.serialize.protobuf.support; import org.apache.dubbo.common.serialize.protobuf.support.model.GooglePB; - import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonSerializationTest.java b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonSerializationTest.java similarity index 100% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonSerializationTest.java rename to dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonSerializationTest.java diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufSerializationTest.java b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufSerializationTest.java similarity index 100% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufSerializationTest.java rename to dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufSerializationTest.java diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/GooglePB.java b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/GooglePB.java similarity index 100% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/GooglePB.java rename to dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/GooglePB.java diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/ServiceInterface.java b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/ServiceInterface.java similarity index 100% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/ServiceInterface.java rename to dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/ServiceInterface.java diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/proto/GooglePB.proto b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/proto/GooglePB.proto similarity index 100% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/proto/GooglePB.proto rename to dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/proto/GooglePB.proto diff --git a/dubbo-serialization-extensions/dubbo-serialization-protostuff/pom.xml b/dubbo-serialization-extensions/dubbo-serialization-protostuff/pom.xml index 4fc39f85..98ae33db 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-protostuff/pom.xml +++ b/dubbo-serialization-extensions/dubbo-serialization-protostuff/pom.xml @@ -28,19 +28,32 @@ limitations under the License. dubbo-serialization-protostuff jar ${project.artifactId} - 1.0.2-SNAPSHOT + 3.2.0-SNAPSHOT The protostuff serialization module of dubbo project 1.5.9 + 3.2.7 org.apache.dubbo dubbo-serialization-api + ${dubbo.version} true + + org.apache.dubbo + dubbo-common + ${dubbo.version} + true + + + org.apache.dubbo.extensions + dubbo-serialization-test + 3.2.0-SNAPSHOT + io.protostuff protostuff-core diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffObjectOutputTest.java b/dubbo-serialization-extensions/dubbo-serialization-protostuff/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffObjectOutputTest.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffObjectOutputTest.java rename to dubbo-serialization-extensions/dubbo-serialization-protostuff/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffObjectOutputTest.java index 693a8e3a..d928430a 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffObjectOutputTest.java +++ b/dubbo-serialization-extensions/dubbo-serialization-protostuff/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffObjectOutputTest.java @@ -17,7 +17,6 @@ package org.apache.dubbo.common.serialize.protostuff; import org.apache.dubbo.common.serialize.model.SerializablePerson; - import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffSerializationTest.java b/dubbo-serialization-extensions/dubbo-serialization-protostuff/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffSerializationTest.java similarity index 100% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffSerializationTest.java rename to dubbo-serialization-extensions/dubbo-serialization-protostuff/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffSerializationTest.java diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/pom.xml b/dubbo-serialization-extensions/dubbo-serialization-test/pom.xml index 35412c4d..c82382d0 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/pom.xml +++ b/dubbo-serialization-extensions/dubbo-serialization-test/pom.xml @@ -28,32 +28,21 @@ dubbo-serialization-test jar ${project.artifactId} - ${revision} + 3.2.0-SNAPSHOT The test serialization module of dubbo project true - - org.apache.dubbo.extensions - dubbo-serialization-protostuff - 1.0.2-SNAPSHOT - gson com.google.code.gson 2.8.9 - org.apache.dubbo.extensions - dubbo-serialization-jackson - ${revision} - - - org.apache.dubbo.extensions - dubbo-serialization-protobuf - 1.0.2-SNAPSHOT + org.apache.dubbo + dubbo gson @@ -62,29 +51,14 @@ - org.apache.dubbo.extensions - dubbo-serialization-kryo - 1.0.2-SNAPSHOT - - - org.apache.dubbo.extensions - dubbo-serialization-avro - 1.0.2-SNAPSHOT - - - org.apache.dubbo.extensions - dubbo-serialization-fst - 1.0.2-SNAPSHOT + org.junit.jupiter + junit-jupiter-api + ${junit_jupiter_version} - org.apache.dubbo - dubbo - - - gson - com.google.code.gson - - + org.hamcrest + hamcrest + ${hamcrest_version} diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonFailTest.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonFailTest.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonFailTest.java rename to dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonFailTest.java index 4b9f3b2e..32fa4d92 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonFailTest.java +++ b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonFailTest.java @@ -18,7 +18,6 @@ import org.apache.dubbo.common.serialize.ObjectOutput; import org.apache.dubbo.common.serialize.model.Person; - import org.junit.jupiter.api.Test; import java.io.NotSerializableException; diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonOkTest.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonOkTest.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonOkTest.java rename to dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonOkTest.java index a4b6594c..c449a2c4 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonOkTest.java +++ b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonOkTest.java @@ -17,7 +17,6 @@ package org.apache.dubbo.common.serialize.base; import org.apache.dubbo.common.serialize.model.person.Phone; - import org.junit.jupiter.api.Test; import java.util.ArrayList; diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationTest.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationTest.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationTest.java rename to dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationTest.java index 02afaea7..c0b790d7 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationTest.java +++ b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationTest.java @@ -32,8 +32,6 @@ import org.apache.dubbo.common.serialize.model.person.PersonInfo; import org.apache.dubbo.common.serialize.model.person.PersonStatus; import org.apache.dubbo.common.serialize.model.person.Phone; - -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import java.io.ByteArrayInputStream; @@ -42,6 +40,7 @@ import java.math.BigDecimal; import java.math.BigInteger; import java.sql.Time; + import java.util.ArrayList; import java.util.Arrays; import java.util.Date; diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/AnimalEnum.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/AnimalEnum.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/AnimalEnum.java rename to dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/AnimalEnum.java index 482337de..9b699147 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/AnimalEnum.java +++ b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/AnimalEnum.java @@ -18,4 +18,4 @@ public enum AnimalEnum { dog, cat, rat, cow, bull, horse -} \ No newline at end of file +} diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/BizException.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/BizException.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/BizException.java rename to dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/BizException.java index 96657e77..d00f01d5 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/BizException.java +++ b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/BizException.java @@ -26,4 +26,4 @@ public BizException(String message) { public BizException() { } -} \ No newline at end of file +} diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/BizExceptionNoDefaultConstructor.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/BizExceptionNoDefaultConstructor.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/BizExceptionNoDefaultConstructor.java rename to dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/BizExceptionNoDefaultConstructor.java index ab41fd52..6b32c8a4 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/BizExceptionNoDefaultConstructor.java +++ b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/BizExceptionNoDefaultConstructor.java @@ -23,4 +23,4 @@ public class BizExceptionNoDefaultConstructor extends RuntimeException { public BizExceptionNoDefaultConstructor(String message) { super(message); } -} \ No newline at end of file +} diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/Organization.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/Organization.java similarity index 100% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/Organization.java rename to dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/Organization.java diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/Person.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/Person.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/Person.java rename to dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/Person.java index 5498622e..8777c918 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/Person.java +++ b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/Person.java @@ -92,4 +92,4 @@ public boolean equals(Object obj) { return false; return true; } -} \ No newline at end of file +} diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/SerializablePerson.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/SerializablePerson.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/SerializablePerson.java rename to dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/SerializablePerson.java index b5ecad98..fafd9b26 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/SerializablePerson.java +++ b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/SerializablePerson.java @@ -94,4 +94,4 @@ public boolean equals(Object obj) { return false; return true; } -} \ No newline at end of file +} diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/Image.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/Image.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/Image.java rename to dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/Image.java index da235d2c..cee56426 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/Image.java +++ b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/Image.java @@ -117,4 +117,4 @@ public void setSize(Size size) { public enum Size { SMALL, LARGE } -} \ No newline at end of file +} diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/Media.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/Media.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/Media.java rename to dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/Media.java index 555f847f..7a661a32 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/Media.java +++ b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/Media.java @@ -202,4 +202,4 @@ public void setCopyright(String copyright) { public enum Player { JAVA, FLASH } -} \ No newline at end of file +} diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/MediaContent.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/MediaContent.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/MediaContent.java rename to dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/MediaContent.java index 3b65e999..efe409f0 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/MediaContent.java +++ b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/MediaContent.java @@ -75,4 +75,4 @@ public List getImages() { public void setImages(List images) { this.images = images; } -} \ No newline at end of file +} diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/BigPerson.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/BigPerson.java similarity index 100% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/BigPerson.java rename to dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/BigPerson.java diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/FullAddress.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/FullAddress.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/FullAddress.java rename to dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/FullAddress.java index 4f762cff..debc9e6e 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/FullAddress.java +++ b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/FullAddress.java @@ -199,4 +199,4 @@ public String toString() { return sb.toString(); } -} \ No newline at end of file +} diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/PersonInfo.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/PersonInfo.java similarity index 100% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/PersonInfo.java rename to dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/PersonInfo.java diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/PersonStatus.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/PersonStatus.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/PersonStatus.java rename to dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/PersonStatus.java index f5ae72c8..d2334c05 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/PersonStatus.java +++ b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/PersonStatus.java @@ -19,4 +19,4 @@ public enum PersonStatus { ENABLED, DISABLED -} \ No newline at end of file +} diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/Phone.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/Phone.java similarity index 99% rename from dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/Phone.java rename to dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/Phone.java index 1822eaeb..0143baf0 100644 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/Phone.java +++ b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/Phone.java @@ -136,4 +136,4 @@ public String toString() { return sb.toString(); } -} \ No newline at end of file +} diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonObjectInputTest.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonObjectInputTest.java deleted file mode 100644 index bb6912da..00000000 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonObjectInputTest.java +++ /dev/null @@ -1,202 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.dubbo.common.serialize.jackson; - -import org.apache.dubbo.common.serialize.model.Organization; -import org.apache.dubbo.common.serialize.model.Person; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; - -import java.io.ByteArrayInputStream; -import java.io.EOFException; -import java.io.IOException; -import java.io.StringReader; -import java.lang.reflect.Method; -import java.lang.reflect.Type; -import java.util.List; -import java.util.Map; - -import static org.hamcrest.CoreMatchers.not; -import static org.hamcrest.CoreMatchers.nullValue; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.core.Is.is; -import static org.junit.jupiter.api.Assertions.assertTrue; - -/** - * {@link JacksonObjectInput} Unit Test - */ -public class JacksonObjectInputTest { - - private JacksonObjectInput jacksonObjectInput; - - @Test - public void testReadBool() throws IOException { - jacksonObjectInput = new JacksonObjectInput(new ByteArrayInputStream("true".getBytes())); - boolean result = jacksonObjectInput.readBool(); - - assertThat(result, is(true)); - - jacksonObjectInput = new JacksonObjectInput(new StringReader("false")); - result = jacksonObjectInput.readBool(); - - assertThat(result, is(false)); - } - - @Test - public void testReadByte() throws IOException { - jacksonObjectInput = new JacksonObjectInput(new ByteArrayInputStream("123".getBytes())); - Byte result = jacksonObjectInput.readByte(); - - assertThat(result, is(Byte.parseByte("123"))); - } - - @Test - public void testReadBytes() throws IOException { - jacksonObjectInput = new JacksonObjectInput(new ByteArrayInputStream("123456".getBytes())); - byte[] result = jacksonObjectInput.readBytes(); - - assertThat(result, is("123456".getBytes())); - } - - @Test - public void testReadShort() throws IOException { - jacksonObjectInput = new JacksonObjectInput(new StringReader("1")); - short result = jacksonObjectInput.readShort(); - - assertThat(result, is((short) 1)); - } - - @Test - public void testReadInt() throws IOException { - jacksonObjectInput = new JacksonObjectInput(new StringReader("1")); - Integer result = jacksonObjectInput.readInt(); - - assertThat(result, is(1)); - } - - @Test - public void testReadDouble() throws IOException { - jacksonObjectInput = new JacksonObjectInput(new StringReader("1.88")); - Double result = jacksonObjectInput.readDouble(); - - assertThat(result, is(1.88d)); - } - - @Test - public void testReadLong() throws IOException { - jacksonObjectInput = new JacksonObjectInput(new StringReader("10")); - Long result = jacksonObjectInput.readLong(); - - assertThat(result, is(10L)); - } - - @Test - public void testReadFloat() throws IOException { - jacksonObjectInput = new JacksonObjectInput(new StringReader("1.66")); - Float result = jacksonObjectInput.readFloat(); - - assertThat(result, is(1.66F)); - } - - @Test - public void testReadUTF() throws IOException { - jacksonObjectInput = new JacksonObjectInput(new StringReader("\"wording\"")); - String result = jacksonObjectInput.readUTF(); - - assertThat(result, is("wording")); - } - - @Test - public void testReadObject() throws IOException, ClassNotFoundException { - jacksonObjectInput = new JacksonObjectInput(new StringReader("{ \"name\":\"John\", \"age\":30 }")); - Person result = jacksonObjectInput.readObject(Person.class); - - assertThat(result, not(nullValue())); - assertThat(result.getName(), is("John")); - assertThat(result.getAge(), is(30)); - } - - @Test - public void testEmptyLine() throws IOException, ClassNotFoundException { - Assertions.assertThrows(EOFException.class, () -> { - jacksonObjectInput = new JacksonObjectInput(new StringReader("")); - - jacksonObjectInput.readObject(); - }); - } - - @Test - public void testEmptySpace() throws IOException, ClassNotFoundException { - Assertions.assertThrows(EOFException.class, () -> { - jacksonObjectInput = new JacksonObjectInput(new StringReader(" ")); - - jacksonObjectInput.readObject(); - }); - } - - @Test - public void testReadObjectWithoutClass() throws IOException, ClassNotFoundException, NoSuchFieldException { - jacksonObjectInput = new JacksonObjectInput(new StringReader("{ \"name\":\"John\", \"age\":30 }")); - - Map map = jacksonObjectInput.readObject(Map.class); - - assertThat(map, not(nullValue())); - assertThat(map.get("name"), is("John")); - assertThat(map.get("age"), is(30)); - } - - - @Test - public void testReadObjectWithTowType() throws Exception { - jacksonObjectInput = new JacksonObjectInput(new StringReader("[{\"name\":\"John\",\"age\":30},{\"name\":\"Born\",\"age\":24}]")); - - Method methodReturnType = getClass().getMethod("towLayer"); - Type type = methodReturnType.getGenericReturnType(); - List o = jacksonObjectInput.readObject(List.class, type); - - assertTrue(o instanceof List); - assertTrue(o.get(0) instanceof Person); - - assertThat(o.size(), is(2)); - assertThat(o.get(1).getName(), is("Born")); - } - - @Test - public void testReadObjectWithThreeType() throws Exception { - jacksonObjectInput = new JacksonObjectInput(new StringReader("{\"data\":[{\"name\":\"John\",\"age\":30},{\"name\":\"Born\",\"age\":24}]}")); - - Method methodReturnType = getClass().getMethod("threeLayer"); - Type type = methodReturnType.getGenericReturnType(); - Organization> o = jacksonObjectInput.readObject(Organization.class, type); - - assertTrue(o instanceof Organization); - assertTrue(o.getData() instanceof List); - assertTrue(o.getData().get(0) instanceof Person); - - assertThat(o.getData().size(), is(2)); - assertThat(o.getData().get(1).getName(), is("Born")); - } - - public List towLayer() { - return null; - } - - public Organization> threeLayer() { - return null; - } - -} diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonObjectOutputTest.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonObjectOutputTest.java deleted file mode 100644 index 52f5f014..00000000 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonObjectOutputTest.java +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.dubbo.common.serialize.jackson; - -import org.apache.dubbo.common.serialize.model.media.Image; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.not; -import static org.hamcrest.CoreMatchers.nullValue; -import static org.hamcrest.MatcherAssert.assertThat; - -/** - * {@link JacksonObjectOutput} Unit Test - */ -public class JacksonObjectOutputTest { - - private JacksonObjectOutput jacksonObjectOutput; - private JacksonObjectInput jacksonObjectInput; - private ByteArrayOutputStream byteArrayOutputStream; - private ByteArrayInputStream byteArrayInputStream; - - @BeforeEach - public void setUp() throws Exception { - this.byteArrayOutputStream = new ByteArrayOutputStream(); - this.jacksonObjectOutput = new JacksonObjectOutput(byteArrayOutputStream); - } - - @Test - public void testWriteBool() throws IOException { - this.jacksonObjectOutput.writeBool(true); - this.flushToInput(); - - assertThat(jacksonObjectInput.readBool(), is(true)); - } - - @Test - public void testWriteShort() throws IOException { - this.jacksonObjectOutput.writeShort((short) 2); - this.flushToInput(); - - assertThat(jacksonObjectInput.readShort(), is((short) 2)); - } - - @Test - public void testWriteInt() throws IOException { - this.jacksonObjectOutput.writeInt(1); - this.flushToInput(); - - assertThat(jacksonObjectInput.readInt(), is(1)); - } - - @Test - public void testWriteLong() throws IOException { - this.jacksonObjectOutput.writeLong(1000L); - this.flushToInput(); - - assertThat(jacksonObjectInput.readLong(), is(1000L)); - } - - @Test - public void testWriteUTF() throws IOException { - this.jacksonObjectOutput.writeUTF("Pace Hasîtî 和平 Мир"); - this.flushToInput(); - - assertThat(jacksonObjectInput.readUTF(), is("Pace Hasîtî 和平 Мир")); - } - - - @Test - public void testWriteFloat() throws IOException { - this.jacksonObjectOutput.writeFloat(1.88f); - this.flushToInput(); - - assertThat(this.jacksonObjectInput.readFloat(), is(1.88f)); - } - - @Test - public void testWriteDouble() throws IOException { - this.jacksonObjectOutput.writeDouble(1.66d); - this.flushToInput(); - - assertThat(this.jacksonObjectInput.readDouble(), is(1.66d)); - } - - @Test - public void testWriteBytes() throws IOException { - this.jacksonObjectOutput.writeBytes("hello".getBytes()); - this.flushToInput(); - - assertThat(this.jacksonObjectInput.readBytes(), is("hello".getBytes())); - } - - @Test - public void testWriteBytesWithSubLength() throws IOException { - this.jacksonObjectOutput.writeBytes("hello".getBytes(), 2, 2); - this.flushToInput(); - - assertThat(this.jacksonObjectInput.readBytes(), is("ll".getBytes())); - } - - @Test - public void testWriteByte() throws IOException { - this.jacksonObjectOutput.writeByte((byte) 123); - this.flushToInput(); - - assertThat(this.jacksonObjectInput.readByte(), is((byte) 123)); - } - - @Test - public void testWriteObject() throws IOException, ClassNotFoundException { - Image image = new Image("http://dubbo.apache.org/img/dubbo_white.png", "logo", 300, 480, Image.Size.SMALL); - this.jacksonObjectOutput.writeObject(image); - this.flushToInput(); - - Image readObjectForImage = jacksonObjectInput.readObject(Image.class); - assertThat(readObjectForImage, not(nullValue())); - assertThat(readObjectForImage, is(image)); - } - - private void flushToInput() throws IOException { - this.jacksonObjectOutput.flushBuffer(); - this.byteArrayInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray()); - this.jacksonObjectInput = new JacksonObjectInput(byteArrayInputStream); - } -} diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonSerializationTest.java b/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonSerializationTest.java deleted file mode 100644 index 4d13d193..00000000 --- a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonSerializationTest.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.dubbo.common.serialize.jackson; - -import org.apache.dubbo.common.serialize.ObjectInput; -import org.apache.dubbo.common.serialize.ObjectOutput; -import org.hamcrest.MatcherAssert; -import org.hamcrest.Matchers; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.mockito.Mockito.mock; - -/** - * {@link JacksonSerialization} Unit Test - */ -public class JacksonSerializationTest { - - private JacksonSerialization jacksonSerialization; - - @BeforeEach - public void setUp() { - this.jacksonSerialization = new JacksonSerialization(); - } - - @Test - public void testContentTypeId() { - MatcherAssert.assertThat(jacksonSerialization.getContentTypeId(), is((byte) 18)); - } - - @Test - public void testContentType() { - MatcherAssert.assertThat(jacksonSerialization.getContentType(), is("application/json")); - } - - @Test - public void testObjectOutput() throws IOException { - ObjectOutput objectOutput = jacksonSerialization.serialize(null, mock(OutputStream.class)); - assertThat(objectOutput, Matchers.instanceOf(JacksonObjectOutput.class)); - } - - @Test - public void testObjectInput() throws IOException { - ObjectInput objectInput = jacksonSerialization.deserialize(null, mock(InputStream.class)); - assertThat(objectInput, Matchers.instanceOf(JacksonObjectInput.class)); - } - -}