[incubator-servicecomb-java-chassis] branch master updated (cd87c96 -> 058f471)
This is an automated email from the ASF dual-hosted git repository. wujimin pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git. from cd87c96 [SCB-529] producer download file from byte[] new 95554e4 [SCB-538] avoid integration-tests.test-common in IntelliJ warning for can not find javax.annotation.Nonnull new a2d68ae [SCB-538] avoid "mvn clean install" can not delete test.log sometimes. new 2868fa3 [SCB-538][WIP] create SwaggerToClassGenerator new 4e595d2 [SCB-538][WIP] avoid copy java keywords in test case new 1658ab1 [SCB-538][WIP] swagger generator core switch to use SwaggerToClassGenerator new 31256d5 [SCB-538][WIP] swagger invocation core switch to use SwaggerToClassGenerator new 058f471 [SCB-538] serviceComb core switch to use SwaggerToClassGenerator The 7 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../servicecomb/core/definition/OperationMeta.java | 4 +- .../servicecomb/core/definition/SchemaMeta.java| 15 +- .../definition/schema/AbstractSchemaFactory.java | 3 - .../definition/schema/ProducerSchemaFactory.java | 2 +- .../apache/servicecomb/core/TestDefinition.java| 3 +- integration-tests/test-common/pom.xml | 4 + .../swagger/converter/AbstractConverter.java | 17 +- .../servicecomb/swagger/converter/Converter.java | 4 +- .../swagger/converter/ConverterMgr.java| 24 +- .../swagger/converter/SwaggerToClassGenerator.java | 259 + .../converter/model/ArrayModelConverter.java | 10 +- .../converter/model/ModelImplConverter.java| 63 ++--- .../swagger/converter/model/RefModelConverter.java | 9 +- .../AbstractSerializableParameterConverter.java| 12 +- .../parameter/BodyParameterConverter.java | 7 +- .../converter/property/ArrayPropertyConverter.java | 15 +- .../converter/property/MapPropertyConverter.java | 17 +- .../property/ObjectPropertyConverter.java | 6 +- .../converter/property/RefPropertyConverter.java | 9 +- .../property/StringPropertyConverter.java | 14 +- .../core/unittest/UnitTestSwaggerUtils.java| 5 + .../swagger/generator/core/utils/ClassUtils.java | 134 ++- .../parameter/PendingBodyParameterConverter.java | 8 +- .../swagger/converter/TestAbstractConverter.java | 13 +- .../converter/model/TestModelImplConverter.java| 98 ++-- .../swagger/generator/core/ClassUtilsForTest.java | 73 ++ .../generator/core/TestApiImplicitParams.java | 3 +- .../swagger/generator/core/TestApiResponse.java| 13 +- .../swagger/generator/core/TestArrayType.java | 3 +- .../swagger/generator/core/TestClassUtils.java | 198 ++-- .../swagger/generator/core/TestProperty.java | 7 +- .../swagger/generator/core/TestSwaggerUtils.java | 42 +--- .../swagger/engine/SwaggerEnvironment.java | 15 +- .../swagger/invocation/response/ResponseMeta.java | 10 +- .../swagger/invocation/response/ResponsesMeta.java | 9 +- .../engine/SwaggerEnvironmentForTest.java | 52 + .../servicecomb/engine/TestSwaggerEnvironment.java | 5 +- .../arguments/TestPojoConsumerEqualProducer.java | 8 +- .../arguments/TestPojoConsumerEqualSwagger.java| 8 +- .../invocation/response/TestResponsesMeta.java | 5 +- .../src/test/resources/log4j.properties| 8 +- 41 files changed, 700 insertions(+), 514 deletions(-) create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/SwaggerToClassGenerator.java create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/ClassUtilsForTest.java create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/engine/SwaggerEnvironmentForTest.java -- To stop receiving notification emails like this one, please contact wuji...@apache.org.
[incubator-servicecomb-java-chassis] 02/07: [SCB-538] avoid "mvn clean install" can not delete test.log sometimes.
This is an automated email from the ASF dual-hosted git repository. wujimin pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git commit a2d68aefbf96282173008806bb2c91f70193adbe Author: wujiminAuthorDate: Fri May 4 00:08:05 2018 +0800 [SCB-538] avoid "mvn clean install" can not delete test.log sometimes. --- .../invocation-core/src/test/resources/log4j.properties | 8 +--- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/swagger/swagger-invocation/invocation-core/src/test/resources/log4j.properties b/swagger/swagger-invocation/invocation-core/src/test/resources/log4j.properties index fbea91e..30e31c3 100644 --- a/swagger/swagger-invocation/invocation-core/src/test/resources/log4j.properties +++ b/swagger/swagger-invocation/invocation-core/src/test/resources/log4j.properties @@ -15,16 +15,10 @@ # limitations under the License. # -log4j.rootLogger=INFO, out, stdout +log4j.rootLogger=INFO, stdout # CONSOLE appender not used by default log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n -# File appender -log4j.appender.out=org.apache.log4j.FileAppender -log4j.appender.out.layout=org.apache.log4j.PatternLayout -log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n -log4j.appender.out.file=target/test.log -log4j.appender.out.append=true -- To stop receiving notification emails like this one, please contact wuji...@apache.org.
[incubator-servicecomb-java-chassis] 06/07: [SCB-538][WIP] swagger invocation core switch to use SwaggerToClassGenerator
This is an automated email from the ASF dual-hosted git repository. wujimin pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git commit 31256d5066b332d41fb7444545ebf98e6fbd9235 Author: wujiminAuthorDate: Fri May 4 16:45:04 2018 +0800 [SCB-538][WIP] swagger invocation core switch to use SwaggerToClassGenerator --- .../swagger/engine/SwaggerEnvironment.java | 15 +-- .../swagger/invocation/response/ResponseMeta.java | 10 ++--- .../swagger/invocation/response/ResponsesMeta.java | 9 ++-- .../engine/SwaggerEnvironmentForTest.java | 52 ++ .../servicecomb/engine/TestSwaggerEnvironment.java | 5 +-- .../arguments/TestPojoConsumerEqualProducer.java | 8 ++-- .../arguments/TestPojoConsumerEqualSwagger.java| 8 ++-- .../invocation/response/TestResponsesMeta.java | 5 ++- 8 files changed, 72 insertions(+), 40 deletions(-) diff --git a/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/engine/SwaggerEnvironment.java b/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/engine/SwaggerEnvironment.java index 6065a9b..5631b2d 100644 --- a/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/engine/SwaggerEnvironment.java +++ b/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/engine/SwaggerEnvironment.java @@ -25,9 +25,6 @@ import javax.inject.Inject; import org.apache.commons.lang3.StringUtils; import org.apache.servicecomb.foundation.common.utils.BeanUtils; import org.apache.servicecomb.foundation.common.utils.ReflectUtils; -import org.apache.servicecomb.swagger.generator.core.SwaggerGenerator; -import org.apache.servicecomb.swagger.generator.core.unittest.UnitTestSwaggerUtils; -import org.apache.servicecomb.swagger.generator.core.utils.ClassUtils; import org.apache.servicecomb.swagger.invocation.arguments.consumer.ConsumerArgumentsMapper; import org.apache.servicecomb.swagger.invocation.arguments.consumer.ConsumerArgumentsMapperFactory; import org.apache.servicecomb.swagger.invocation.arguments.producer.ProducerArgumentsMapper; @@ -41,7 +38,6 @@ import org.apache.servicecomb.swagger.invocation.response.producer.ProducerRespo import org.springframework.stereotype.Component; import io.swagger.annotations.ApiOperation; -import io.swagger.models.Swagger; @Component public class SwaggerEnvironment { @@ -128,10 +124,9 @@ public class SwaggerEnvironment { return apiOperationAnnotation.nickname(); } - public SwaggerProducer createProducer(Object producerInstance, Swagger swagger) { + public SwaggerProducer createProducer(Object producerInstance, Class swaggerIntf) { Class producerCls = BeanUtils.getImplClassFromBean(producerInstance); Map visibleProducerMethods = retrieveVisibleMethods(producerCls); -Class swaggerIntf = ClassUtils.getOrCreateInterface(swagger, null, null); SwaggerProducer producer = new SwaggerProducer(); producer.setProducerCls(producerCls); @@ -169,14 +164,6 @@ public class SwaggerEnvironment { return producer; } - public SwaggerProducer createProducer(Object producerInstance) { -Class producerCls = BeanUtils.getImplClassFromBean(producerInstance); -SwaggerGenerator producerGenerator = UnitTestSwaggerUtils.generateSwagger(producerCls); -Swagger swagger = producerGenerator.getSwagger(); - -return createProducer(producerInstance, swagger); - } - private Map retrieveVisibleMethods(Class clazz) { Map visibleMethods = new HashMap<>(); for (Method method : clazz.getMethods()) { diff --git a/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/ResponseMeta.java b/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/ResponseMeta.java index be1be20..4a35879 100644 --- a/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/ResponseMeta.java +++ b/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/ResponseMeta.java @@ -20,12 +20,11 @@ import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; -import org.apache.servicecomb.swagger.converter.ConverterMgr; +import org.apache.servicecomb.swagger.converter.SwaggerToClassGenerator; import com.fasterxml.jackson.databind.JavaType; import io.swagger.models.Response; -import io.swagger.models.Swagger; import io.swagger.models.properties.Property; public class ResponseMeta { @@ -36,17 +35,16 @@ public class ResponseMeta { private Map headers = new HashMap<>(); - public void init(ClassLoader classLoader, String packageName, Swagger swagger,
[incubator-servicecomb-java-chassis] 03/07: [SCB-538][WIP] create SwaggerToClassGenerator
This is an automated email from the ASF dual-hosted git repository. wujimin pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git commit 2868fa3a092c89b33fb91233d0809cd72e873212 Author: wujiminAuthorDate: Fri May 4 00:27:23 2018 +0800 [SCB-538][WIP] create SwaggerToClassGenerator --- .../swagger/converter/SwaggerToClassGenerator.java | 259 + 1 file changed, 259 insertions(+) diff --git a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/SwaggerToClassGenerator.java b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/SwaggerToClassGenerator.java new file mode 100644 index 000..3205c02 --- /dev/null +++ b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/SwaggerToClassGenerator.java @@ -0,0 +1,259 @@ +/* + * 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.swagger.converter; + +import java.util.IdentityHashMap; +import java.util.Map; +import java.util.Map.Entry; + +import org.apache.servicecomb.common.javassist.ClassConfig; +import org.apache.servicecomb.common.javassist.JavassistUtils; +import org.apache.servicecomb.common.javassist.MethodConfig; +import org.apache.servicecomb.swagger.generator.core.SwaggerConst; +import org.apache.servicecomb.swagger.generator.core.utils.ClassUtils; +import org.springframework.util.StringUtils; + +import com.fasterxml.jackson.databind.JavaType; +import com.fasterxml.jackson.databind.type.TypeFactory; +import com.google.common.annotations.VisibleForTesting; + +import io.swagger.models.Model; +import io.swagger.models.Operation; +import io.swagger.models.Path; +import io.swagger.models.Response; +import io.swagger.models.Swagger; +import io.swagger.models.parameters.Parameter; +import io.swagger.models.properties.Property; + +/** + * generate interface from swagger + * specially should support: + * + * 1. recursive dependency: + * 1). class A { + * A a; + * } + * 2). circular dependency: + * class A { + * B b; + * } + * class B { + * A a; + * } + * 2. CustomerGenericT1, T2 + *should generate 3 classes: CustomerGeneric/T1/T2 + *this can avoid unnecessary convert between consumer/contract/producer + * + * + * javassist can create normal dynamic class to classloader + * but can not create recursive dependency dynamic class to classloader directly + * to support recursive dependency, must save all class to byte[], and then convert to class + * + */ +public class SwaggerToClassGenerator { + private ClassLoader classLoader; + + private Swagger swagger; + + /** + * package for definitions that no x-java-class attribute + */ + private String packageName; + + /** + * if not set, then will get from swagger.info.vendorExtensions.x-java-interface + * if still not set, then will use ${packageName}.SchemaInterface + */ + private String interfaceName; + + private Class interfaceCls; + + private TypeFactory typeFactory; + + // key is swagger model or property + @VisibleForTesting + protected Map
[incubator-servicecomb-java-chassis] 01/07: [SCB-538] avoid integration-tests.test-common in IntelliJ warning for can not find javax.annotation.Nonnull
This is an automated email from the ASF dual-hosted git repository. wujimin pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git commit 95554e4340a8a27f12e63ff5516f9ca543ebe179 Author: wujiminAuthorDate: Fri May 4 00:06:56 2018 +0800 [SCB-538] avoid integration-tests.test-common in IntelliJ warning for can not find javax.annotation.Nonnull --- integration-tests/test-common/pom.xml | 4 1 file changed, 4 insertions(+) diff --git a/integration-tests/test-common/pom.xml b/integration-tests/test-common/pom.xml index e0d6334..0f53000 100644 --- a/integration-tests/test-common/pom.xml +++ b/integration-tests/test-common/pom.xml @@ -64,6 +64,10 @@ io.zipkin.brave brave-context-log4j12 + + com.google.code.findbugs + jsr305 + -- To stop receiving notification emails like this one, please contact wuji...@apache.org.
[incubator-servicecomb-java-chassis] 05/07: [SCB-538][WIP] swagger generator core switch to use SwaggerToClassGenerator
This is an automated email from the ASF dual-hosted git repository. wujimin pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git commit 1658ab17d6ae6a2d58d084dd2c64a31783657639 Author: wujiminAuthorDate: Fri May 4 16:39:03 2018 +0800 [SCB-538][WIP] swagger generator core switch to use SwaggerToClassGenerator --- .../swagger/converter/AbstractConverter.java | 17 +-- .../servicecomb/swagger/converter/Converter.java | 4 +- .../swagger/converter/ConverterMgr.java| 24 +--- .../converter/model/ArrayModelConverter.java | 10 +- .../converter/model/ModelImplConverter.java| 63 +- .../swagger/converter/model/RefModelConverter.java | 9 +- .../AbstractSerializableParameterConverter.java| 12 +- .../parameter/BodyParameterConverter.java | 7 +- .../converter/property/ArrayPropertyConverter.java | 15 +-- .../converter/property/MapPropertyConverter.java | 17 ++- .../property/ObjectPropertyConverter.java | 6 +- .../converter/property/RefPropertyConverter.java | 9 +- .../property/StringPropertyConverter.java | 14 +-- .../core/unittest/UnitTestSwaggerUtils.java| 5 + .../swagger/generator/core/utils/ClassUtils.java | 131 +++- .../parameter/PendingBodyParameterConverter.java | 8 +- .../swagger/converter/TestAbstractConverter.java | 13 +- .../converter/model/TestModelImplConverter.java| 98 +++ .../swagger/generator/core/ClassUtilsForTest.java | 73 +++ .../generator/core/TestApiImplicitParams.java | 3 +- .../swagger/generator/core/TestApiResponse.java| 13 +- .../swagger/generator/core/TestArrayType.java | 3 +- .../swagger/generator/core/TestClassUtils.java | 133 +++-- .../swagger/generator/core/TestProperty.java | 7 +- .../swagger/generator/core/TestSwaggerUtils.java | 42 +-- 25 files changed, 346 insertions(+), 390 deletions(-) diff --git a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/AbstractConverter.java b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/AbstractConverter.java index aca0295..f23f8da 100644 --- a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/AbstractConverter.java +++ b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/AbstractConverter.java @@ -19,7 +19,6 @@ package org.apache.servicecomb.swagger.converter; import java.util.Map; -import org.apache.servicecomb.swagger.generator.core.SwaggerConst; import org.apache.servicecomb.swagger.generator.core.utils.ClassUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -28,25 +27,21 @@ import org.springframework.util.StringUtils; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.type.TypeFactory; -import io.swagger.models.Swagger; - public abstract class AbstractConverter implements Converter { private static final Logger LOGGER = LoggerFactory.getLogger(AbstractConverter.class); protected abstract Map findVendorExtensions(Object def); - protected abstract JavaType doConvert(ClassLoader classLoader, String packageName, Swagger swagger, Object def); + protected abstract JavaType doConvert(SwaggerToClassGenerator swaggerToClassGenerator, Object def); @Override - public JavaType convert(ClassLoader classLoader, String packageName, Swagger swagger, Object def) { -TypeFactory typeFactory = TypeFactory -.defaultInstance() -.withClassLoader(classLoader); + public JavaType convert(SwaggerToClassGenerator swaggerToClassGenerator, Object def) { +TypeFactory typeFactory = swaggerToClassGenerator.getTypeFactory(); Map vendorExtensions = findVendorExtensions(def); -String canonical = ClassUtils.getVendorExtension(vendorExtensions, SwaggerConst.EXT_JAVA_CLASS); +String canonical = ClassUtils.getClassName(vendorExtensions); if (!StringUtils.isEmpty(canonical)) { - Class clsResult = ClassUtils.getClassByName(classLoader, canonical); + Class clsResult = ClassUtils.getClassByName(swaggerToClassGenerator.getClassLoader(), canonical); if (clsResult != null) { return typeFactory.constructType(clsResult); } @@ -54,7 +49,7 @@ public abstract class AbstractConverter implements Converter { // ensure all depend model exist // maybe create dynamic class by canonical -JavaType result = doConvert(classLoader, packageName, swagger, def); +JavaType result = doConvert(swaggerToClassGenerator, def); String rawClassName = ClassUtils.getRawClassName(canonical); if (StringUtils.isEmpty(rawClassName)) { diff --git
[incubator-servicecomb-java-chassis] 04/07: [SCB-538][WIP] avoid copy java keywords in test case
This is an automated email from the ASF dual-hosted git repository. wujimin pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git commit 4e595d2103f1fc2e69177b2b5d21c9544a9db933 Author: wujiminAuthorDate: Fri May 4 09:24:25 2018 +0800 [SCB-538][WIP] avoid copy java keywords in test case --- .../swagger/generator/core/utils/ClassUtils.java | 3 - .../swagger/generator/core/TestClassUtils.java | 65 +- 2 files changed, 3 insertions(+), 65 deletions(-) diff --git a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/utils/ClassUtils.java b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/utils/ClassUtils.java index f9a33f3..20da1ec 100644 --- a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/utils/ClassUtils.java +++ b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/utils/ClassUtils.java @@ -45,9 +45,6 @@ import io.swagger.models.parameters.Parameter; import io.swagger.models.properties.Property; public final class ClassUtils { - // reference: - // https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html - // https://en.wikipedia.org/wiki/List_of_Java_keywords private ClassUtils() { } diff --git a/swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestClassUtils.java b/swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestClassUtils.java index a23702c..e49aea2 100644 --- a/swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestClassUtils.java +++ b/swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestClassUtils.java @@ -50,67 +50,6 @@ import mockit.Deencapsulation; @SwaggerDefinition public class TestClassUtils { - // copy from ClassUtils - // do not use JAVA_RESERVED_WORDS in ClassUtils directly - // because that's the test target. - private static final Set JAVA_RESERVED_WORDS = new HashSet<>(); - - static { -JAVA_RESERVED_WORDS.addAll(Arrays.asList("true", -"false", -"null", -"abstract", -"continue", -"for", -"new", -"switch", -"assert", -"default", -"goto", -"package", -"synchronized", -"boolean", -"do", -"if", -"private", -"this", -"break", -"double", -"implements", -"protected", -"throw", -"byte", -"else", -"import", -"public", -"throws", -"case", -"enum", -"instanceof", -"return", -"transient", -"catch", -"extends", -"int", -"short", -"try", -"char", -"final", -"interface", -"static", -"void", -"class", -"finally", -"long", -"strictfp", -"volatile", -"const", -"float", -"native", -"super", -"while")); - } - ClassLoader classLoader = new ClassLoader() { }; @@ -166,7 +105,9 @@ public class TestClassUtils { } @Test - public void testCorrectClassNameReservedWords() { + public void testCorrectClassNameReservedWords() throws IllegalAccessException { +@SuppressWarnings("unchecked") +Set JAVA_RESERVED_WORDS = (Set) FieldUtils.readStaticField(SourceVersion.class, "keywords", true); String name = String.join(".", JAVA_RESERVED_WORDS); String expectResult = "_" + String.join("._", JAVA_RESERVED_WORDS); -- To stop receiving notification emails like this one, please contact wuji...@apache.org.
[incubator-servicecomb-service-center] branch master updated (f55a89c -> 840b8c1)
This is an automated email from the ASF dual-hosted git repository. asifdxtreme pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-service-center.git. from f55a89c Fix Capitalization of the ServiceName in the Service list (#345) add 743c850 SCB-565 Register instance with the same id will create redundant endpoint index data add a3883fe SCB-565 Optimize code new 840b8c1 Merge pull request #346 from little-cui/master The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: server/service/instances.go | 4 ++-- server/service/util/instance_util.go | 16 ++-- server/service/util/instance_util_test.go | 23 +++ 3 files changed, 31 insertions(+), 12 deletions(-) -- To stop receiving notification emails like this one, please contact asifdxtr...@apache.org.
[incubator-servicecomb-service-center] 01/01: Merge pull request #346 from little-cui/master
This is an automated email from the ASF dual-hosted git repository. asifdxtreme pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-service-center.git commit 840b8c15e927e418cd9e3818cd834ba0734c2cac Merge: f55a89c a3883fe Author: Mohammad Asif SiddiquiAuthorDate: Wed May 9 19:01:47 2018 +0530 Merge pull request #346 from little-cui/master SCB-565 Register instance with the same id will create redundant endpoint index data server/service/instances.go | 4 ++-- server/service/util/instance_util.go | 16 ++-- server/service/util/instance_util_test.go | 23 +++ 3 files changed, 31 insertions(+), 12 deletions(-) -- To stop receiving notification emails like this one, please contact asifdxtr...@apache.org.
[incubator-servicecomb-saga] branch master updated (1b4a9cc -> d8ad37c)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git. from 1b4a9cc SCB-342 Add TLS support for gRPC (#181) new 2af0397 SCB-342 Updated the AlphaIntegrationTest with and without SSL new ba4d3b5 SCB-342 Clean up the ssl settings new ac3eeb1 SCB-342 Clean up the SSL configuration new 6174ebf SCB-342 Fixed the build error of alpha server new d8ad37c SCB-245 Added log dependency for tracking the test error The 5 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../saga/alpha/server/GrpcServerConfig.java| 20 +++--- .../saga/alpha/server/GrpcStartable.java | 28 ++--- .../src/main/resources/application.yaml| 11 +++- .../saga/alpha/server/AlphaIntegrationTest.java| 42 - .../alpha/server/AlphaIntegrationWithSSLTest.java | 73 ++ alpha/pom.xml | 13 +++- .../saga/omega/spring/OmegaSpringConfig.java | 6 +- .../omega-transport/omega-transport-dubbo/pom.xml | 8 ++- .../booking/src/main/resources/application.yaml| 6 -- .../car/src/main/resources/application.yaml| 7 --- 10 files changed, 146 insertions(+), 68 deletions(-) create mode 100644 alpha/alpha-server/src/test/java/org/apache/servicecomb/saga/alpha/server/AlphaIntegrationWithSSLTest.java -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] 02/05: SCB-342 Clean up the ssl settings
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git commit ba4d3b574468cb8d81163cfa05cc028431e39da6 Author: Willem JiangAuthorDate: Wed May 9 12:40:42 2018 +0800 SCB-342 Clean up the ssl settings --- .../saga/alpha/server/GrpcServerConfig.java| 14 ++-- .../saga/alpha/server/GrpcStartable.java | 25 -- .../src/main/resources/application.yaml| 18 ++-- .../saga/alpha/server/AlphaIntegrationTest.java| 3 ++- .../alpha/server/AlphaIntegrationWithSSLTest.java | 13 ++- 5 files changed, 48 insertions(+), 25 deletions(-) diff --git a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcServerConfig.java b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcServerConfig.java index c14cd0c..66dd992 100644 --- a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcServerConfig.java +++ b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcServerConfig.java @@ -31,16 +31,16 @@ public class GrpcServerConfig { @Value("${alpha.server.ssl.enable:false}") private boolean sslEnable; - @Value("${alpha.server.ssl.cert:server.cert}") + @Value("${alpha.server.ssl.cert:server.crt}") private String cert; - @Value("${alpha.server.ssl.key:server.key}") + @Value("${alpha.server.ssl.key:server.pem}") private String key; - @Value("${alpha.server.ssl.sslEnable:false}") - private boolean mutalAuth; + @Value("${alpha.server.ssl.mutualAuth:false}") + private boolean mutualAuth; - @Value("${alpha.server.ssl.clientCert:client.cert}") + @Value("${alpha.server.ssl.clientCert:client.crt}") private String clientCert; public String getHost() { @@ -63,8 +63,8 @@ public class GrpcServerConfig { return key; } - public boolean isMutalAuth() { -return mutalAuth; + public boolean isMutualAuth() { +return mutualAuth; } public String getClientCert() { diff --git a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcStartable.java b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcStartable.java index 9a2133c..4d99374 100644 --- a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcStartable.java +++ b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcStartable.java @@ -20,8 +20,8 @@ package org.apache.servicecomb.saga.alpha.server; -import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.lang.invoke.MethodHandles; import java.net.InetSocketAddress; import java.util.Arrays; @@ -82,21 +82,34 @@ class GrpcStartable implements ServerStartable { private SslContextBuilder getSslContextBuilder(GrpcServerConfig config) { Properties prop = new Properties(); +ClassLoader classLoader = getClass().getClassLoader(); try { - prop.load(getClass().getClassLoader().getResourceAsStream("ssl.properties")); + prop.load(classLoader.getResourceAsStream("ssl.properties")); } catch (IOException e) { throw new IllegalStateException("Unable to read ssl.properties.", e); } -SslContextBuilder sslClientContextBuilder = SslContextBuilder.forServer(new File(config.getCert()), -new File(config.getKey())) +InputStream cert = getInputStream(classLoader, config.getCert(), "Server Cert"); +InputStream key = getInputStream(classLoader, config.getKey(), "Server Key"); + +SslContextBuilder sslClientContextBuilder = SslContextBuilder.forServer(cert, key) .protocols(prop.getProperty("protocols")) .ciphers(Arrays.asList(prop.getProperty("ciphers").split(","))); -if (config.isMutalAuth()) { - sslClientContextBuilder.trustManager(new File(config.getClientCert())); +if (config.isMutualAuth()) { + InputStream clientCert = getInputStream(classLoader, config.getClientCert(), "Client Cert"); + sslClientContextBuilder.trustManager(clientCert); sslClientContextBuilder.clientAuth(ClientAuth.REQUIRE); } return GrpcSslContexts.configure(sslClientContextBuilder, SslProvider.OPENSSL); } + + private InputStream getInputStream(ClassLoader classLoader, String resource, String config) { +InputStream is = classLoader.getResourceAsStream(resource); +if (is == null) { + throw new IllegalStateException("Cannot load the " + config + " from " + resource); +} +return is; + + } } diff --git a/alpha/alpha-server/src/main/resources/application.yaml b/alpha/alpha-server/src/main/resources/application.yaml index 41964d0..9ec21b8 100644 --- a/alpha/alpha-server/src/main/resources/application.yaml +++ b/alpha/alpha-server/src/main/resources/application.yaml @@ -21,12 +21,18
[incubator-servicecomb-saga] 01/05: SCB-342 Updated the AlphaIntegrationTest with and without SSL
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git commit 2af03977969e33f050f0c336e1b8706a375e4456 Author: Willem JiangAuthorDate: Wed May 9 10:18:36 2018 +0800 SCB-342 Updated the AlphaIntegrationTest with and without SSL --- .../saga/alpha/server/GrpcServerConfig.java| 8 +-- .../saga/alpha/server/GrpcStartable.java | 3 +- .../saga/alpha/server/AlphaIntegrationTest.java| 40 +++- .../alpha/server/AlphaIntegrationWithSSLTest.java | 72 ++ 4 files changed, 87 insertions(+), 36 deletions(-) diff --git a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcServerConfig.java b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcServerConfig.java index ec4d3b1..c14cd0c 100644 --- a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcServerConfig.java +++ b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcServerConfig.java @@ -29,7 +29,7 @@ public class GrpcServerConfig { private int port; @Value("${alpha.server.ssl.enable:false}") - private boolean enable; + private boolean sslEnable; @Value("${alpha.server.ssl.cert:server.cert}") private String cert; @@ -37,7 +37,7 @@ public class GrpcServerConfig { @Value("${alpha.server.ssl.key:server.key}") private String key; - @Value("${alpha.server.ssl.enable:false}") + @Value("${alpha.server.ssl.sslEnable:false}") private boolean mutalAuth; @Value("${alpha.server.ssl.clientCert:client.cert}") @@ -51,8 +51,8 @@ public class GrpcServerConfig { return port; } - public boolean isEnable() { -return enable; + public boolean isSslEnable() { +return sslEnable; } public String getCert() { diff --git a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcStartable.java b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcStartable.java index 803cd2d..9a2133c 100644 --- a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcStartable.java +++ b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcStartable.java @@ -25,7 +25,6 @@ import java.io.IOException; import java.lang.invoke.MethodHandles; import java.net.InetSocketAddress; import java.util.Arrays; -import java.util.List; import java.util.Properties; import javax.net.ssl.SSLException; @@ -49,7 +48,7 @@ class GrpcStartable implements ServerStartable { GrpcStartable(GrpcServerConfig serverConfig, BindableService... services) { ServerBuilder serverBuilder; -if (serverConfig.isEnable()){ +if (serverConfig.isSslEnable()){ serverBuilder = NettyServerBuilder.forAddress( new InetSocketAddress(serverConfig.getHost(), serverConfig.getPort())); diff --git a/alpha/alpha-server/src/test/java/org/apache/servicecomb/saga/alpha/server/AlphaIntegrationTest.java b/alpha/alpha-server/src/test/java/org/apache/servicecomb/saga/alpha/server/AlphaIntegrationTest.java index 45b268b..aa0036f 100644 --- a/alpha/alpha-server/src/test/java/org/apache/servicecomb/saga/alpha/server/AlphaIntegrationTest.java +++ b/alpha/alpha-server/src/test/java/org/apache/servicecomb/saga/alpha/server/AlphaIntegrationTest.java @@ -65,6 +65,7 @@ import org.hamcrest.core.Is; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -74,30 +75,21 @@ import org.springframework.test.context.junit4.SpringRunner; import com.google.protobuf.ByteString; import io.grpc.ManagedChannel; -import io.grpc.ManagedChannelBuilder; -import io.grpc.netty.GrpcSslContexts; -import io.grpc.netty.NegotiationType; import io.grpc.netty.NettyChannelBuilder; import io.grpc.stub.StreamObserver; -import io.netty.handler.ssl.SslContext; -import io.netty.handler.ssl.SslContextBuilder; -import io.netty.handler.ssl.SslProvider; @RunWith(SpringRunner.class) @SpringBootTest(classes = {AlphaApplication.class, AlphaConfig.class}, properties = { "alpha.server.host=0.0.0.0", -"alpha.server.port=8090", "alpha.event.pollingInterval=1", -"alpha.server.ssl.enable=true", "alpha.server.ssl.cert=src/test/resources/server.crt", -"alpha.server.ssl.key=src/test/resources/server.pem", "alpha.server.ssl.enableMutualAuth=true", -"alpha.server.ssl.clientCert=src/test/resources/client.crt"}) +"alpha.server.ssl.enable=false", +"alpha.server.port=8090", +"alpha.event.pollingInterval=1" + }) public class AlphaIntegrationTest { private static final int port = 8090; - private static final ManagedChannel
[incubator-servicecomb-saga] 05/05: SCB-245 Added log dependency for tracking the test error
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git commit d8ad37c3acc8a4e35bf2e346314a91e9f2e496d3 Author: Willem JiangAuthorDate: Wed May 9 17:23:46 2018 +0800 SCB-245 Added log dependency for tracking the test error --- omega/omega-transport/omega-transport-dubbo/pom.xml | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/omega/omega-transport/omega-transport-dubbo/pom.xml b/omega/omega-transport/omega-transport-dubbo/pom.xml index 48071cf..65893c4 100644 --- a/omega/omega-transport/omega-transport-dubbo/pom.xml +++ b/omega/omega-transport/omega-transport-dubbo/pom.xml @@ -34,7 +34,13 @@ dubbo 2.6.1 + + +org.slf4j +slf4j-simple +test + - \ No newline at end of file + -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-service-center] branch master updated: Fix Capitalization of the ServiceName in the Service list (#345)
This is an automated email from the ASF dual-hosted git repository. littlecui pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-service-center.git The following commit(s) were added to refs/heads/master by this push: new f55a89c Fix Capitalization of the ServiceName in the Service list (#345) f55a89c is described below commit f55a89ceacb4bebf79c33c917402076b2aeaed2d Author: Mohammad Asif SiddiquiAuthorDate: Wed May 9 12:06:50 2018 +0530 Fix Capitalization of the ServiceName in the Service list (#345) --- .../app/scripts/modules/serviceCenter/controllers/serviceInfoCtrl.js | 2 +- .../app/scripts/modules/serviceCenter/controllers/servicesListCtrl.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/app/scripts/modules/serviceCenter/controllers/serviceInfoCtrl.js b/frontend/app/scripts/modules/serviceCenter/controllers/serviceInfoCtrl.js index 979523c..8257944 100644 --- a/frontend/app/scripts/modules/serviceCenter/controllers/serviceInfoCtrl.js +++ b/frontend/app/scripts/modules/serviceCenter/controllers/serviceInfoCtrl.js @@ -24,7 +24,7 @@ angular.module('serviceCenter.sc') serviceInfo.data.services.forEach(function(services){ if(services.serviceId == serviceId){ $scope.serviceDetail = { - serviceName: services.serviceName.toUpperCase(), + serviceName: services.serviceName, status: services.status.toLowerCase(), appId: services.appId.toLowerCase(), version: services.version, diff --git a/frontend/app/scripts/modules/serviceCenter/controllers/servicesListCtrl.js b/frontend/app/scripts/modules/serviceCenter/controllers/servicesListCtrl.js index 6343a4d..4d12872 100644 --- a/frontend/app/scripts/modules/serviceCenter/controllers/servicesListCtrl.js +++ b/frontend/app/scripts/modules/serviceCenter/controllers/servicesListCtrl.js @@ -101,7 +101,7 @@ angular.module('serviceCenter.sc', []) var headers = {"X-ConsumerId": service.serviceId}; if(filter && service.status.toLowerCase() === filter) { var servicesList = { - serviceName: service.serviceName.charAt(0).toUpperCase()+service.serviceName.slice(1).toLowerCase(), + serviceName: service.serviceName, status: service.status.toLowerCase(), appId: service.appId.toLowerCase(), version: service.version, @@ -124,7 +124,7 @@ angular.module('serviceCenter.sc', []) } if(!filter){ var servicesList = { - serviceName: service.serviceName.charAt(0).toUpperCase()+service.serviceName.slice(1).toLowerCase(), + serviceName: service.serviceName, status: service.status.toLowerCase(), appId: service.appId.toLowerCase(), version: service.version, -- To stop receiving notification emails like this one, please contact little...@apache.org.