[incubator-servicecomb-java-chassis] branch master updated (cd87c96 -> 058f471)

2018-05-09 Thread wujimin
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.

2018-05-09 Thread wujimin
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: wujimin 
AuthorDate: 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

2018-05-09 Thread wujimin
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: wujimin 
AuthorDate: 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

2018-05-09 Thread wujimin
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: wujimin 
AuthorDate: 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 swaggerObjectMap = new IdentityHashMap<>();
+
+  /**
+   *
+   * @param classLoader
+   * @param swagger
+   * @param packageName package for definitions that no x-java-class attribute
+   */
+  public SwaggerToClassGenerator(ClassLoader classLoader, Swagger swagger, 
String packageName) {
+this.classLoader = classLoader;
+this.swagger = swagger;
+this.packageName = packageName;
+
+this.typeFactory = 
TypeFactory.defaultInstance().withClassLoader(classLoader);
+  }
+
+  public void setInterfaceName(String interfaceName) {
+this.interfaceName = interfaceName;
+  }
+
+  public ClassLoader getClassLoader() {
+return classLoader;
+  }
+
+  public Swagger getSwagger() {
+return swagger;
+  }
+
+  public String getPackageName() {
+return packageName;
+  }
+
+  public TypeFactory getTypeFactory() {
+return typeFactory;
+  }
+
+  public Class getInterfaceCls() {
+return interfaceCls;
+  }
+
+  /**
+   * convert definitions/parameters and responses 

[incubator-servicecomb-java-chassis] 01/07: [SCB-538] avoid integration-tests.test-common in IntelliJ warning for can not find javax.annotation.Nonnull

2018-05-09 Thread wujimin
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: wujimin 
AuthorDate: 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

2018-05-09 Thread wujimin
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: wujimin 
AuthorDate: 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

2018-05-09 Thread wujimin
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: wujimin 
AuthorDate: 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)

2018-05-09 Thread asifdxtreme
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

2018-05-09 Thread asifdxtreme
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 Siddiqui 
AuthorDate: 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)

2018-05-09 Thread ningjiang
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

2018-05-09 Thread ningjiang
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 Jiang 
AuthorDate: 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

2018-05-09 Thread ningjiang
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 Jiang 
AuthorDate: 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

2018-05-09 Thread ningjiang
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 Jiang 
AuthorDate: 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)

2018-05-09 Thread littlecui
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 Siddiqui 
AuthorDate: 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.