This is an automated email from the ASF dual-hosted git repository. liubao pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
commit a5c91e69f34d35028c3234391b962900f57dde2e Author: liubao <[email protected]> AuthorDate: Tue Jan 21 13:02:46 2020 +0800 [SCB-1725]turn on integration tests of highway and fix known problem --- .../converter/SwaggerToProtoGenerator.java | 14 +- .../converter/TestSwaggerToProtoGenerator.java | 3 + .../core/definition/OperationConfig.java | 2 +- .../common/utils/LambdaMetafactoryUtils.java | 47 +---- .../foundation/common/utils/bean/BoolSetter.java | 21 -- .../foundation/common/utils/bean/ByteGetter.java | 21 -- .../foundation/common/utils/bean/ByteSetter.java | 21 -- .../foundation/common/utils/bean/DoubleGetter.java | 21 -- .../foundation/common/utils/bean/DoubleSetter.java | 21 -- .../foundation/common/utils/bean/FloatGetter.java | 21 -- .../foundation/common/utils/bean/FloatSetter.java | 21 -- .../foundation/common/utils/bean/IntGetter.java | 21 -- .../foundation/common/utils/bean/IntSetter.java | 21 -- .../foundation/common/utils/bean/LongGetter.java | 21 -- .../foundation/common/utils/bean/LongSetter.java | 21 -- .../foundation/common/utils/bean/ShortGetter.java | 21 -- .../foundation/common/utils/bean/ShortSetter.java | 21 -- .../common/utils/TestLambdaMetafactoryUtils.java | 6 +- .../common/utils/TestLambdaPerformance.java | 3 +- .../scalar/AbstractScalarReadSchemas.java | 6 +- .../deserializer/scalar/BoolReadSchemas.java | 3 +- .../deserializer/scalar/DoubleReadSchemas.java | 3 +- .../deserializer/scalar/EnumsReadSchemas.java | 3 +- .../deserializer/scalar/FloatReadSchemas.java | 3 +- .../serializer/repeated/RepeatedWriteSchemas.java | 41 +--- .../schema/serializer/scalar/BoolWriteSchemas.java | 13 +- .../serializer/scalar/BytesWriteSchemas.java | 8 +- .../serializer/scalar/DoubleWriteSchemas.java | 13 +- .../schema/serializer/scalar/EnumWriteSchemas.java | 14 +- .../serializer/scalar/Fixed32WriteSchemas.java | 11 +- .../serializer/scalar/Fixed64WriteSchemas.java | 11 +- .../serializer/scalar/FloatWriteSchemas.java | 11 +- .../serializer/scalar/Int32WriteSchemas.java | 11 +- .../serializer/scalar/Int64WriteSchemas.java | 11 +- .../serializer/scalar/SFixed32WriteSchemas.java | 11 +- .../serializer/scalar/SFixed64WriteSchemas.java | 11 +- .../serializer/scalar/SInt32WriteSchemas.java | 11 +- .../serializer/scalar/SInt64WriteSchemas.java | 11 +- .../serializer/scalar/StringWriteSchemas.java | 10 +- .../serializer/scalar/UInt32WriteSchemas.java | 11 +- .../serializer/scalar/UInt64WriteSchemas.java | 11 +- .../internal/bean/TestBeanDescriptorManager.java | 10 +- .../schema/objectparams/FlattenObjectRequest.java | 216 ++++++++++----------- .../schema/objectparams/FlattenObjectResponse.java | 216 ++++++++++----------- .../schema/objectparams/RecursiveObjectParam.java | 2 +- .../testcase/TestDefaultJsonValueJaxrsSchema.java | 3 +- .../servicecomb/it/testcase/TestParamCodec.java | 29 +-- .../it/testcase/TestParamCodecEdge.java | 11 +- .../objectparams/TestJAXRSObjectParamType.java | 33 ++-- .../objectparams/TestRPCObjectParamType.java | 30 +-- .../objectparams/TestSpringMVCObjectParamType.java | 95 ++++----- .../it-edge/src/main/resources/microservice.yaml | 11 ++ .../servicecomb/it/schema/ParamCodecSchema.java | 10 - .../it/schema/ParamCodecSchemaRestOnly.java | 23 ++- integration-tests/pom.xml | 3 - 55 files changed, 469 insertions(+), 809 deletions(-) diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/internal/converter/SwaggerToProtoGenerator.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/internal/converter/SwaggerToProtoGenerator.java index 7f38649..c6e1cab 100644 --- a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/internal/converter/SwaggerToProtoGenerator.java +++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/internal/converter/SwaggerToProtoGenerator.java @@ -100,6 +100,13 @@ public class SwaggerToProtoGenerator { return name.replaceAll("\\.", "_"); } + public static boolean isValidEnum(String name) { + if (name.contains(".") || name.contains("-")) { + return false; + } + return true; + } + private void convertDefinitions() { if (swagger.getDefinitions() == null) { return; @@ -250,7 +257,12 @@ public class SwaggerToProtoGenerator { appendLine(msgStringBuilder, "enum %s {", enumName); for (int idx = 0; idx < enums.size(); idx++) { - appendLine(msgStringBuilder, " %s =%d;", enums.get(idx), idx); + if (isValidEnum(enums.get(idx))) { + appendLine(msgStringBuilder, " %s =%d;", enums.get(idx), idx); + } else { + throw new IllegalStateException( + String.format("enum class [%s] name [%s] not supported by protobuffer.", enumName, enums.get(idx))); + } } appendLine(msgStringBuilder, "}"); } diff --git a/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSwaggerToProtoGenerator.java b/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSwaggerToProtoGenerator.java index 9fdc15f..03bd678 100644 --- a/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSwaggerToProtoGenerator.java +++ b/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSwaggerToProtoGenerator.java @@ -52,5 +52,8 @@ public class TestSwaggerToProtoGenerator { Assert.assertEquals("hello_my_service", SwaggerToProtoGenerator.escapeMessageName("hello_my_service")); Assert.assertEquals("hello.my_service", SwaggerToProtoGenerator.escapePackageName("hello.my-service")); Assert.assertEquals("hello.test.test", SwaggerToProtoGenerator.escapePackageName("hello.test.test")); + Assert.assertEquals(false, SwaggerToProtoGenerator.isValidEnum("hello.test.test")); + Assert.assertEquals(false, SwaggerToProtoGenerator.isValidEnum("hello.my-service")); + Assert.assertEquals(true, SwaggerToProtoGenerator.isValidEnum("My_ENum")); } } diff --git a/core/src/main/java/org/apache/servicecomb/core/definition/OperationConfig.java b/core/src/main/java/org/apache/servicecomb/core/definition/OperationConfig.java index c087fce..7a5b7e7 100644 --- a/core/src/main/java/org/apache/servicecomb/core/definition/OperationConfig.java +++ b/core/src/main/java/org/apache/servicecomb/core/definition/OperationConfig.java @@ -86,7 +86,7 @@ public class OperationConfig { private long nanoRestRequestWaitInPoolTimeout; @InjectProperty(keys = { - "operation.${service}.transport", // Deprecated + "operation${op-priority}.transport", // Deprecated "references.transport${op-priority}" }) private String transport; diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/LambdaMetafactoryUtils.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/LambdaMetafactoryUtils.java index 910dd5e..6152f4c 100644 --- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/LambdaMetafactoryUtils.java +++ b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/LambdaMetafactoryUtils.java @@ -25,25 +25,9 @@ import java.lang.invoke.MethodType; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; -import java.util.HashMap; -import java.util.Map; - -import org.apache.servicecomb.foundation.common.utils.bean.BoolGetter; -import org.apache.servicecomb.foundation.common.utils.bean.BoolSetter; -import org.apache.servicecomb.foundation.common.utils.bean.ByteGetter; -import org.apache.servicecomb.foundation.common.utils.bean.ByteSetter; -import org.apache.servicecomb.foundation.common.utils.bean.DoubleGetter; -import org.apache.servicecomb.foundation.common.utils.bean.DoubleSetter; -import org.apache.servicecomb.foundation.common.utils.bean.FloatGetter; -import org.apache.servicecomb.foundation.common.utils.bean.FloatSetter; + import org.apache.servicecomb.foundation.common.utils.bean.Getter; -import org.apache.servicecomb.foundation.common.utils.bean.IntGetter; -import org.apache.servicecomb.foundation.common.utils.bean.IntSetter; -import org.apache.servicecomb.foundation.common.utils.bean.LongGetter; -import org.apache.servicecomb.foundation.common.utils.bean.LongSetter; import org.apache.servicecomb.foundation.common.utils.bean.Setter; -import org.apache.servicecomb.foundation.common.utils.bean.ShortGetter; -import org.apache.servicecomb.foundation.common.utils.bean.ShortSetter; public final class LambdaMetafactoryUtils { private static Field allowedModesField; @@ -53,31 +37,8 @@ public final class LambdaMetafactoryUtils { private static final Lookup LOOKUP = MethodHandles.lookup(); - private static final Map<Class<?>, Class<?>> GETTER_MAP = new HashMap<>(); - - private static final Map<Class<?>, Class<?>> SETTER_MAP = new HashMap<>(); - static { enhanceLambda(); - initGetterSetterMap(); - } - - private static void initGetterSetterMap() { - GETTER_MAP.put(boolean.class, BoolGetter.class); - GETTER_MAP.put(byte.class, ByteGetter.class); - GETTER_MAP.put(short.class, ShortGetter.class); - GETTER_MAP.put(int.class, IntGetter.class); - GETTER_MAP.put(long.class, LongGetter.class); - GETTER_MAP.put(float.class, FloatGetter.class); - GETTER_MAP.put(double.class, DoubleGetter.class); - - SETTER_MAP.put(boolean.class, BoolSetter.class); - SETTER_MAP.put(byte.class, ByteSetter.class); - SETTER_MAP.put(short.class, ShortSetter.class); - SETTER_MAP.put(int.class, IntSetter.class); - SETTER_MAP.put(long.class, LongSetter.class); - SETTER_MAP.put(float.class, FloatSetter.class); - SETTER_MAP.put(double.class, DoubleSetter.class); } private static void enhanceLambda() { @@ -163,8 +124,7 @@ public final class LambdaMetafactoryUtils { } public static <T> T createGetter(Method getMethod) { - Class<?> getterCls = GETTER_MAP.getOrDefault(getMethod.getReturnType(), Getter.class); - return createLambda(getMethod, getterCls); + return createLambda(getMethod, Getter.class); } // slower than reflect directly @@ -181,8 +141,7 @@ public final class LambdaMetafactoryUtils { } public static <T> T createSetter(Method setMethod) throws Throwable { - Class<?> setterCls = SETTER_MAP.getOrDefault(setMethod.getParameterTypes()[0], Setter.class); - return createLambda(setMethod, setterCls); + return createLambda(setMethod, Setter.class); } // slower than reflect directly diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/BoolSetter.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/BoolSetter.java deleted file mode 100644 index 8cbacb5..0000000 --- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/BoolSetter.java +++ /dev/null @@ -1,21 +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.servicecomb.foundation.common.utils.bean; - -public interface BoolSetter<T> { - void set(T instance, boolean value); -} diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/ByteGetter.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/ByteGetter.java deleted file mode 100644 index c4bab67..0000000 --- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/ByteGetter.java +++ /dev/null @@ -1,21 +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.servicecomb.foundation.common.utils.bean; - -public interface ByteGetter<T> { - byte get(T instance); -} diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/ByteSetter.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/ByteSetter.java deleted file mode 100644 index 952d06b..0000000 --- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/ByteSetter.java +++ /dev/null @@ -1,21 +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.servicecomb.foundation.common.utils.bean; - -public interface ByteSetter<T> { - void set(T instance, byte value); -} diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/DoubleGetter.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/DoubleGetter.java deleted file mode 100644 index 5349c4c..0000000 --- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/DoubleGetter.java +++ /dev/null @@ -1,21 +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.servicecomb.foundation.common.utils.bean; - -public interface DoubleGetter<T> { - double get(T instance); -} diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/DoubleSetter.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/DoubleSetter.java deleted file mode 100644 index c39a802..0000000 --- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/DoubleSetter.java +++ /dev/null @@ -1,21 +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.servicecomb.foundation.common.utils.bean; - -public interface DoubleSetter<T> { - void set(T instance, double value); -} diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/FloatGetter.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/FloatGetter.java deleted file mode 100644 index 405d233..0000000 --- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/FloatGetter.java +++ /dev/null @@ -1,21 +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.servicecomb.foundation.common.utils.bean; - -public interface FloatGetter<T> { - float get(T instance); -} diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/FloatSetter.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/FloatSetter.java deleted file mode 100644 index 7d4b75a..0000000 --- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/FloatSetter.java +++ /dev/null @@ -1,21 +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.servicecomb.foundation.common.utils.bean; - -public interface FloatSetter<T> { - void set(T instance, float value); -} diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/IntGetter.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/IntGetter.java deleted file mode 100644 index b7aaf29..0000000 --- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/IntGetter.java +++ /dev/null @@ -1,21 +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.servicecomb.foundation.common.utils.bean; - -public interface IntGetter<T> { - int get(T instance); -} diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/IntSetter.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/IntSetter.java deleted file mode 100644 index 0a0425e..0000000 --- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/IntSetter.java +++ /dev/null @@ -1,21 +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.servicecomb.foundation.common.utils.bean; - -public interface IntSetter<T> { - void set(T instance, int value); -} diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/LongGetter.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/LongGetter.java deleted file mode 100644 index 8f4d68d..0000000 --- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/LongGetter.java +++ /dev/null @@ -1,21 +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.servicecomb.foundation.common.utils.bean; - -public interface LongGetter<T> { - long get(T instance); -} diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/LongSetter.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/LongSetter.java deleted file mode 100644 index a0ba4f9..0000000 --- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/LongSetter.java +++ /dev/null @@ -1,21 +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.servicecomb.foundation.common.utils.bean; - -public interface LongSetter<T> { - void set(T instance, long value); -} diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/ShortGetter.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/ShortGetter.java deleted file mode 100644 index bea64f4..0000000 --- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/ShortGetter.java +++ /dev/null @@ -1,21 +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.servicecomb.foundation.common.utils.bean; - -public interface ShortGetter<T> { - short get(T instance); -} diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/ShortSetter.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/ShortSetter.java deleted file mode 100644 index db741cb..0000000 --- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/ShortSetter.java +++ /dev/null @@ -1,21 +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.servicecomb.foundation.common.utils.bean; - -public interface ShortSetter<T> { - void set(T instance, short value); -} diff --git a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestLambdaMetafactoryUtils.java b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestLambdaMetafactoryUtils.java index 40672cb..fc4f39b 100644 --- a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestLambdaMetafactoryUtils.java +++ b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestLambdaMetafactoryUtils.java @@ -25,8 +25,6 @@ import java.util.function.Function; import java.util.function.Supplier; import org.apache.servicecomb.foundation.common.utils.bean.Getter; -import org.apache.servicecomb.foundation.common.utils.bean.IntGetter; -import org.apache.servicecomb.foundation.common.utils.bean.IntSetter; import org.apache.servicecomb.foundation.common.utils.bean.Setter; import org.hamcrest.Matchers; import org.junit.Assert; @@ -70,8 +68,8 @@ public class TestLambdaMetafactoryUtils { @SuppressWarnings("unchecked") @Test public void createGetterSetterByMethod() throws Throwable { - IntGetter<Model> getter = LambdaMetafactoryUtils.createGetter(Model.class.getMethod("getF1")); - IntSetter<Model> setter = LambdaMetafactoryUtils.createSetter(Model.class.getMethod("setF1", int.class)); + Getter<Model, Integer> getter = LambdaMetafactoryUtils.createGetter(Model.class.getMethod("getF1")); + Setter<Model, Integer> setter = LambdaMetafactoryUtils.createSetter(Model.class.getMethod("setF1", int.class)); BiFunction<Object, Object, Object> echo = LambdaMetafactoryUtils .createLambda(Model.class.getMethod("echo", List.class), BiFunction.class); diff --git a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestLambdaPerformance.java b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestLambdaPerformance.java index ab92c86..d60c068 100644 --- a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestLambdaPerformance.java +++ b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestLambdaPerformance.java @@ -24,7 +24,6 @@ import java.lang.reflect.Method; import org.apache.servicecomb.foundation.common.utils.TestLambdaMetafactoryUtils.Model; import org.apache.servicecomb.foundation.common.utils.bean.Getter; -import org.apache.servicecomb.foundation.common.utils.bean.IntGetter; public class TestLambdaPerformance { static Model model = new Model(); @@ -38,7 +37,7 @@ public class TestLambdaPerformance { static MethodHandle mh_f1_getter; - static IntGetter<Model> lambda_f1_method_getter; + static Getter<Model, Integer> lambda_f1_method_getter; static Field f1_field; diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/AbstractScalarReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/AbstractScalarReadSchemas.java index 83366a4..89bfb0d 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/AbstractScalarReadSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/AbstractScalarReadSchemas.java @@ -16,8 +16,6 @@ */ package org.apache.servicecomb.foundation.protobuf.internal.schema.deserializer.scalar; -import org.apache.servicecomb.foundation.common.utils.bean.IntSetter; -import org.apache.servicecomb.foundation.common.utils.bean.LongSetter; import org.apache.servicecomb.foundation.common.utils.bean.Setter; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -35,7 +33,7 @@ public class AbstractScalarReadSchemas { } static abstract class AbstractIntPrimitiveSchema<T> extends FieldSchema<T> { - protected final IntSetter<T> setter; + protected final Setter<T, Integer> setter; public AbstractIntPrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor.getJavaType()); @@ -53,7 +51,7 @@ public class AbstractScalarReadSchemas { } static abstract class AbstractLongPrimitiveSchema<T> extends FieldSchema<T> { - protected final LongSetter<T> setter; + protected final Setter<T, Long> setter; public AbstractLongPrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor.getJavaType()); diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/BoolReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/BoolReadSchemas.java index a6b1e75..d543a7b 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/BoolReadSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/BoolReadSchemas.java @@ -18,7 +18,6 @@ package org.apache.servicecomb.foundation.protobuf.internal.schema.deserializer. import java.io.IOException; -import org.apache.servicecomb.foundation.common.utils.bean.BoolSetter; import org.apache.servicecomb.foundation.common.utils.bean.Setter; import org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -61,7 +60,7 @@ public class BoolReadSchemas { } private static class BooleanPrimitiveSchema<T> extends FieldSchema<T> { - private final BoolSetter<T> setter; + private final Setter<T, Boolean> setter; public BooleanPrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor.getJavaType()); diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/DoubleReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/DoubleReadSchemas.java index dbac060..2eb5fa1 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/DoubleReadSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/DoubleReadSchemas.java @@ -18,7 +18,6 @@ package org.apache.servicecomb.foundation.protobuf.internal.schema.deserializer. import java.io.IOException; -import org.apache.servicecomb.foundation.common.utils.bean.DoubleSetter; import org.apache.servicecomb.foundation.common.utils.bean.Setter; import org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -61,7 +60,7 @@ public class DoubleReadSchemas { } private static class DoublePrimitiveSchema<T> extends FieldSchema<T> { - private final DoubleSetter<T> setter; + private final Setter<T, Double> setter; public DoublePrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor.getJavaType()); diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/EnumsReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/EnumsReadSchemas.java index 1ca9fed..2299b05 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/EnumsReadSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/EnumsReadSchemas.java @@ -18,7 +18,6 @@ package org.apache.servicecomb.foundation.protobuf.internal.schema.deserializer. import java.io.IOException; -import org.apache.servicecomb.foundation.common.utils.bean.IntSetter; import org.apache.servicecomb.foundation.common.utils.bean.Setter; import org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -96,7 +95,7 @@ public class EnumsReadSchemas { } private static class IntPrimitiveEnumSchema<T> extends FieldSchema<T> { - private final IntSetter<T> setter; + private final Setter<T, Integer> setter; public IntPrimitiveEnumSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor.getJavaType()); diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/FloatReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/FloatReadSchemas.java index 46879c1..971329d 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/FloatReadSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/scalar/FloatReadSchemas.java @@ -18,7 +18,6 @@ package org.apache.servicecomb.foundation.protobuf.internal.schema.deserializer. import java.io.IOException; -import org.apache.servicecomb.foundation.common.utils.bean.FloatSetter; import org.apache.servicecomb.foundation.common.utils.bean.Setter; import org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -61,7 +60,7 @@ public class FloatReadSchemas { } private static class FloatPrimitiveSchema<T> extends FieldSchema<T> { - private final FloatSetter<T> setter; + private final Setter<T, Float> setter; public FloatPrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor.getJavaType()); diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/repeated/RepeatedWriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/repeated/RepeatedWriteSchemas.java index 4a7702f..5d0a332 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/repeated/RepeatedWriteSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/repeated/RepeatedWriteSchemas.java @@ -17,13 +17,10 @@ package org.apache.servicecomb.foundation.protobuf.internal.schema.serializer.repeated; import java.io.IOException; -import java.util.Collection; import org.apache.servicecomb.foundation.common.utils.bean.Getter; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; -import com.fasterxml.jackson.databind.JavaType; - import io.protostuff.OutputEx; import io.protostuff.compiler.model.Field; import io.protostuff.runtime.FieldSchema; @@ -32,16 +29,7 @@ public class RepeatedWriteSchemas { public static <T, ELE_TYPE> FieldSchema<T> create(Field protoField, PropertyDescriptor propertyDescriptor, AbstractWriters<ELE_TYPE> writers) { - JavaType javaType = propertyDescriptor.getJavaType(); - if (writers.arrayClass.isAssignableFrom(javaType.getRawClass())) { - return new ArraySchema<>(protoField, propertyDescriptor, writers); - } - - if (Collection.class.isAssignableFrom(javaType.getRawClass())) { - return new CollectionSchema<>(protoField, propertyDescriptor, writers); - } - - return new DynamicSchema<>(protoField, propertyDescriptor, writers); + return new CollectionSchema<>(protoField, propertyDescriptor, writers); } static class DynamicSchema<T, ELE_TYPE> extends FieldSchema<T> { @@ -62,28 +50,8 @@ public class RepeatedWriteSchemas { } } - private static class ArraySchema<T, ELE_TYPE> extends DynamicSchema<T, ELE_TYPE> { - private final Getter<T, ELE_TYPE[]> getter; - - public ArraySchema(Field protoField, PropertyDescriptor propertyDescriptor, - AbstractWriters<ELE_TYPE> writers) { - super(protoField, propertyDescriptor, writers); - this.getter = propertyDescriptor.getGetter(); - } - - @Override - public final void getAndWriteTo(OutputEx output, T message) throws IOException { - ELE_TYPE[] value = getter.get(message); - if (value == null) { - return; - } - - writers.arrayWriter.writeTo(output, value); - } - } - private static class CollectionSchema<T, ELE_TYPE> extends DynamicSchema<T, ELE_TYPE> { - private final Getter<T, Collection<ELE_TYPE>> getter; + private final Getter<T, Object> getter; public CollectionSchema(Field protoField, PropertyDescriptor propertyDescriptor, AbstractWriters<ELE_TYPE> writers) { @@ -93,12 +61,11 @@ public class RepeatedWriteSchemas { @Override public final void getAndWriteTo(OutputEx output, T message) throws IOException { - Collection<ELE_TYPE> value = getter.get(message); + Object value = getter.get(message); if (value == null) { return; } - - writers.collectionWriter.writeTo(output, value); + this.writeTo(output, value); } } } diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/BoolWriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/BoolWriteSchemas.java index a687a82..9b5711e 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/BoolWriteSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/BoolWriteSchemas.java @@ -18,7 +18,6 @@ package org.apache.servicecomb.foundation.protobuf.internal.schema.serializer.sc import java.io.IOException; -import org.apache.servicecomb.foundation.common.utils.bean.BoolGetter; import org.apache.servicecomb.foundation.common.utils.bean.Getter; import org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -37,7 +36,7 @@ public class BoolWriteSchemas { return new BooleanSchema<>(protoField, propertyDescriptor); } - return new BooleanDynamicSchema<>(protoField, propertyDescriptor); + return new BooleanSchema<>(protoField, propertyDescriptor); } private static class BooleanDynamicSchema<T> extends FieldSchema<T> { @@ -77,25 +76,25 @@ public class BoolWriteSchemas { } private static class BooleanSchema<T> extends BooleanDynamicSchema<T> { - protected final Getter<T, Boolean> getter; + protected final Getter<T, Object> getter; public BooleanSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); - this.getter = javaType.isPrimitive() ? null : propertyDescriptor.getGetter(); + this.getter = propertyDescriptor.getGetter(); } @Override public final void getAndWriteTo(OutputEx output, T message) throws IOException { - Boolean value = getter.get(message); + Object value = getter.get(message); if (value != null) { - output.writeScalarBool(tag, tagSize, value); + writeTo(output, value); } } } private static class BooleanPrimitiveSchema<T> extends BooleanDynamicSchema<T> { - private final BoolGetter<T> primitiveGetter; + private final Getter<T, Boolean> primitiveGetter; public BooleanPrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/BytesWriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/BytesWriteSchemas.java index 03352c5..865e4a7 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/BytesWriteSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/BytesWriteSchemas.java @@ -32,7 +32,7 @@ public class BytesWriteSchemas { return new BytesSchema<>(protoField, propertyDescriptor); } - return new BytesDynamicSchema<>(protoField, propertyDescriptor); + return new BytesSchema<>(protoField, propertyDescriptor); } private static class BytesDynamicSchema<T> extends FieldSchema<T> { @@ -52,7 +52,7 @@ public class BytesWriteSchemas { } private static class BytesSchema<T> extends BytesDynamicSchema<T> { - protected final Getter<T, byte[]> getter; + protected final Getter<T, Object> getter; public BytesSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); @@ -62,9 +62,9 @@ public class BytesWriteSchemas { @Override public final void getAndWriteTo(OutputEx output, T message) throws IOException { - byte[] value = getter.get(message); + Object value = getter.get(message); if (value != null) { - output.writeByteArray(tag, tagSize, value); + writeTo(output, value); } } } diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/DoubleWriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/DoubleWriteSchemas.java index 5839ba0..174ed3c 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/DoubleWriteSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/DoubleWriteSchemas.java @@ -18,7 +18,6 @@ package org.apache.servicecomb.foundation.protobuf.internal.schema.serializer.sc import java.io.IOException; -import org.apache.servicecomb.foundation.common.utils.bean.DoubleGetter; import org.apache.servicecomb.foundation.common.utils.bean.Getter; import org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -37,7 +36,7 @@ public class DoubleWriteSchemas { return new DoubleSchema<>(protoField, propertyDescriptor); } - return new DoubleDynamicSchema<>(protoField, propertyDescriptor); + return new DoubleSchema<>(protoField, propertyDescriptor); } private static class DoubleDynamicSchema<T> extends FieldSchema<T> { @@ -72,25 +71,25 @@ public class DoubleWriteSchemas { } private static class DoubleSchema<T> extends DoubleDynamicSchema<T> { - protected final Getter<T, Double> getter; + protected final Getter<T, Object> getter; public DoubleSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); - this.getter = javaType.isPrimitive() ? null : propertyDescriptor.getGetter(); + this.getter = propertyDescriptor.getGetter(); } @Override public final void getAndWriteTo(OutputEx output, T message) throws IOException { - Double value = getter.get(message); + Object value = getter.get(message); if (value != null) { - output.writeScalarDouble(tag, tagSize, value); + writeTo(output, value); } } } private static class DoublePrimitiveSchema<T> extends DoubleDynamicSchema<T> { - private final DoubleGetter<T> primitiveGetter; + private final Getter<T, Double> primitiveGetter; public DoublePrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/EnumWriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/EnumWriteSchemas.java index 09f26f4..b7d0754 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/EnumWriteSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/EnumWriteSchemas.java @@ -34,7 +34,7 @@ public class EnumWriteSchemas { return new EnumSchema<>(protoField, propertyDescriptor); } - return new EnumDynamicSchema<>(protoField, propertyDescriptor); + return new EnumSchema<>(protoField, propertyDescriptor); } private static class EnumDynamicSchema<T> extends FieldSchema<T> { @@ -106,23 +106,19 @@ public class EnumWriteSchemas { } private static class EnumSchema<T> extends EnumDynamicSchema<T> { - protected final Getter<T, Enum<?>> getter; + protected final Getter<T, Object> getter; public EnumSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); - this.getter = javaType.isPrimitive() ? null : propertyDescriptor.getGetter(); + this.getter = propertyDescriptor.getGetter(); } @Override public final void getAndWriteTo(OutputEx output, T message) throws IOException { - // already be a Enum, need to check if it is a valid Enum? - // wrong case: - // expect a Color enum, but be a Sharp enum?, who will do this? - // for safe, check it...... - Enum<?> value = getter.get(message); + Object value = getter.get(message); if (value != null) { - stringWrite(output, value.name()); + writeTo(output, value); } } } diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Fixed32WriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Fixed32WriteSchemas.java index f4c6f6e..546accf 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Fixed32WriteSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Fixed32WriteSchemas.java @@ -19,7 +19,6 @@ package org.apache.servicecomb.foundation.protobuf.internal.schema.serializer.sc import java.io.IOException; import org.apache.servicecomb.foundation.common.utils.bean.Getter; -import org.apache.servicecomb.foundation.common.utils.bean.IntGetter; import org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -37,7 +36,7 @@ public class Fixed32WriteSchemas { return new Fixed32Schema<>(protoField, propertyDescriptor); } - return new Fixed32DynamicSchema<>(protoField, propertyDescriptor); + return new Fixed32Schema<>(protoField, propertyDescriptor); } private static class Fixed32DynamicSchema<T> extends FieldSchema<T> { @@ -72,7 +71,7 @@ public class Fixed32WriteSchemas { } private static class Fixed32Schema<T> extends Fixed32DynamicSchema<T> { - protected final Getter<T, Integer> getter; + protected final Getter<T, Object> getter; public Fixed32Schema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); @@ -82,15 +81,15 @@ public class Fixed32WriteSchemas { @Override public final void getAndWriteTo(OutputEx output, T message) throws IOException { - Integer value = getter.get(message); + Object value = getter.get(message); if (value != null) { - output.writeScalarFixed32(tag, tagSize, value); + writeTo(output, value); } } } private static class Fixed32PrimitiveSchema<T> extends Fixed32DynamicSchema<T> { - private final IntGetter<T> primitiveGetter; + private final Getter<T, Integer> primitiveGetter; public Fixed32PrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Fixed64WriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Fixed64WriteSchemas.java index b3addeb..f4fad8b 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Fixed64WriteSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Fixed64WriteSchemas.java @@ -19,7 +19,6 @@ package org.apache.servicecomb.foundation.protobuf.internal.schema.serializer.sc import java.io.IOException; import org.apache.servicecomb.foundation.common.utils.bean.Getter; -import org.apache.servicecomb.foundation.common.utils.bean.LongGetter; import org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -37,7 +36,7 @@ public class Fixed64WriteSchemas { return new Fixed64Schema<>(protoField, propertyDescriptor); } - return new Fixed64DynamicSchema<>(protoField, propertyDescriptor); + return new Fixed64Schema<>(protoField, propertyDescriptor); } private static class Fixed64DynamicSchema<T> extends FieldSchema<T> { @@ -72,7 +71,7 @@ public class Fixed64WriteSchemas { } private static class Fixed64Schema<T> extends Fixed64DynamicSchema<T> { - protected final Getter<T, Long> getter; + protected final Getter<T, Object> getter; public Fixed64Schema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); @@ -82,15 +81,15 @@ public class Fixed64WriteSchemas { @Override public final void getAndWriteTo(OutputEx output, T message) throws IOException { - Long value = getter.get(message); + Object value = getter.get(message); if (value != null) { - output.writeScalarFixed64(tag, tagSize, value); + writeTo(output, value); } } } private static class Fixed64PrimitiveSchema<T> extends Fixed64DynamicSchema<T> { - private final LongGetter<T> primitiveGetter; + private final Getter<T, Long> primitiveGetter; public Fixed64PrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/FloatWriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/FloatWriteSchemas.java index 7687c4d..c721b9b 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/FloatWriteSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/FloatWriteSchemas.java @@ -18,7 +18,6 @@ package org.apache.servicecomb.foundation.protobuf.internal.schema.serializer.sc import java.io.IOException; -import org.apache.servicecomb.foundation.common.utils.bean.FloatGetter; import org.apache.servicecomb.foundation.common.utils.bean.Getter; import org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -37,7 +36,7 @@ public class FloatWriteSchemas { return new FloatSchema<>(protoField, propertyDescriptor); } - return new FloatDynamicSchema<>(protoField, propertyDescriptor); + return new FloatSchema<>(protoField, propertyDescriptor); } private static class FloatDynamicSchema<T> extends FieldSchema<T> { @@ -72,7 +71,7 @@ public class FloatWriteSchemas { } private static class FloatSchema<T> extends FloatDynamicSchema<T> { - protected final Getter<T, Float> getter; + protected final Getter<T, Object> getter; public FloatSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); @@ -82,15 +81,15 @@ public class FloatWriteSchemas { @Override public final void getAndWriteTo(OutputEx output, T message) throws IOException { - Float value = getter.get(message); + Object value = getter.get(message); if (value != null) { - output.writeScalarFloat(tag, tagSize, value); + writeTo(output, value); } } } private static class FloatPrimitiveSchema<T> extends FloatDynamicSchema<T> { - private final FloatGetter<T> primitiveGetter; + private final Getter<T, Float> primitiveGetter; public FloatPrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Int32WriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Int32WriteSchemas.java index 615afb6..8d202d6 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Int32WriteSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Int32WriteSchemas.java @@ -19,7 +19,6 @@ package org.apache.servicecomb.foundation.protobuf.internal.schema.serializer.sc import java.io.IOException; import org.apache.servicecomb.foundation.common.utils.bean.Getter; -import org.apache.servicecomb.foundation.common.utils.bean.IntGetter; import org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -37,7 +36,7 @@ public final class Int32WriteSchemas { return new Int32Schema<>(protoField, propertyDescriptor); } - return new Int32DynamicSchema<>(protoField, propertyDescriptor); + return new Int32Schema<>(protoField, propertyDescriptor); } private static class Int32DynamicSchema<T> extends FieldSchema<T> { @@ -75,7 +74,7 @@ public final class Int32WriteSchemas { } private static class Int32Schema<T> extends Int32DynamicSchema<T> { - protected final Getter<T, Integer> getter; + protected final Getter<T, Object> getter; public Int32Schema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); @@ -85,15 +84,15 @@ public final class Int32WriteSchemas { @Override public final void getAndWriteTo(OutputEx output, T message) throws IOException { - Integer value = getter.get(message); + Object value = getter.get(message); if (value != null) { - output.writeScalarInt32(tag, tagSize, value); + writeTo(output, value); } } } private static final class Int32PrimitiveSchema<T> extends Int32DynamicSchema<T> { - private final IntGetter<T> primitiveGetter; + private final Getter<T, Integer> primitiveGetter; public Int32PrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Int64WriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Int64WriteSchemas.java index 71edff8..1856229 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Int64WriteSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Int64WriteSchemas.java @@ -22,7 +22,6 @@ import java.time.temporal.ChronoField; import java.util.Date; import org.apache.servicecomb.foundation.common.utils.bean.Getter; -import org.apache.servicecomb.foundation.common.utils.bean.LongGetter; import org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -40,7 +39,7 @@ public class Int64WriteSchemas { return new Int64Schema<>(protoField, propertyDescriptor); } - return new Int64DynamicSchema<>(protoField, propertyDescriptor); + return new Int64Schema<>(protoField, propertyDescriptor); } private static class Int64DynamicSchema<T> extends FieldSchema<T> { @@ -87,7 +86,7 @@ public class Int64WriteSchemas { } private static class Int64Schema<T> extends Int64DynamicSchema<T> { - protected final Getter<T, Long> getter; + protected final Getter<T, Object> getter; public Int64Schema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); @@ -97,15 +96,15 @@ public class Int64WriteSchemas { @Override public final void getAndWriteTo(OutputEx output, T message) throws IOException { - Long value = getter.get(message); + Object value = getter.get(message); if (value != null) { - output.writeScalarInt64(tag, tagSize, value); + this.writeTo(output, value); } } } private static final class Int64PrimitiveSchema<T> extends Int64DynamicSchema<T> { - private final LongGetter<T> primitiveGetter; + private final Getter<T, Long> primitiveGetter; public Int64PrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/SFixed32WriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/SFixed32WriteSchemas.java index b803b07..fe4fddc 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/SFixed32WriteSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/SFixed32WriteSchemas.java @@ -19,7 +19,6 @@ package org.apache.servicecomb.foundation.protobuf.internal.schema.serializer.sc import java.io.IOException; import org.apache.servicecomb.foundation.common.utils.bean.Getter; -import org.apache.servicecomb.foundation.common.utils.bean.IntGetter; import org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -37,7 +36,7 @@ public class SFixed32WriteSchemas { return new SFixed32Schema<>(protoField, propertyDescriptor); } - return new SFixed32DynamicSchema<>(protoField, propertyDescriptor); + return new SFixed32Schema<>(protoField, propertyDescriptor); } private static class SFixed32DynamicSchema<T> extends FieldSchema<T> { @@ -72,7 +71,7 @@ public class SFixed32WriteSchemas { } private static class SFixed32Schema<T> extends SFixed32DynamicSchema<T> { - protected final Getter<T, Integer> getter; + protected final Getter<T, Object> getter; public SFixed32Schema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); @@ -82,15 +81,15 @@ public class SFixed32WriteSchemas { @Override public final void getAndWriteTo(OutputEx output, T message) throws IOException { - Integer value = getter.get(message); + Object value = getter.get(message); if (value != null) { - output.writeScalarSFixed32(tag, tagSize, value); + writeTo(output, value); } } } private static class SFixed32PrimitiveSchema<T> extends SFixed32DynamicSchema<T> { - private final IntGetter<T> primitiveGetter; + private final Getter<T, Integer> primitiveGetter; public SFixed32PrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/SFixed64WriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/SFixed64WriteSchemas.java index 7803f55..4f1432e 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/SFixed64WriteSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/SFixed64WriteSchemas.java @@ -19,7 +19,6 @@ package org.apache.servicecomb.foundation.protobuf.internal.schema.serializer.sc import java.io.IOException; import org.apache.servicecomb.foundation.common.utils.bean.Getter; -import org.apache.servicecomb.foundation.common.utils.bean.LongGetter; import org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -37,7 +36,7 @@ public class SFixed64WriteSchemas { return new SFixed64Schema<>(protoField, propertyDescriptor); } - return new SFixed64DynamicSchema<>(protoField, propertyDescriptor); + return new SFixed64Schema<>(protoField, propertyDescriptor); } private static class SFixed64DynamicSchema<T> extends FieldSchema<T> { @@ -72,7 +71,7 @@ public class SFixed64WriteSchemas { } private static class SFixed64Schema<T> extends SFixed64DynamicSchema<T> { - protected final Getter<T, Long> getter; + protected final Getter<T, Object> getter; public SFixed64Schema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); @@ -82,15 +81,15 @@ public class SFixed64WriteSchemas { @Override public final void getAndWriteTo(OutputEx output, T message) throws IOException { - Long value = getter.get(message); + Object value = getter.get(message); if (value != null) { - output.writeScalarSFixed64(tag, tagSize, value); + writeTo(output, value); } } } private static class SFixed64PrimitiveSchema<T> extends SFixed64DynamicSchema<T> { - private final LongGetter<T> primitiveGetter; + private final Getter<T, Long> primitiveGetter; public SFixed64PrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/SInt32WriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/SInt32WriteSchemas.java index 343926d..18d5413 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/SInt32WriteSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/SInt32WriteSchemas.java @@ -19,7 +19,6 @@ package org.apache.servicecomb.foundation.protobuf.internal.schema.serializer.sc import java.io.IOException; import org.apache.servicecomb.foundation.common.utils.bean.Getter; -import org.apache.servicecomb.foundation.common.utils.bean.IntGetter; import org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -37,7 +36,7 @@ public class SInt32WriteSchemas { return new SInt32Schema<>(protoField, propertyDescriptor); } - return new SInt32DynamicSchema<>(protoField, propertyDescriptor); + return new SInt32Schema<>(protoField, propertyDescriptor); } private static class SInt32DynamicSchema<T> extends FieldSchema<T> { @@ -72,7 +71,7 @@ public class SInt32WriteSchemas { } private static class SInt32Schema<T> extends SInt32DynamicSchema<T> { - protected final Getter<T, Integer> getter; + protected final Getter<T, Object> getter; public SInt32Schema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); @@ -82,15 +81,15 @@ public class SInt32WriteSchemas { @Override public final void getAndWriteTo(OutputEx output, T message) throws IOException { - Integer value = getter.get(message); + Object value = getter.get(message); if (value != null) { - output.writeScalarSInt32(tag, tagSize, value); + writeTo(output, value); } } } private static class SInt32PrimitiveSchema<T> extends SInt32DynamicSchema<T> { - private final IntGetter<T> primitiveGetter; + private final Getter<T, Integer> primitiveGetter; public SInt32PrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/SInt64WriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/SInt64WriteSchemas.java index 16a41fc..f085b2c 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/SInt64WriteSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/SInt64WriteSchemas.java @@ -19,7 +19,6 @@ package org.apache.servicecomb.foundation.protobuf.internal.schema.serializer.sc import java.io.IOException; import org.apache.servicecomb.foundation.common.utils.bean.Getter; -import org.apache.servicecomb.foundation.common.utils.bean.LongGetter; import org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -37,7 +36,7 @@ public class SInt64WriteSchemas { return new SInt64Schema<>(protoField, propertyDescriptor); } - return new SInt64DynamicSchema<>(protoField, propertyDescriptor); + return new SInt64Schema<>(protoField, propertyDescriptor); } private static class SInt64DynamicSchema<T> extends FieldSchema<T> { @@ -72,7 +71,7 @@ public class SInt64WriteSchemas { } private static class SInt64Schema<T> extends SInt64DynamicSchema<T> { - protected final Getter<T, Long> getter; + protected final Getter<T, Object> getter; public SInt64Schema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); @@ -82,15 +81,15 @@ public class SInt64WriteSchemas { @Override public final void getAndWriteTo(OutputEx output, T message) throws IOException { - Long value = getter.get(message); + Object value = getter.get(message); if (value != null) { - output.writeScalarSInt64(tag, tagSize, value); + writeTo(output, value); } } } private static class SInt64PrimitiveSchema<T> extends SInt64DynamicSchema<T> { - private final LongGetter<T> primitiveGetter; + private final Getter<T, Long> primitiveGetter; public SInt64PrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/StringWriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/StringWriteSchemas.java index 8434e79..18051d6 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/StringWriteSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/StringWriteSchemas.java @@ -32,7 +32,7 @@ public class StringWriteSchemas { return new StringSchema<>(protoField, propertyDescriptor); } - return new StringDynamicSchema<>(protoField, propertyDescriptor); + return new StringSchema<>(protoField, propertyDescriptor); } private static class StringDynamicSchema<T> extends FieldSchema<T> { @@ -65,19 +65,19 @@ public class StringWriteSchemas { } private static class StringSchema<T> extends StringDynamicSchema<T> { - protected final Getter<T, String> getter; + protected final Getter<T, Object> getter; public StringSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); - this.getter = javaType.isPrimitive() ? null : propertyDescriptor.getGetter(); + this.getter = propertyDescriptor.getGetter(); } @Override public final void getAndWriteTo(OutputEx output, T message) throws IOException { - String value = getter.get(message); + Object value = getter.get(message); if (value != null) { - output.writeScalarString(tag, tagSize, value); + writeTo(output, value); } } } diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/UInt32WriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/UInt32WriteSchemas.java index 9d89b5f..9a47705 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/UInt32WriteSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/UInt32WriteSchemas.java @@ -19,7 +19,6 @@ package org.apache.servicecomb.foundation.protobuf.internal.schema.serializer.sc import java.io.IOException; import org.apache.servicecomb.foundation.common.utils.bean.Getter; -import org.apache.servicecomb.foundation.common.utils.bean.IntGetter; import org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -37,7 +36,7 @@ public class UInt32WriteSchemas { return new UInt32Schema<>(protoField, propertyDescriptor); } - return new UInt32DynamicSchema<>(protoField, propertyDescriptor); + return new UInt32Schema<>(protoField, propertyDescriptor); } private static class UInt32DynamicSchema<T> extends FieldSchema<T> { @@ -72,7 +71,7 @@ public class UInt32WriteSchemas { } private static class UInt32Schema<T> extends UInt32DynamicSchema<T> { - protected final Getter<T, Integer> getter; + protected final Getter<T, Object> getter; public UInt32Schema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); @@ -82,15 +81,15 @@ public class UInt32WriteSchemas { @Override public final void getAndWriteTo(OutputEx output, T message) throws IOException { - Integer value = getter.get(message); + Object value = getter.get(message); if (value != null) { - output.writeScalarUInt32(tag, tagSize, value); + writeTo(output, value); } } } private static class UInt32PrimitiveSchema<T> extends UInt32DynamicSchema<T> { - private final IntGetter<T> primitiveGetter; + private final Getter<T, Integer> primitiveGetter; public UInt32PrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/UInt64WriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/UInt64WriteSchemas.java index 4234d46..c6ec795 100644 --- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/UInt64WriteSchemas.java +++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/UInt64WriteSchemas.java @@ -19,7 +19,6 @@ package org.apache.servicecomb.foundation.protobuf.internal.schema.serializer.sc import java.io.IOException; import org.apache.servicecomb.foundation.common.utils.bean.Getter; -import org.apache.servicecomb.foundation.common.utils.bean.LongGetter; import org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils; import org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor; @@ -37,7 +36,7 @@ public class UInt64WriteSchemas { return new UInt64Schema<>(protoField, propertyDescriptor); } - return new UInt64DynamicSchema<>(protoField, propertyDescriptor); + return new UInt64Schema<>(protoField, propertyDescriptor); } private static class UInt64DynamicSchema<T> extends FieldSchema<T> { @@ -72,7 +71,7 @@ public class UInt64WriteSchemas { } private static class UInt64Schema<T> extends UInt64DynamicSchema<T> { - protected final Getter<T, Long> getter; + protected final Getter<T, Object> getter; public UInt64Schema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); @@ -82,15 +81,15 @@ public class UInt64WriteSchemas { @Override public final void getAndWriteTo(OutputEx output, T message) throws IOException { - Long value = getter.get(message); + Object value = getter.get(message); if (value != null) { - output.writeScalarUInt64(tag, tagSize, value); + writeTo(output, value); } } } private static class UInt64PrimitiveSchema<T> extends UInt64DynamicSchema<T> { - private final LongGetter<T> primitiveGetter; + private final Getter<T, Long> primitiveGetter; public UInt64PrimitiveSchema(Field protoField, PropertyDescriptor propertyDescriptor) { super(protoField, propertyDescriptor); diff --git a/foundations/foundation-protobuf/src/test/java/org/apache/servicecomb/foundation/protobuf/internal/bean/TestBeanDescriptorManager.java b/foundations/foundation-protobuf/src/test/java/org/apache/servicecomb/foundation/protobuf/internal/bean/TestBeanDescriptorManager.java index 9d2994b..bdbb714 100644 --- a/foundations/foundation-protobuf/src/test/java/org/apache/servicecomb/foundation/protobuf/internal/bean/TestBeanDescriptorManager.java +++ b/foundations/foundation-protobuf/src/test/java/org/apache/servicecomb/foundation/protobuf/internal/bean/TestBeanDescriptorManager.java @@ -20,8 +20,6 @@ import java.lang.reflect.Method; import org.apache.servicecomb.foundation.common.utils.ReflectUtils; import org.apache.servicecomb.foundation.common.utils.bean.Getter; -import org.apache.servicecomb.foundation.common.utils.bean.IntGetter; -import org.apache.servicecomb.foundation.common.utils.bean.IntSetter; import org.apache.servicecomb.foundation.common.utils.bean.Setter; import org.junit.Assert; import org.junit.Test; @@ -108,8 +106,8 @@ public class TestBeanDescriptorManager { @Test public void both() { PropertyDescriptor propertyDescriptor = beanDescriptor.getPropertyDescriptors().get("both"); - ((IntSetter<Model>) propertyDescriptor.getSetter()).set(model, 1); - Assert.assertEquals(1, ((IntGetter<Model>) propertyDescriptor.getGetter()).get(model)); + ((Setter<Model, Integer>) propertyDescriptor.getSetter()).set(model, 1); + Assert.assertEquals(1, ((Getter<Model, Integer>) propertyDescriptor.getGetter()).get(model).intValue()); Assert.assertEquals(1, model.getBoth()); } @@ -120,7 +118,7 @@ public class TestBeanDescriptorManager { Assert.assertNull(propertyDescriptor.getSetter()); model.onlyGet(1); - Assert.assertEquals(1, ((IntGetter<Model>) propertyDescriptor.getGetter()).get(model)); + Assert.assertEquals(1, ((Getter<Model, Integer>) propertyDescriptor.getGetter()).get(model).intValue()); Assert.assertEquals(1, model.getOnlyGet()); } @@ -130,7 +128,7 @@ public class TestBeanDescriptorManager { PropertyDescriptor propertyDescriptor = beanDescriptor.getPropertyDescriptors().get("onlySet"); Assert.assertNull(propertyDescriptor.getGetter()); - ((IntSetter<Model>) propertyDescriptor.getSetter()).set(model, 1); + ((Setter<Model, Integer>) propertyDescriptor.getSetter()).set(model, 1); Assert.assertEquals(1, model.onlySet()); } diff --git a/integration-tests/it-common/src/main/java/org/apache/servicecomb/it/schema/objectparams/FlattenObjectRequest.java b/integration-tests/it-common/src/main/java/org/apache/servicecomb/it/schema/objectparams/FlattenObjectRequest.java index eea3ce1..21b7b9f 100644 --- a/integration-tests/it-common/src/main/java/org/apache/servicecomb/it/schema/objectparams/FlattenObjectRequest.java +++ b/integration-tests/it-common/src/main/java/org/apache/servicecomb/it/schema/objectparams/FlattenObjectRequest.java @@ -20,56 +20,56 @@ package org.apache.servicecomb.it.schema.objectparams; import java.util.Objects; public class FlattenObjectRequest { - private byte aByte; + private byte anByte; - private short aShort; + private short anShort; private int anInt; - private long aLong; + private long anLong; - private float aFloat; + private float anFloat; - private double aDouble; + private double anDouble; - private boolean aBoolean; + private boolean anBoolean; - private char aChar; + private char anChar; - private Byte aWrappedByte; + private Byte anWrappedByte; - private Short aWrappedShort; + private Short anWrappedShort; - private Integer aWrappedInteger; + private Integer anWrappedInteger; - private Long aWrappedLong; + private Long anWrappedLong; - private Float aWrappedFloat; + private Float anWrappedFloat; - private Double aWrappedDouble; + private Double anWrappedDouble; - private Boolean aWrappedBoolean; + private Boolean anWrappedBoolean; - private Character aWrappedCharacter; + private Character anWrappedCharacter; private String string; private Color color; - public byte getaByte() { - return aByte; + public byte getAnByte() { + return anByte; } - public void setaByte(byte aByte) { - this.aByte = aByte; + public void setAnByte(byte anByte) { + this.anByte = anByte; } - public short getaShort() { - return aShort; + public short getAnShort() { + return anShort; } - public void setaShort(short aShort) { - this.aShort = aShort; + public void setAnShort(short anShort) { + this.anShort = anShort; } public int getAnInt() { @@ -80,108 +80,108 @@ public class FlattenObjectRequest { this.anInt = anInt; } - public long getaLong() { - return aLong; + public long getAnLong() { + return anLong; } - public void setaLong(long aLong) { - this.aLong = aLong; + public void setAnLong(long anLong) { + this.anLong = anLong; } - public float getaFloat() { - return aFloat; + public float getAnFloat() { + return anFloat; } - public void setaFloat(float aFloat) { - this.aFloat = aFloat; + public void setAnFloat(float anFloat) { + this.anFloat = anFloat; } - public double getaDouble() { - return aDouble; + public double getAnDouble() { + return anDouble; } - public void setaDouble(double aDouble) { - this.aDouble = aDouble; + public void setAnDouble(double anDouble) { + this.anDouble = anDouble; } - public boolean isaBoolean() { - return aBoolean; + public boolean isAnBoolean() { + return anBoolean; } - public void setaBoolean(boolean aBoolean) { - this.aBoolean = aBoolean; + public void setAnBoolean(boolean anBoolean) { + this.anBoolean = anBoolean; } - public char getaChar() { - return aChar; + public char getAnChar() { + return anChar; } - public void setaChar(char aChar) { - this.aChar = aChar; + public void setAnChar(char anChar) { + this.anChar = anChar; } - public Byte getaWrappedByte() { - return aWrappedByte; + public Byte getAnWrappedByte() { + return anWrappedByte; } - public void setaWrappedByte(Byte aWrappedByte) { - this.aWrappedByte = aWrappedByte; + public void setAnWrappedByte(Byte anWrappedByte) { + this.anWrappedByte = anWrappedByte; } - public Short getaWrappedShort() { - return aWrappedShort; + public Short getAnWrappedShort() { + return anWrappedShort; } - public void setaWrappedShort(Short aWrappedShort) { - this.aWrappedShort = aWrappedShort; + public void setAnWrappedShort(Short anWrappedShort) { + this.anWrappedShort = anWrappedShort; } - public Integer getaWrappedInteger() { - return aWrappedInteger; + public Integer getAnWrappedInteger() { + return anWrappedInteger; } - public void setaWrappedInteger(Integer aWrappedInteger) { - this.aWrappedInteger = aWrappedInteger; + public void setAnWrappedInteger(Integer anWrappedInteger) { + this.anWrappedInteger = anWrappedInteger; } - public Long getaWrappedLong() { - return aWrappedLong; + public Long getAnWrappedLong() { + return anWrappedLong; } - public void setaWrappedLong(Long aWrappedLong) { - this.aWrappedLong = aWrappedLong; + public void setAnWrappedLong(Long anWrappedLong) { + this.anWrappedLong = anWrappedLong; } - public Float getaWrappedFloat() { - return aWrappedFloat; + public Float getAnWrappedFloat() { + return anWrappedFloat; } - public void setaWrappedFloat(Float aWrappedFloat) { - this.aWrappedFloat = aWrappedFloat; + public void setAnWrappedFloat(Float anWrappedFloat) { + this.anWrappedFloat = anWrappedFloat; } - public Double getaWrappedDouble() { - return aWrappedDouble; + public Double getAnWrappedDouble() { + return anWrappedDouble; } - public void setaWrappedDouble(Double aWrappedDouble) { - this.aWrappedDouble = aWrappedDouble; + public void setAnWrappedDouble(Double anWrappedDouble) { + this.anWrappedDouble = anWrappedDouble; } - public Boolean getaWrappedBoolean() { - return aWrappedBoolean; + public Boolean getAnWrappedBoolean() { + return anWrappedBoolean; } - public void setaWrappedBoolean(Boolean aWrappedBoolean) { - this.aWrappedBoolean = aWrappedBoolean; + public void setAnWrappedBoolean(Boolean anWrappedBoolean) { + this.anWrappedBoolean = anWrappedBoolean; } - public Character getaWrappedCharacter() { - return aWrappedCharacter; + public Character getAnWrappedCharacter() { + return anWrappedCharacter; } - public void setaWrappedCharacter(Character aWrappedCharacter) { - this.aWrappedCharacter = aWrappedCharacter; + public void setAnWrappedCharacter(Character anWrappedCharacter) { + this.anWrappedCharacter = anWrappedCharacter; } public String getString() { @@ -203,22 +203,22 @@ public class FlattenObjectRequest { @Override public String toString() { final StringBuilder sb = new StringBuilder("FlattenObjectRequest{"); - sb.append("aByte=").append(aByte); - sb.append(", aShort=").append(aShort); + sb.append("anByte=").append(anByte); + sb.append(", anShort=").append(anShort); sb.append(", anInt=").append(anInt); - sb.append(", aLong=").append(aLong); - sb.append(", aFloat=").append(aFloat); - sb.append(", aDouble=").append(aDouble); - sb.append(", aBoolean=").append(aBoolean); - sb.append(", aChar=").append(aChar); - sb.append(", aWrappedByte=").append(aWrappedByte); - sb.append(", aWrappedShort=").append(aWrappedShort); - sb.append(", aWrappedInteger=").append(aWrappedInteger); - sb.append(", aWrappedLong=").append(aWrappedLong); - sb.append(", aWrappedFloat=").append(aWrappedFloat); - sb.append(", aWrappedDouble=").append(aWrappedDouble); - sb.append(", aWrappedBoolean=").append(aWrappedBoolean); - sb.append(", aWrappedCharacter=").append(aWrappedCharacter); + sb.append(", anLong=").append(anLong); + sb.append(", anFloat=").append(anFloat); + sb.append(", anDouble=").append(anDouble); + sb.append(", anBoolean=").append(anBoolean); + sb.append(", anChar=").append(anChar); + sb.append(", anWrappedByte=").append(anWrappedByte); + sb.append(", anWrappedShort=").append(anWrappedShort); + sb.append(", anWrappedInteger=").append(anWrappedInteger); + sb.append(", anWrappedLong=").append(anWrappedLong); + sb.append(", anWrappedFloat=").append(anWrappedFloat); + sb.append(", anWrappedDouble=").append(anWrappedDouble); + sb.append(", anWrappedBoolean=").append(anWrappedBoolean); + sb.append(", anWrappedCharacter=").append(anWrappedCharacter); sb.append(", string='").append(string).append('\''); sb.append(", color=").append(color); sb.append('}'); @@ -234,22 +234,22 @@ public class FlattenObjectRequest { return false; } FlattenObjectRequest that = (FlattenObjectRequest) o; - return aByte == that.aByte && - aShort == that.aShort && + return anByte == that.anByte && + anShort == that.anShort && anInt == that.anInt && - aLong == that.aLong && - Float.compare(that.aFloat, aFloat) == 0 && - Double.compare(that.aDouble, aDouble) == 0 && - aBoolean == that.aBoolean && - aChar == that.aChar && - Objects.equals(aWrappedByte, that.aWrappedByte) && - Objects.equals(aWrappedShort, that.aWrappedShort) && - Objects.equals(aWrappedInteger, that.aWrappedInteger) && - Objects.equals(aWrappedLong, that.aWrappedLong) && - Objects.equals(aWrappedFloat, that.aWrappedFloat) && - Objects.equals(aWrappedDouble, that.aWrappedDouble) && - Objects.equals(aWrappedBoolean, that.aWrappedBoolean) && - Objects.equals(aWrappedCharacter, that.aWrappedCharacter) && + anLong == that.anLong && + Float.compare(that.anFloat, anFloat) == 0 && + Double.compare(that.anDouble, anDouble) == 0 && + anBoolean == that.anBoolean && + anChar == that.anChar && + Objects.equals(anWrappedByte, that.anWrappedByte) && + Objects.equals(anWrappedShort, that.anWrappedShort) && + Objects.equals(anWrappedInteger, that.anWrappedInteger) && + Objects.equals(anWrappedLong, that.anWrappedLong) && + Objects.equals(anWrappedFloat, that.anWrappedFloat) && + Objects.equals(anWrappedDouble, that.anWrappedDouble) && + Objects.equals(anWrappedBoolean, that.anWrappedBoolean) && + Objects.equals(anWrappedCharacter, that.anWrappedCharacter) && Objects.equals(string, that.string) && color == that.color; } @@ -257,8 +257,8 @@ public class FlattenObjectRequest { @Override public int hashCode() { return Objects - .hash(aByte, aShort, anInt, aLong, aFloat, aDouble, aBoolean, aChar, aWrappedByte, aWrappedShort, - aWrappedInteger, - aWrappedLong, aWrappedFloat, aWrappedDouble, aWrappedBoolean, aWrappedCharacter, string, color); + .hash(anByte, anShort, anInt, anLong, anFloat, anDouble, anBoolean, anChar, anWrappedByte, anWrappedShort, + anWrappedInteger, + anWrappedLong, anWrappedFloat, anWrappedDouble, anWrappedBoolean, anWrappedCharacter, string, color); } } \ No newline at end of file diff --git a/integration-tests/it-common/src/main/java/org/apache/servicecomb/it/schema/objectparams/FlattenObjectResponse.java b/integration-tests/it-common/src/main/java/org/apache/servicecomb/it/schema/objectparams/FlattenObjectResponse.java index 19ce7a3..4c9bece 100644 --- a/integration-tests/it-common/src/main/java/org/apache/servicecomb/it/schema/objectparams/FlattenObjectResponse.java +++ b/integration-tests/it-common/src/main/java/org/apache/servicecomb/it/schema/objectparams/FlattenObjectResponse.java @@ -20,56 +20,56 @@ package org.apache.servicecomb.it.schema.objectparams; import java.util.Objects; public class FlattenObjectResponse { - private byte aByte; + private byte anByte; - private short aShort; + private short anShort; private int anInt; - private long aLong; + private long anLong; - private float aFloat; + private float anFloat; - private double aDouble; + private double anDouble; - private boolean aBoolean; + private boolean anBoolean; - private char aChar; + private char anChar; - private Byte aWrappedByte; + private Byte anWrappedByte; - private Short aWrappedShort; + private Short anWrappedShort; - private Integer aWrappedInteger; + private Integer anWrappedInteger; - private Long aWrappedLong; + private Long anWrappedLong; - private Float aWrappedFloat; + private Float anWrappedFloat; - private Double aWrappedDouble; + private Double anWrappedDouble; - private Boolean aWrappedBoolean; + private Boolean anWrappedBoolean; - private Character aWrappedCharacter; + private Character anWrappedCharacter; private String string; private Color color; - public byte getaByte() { - return aByte; + public byte getAnByte() { + return anByte; } - public void setaByte(byte aByte) { - this.aByte = aByte; + public void setAnByte(byte anByte) { + this.anByte = anByte; } - public short getaShort() { - return aShort; + public short getAnShort() { + return anShort; } - public void setaShort(short aShort) { - this.aShort = aShort; + public void setAnShort(short anShort) { + this.anShort = anShort; } public int getAnInt() { @@ -80,108 +80,108 @@ public class FlattenObjectResponse { this.anInt = anInt; } - public long getaLong() { - return aLong; + public long getAnLong() { + return anLong; } - public void setaLong(long aLong) { - this.aLong = aLong; + public void setAnLong(long anLong) { + this.anLong = anLong; } - public float getaFloat() { - return aFloat; + public float getAnFloat() { + return anFloat; } - public void setaFloat(float aFloat) { - this.aFloat = aFloat; + public void setAnFloat(float anFloat) { + this.anFloat = anFloat; } - public double getaDouble() { - return aDouble; + public double getAnDouble() { + return anDouble; } - public void setaDouble(double aDouble) { - this.aDouble = aDouble; + public void setAnDouble(double anDouble) { + this.anDouble = anDouble; } - public boolean isaBoolean() { - return aBoolean; + public boolean isAnBoolean() { + return anBoolean; } - public void setaBoolean(boolean aBoolean) { - this.aBoolean = aBoolean; + public void setAnBoolean(boolean anBoolean) { + this.anBoolean = anBoolean; } - public char getaChar() { - return aChar; + public char getAnChar() { + return anChar; } - public void setaChar(char aChar) { - this.aChar = aChar; + public void setAnChar(char anChar) { + this.anChar = anChar; } - public Byte getaWrappedByte() { - return aWrappedByte; + public Byte getAnWrappedByte() { + return anWrappedByte; } - public void setaWrappedByte(Byte aWrappedByte) { - this.aWrappedByte = aWrappedByte; + public void setAnWrappedByte(Byte anWrappedByte) { + this.anWrappedByte = anWrappedByte; } - public Short getaWrappedShort() { - return aWrappedShort; + public Short getAnWrappedShort() { + return anWrappedShort; } - public void setaWrappedShort(Short aWrappedShort) { - this.aWrappedShort = aWrappedShort; + public void setAnWrappedShort(Short anWrappedShort) { + this.anWrappedShort = anWrappedShort; } - public Integer getaWrappedInteger() { - return aWrappedInteger; + public Integer getAnWrappedInteger() { + return anWrappedInteger; } - public void setaWrappedInteger(Integer aWrappedInteger) { - this.aWrappedInteger = aWrappedInteger; + public void setAnWrappedInteger(Integer anWrappedInteger) { + this.anWrappedInteger = anWrappedInteger; } - public Long getaWrappedLong() { - return aWrappedLong; + public Long getAnWrappedLong() { + return anWrappedLong; } - public void setaWrappedLong(Long aWrappedLong) { - this.aWrappedLong = aWrappedLong; + public void setAnWrappedLong(Long anWrappedLong) { + this.anWrappedLong = anWrappedLong; } - public Float getaWrappedFloat() { - return aWrappedFloat; + public Float getAnWrappedFloat() { + return anWrappedFloat; } - public void setaWrappedFloat(Float aWrappedFloat) { - this.aWrappedFloat = aWrappedFloat; + public void setAnWrappedFloat(Float anWrappedFloat) { + this.anWrappedFloat = anWrappedFloat; } - public Double getaWrappedDouble() { - return aWrappedDouble; + public Double getAnWrappedDouble() { + return anWrappedDouble; } - public void setaWrappedDouble(Double aWrappedDouble) { - this.aWrappedDouble = aWrappedDouble; + public void setAnWrappedDouble(Double anWrappedDouble) { + this.anWrappedDouble = anWrappedDouble; } - public Boolean getaWrappedBoolean() { - return aWrappedBoolean; + public Boolean getAnWrappedBoolean() { + return anWrappedBoolean; } - public void setaWrappedBoolean(Boolean aWrappedBoolean) { - this.aWrappedBoolean = aWrappedBoolean; + public void setAnWrappedBoolean(Boolean anWrappedBoolean) { + this.anWrappedBoolean = anWrappedBoolean; } - public Character getaWrappedCharacter() { - return aWrappedCharacter; + public Character getAnWrappedCharacter() { + return anWrappedCharacter; } - public void setaWrappedCharacter(Character aWrappedCharacter) { - this.aWrappedCharacter = aWrappedCharacter; + public void setAnWrappedCharacter(Character anWrappedCharacter) { + this.anWrappedCharacter = anWrappedCharacter; } public String getString() { @@ -203,22 +203,22 @@ public class FlattenObjectResponse { @Override public String toString() { final StringBuilder sb = new StringBuilder("FlattenObjectResponse{"); - sb.append("aByte=").append(aByte); - sb.append(", aShort=").append(aShort); + sb.append("anByte=").append(anByte); + sb.append(", anShort=").append(anShort); sb.append(", anInt=").append(anInt); - sb.append(", aLong=").append(aLong); - sb.append(", aFloat=").append(aFloat); - sb.append(", aDouble=").append(aDouble); - sb.append(", aBoolean=").append(aBoolean); - sb.append(", aChar=").append(aChar); - sb.append(", aWrappedByte=").append(aWrappedByte); - sb.append(", aWrappedShort=").append(aWrappedShort); - sb.append(", aWrappedInteger=").append(aWrappedInteger); - sb.append(", aWrappedLong=").append(aWrappedLong); - sb.append(", aWrappedFloat=").append(aWrappedFloat); - sb.append(", aWrappedDouble=").append(aWrappedDouble); - sb.append(", aWrappedBoolean=").append(aWrappedBoolean); - sb.append(", aWrappedCharacter=").append(aWrappedCharacter); + sb.append(", anLong=").append(anLong); + sb.append(", anFloat=").append(anFloat); + sb.append(", anDouble=").append(anDouble); + sb.append(", anBoolean=").append(anBoolean); + sb.append(", anChar=").append(anChar); + sb.append(", anWrappedByte=").append(anWrappedByte); + sb.append(", anWrappedShort=").append(anWrappedShort); + sb.append(", anWrappedInteger=").append(anWrappedInteger); + sb.append(", anWrappedLong=").append(anWrappedLong); + sb.append(", anWrappedFloat=").append(anWrappedFloat); + sb.append(", anWrappedDouble=").append(anWrappedDouble); + sb.append(", anWrappedBoolean=").append(anWrappedBoolean); + sb.append(", anWrappedCharacter=").append(anWrappedCharacter); sb.append(", string='").append(string).append('\''); sb.append(", color=").append(color); sb.append('}'); @@ -234,22 +234,22 @@ public class FlattenObjectResponse { return false; } FlattenObjectResponse that = (FlattenObjectResponse) o; - return aByte == that.aByte && - aShort == that.aShort && + return anByte == that.anByte && + anShort == that.anShort && anInt == that.anInt && - aLong == that.aLong && - Float.compare(that.aFloat, aFloat) == 0 && - Double.compare(that.aDouble, aDouble) == 0 && - aBoolean == that.aBoolean && - aChar == that.aChar && - Objects.equals(aWrappedByte, that.aWrappedByte) && - Objects.equals(aWrappedShort, that.aWrappedShort) && - Objects.equals(aWrappedInteger, that.aWrappedInteger) && - Objects.equals(aWrappedLong, that.aWrappedLong) && - Objects.equals(aWrappedFloat, that.aWrappedFloat) && - Objects.equals(aWrappedDouble, that.aWrappedDouble) && - Objects.equals(aWrappedBoolean, that.aWrappedBoolean) && - Objects.equals(aWrappedCharacter, that.aWrappedCharacter) && + anLong == that.anLong && + Float.compare(that.anFloat, anFloat) == 0 && + Double.compare(that.anDouble, anDouble) == 0 && + anBoolean == that.anBoolean && + anChar == that.anChar && + Objects.equals(anWrappedByte, that.anWrappedByte) && + Objects.equals(anWrappedShort, that.anWrappedShort) && + Objects.equals(anWrappedInteger, that.anWrappedInteger) && + Objects.equals(anWrappedLong, that.anWrappedLong) && + Objects.equals(anWrappedFloat, that.anWrappedFloat) && + Objects.equals(anWrappedDouble, that.anWrappedDouble) && + Objects.equals(anWrappedBoolean, that.anWrappedBoolean) && + Objects.equals(anWrappedCharacter, that.anWrappedCharacter) && Objects.equals(string, that.string) && color == that.color; } @@ -257,8 +257,8 @@ public class FlattenObjectResponse { @Override public int hashCode() { return Objects - .hash(aByte, aShort, anInt, aLong, aFloat, aDouble, aBoolean, aChar, aWrappedByte, aWrappedShort, - aWrappedInteger, - aWrappedLong, aWrappedFloat, aWrappedDouble, aWrappedBoolean, aWrappedCharacter, string, color); + .hash(anByte, anShort, anInt, anLong, anFloat, anDouble, anBoolean, anChar, anWrappedByte, anWrappedShort, + anWrappedInteger, + anWrappedLong, anWrappedFloat, anWrappedDouble, anWrappedBoolean, anWrappedCharacter, string, color); } } diff --git a/integration-tests/it-common/src/main/java/org/apache/servicecomb/it/schema/objectparams/RecursiveObjectParam.java b/integration-tests/it-common/src/main/java/org/apache/servicecomb/it/schema/objectparams/RecursiveObjectParam.java index 1ca29ed..0cef05b 100644 --- a/integration-tests/it-common/src/main/java/org/apache/servicecomb/it/schema/objectparams/RecursiveObjectParam.java +++ b/integration-tests/it-common/src/main/java/org/apache/servicecomb/it/schema/objectparams/RecursiveObjectParam.java @@ -28,7 +28,7 @@ public class RecursiveObjectParam { private String string; - private Color color; + private Color color = Color.RED; // If using highway, it's best practise to give default value to the first item. Or should take null equals to default value. public RecursiveObjectParam() { } diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDefaultJsonValueJaxrsSchema.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDefaultJsonValueJaxrsSchema.java index 257efe6..204c705 100644 --- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDefaultJsonValueJaxrsSchema.java +++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDefaultJsonValueJaxrsSchema.java @@ -40,7 +40,8 @@ public class TestDefaultJsonValueJaxrsSchema { Assert.assertEquals("expected:0:0", result); result = client.getForObject("/queryInput?size=", String.class); - Assert.assertEquals("expected:0:", result); + // For REST, getParameter will return empty string, but For HIGHWAY, will return 0 + Assert.assertEquals(true, "expected:0:".equals(result) || "expected:0:0".equals(result)); } @SuppressWarnings("unchecked") diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestParamCodec.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestParamCodec.java index 073ec18..6c36cc2 100644 --- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestParamCodec.java +++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestParamCodec.java @@ -18,10 +18,6 @@ package org.apache.servicecomb.it.testcase; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.util.Map; import org.apache.servicecomb.foundation.test.scaffolding.model.Media; import org.apache.servicecomb.it.Consumers; @@ -30,12 +26,17 @@ import org.junit.Test; public class TestParamCodec { interface ParamCodecSchemaIntf { String spaceCharCodec(String pathVal, String q); + } + interface ParamCodecSchemaIntfRestOnly { Media enumSpecialName(Media media); } static Consumers<ParamCodecSchemaIntf> consumers = new Consumers<>("paramCodec", ParamCodecSchemaIntf.class); + static Consumers<ParamCodecSchemaIntfRestOnly> consumersRestOnly = new Consumers<>("paramCodecRestOnly", + ParamCodecSchemaIntfRestOnly.class); + @Test public void spaceCharEncode_intf() { String paramString = "a%2B+%20b%% %20c"; @@ -65,24 +66,24 @@ public class TestParamCodec { @Test public void enumSpecialName_intf() { - assertEquals(Media.AAC, consumers.getIntf().enumSpecialName(Media.AAC)); - assertEquals(Media.FLAC, consumers.getIntf().enumSpecialName(Media.FLAC)); - assertEquals(Media.H_264, consumers.getIntf().enumSpecialName(Media.H_264)); - assertEquals(Media.MPEG_2, consumers.getIntf().enumSpecialName(Media.MPEG_2)); - assertEquals(Media.WMV, consumers.getIntf().enumSpecialName(Media.WMV)); + assertEquals(Media.AAC, consumersRestOnly.getIntf().enumSpecialName(Media.AAC)); + assertEquals(Media.FLAC, consumersRestOnly.getIntf().enumSpecialName(Media.FLAC)); + assertEquals(Media.H_264, consumersRestOnly.getIntf().enumSpecialName(Media.H_264)); + assertEquals(Media.MPEG_2, consumersRestOnly.getIntf().enumSpecialName(Media.MPEG_2)); + assertEquals(Media.WMV, consumersRestOnly.getIntf().enumSpecialName(Media.WMV)); } @Test public void enumSpecialName_rt() { assertEquals(Media.AAC, - consumers.getSCBRestTemplate().postForObject("/enum/enumSpecialName", Media.AAC, Media.class)); + consumersRestOnly.getSCBRestTemplate().postForObject("/enum/enumSpecialName", Media.AAC, Media.class)); assertEquals(Media.FLAC, - consumers.getSCBRestTemplate().postForObject("/enum/enumSpecialName", Media.FLAC, Media.class)); + consumersRestOnly.getSCBRestTemplate().postForObject("/enum/enumSpecialName", Media.FLAC, Media.class)); assertEquals(Media.H_264, - consumers.getSCBRestTemplate().postForObject("/enum/enumSpecialName", Media.H_264, Media.class)); + consumersRestOnly.getSCBRestTemplate().postForObject("/enum/enumSpecialName", Media.H_264, Media.class)); assertEquals(Media.MPEG_2, - consumers.getSCBRestTemplate().postForObject("/enum/enumSpecialName", Media.MPEG_2, Media.class)); + consumersRestOnly.getSCBRestTemplate().postForObject("/enum/enumSpecialName", Media.MPEG_2, Media.class)); assertEquals(Media.WMV, - consumers.getSCBRestTemplate().postForObject("/enum/enumSpecialName", Media.WMV, Media.class)); + consumersRestOnly.getSCBRestTemplate().postForObject("/enum/enumSpecialName", Media.WMV, Media.class)); } } diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestParamCodecEdge.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestParamCodecEdge.java index 11d37d2..171c1ce 100644 --- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestParamCodecEdge.java +++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestParamCodecEdge.java @@ -40,6 +40,7 @@ public class TestParamCodecEdge { private static final Logger LOGGER = LoggerFactory.getLogger(TestParamCodecEdge.class); static GateRestTemplate client = GateRestTemplate.createEdgeRestTemplate("paramCodec"); + static GateRestTemplate restOnlyClient = GateRestTemplate.createEdgeRestTemplate("paramCodecRestOnly"); @Test public void spaceCharEncode() { @@ -61,15 +62,15 @@ public class TestParamCodecEdge { @Test public void enumSpecialName() { assertEquals(Media.AAC, - client.postForObject("/enum/enumSpecialName", Media.AAC, Media.class)); + restOnlyClient.postForObject("/enum/enumSpecialName", Media.AAC, Media.class)); assertEquals(Media.FLAC, - client.postForObject("/enum/enumSpecialName", Media.FLAC, Media.class)); + restOnlyClient.postForObject("/enum/enumSpecialName", Media.FLAC, Media.class)); assertEquals(Media.H_264, - client.postForObject("/enum/enumSpecialName", Media.H_264, Media.class)); + restOnlyClient.postForObject("/enum/enumSpecialName", Media.H_264, Media.class)); assertEquals(Media.MPEG_2, - client.postForObject("/enum/enumSpecialName", Media.MPEG_2, Media.class)); + restOnlyClient.postForObject("/enum/enumSpecialName", Media.MPEG_2, Media.class)); assertEquals(Media.WMV, - client.postForObject("/enum/enumSpecialName", Media.WMV, Media.class)); + restOnlyClient.postForObject("/enum/enumSpecialName", Media.WMV, Media.class)); } @Test diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/objectparams/TestJAXRSObjectParamType.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/objectparams/TestJAXRSObjectParamType.java index 11b8d2b..6d24a38 100644 --- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/objectparams/TestJAXRSObjectParamType.java +++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/objectparams/TestJAXRSObjectParamType.java @@ -130,7 +130,8 @@ public class TestJAXRSObjectParamType { responseEntity = consumers.getEdgeRestTemplate() .exchange("/testMultiLayerObjectParam", HttpMethod.PUT, new HttpEntity<>(null), MultiLayerObjectParam.class); - Assert.assertNull(responseEntity.getBody()); + // highway will not return null object + Assert.assertTrue(responseEntity.getBody() == null || responseEntity.getBody().getString() == null); Assert.assertEquals(200, responseEntity.getStatusCodeValue()); } @@ -252,22 +253,22 @@ public class TestJAXRSObjectParamType { private FlattenObjectRequest createFlattenObjectRequest() { FlattenObjectRequest request = new FlattenObjectRequest(); - request.setaByte((byte) 8); - request.setaShort((short) 7); + request.setAnByte((byte) 8); + request.setAnShort((short) 7); request.setAnInt(6); - request.setaLong(5); - request.setaFloat(4.4f); - request.setaDouble(3.3); - request.setaBoolean(true); - request.setaChar('c'); - request.setaWrappedByte((byte) 16); - request.setaWrappedShort((short) 15); - request.setaWrappedInteger(14); - request.setaWrappedLong(13L); - request.setaWrappedFloat(12.2f); - request.setaWrappedDouble(11.1); - request.setaWrappedBoolean(true); - request.setaWrappedCharacter('d'); + request.setAnLong(5); + request.setAnFloat(4.4f); + request.setAnDouble(3.3); + request.setAnBoolean(true); + request.setAnChar('c'); + request.setAnWrappedByte((byte) 16); + request.setAnWrappedShort((short) 15); + request.setAnWrappedInteger(14); + request.setAnWrappedLong(13L); + request.setAnWrappedFloat(12.2f); + request.setAnWrappedDouble(11.1); + request.setAnWrappedBoolean(true); + request.setAnWrappedCharacter('d'); request.setString("abc"); request.setColor(Color.BLUE); return request; diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/objectparams/TestRPCObjectParamType.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/objectparams/TestRPCObjectParamType.java index 7cd40b7..095ca48 100644 --- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/objectparams/TestRPCObjectParamType.java +++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/objectparams/TestRPCObjectParamType.java @@ -169,22 +169,22 @@ public class TestRPCObjectParamType { private FlattenObjectRequest createFlattenObjectRequest() { FlattenObjectRequest request = new FlattenObjectRequest(); - request.setaByte((byte) 8); - request.setaShort((short) 7); + request.setAnByte((byte) 8); + request.setAnShort((short) 7); request.setAnInt(6); - request.setaLong(5); - request.setaFloat(4.4f); - request.setaDouble(3.3); - request.setaBoolean(true); - request.setaChar('c'); - request.setaWrappedByte((byte) 16); - request.setaWrappedShort((short) 15); - request.setaWrappedInteger(14); - request.setaWrappedLong(13L); - request.setaWrappedFloat(12.2f); - request.setaWrappedDouble(11.1); - request.setaWrappedBoolean(true); - request.setaWrappedCharacter('d'); + request.setAnLong(5); + request.setAnFloat(4.4f); + request.setAnDouble(3.3); + request.setAnBoolean(true); + request.setAnChar('c'); + request.setAnWrappedByte((byte) 16); + request.setAnWrappedShort((short) 15); + request.setAnWrappedInteger(14); + request.setAnWrappedLong(13L); + request.setAnWrappedFloat(12.2f); + request.setAnWrappedDouble(11.1); + request.setAnWrappedBoolean(true); + request.setAnWrappedCharacter('d'); request.setString("abc"); request.setColor(Color.BLUE); return request; diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/objectparams/TestSpringMVCObjectParamType.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/objectparams/TestSpringMVCObjectParamType.java index f9f77a8..69c6093 100644 --- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/objectparams/TestSpringMVCObjectParamType.java +++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/objectparams/TestSpringMVCObjectParamType.java @@ -46,10 +46,10 @@ public class TestSpringMVCObjectParamType { interface SpringMVCObjectParamTypeSchema extends ObjectParamTypeSchema { TestNullFieldAndDefaultValueParam testNullFieldAndDefaultValue(Object request); - FlattenObjectRequest testQueryObjectParam(byte aByte, short aShort, int anInt, long aLong, float aFloat, - double aDouble, boolean aBoolean, char aChar, Byte aWrappedByte, Short aWrappedShort, Integer aWrappedInteger, - Long aWrappedLong, Float aWrappedFloat, Double aWrappedDouble, Boolean aWrappedBoolean, - Character aWrappedCharacter, String string, Color color); + FlattenObjectRequest testQueryObjectParam(byte anByte, short anShort, int anInt, long anLong, float anFloat, + double anDouble, boolean anBoolean, char anChar, Byte anWrappedByte, Short anWrappedShort, Integer anWrappedInteger, + Long anWrappedLong, Float anWrappedFloat, Double anWrappedDouble, Boolean anWrappedBoolean, + Character anWrappedCharacter, String string, Color color); } static Consumers<SpringMVCObjectParamTypeSchema> consumers = @@ -134,7 +134,8 @@ public class TestSpringMVCObjectParamType { responseEntity = consumers.getEdgeRestTemplate() .exchange("/testMultiLayerObjectParam", HttpMethod.PUT, new HttpEntity<>(null), MultiLayerObjectParam.class); - Assert.assertNull(responseEntity.getBody()); + // Highway will not return null + Assert.assertTrue(responseEntity.getBody() == null || responseEntity.getBody().getString() == null); Assert.assertEquals(200, responseEntity.getStatusCodeValue()); } @@ -309,33 +310,33 @@ public class TestSpringMVCObjectParamType { public void testQueryObjectParam() { FlattenObjectRequest expected = createFlattenObjectRequest(); FlattenObjectRequest response = consumers.getIntf().testQueryObjectParam( - expected.getaByte(), expected.getaShort(), expected.getAnInt(), expected.getaLong(), expected.getaFloat(), - expected.getaDouble(), expected.isaBoolean(), expected.getaChar(), - expected.getaWrappedByte(), expected.getaWrappedShort(), expected.getaWrappedInteger(), - expected.getaWrappedLong(), expected.getaWrappedFloat(), expected.getaWrappedDouble(), - expected.getaWrappedBoolean(), expected.getaWrappedCharacter(), + expected.getAnByte(), expected.getAnShort(), expected.getAnInt(), expected.getAnLong(), expected.getAnFloat(), + expected.getAnDouble(), expected.isAnBoolean(), expected.getAnChar(), + expected.getAnWrappedByte(), expected.getAnWrappedShort(), expected.getAnWrappedInteger(), + expected.getAnWrappedLong(), expected.getAnWrappedFloat(), expected.getAnWrappedDouble(), + expected.getAnWrappedBoolean(), expected.getAnWrappedCharacter(), expected.getString(), expected.getColor() ); Assert.assertEquals(expected, response); StringBuilder requestUriBuilder = new StringBuilder(); requestUriBuilder.append("/testQueryObjectParam?") - .append("aByte=" + expected.getaByte()).append("&") - .append("aShort=" + expected.getaShort()).append("&") + .append("anByte=" + expected.getAnByte()).append("&") + .append("anShort=" + expected.getAnShort()).append("&") .append("anInt=" + expected.getAnInt()).append("&") - .append("aLong=" + expected.getaLong()).append("&") - .append("aFloat=" + expected.getaFloat()).append("&") - .append("aDouble=" + expected.getaDouble()).append("&") - .append("aBoolean=" + expected.isaBoolean()).append("&") - .append("aChar=" + expected.getaChar()).append("&") - .append("aWrappedByte=" + expected.getaWrappedByte()).append("&") - .append("aWrappedShort=" + expected.getaWrappedShort()).append("&") - .append("aWrappedInteger=" + expected.getaWrappedInteger()).append("&") - .append("aWrappedLong=" + expected.getaWrappedLong()).append("&") - .append("aWrappedFloat=" + expected.getaWrappedFloat()).append("&") - .append("aWrappedDouble=" + expected.getaWrappedDouble()).append("&") - .append("aWrappedBoolean=" + expected.getaWrappedBoolean()).append("&") - .append("aWrappedCharacter=" + expected.getaWrappedCharacter()).append("&") + .append("anLong=" + expected.getAnLong()).append("&") + .append("anFloat=" + expected.getAnFloat()).append("&") + .append("anDouble=" + expected.getAnDouble()).append("&") + .append("anBoolean=" + expected.isAnBoolean()).append("&") + .append("anChar=" + expected.getAnChar()).append("&") + .append("anWrappedByte=" + expected.getAnWrappedByte()).append("&") + .append("anWrappedShort=" + expected.getAnWrappedShort()).append("&") + .append("anWrappedInteger=" + expected.getAnWrappedInteger()).append("&") + .append("anWrappedLong=" + expected.getAnWrappedLong()).append("&") + .append("anWrappedFloat=" + expected.getAnWrappedFloat()).append("&") + .append("anWrappedDouble=" + expected.getAnWrappedDouble()).append("&") + .append("anWrappedBoolean=" + expected.getAnWrappedBoolean()).append("&") + .append("anWrappedCharacter=" + expected.getAnWrappedCharacter()).append("&") .append("string=" + expected.getString()).append("&") .append("color=" + expected.getColor()); ResponseEntity<FlattenObjectRequest> responseEntity = consumers.getSCBRestTemplate() @@ -348,16 +349,16 @@ public class TestSpringMVCObjectParamType { Assert.assertEquals(expected, responseEntity.getBody()); Assert.assertEquals(200, responseEntity.getStatusCodeValue()); - expected.setaWrappedBoolean(null); + expected.setAnWrappedBoolean(null); expected.setString(null); expected.setAnInt(0); - expected.setaWrappedInteger(null); + expected.setAnWrappedInteger(null); response = consumers.getIntf().testQueryObjectParam( - expected.getaByte(), expected.getaShort(), expected.getAnInt(), expected.getaLong(), expected.getaFloat(), - expected.getaDouble(), expected.isaBoolean(), expected.getaChar(), - expected.getaWrappedByte(), expected.getaWrappedShort(), expected.getaWrappedInteger(), - expected.getaWrappedLong(), expected.getaWrappedFloat(), expected.getaWrappedDouble(), - expected.getaWrappedBoolean(), expected.getaWrappedCharacter(), + expected.getAnByte(), expected.getAnShort(), expected.getAnInt(), expected.getAnLong(), expected.getAnFloat(), + expected.getAnDouble(), expected.isAnBoolean(), expected.getAnChar(), + expected.getAnWrappedByte(), expected.getAnWrappedShort(), expected.getAnWrappedInteger(), + expected.getAnWrappedLong(), expected.getAnWrappedFloat(), expected.getAnWrappedDouble(), + expected.getAnWrappedBoolean(), expected.getAnWrappedCharacter(), expected.getString(), expected.getColor() ); Assert.assertEquals(expected, response); @@ -365,22 +366,22 @@ public class TestSpringMVCObjectParamType { private FlattenObjectRequest createFlattenObjectRequest() { FlattenObjectRequest request = new FlattenObjectRequest(); - request.setaByte((byte) 8); - request.setaShort((short) 7); + request.setAnByte((byte) 8); + request.setAnShort((short) 7); request.setAnInt(6); - request.setaLong(5); - request.setaFloat(4.4f); - request.setaDouble(3.3); - request.setaBoolean(true); - request.setaChar('c'); - request.setaWrappedByte((byte) 16); - request.setaWrappedShort((short) 15); - request.setaWrappedInteger(14); - request.setaWrappedLong(13L); - request.setaWrappedFloat(12.2f); - request.setaWrappedDouble(11.1); - request.setaWrappedBoolean(true); - request.setaWrappedCharacter('d'); + request.setAnLong(5); + request.setAnFloat(4.4f); + request.setAnDouble(3.3); + request.setAnBoolean(true); + request.setAnChar('c'); + request.setAnWrappedByte((byte) 16); + request.setAnWrappedShort((short) 15); + request.setAnWrappedInteger(14); + request.setAnWrappedLong(13L); + request.setAnWrappedFloat(12.2f); + request.setAnWrappedDouble(11.1); + request.setAnWrappedBoolean(true); + request.setAnWrappedCharacter('d'); request.setString("abc"); request.setColor(Color.BLUE); return request; diff --git a/integration-tests/it-edge/src/main/resources/microservice.yaml b/integration-tests/it-edge/src/main/resources/microservice.yaml index ec4c310..2ce4708 100644 --- a/integration-tests/it-edge/src/main/resources/microservice.yaml +++ b/integration-tests/it-edge/src/main/resources/microservice.yaml @@ -50,6 +50,8 @@ servicecomb: org.apache.servicecomb.it.schema.RestControllerSchema: restControllerSchemaQueries: transport: rest + paramCodecRestOnly: + transport: rest it-producer-h2: generic: genericUser: @@ -67,6 +69,8 @@ servicecomb: org.apache.servicecomb.it.schema.RestControllerSchema: restControllerSchemaQueries: transport: rest + paramCodecRestOnly: + transport: rest it-producer-h2c: generic: genericUser: @@ -84,6 +88,8 @@ servicecomb: org.apache.servicecomb.it.schema.RestControllerSchema: restControllerSchemaQueries: transport: rest + paramCodecRestOnly: + transport: rest it-producer-deploy-springboot2-servlet: generic: genericUser: @@ -101,6 +107,8 @@ servicecomb: org.apache.servicecomb.it.schema.RestControllerSchema: restControllerSchemaQueries: transport: rest + paramCodecRestOnly: + transport: rest it-producer-deploy-springboot2-standalone: generic: genericUser: @@ -118,6 +126,8 @@ servicecomb: org.apache.servicecomb.it.schema.RestControllerSchema: restControllerSchemaQueries: transport: rest + paramCodecRestOnly: + transport: rest http: dispatcher: edge: @@ -140,6 +150,7 @@ servicecomb: microserviceName: business versionRule: 2.0.0-3.0.0 request: + timeout: 5000 it-producer: edgeExceptionConvertSchema: timeout: 30000 diff --git a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/ParamCodecSchema.java b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/ParamCodecSchema.java index 267e471..0cd2f99 100644 --- a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/ParamCodecSchema.java +++ b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/ParamCodecSchema.java @@ -27,7 +27,6 @@ import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; -import org.apache.servicecomb.foundation.test.scaffolding.model.Media; import org.apache.servicecomb.provider.rest.common.RestSchema; import org.apache.servicecomb.swagger.invocation.context.ContextUtils; @@ -51,15 +50,6 @@ public class ParamCodecSchema { return result.equals(expected1) || result.equals(expected2); } - /** - * Test special enum name tagged by {@link com.fasterxml.jackson.annotation.JsonProperty} - */ - @Path("enum/enumSpecialName") - @POST - public Media enumSpecialName(Media media) { - return media; - } - @Path("invocationContext") @GET public Map<String, String> getInvocationContext() { diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/BoolGetter.java b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/ParamCodecSchemaRestOnly.java similarity index 57% rename from foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/BoolGetter.java rename to integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/ParamCodecSchemaRestOnly.java index 11e0a3c..9e4db24 100644 --- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/bean/BoolGetter.java +++ b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/ParamCodecSchemaRestOnly.java @@ -14,8 +14,25 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.servicecomb.foundation.common.utils.bean; -public interface BoolGetter<T> { - boolean get(T instance); +package org.apache.servicecomb.it.schema; + +import javax.ws.rs.POST; +import javax.ws.rs.Path; + +import org.apache.servicecomb.foundation.test.scaffolding.model.Media; +import org.apache.servicecomb.provider.rest.common.RestSchema; + +@RestSchema(schemaId = "paramCodecRestOnly") +@Path("/v1/paramCodecRestOnly") +public class ParamCodecSchemaRestOnly { + /** + * Test special enum name tagged by {@link com.fasterxml.jackson.annotation.JsonProperty}. + * Special name not supported by ProtoBuffer + */ + @Path("enum/enumSpecialName") + @POST + public Media enumSpecialName(Media media) { + return media; + } } diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 30cadb1..7aacd1a 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -95,13 +95,10 @@ <groupId>org.apache.servicecomb</groupId> <artifactId>transport-rest-vertx</artifactId> </dependency> - <!-- TODO : WEAK recover highway integration tests --> - <!-- <dependency> <groupId>org.apache.servicecomb</groupId> <artifactId>transport-highway</artifactId> </dependency> - --> <dependency> <groupId>org.apache.servicecomb</groupId> <artifactId>provider-springmvc</artifactId>
