Skip to content

Commit 2adc9ea

Browse files
authored
Merge pull request #212 from 563750789/master
update ci api
2 parents 381bd9e + 04f1225 commit 2adc9ea

20 files changed

+420
-27
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>com.qcloud</groupId>
66
<artifactId>cos_api</artifactId>
7-
<version>5.6.221</version>
7+
<version>5.6.223</version>
88
<packaging>jar</packaging>
99
<name>cos-java-sdk</name>
1010
<description>java sdk for qcloud cos</description>

src/main/java/com/qcloud/cos/COSClient.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,9 @@ protected <X extends CosServiceRequest> CosHttpRequest<X> createRequest(String b
250250
CosHttpRequest<X> httpRequest = new CosHttpRequest<X>(originalRequest);
251251
httpRequest.setHttpMethod(httpMethod);
252252
httpRequest.addHeader(Headers.USER_AGENT, clientConfig.getUserAgent());
253+
if (originalRequest.getCustomRequestHeaders() != null && originalRequest.getCustomRequestHeaders().containsKey("Pic-Operations")) {
254+
httpRequest.addHeader("Pic-Operations", originalRequest.getCustomRequestHeaders().get("Pic-Operations"));
255+
}
253256
if (originalRequest instanceof ListBucketsRequest) {
254257
buildUrlAndHost(httpRequest, bucketName, key, true);
255258
} else {
@@ -959,8 +962,10 @@ ObjectMetadata uploadObjectInternal(UploadMode uploadMode, UploadObjectRequest u
959962
populateRequestMetadata(request, metadata);
960963
request.setContent(input);
961964
try {
962-
if(uploadObjectRequest.getPicOperations() != null) {
963-
request.addHeader(Headers.PIC_OPERATIONS, Jackson.toJsonString(uploadObjectRequest.getPicOperations()));
965+
if(uploadObjectRequest.getPicOperations() != null || (uploadObjectRequest.getCustomRequestHeaders() != null && uploadObjectRequest.getCustomRequestHeaders().containsKey(Headers.PIC_OPERATIONS)) ) {
966+
if (uploadObjectRequest.getCustomRequestHeaders() == null || !uploadObjectRequest.getCustomRequestHeaders().containsKey(Headers.PIC_OPERATIONS)){
967+
request.addHeader(Headers.PIC_OPERATIONS, Jackson.toJsonString(uploadObjectRequest.getPicOperations()));
968+
}
964969
returnedMetadata = invoke(request, new ResponseHeaderHandlerChain<ObjectMetadata>(
965970
new Unmarshallers.ImagePersistenceUnmarshaller(), new CosMetadataResponseHandler()));
966971
} else {

src/main/java/com/qcloud/cos/demo/ci/ImagePersistenceDemo.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ public static void persistenceImage(COSClient cosClient) {
5757
PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest);
5858
CIUploadResult ciUploadResult = putObjectResult.getCiUploadResult();
5959
System.out.println(putObjectResult.getRequestId());
60-
System.out.println(ciUploadResult.getOriginalInfo().getEtag());
6160
for(CIObject ciObject:ciUploadResult.getProcessResults().getObjectList()) {
6261
System.out.println(ciObject.getLocation());
6362
System.out.println(ciObject.getEtag());

src/main/java/com/qcloud/cos/internal/Unmarshallers.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import com.qcloud.cos.model.*;
3131
import com.qcloud.cos.model.bucketcertificate.BucketGetDomainCertificate;
3232
import com.qcloud.cos.model.ciModel.auditing.AudioAuditingResponse;
33+
import com.qcloud.cos.model.ciModel.auditing.AuditingKeywordResponse;
3334
import com.qcloud.cos.model.ciModel.auditing.AuditingStrategyListResponse;
3435
import com.qcloud.cos.model.ciModel.auditing.AuditingStrategyResponse;
3536
import com.qcloud.cos.model.ciModel.auditing.AuditingTextLibResponse;
@@ -56,6 +57,7 @@
5657
import com.qcloud.cos.model.ciModel.job.MediaListJobResponse;
5758
import com.qcloud.cos.model.ciModel.mediaInfo.MediaInfoResponse;
5859
import com.qcloud.cos.model.ciModel.persistence.AIGameRecResponse;
60+
import com.qcloud.cos.model.ciModel.persistence.CIUploadResult;
5961
import com.qcloud.cos.model.ciModel.persistence.DetectCarResponse;
6062
import com.qcloud.cos.model.ciModel.queue.DocListQueueResponse;
6163
import com.qcloud.cos.model.ciModel.queue.MediaListQueueResponse;
@@ -146,8 +148,8 @@ public static final class ImagePersistenceUnmarshaller
146148
implements Unmarshaller<ObjectMetadata, InputStream> {
147149
public ObjectMetadata unmarshall(InputStream in) throws Exception {
148150
ObjectMetadata objectMetadata = new ObjectMetadata();
149-
objectMetadata.setCiUploadResult(new XmlResponsesSaxParser().parseImagePersistenceResponse(in)
150-
.getCiUploadResult());
151+
CICommonUnmarshaller<CIUploadResult> unmarshaller = new CICommonUnmarshaller<>(CIUploadResult.class);
152+
objectMetadata.setCiUploadResult(unmarshaller.unmarshall(in));
151153
return objectMetadata;
152154
}
153155
}

src/main/java/com/qcloud/cos/model/ciModel/metaInsight/Aggregations.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
package com.qcloud.cos.model.ciModel.metaInsight;
22

3-
import com.thoughtworks.xstream.annotations.XStreamAlias;
3+
import com.fasterxml.jackson.annotation.JsonProperty;
44

5-
@XStreamAlias("Aggregations")
65
public class Aggregations {
76

87
/**
98
* 聚合字段的操作符。枚举值:min:最小值。max:最大值。average:平均数sum:求和。count:计数。distinct:去重计数。group:分组计数,按照分组计数结果从高到低排序。
109
*/
11-
@XStreamAlias("Operation")
10+
@JsonProperty("Operation")
1211
private String operation;
1312

1413
/**
1514
*字段名称。关于支持的字段,请参考字段和操作符的支持列表。
1615
*/
17-
@XStreamAlias("Field")
16+
@JsonProperty("Field")
1817
private String field;
1918

2019
public String getOperation() { return operation; }

src/main/java/com/qcloud/cos/model/ciModel/metaInsight/ImageResult.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.fasterxml.jackson.annotation.JsonProperty;
44
public class ImageResult {
5+
56
/**
67
*资源标识字段,表示需要建立索引的文件地址。
78
*/

src/main/java/com/qcloud/cos/model/ciModel/persistence/CIObject.java

Lines changed: 53 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,46 @@
11
package com.qcloud.cos.model.ciModel.persistence;
22

33
import com.qcloud.cos.model.ciModel.recognition.QRcodeInfo;
4+
import com.thoughtworks.xstream.annotations.XStreamAlias;
5+
import com.thoughtworks.xstream.annotations.XStreamImplicit;
46

57
import java.util.List;
68

79
public class CIObject {
10+
@XStreamAlias("Key")
811
private String key;
12+
13+
@XStreamAlias("Location")
914
private String location;
15+
16+
@XStreamAlias("Format")
1017
private String format;
11-
private Integer width;
12-
private Integer height;
13-
private Integer size;
14-
private Integer quality;
18+
19+
@XStreamAlias("Width")
20+
private int width;
21+
22+
@XStreamAlias("Height")
23+
private int height;
24+
25+
@XStreamAlias("Size")
26+
private int size;
27+
28+
@XStreamAlias("Quality")
29+
private int quality;
30+
31+
@XStreamAlias("FrameCount")
32+
private int frameCount;
33+
34+
@XStreamAlias("ETag")
1535
private String etag;
36+
37+
@XStreamAlias("WatermarkStatus")
1638
private Integer watermarkStatus;
39+
@XStreamAlias("CodeStatus")
1740
private Integer codeStatus;
41+
@XStreamImplicit(keyFieldName = "QRcodeInfo")
1842
private List<QRcodeInfo> QRcodeInfoList;
43+
1944
public String getKey() {
2045
return key;
2146
}
@@ -103,4 +128,28 @@ public Integer getWatermarkStatus() {
103128
public void setWatermarkStatus(Integer watermarkStatus) {
104129
this.watermarkStatus = watermarkStatus;
105130
}
131+
132+
public void setWidth(int width) {
133+
this.width = width;
134+
}
135+
136+
public void setHeight(int height) {
137+
this.height = height;
138+
}
139+
140+
public void setSize(int size) {
141+
this.size = size;
142+
}
143+
144+
public void setQuality(int quality) {
145+
this.quality = quality;
146+
}
147+
148+
public int getFrameCount() {
149+
return frameCount;
150+
}
151+
152+
public void setFrameCount(int frameCount) {
153+
this.frameCount = frameCount;
154+
}
106155
}

src/main/java/com/qcloud/cos/model/ciModel/persistence/CIUploadResult.java

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,23 @@
11
package com.qcloud.cos.model.ciModel.persistence;
22

33
import com.qcloud.cos.model.CosServiceResult;
4+
import com.thoughtworks.xstream.annotations.XStreamAlias;
45

6+
@XStreamAlias("UploadResult")
57
public class CIUploadResult extends CosServiceResult {
8+
@XStreamAlias("OriginalInfo")
69
private OriginalInfo originalInfo;
10+
@XStreamAlias("ProcessResults")
711
private ProcessResults processResults;
12+
@XStreamAlias("FaceDetailInfos")
13+
private FaceDetailInfos faceDetailInfos;
14+
@XStreamAlias("PlateDetailInfos")
15+
private PlateDetailInfos plateDetailInfos;
16+
@XStreamAlias("Face")
17+
private FailedMessage face;
18+
@XStreamAlias("Plate")
19+
private FailedMessage plate;
20+
821
public OriginalInfo getOriginalInfo() {
922
return originalInfo;
1023
}
@@ -20,4 +33,37 @@ public ProcessResults getProcessResults() {
2033
public void setProcessResults(ProcessResults processResults) {
2134
this.processResults = processResults;
2235
}
36+
37+
38+
public FailedMessage getFace() {
39+
return face;
40+
}
41+
42+
public void setFace(FailedMessage face) {
43+
this.face = face;
44+
}
45+
46+
public FailedMessage getPlate() {
47+
return plate;
48+
}
49+
50+
public void setPlate(FailedMessage plate) {
51+
this.plate = plate;
52+
}
53+
54+
public FaceDetailInfos getFaceDetailInfos() {
55+
return faceDetailInfos;
56+
}
57+
58+
public void setFaceDetailInfos(FaceDetailInfos faceDetailInfos) {
59+
this.faceDetailInfos = faceDetailInfos;
60+
}
61+
62+
public PlateDetailInfos getPlateDetailInfos() {
63+
return plateDetailInfos;
64+
}
65+
66+
public void setPlateDetailInfos(PlateDetailInfos plateDetailInfos) {
67+
this.plateDetailInfos = plateDetailInfos;
68+
}
2369
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.qcloud.cos.model.ciModel.persistence;
2+
3+
import com.qcloud.cos.model.ciModel.ai.FaceRect;
4+
import com.thoughtworks.xstream.annotations.XStreamImplicit;
5+
6+
import java.util.List;
7+
8+
public class FaceDetailInfos {
9+
@XStreamImplicit(itemFieldName = "FaceRect")
10+
List<FaceRect> faceRectList;
11+
12+
public List<FaceRect> getFaceRectList() {
13+
return faceRectList;
14+
}
15+
16+
public void setFaceRectList(List<FaceRect> faceRectList) {
17+
this.faceRectList = faceRectList;
18+
}
19+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.qcloud.cos.model.ciModel.persistence;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
5+
import java.util.ArrayList;
6+
import java.util.List;
7+
8+
9+
public class FacePlateMosaicObject {
10+
@JsonProperty("is_pic_info")
11+
private int isPicInfo = 1;
12+
private List<RuleItem> rules;
13+
14+
public int getIsPicInfo() {
15+
return isPicInfo;
16+
}
17+
18+
public void setIsPicInfo(int isPicInfo) {
19+
this.isPicInfo = isPicInfo;
20+
}
21+
22+
public List<RuleItem> getRules() {
23+
if (rules == null) {
24+
rules = new ArrayList<>();
25+
}
26+
return rules;
27+
}
28+
29+
public void setRules(List<RuleItem> rules) {
30+
this.rules = rules;
31+
}
32+
}
33+

0 commit comments

Comments
 (0)