![JAR search and dependency download from the Maven repository](/logo.png)
com.ksyun.ks3.service.request.ExtendBucketWormRequest Maven / Gradle / Ivy
package com.ksyun.ks3.service.request;
import com.ksyun.ks3.http.HttpHeaders;
import com.ksyun.ks3.http.HttpMethod;
import com.ksyun.ks3.http.Request;
import com.ksyun.ks3.service.response.ExtendBucketWormResponse;
import com.ksyun.ks3.utils.Md5Utils;
import com.ksyun.ks3.utils.XmlWriter;
import java.io.ByteArrayInputStream;
import static com.ksyun.ks3.exception.client.ClientIllegalArgumentExceptionGenerator.between;
import static com.ksyun.ks3.exception.client.ClientIllegalArgumentExceptionGenerator.notNull;
public class ExtendBucketWormRequest extends Ks3WebServiceRequest{
private String bucketName;
private String wormId;
int retentionPeriodInDays;
public String getBucketName() {
return bucketName;
}
public void setBucketName(String bucketName) {
this.bucketName = bucketName;
}
public String getWormId() {
return wormId;
}
public void setWormId(String wormId) {
this.wormId = wormId;
}
public ExtendBucketWormRequest(String bucketName,String wormId, int retentionPeriodInDays){
this.bucketName = bucketName;
this.wormId = wormId;
this.retentionPeriodInDays = retentionPeriodInDays;
}
@Override
public void buildRequest(Request request) {
request.setMethod(HttpMethod.POST);
request.setBucket(bucketName);
request.addQueryParam("wormId",wormId);
request.addQueryParam("wormExtend","");
XmlWriter writer = new XmlWriter();
writer.start("ExtendWormConfiguration");
writer.start("RetentionPeriodInDays").value(retentionPeriodInDays).end();
writer.end();
String xml = writer.toString();
request.addHeader(HttpHeaders.ContentMD5, Md5Utils.md5AsBase64(xml.getBytes()));
request.setContent(new ByteArrayInputStream(xml.getBytes()));
}
@Override
public void validateParams() {
if(bucketName == null){
throw notNull("bucketName");
}
if(wormId == null){
throw notNull("wormId");
}
if(retentionPeriodInDays < 1 || retentionPeriodInDays > 36500){
throw between("retentionPeriodInDays",String.valueOf(retentionPeriodInDays),"1","36500");
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy