Skip to content

Commit

Permalink
release 3.0.18-beta source code for java
Browse files Browse the repository at this point in the history
  • Loading branch information
Huaweicloud-SDK committed Oct 20, 2020
1 parent 2342973 commit 480585e
Show file tree
Hide file tree
Showing 304 changed files with 40,778 additions and 909 deletions.
48 changes: 46 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,47 @@
## 3.0.18-beta 2020-10-20
## HuaweiCloud SDK DCS
- ### Features
- None
- ### Bug Fix
- None
- ### Change
- Remove redundant `Dcs` in interfaces.

## HuaweiCloud SDK ELB
- ### Features
- Support more interfaces of version v2.
- ### Bug Fix
- None
- ### Change
- None

## HuaweiCloud SDK IoTDA
- ### Features
- Support more interfaces related to rules.
- ### Bug Fix
- None
- ### Change
- None

## HuaweiCloud SDK Meeting
- ### Features
- Support more interfaces.
- ### Bug Fix
- None
- ### Change
- None


## 3.0.17-beta 2020-10-14
## HuaweiCloud SDK Bss
## HuaweiCloud SDK BSS
- ### Features
- Partner center supports exporting product catalog prices.
- ### Bug Fix
- None
- ### Change
- None

## HuaweiCloud SDK Dcs
## HuaweiCloud SDK DCS
- ### Features
- Support more interfaces.
- ### Bug Fix
Expand Down Expand Up @@ -551,5 +585,15 @@
- Support creating and generating application code tasks through DevStar template.
- ### Bug Fix
- None
- ### Change
- None

# 3.0.17-beta 2020-10-16
## HuaweiCloud SDK DevStar
- ### Features
- Change of title from Devstar to DevStar.
- Supplemental DevStar Automation Test Cases.
- ### Bug Fix
- None
- ### Change
- None
48 changes: 46 additions & 2 deletions CHANGELOG_CN.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,47 @@
## 3.0.18-beta 2020-10-20
## HuaweiCloud SDK DCS
- ### 新增特性
-
- ### 解决问题
-
- ### 特性变更
- 接口名中去掉冗余的Dcs服务名

## HuaweiCloud SDK ELB
- ### 新增特性
- 增加v2版本接口
- ### 解决问题
-
- ### 特性变更
-

## HuaweiCloud SDK IoTDA
- ### 新增特性
- 增加规则相关接口
- ### 解决问题
-
- ### 特性变更
-

## HuaweiCloud SDK Meeting
- ### 新增特性
- 增加支持接口
- ### 解决问题
-
- ### 特性变更
-


## 3.0.17-beta 2020-10-14
## HuaweiCloud SDK Bss
## HuaweiCloud SDK BSS
- ### 新增特性
- 伙伴中心支持导出产品目录价
- ### 解决问题
-
- ### 特性变更
-

## HuaweiCloud SDK Dcs
## HuaweiCloud SDK DCS
- ### 新增特性
- 增加支持接口
- ### 解决问题
Expand Down Expand Up @@ -552,5 +586,15 @@
- 支持通过DevStar模板创建生成应用代码任务
- ### 解决问题
-
- ### 特性变更
-

# 3.0.17-beta 2020-10-16
## HuaweiCloud SDK DevStar
- ### 新增特性
- title由Devstar更改为DevStar
- 补充DevStar自动化测试用例
- ### 解决问题
-
- ### 特性变更
-
4 changes: 2 additions & 2 deletions core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@

<parent>
<groupId>com.huaweicloud.sdk</groupId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<artifactId>huaweicloud-sdk</artifactId>
</parent>

<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<artifactId>huaweicloud-sdk-core</artifactId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<name>Huaweicloud SDK for Java Core</name>
<description>Core code for Huaweicloud SDK for Java</description>
<url>https://github.com/huaweicloud/huaweicloud-sdk-java-v3</url>
Expand Down
57 changes: 29 additions & 28 deletions core/src/main/java/com/huaweicloud/sdk/core/HcClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.exception.SdkErrorMessage;
Expand Down Expand Up @@ -252,13 +251,20 @@ private <ReqT, ResT> ResT extractResponse(HttpResponse httpResponse, HttpRequest
if (Objects.isNull(resT)) {
resT = reqDef.getResponseType().newInstance();
}
if (resT instanceof SdkResponse) {
SdkResponse sdkResponse = (SdkResponse) resT;

ResT finalResT = resT;
reqDef.getResponseFields().forEach(resTField -> {
if (resTField.getLocation() == LocationType.Header) {
fillHeaderField(httpResponse, finalResT, resTField);
}
});

if (finalResT instanceof SdkResponse) {
SdkResponse sdkResponse = (SdkResponse) finalResT;
sdkResponse.setHttpStatusCode(httpResponse.getStatusCode());
// reflect header parameter in response.
setResponseHeaders(httpResponse, sdkResponse);
}
return resT;

return finalResT;
} catch (InstantiationException | IllegalAccessException e) {
logger.error("Can not create response instance", e);
return null;
Expand All @@ -269,28 +275,6 @@ private <ReqT, ResT> ResT extractResponse(HttpResponse httpResponse, HttpRequest
}
}

private <ResT> void setResponseHeaders(HttpResponse httpResponse, ResT resT) {
if (httpResponse.getHeaders().size() == 0) {
return;
}
try {
java.lang.reflect.Field[] fields = resT.getClass().getDeclaredFields();
for (java.lang.reflect.Field field : fields) {
boolean fieldHasAno = field.isAnnotationPresent(JsonProperty.class);
if (fieldHasAno) {
JsonProperty fieldProperty = field.getAnnotation(JsonProperty.class);
String jsonValue = fieldProperty.value();
if (Objects.nonNull(httpResponse.getHeader(jsonValue))) {
field.setAccessible(true);
field.set(resT, httpResponse.getHeader(jsonValue));
}
}
}
} catch (IllegalAccessException e) {
throw new SdkException(e);
}
}

public <ResT> Object responseToObject(String respBody, Field<ResT, ?> responseField) {
Object obj;
if (responseField.getFieldType().isAssignableFrom(List.class)) {
Expand All @@ -303,6 +287,23 @@ public <ResT> Object responseToObject(String respBody, Field<ResT, ?> responseFi
return obj;
}

private <ResT> void fillHeaderField(HttpResponse httpResponse, ResT wrapperResponse, Field<ResT, ?> field) {
List<String> infos = httpResponse.getHeaders().get(field.getName());
if (Objects.nonNull(infos) && infos.size() > 0) {
if (field.getFieldType().isAssignableFrom(List.class)) {
field.writeValueSafe(wrapperResponse, infos, List.class);
} else {
field.writeValueSafe(wrapperResponse, infos.get(0), String.class);
if (infos.size() > 1) {
logger.error("field {} passed list {}, but configured as single value", field.getName(),
infos.stream().collect(Collectors.joining(",")));
}
}
} else {
logger.warn("field {} in header read response value is empty", field.getName());
}
}

@Override
public void configJson(Consumer<ObjectMapper> func) {
func.accept(JsonUtils.getDefaultMapper());
Expand Down
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<packaging>pom</packaging>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk</artifactId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<name>Huaweicloud SDK for Java</name>
<description>Huaweicloud SDK for Java</description>
<url>https://github.com/huaweicloud/huaweicloud-sdk-java-v3</url>
Expand Down Expand Up @@ -48,7 +48,7 @@

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<revision>3.0.17-beta</revision>
<revision>3.0.18-beta</revision>
<jackson.version>2.11.1</jackson.version>
<validation-api.version>2.0.1.Final</validation-api.version>
<okhttp.version>3.14.2</okhttp.version>
Expand Down
4 changes: 2 additions & 2 deletions services/apig/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.huaweicloud.sdk</groupId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<artifactId>huaweicloud-sdk-services</artifactId>
<relativePath>..</relativePath>
</parent>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-apig</artifactId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<name>huaweicloud sdk apig</name>

<modelVersion>4.0.0</modelVersion>
Expand Down
4 changes: 2 additions & 2 deletions services/as/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.huaweicloud.sdk</groupId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<artifactId>huaweicloud-sdk-services</artifactId>
<relativePath>..</relativePath>
</parent>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-as</artifactId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<name>huaweicloud sdk as</name>

<modelVersion>4.0.0</modelVersion>
Expand Down
4 changes: 2 additions & 2 deletions services/bss/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.huaweicloud.sdk</groupId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<artifactId>huaweicloud-sdk-services</artifactId>
<relativePath>..</relativePath>
</parent>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-bss</artifactId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<name>huaweicloud sdk bss</name>

<modelVersion>4.0.0</modelVersion>
Expand Down
4 changes: 2 additions & 2 deletions services/bssintl/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.huaweicloud.sdk</groupId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<artifactId>huaweicloud-sdk-services</artifactId>
<relativePath>..</relativePath>
</parent>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-bssintl</artifactId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<name>huaweicloud sdk bssintl</name>

<modelVersion>4.0.0</modelVersion>
Expand Down
4 changes: 2 additions & 2 deletions services/cbr/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.huaweicloud.sdk</groupId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<artifactId>huaweicloud-sdk-services</artifactId>
<relativePath>..</relativePath>
</parent>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-cbr</artifactId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<name>huaweicloud sdk cbr</name>

<modelVersion>4.0.0</modelVersion>
Expand Down
4 changes: 2 additions & 2 deletions services/ces/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.huaweicloud.sdk</groupId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<artifactId>huaweicloud-sdk-services</artifactId>
<relativePath>..</relativePath>
</parent>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-ces</artifactId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<name>huaweicloud sdk ces</name>

<modelVersion>4.0.0</modelVersion>
Expand Down
4 changes: 2 additions & 2 deletions services/classroom/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.huaweicloud.sdk</groupId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<artifactId>huaweicloud-sdk-services</artifactId>
<relativePath>..</relativePath>
</parent>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-classroom</artifactId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<name>huaweicloud sdk classroom</name>

<modelVersion>4.0.0</modelVersion>
Expand Down
4 changes: 2 additions & 2 deletions services/cloudbuild/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.huaweicloud.sdk</groupId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<artifactId>huaweicloud-sdk-services</artifactId>
<relativePath>..</relativePath>
</parent>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-cloudbuild</artifactId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<name>huaweicloud sdk cloudbuild</name>

<modelVersion>4.0.0</modelVersion>
Expand Down
4 changes: 2 additions & 2 deletions services/cloudide/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.huaweicloud.sdk</groupId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<artifactId>huaweicloud-sdk-services</artifactId>
<relativePath>..</relativePath>
</parent>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-cloudide</artifactId>
<version>3.0.17-beta</version>
<version>3.0.18-beta</version>
<name>huaweicloud sdk cloudide</name>

<modelVersion>4.0.0</modelVersion>
Expand Down
Loading

0 comments on commit 480585e

Please sign in to comment.