Skip to content

Commit de3172b

Browse files
committed
Update to 3.22.12
1 parent 8153970 commit de3172b

File tree

85 files changed

+3490
-255
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+3490
-255
lines changed

app/src/main/java/com/obs/services/AbstractBatchClient.java

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ public TaskProgressStatus restoreObjects(RestoreObjectsRequest request) throws O
9191
RestoreObjectRequest taskRequest = new RestoreObjectRequest(request.getBucketName(), kv.getKey(),
9292
kv.getVersion(), request.getDays(), request.getRestoreTier());
9393
taskRequest.setRequesterPays(request.isRequesterPays());
94-
RestoreObjectTask task = new RestoreObjectTask(this, request.getBucketName(), taskRequest,
94+
RestoreObjectTask task = new RestoreObjectTask(this, request.getBucketName(), taskRequest,
9595
callback, listener,
9696
progreStatus, progressInterval);
9797
executor.execute(task);
@@ -108,10 +108,12 @@ public TaskProgressStatus restoreObjects(RestoreObjectsRequest request) throws O
108108
progreStatus.setTotalTaskNum(totalTasks);
109109
executor.shutdown();
110110
executor.awaitTermination(Long.MAX_VALUE, TimeUnit.SECONDS);
111-
} catch (ObsException e) {
112-
throw e;
113111
} catch (Exception e) {
114-
throw new ObsException(e.getMessage(), e);
112+
if (e instanceof ObsException) {
113+
throw (ObsException) e;
114+
} else {
115+
throw new ObsException(e.getMessage(), e);
116+
}
115117
}
116118
return progreStatus;
117119
}
@@ -216,20 +218,22 @@ public UploadProgressStatus putObjects(final PutObjectsRequest request) throws O
216218

217219
int totalTasks = 0;
218220
if (request.getFolderPath() != null) {
219-
totalTasks = uploadFolder(request, executor, progressStatus, listener,
221+
totalTasks = uploadFolder(request, executor, progressStatus, listener,
220222
callback, prefix);
221223
} else if (request.getFilePaths() != null) {
222-
totalTasks = uploadFileLists(request, executor, progressStatus, listener,
224+
totalTasks = uploadFileLists(request, executor, progressStatus, listener,
223225
callback, prefix);
224226
}
225227

226228
progressStatus.setTotalTaskNum(totalTasks);
227229
executor.shutdown();
228230
executor.awaitTermination(Long.MAX_VALUE, TimeUnit.SECONDS);
229-
} catch (ObsException e) {
230-
throw e;
231231
} catch (Exception e) {
232-
throw new ObsException(e.getMessage(), e);
232+
if (e instanceof ObsException) {
233+
throw (ObsException) e;
234+
} else {
235+
throw new ObsException(e.getMessage(), e);
236+
}
233237
}
234238

235239
return progressStatus;

app/src/main/java/com/obs/services/AbstractBucketClient.java

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,12 @@
3434
import com.obs.services.model.BucketStoragePolicyConfiguration;
3535
import com.obs.services.model.BucketVersioningConfiguration;
3636
import com.obs.services.model.CreateBucketRequest;
37+
import com.obs.services.model.CreateVirtualBucketRequest;
38+
import com.obs.services.model.CreateVirtualBucketResult;
3739
import com.obs.services.model.DeleteBucketCustomDomainRequest;
3840
import com.obs.services.model.GetBucketCustomDomainRequest;
3941
import com.obs.services.model.HeaderResponse;
42+
import com.obs.services.model.ListBucketAliasResult;
4043
import com.obs.services.model.ListBucketsRequest;
4144
import com.obs.services.model.ListBucketsResult;
4245
import com.obs.services.model.ObsBucket;
@@ -139,6 +142,35 @@ void authTypeNegotiate(String bucketName) throws ServiceException {
139142
});
140143
}
141144

145+
public CreateVirtualBucketResult createVirtualBucket(CreateVirtualBucketRequest request) throws ObsException {
146+
ServiceUtils.assertParameterNotNull(request, "CreateVirtualBucketRequest is null");
147+
ServiceUtils.assertParameterNotNull(request.getBucketAlias(), "bucket alias is null");
148+
ServiceUtils.assertParameterNotNull(request.getBucketName1(), "bucket name1 is null");
149+
ServiceUtils.assertParameterNotNull(request.getBucketName2(), "bucket name2 is null");
150+
ServiceUtils.assertParameterNotNull(request.getAgencyId(), "agency id is null");
151+
ServiceUtils.assertParameterNotNull(request.getRegionId(), "region id is null");
152+
ServiceUtils.assertParameterNotNull(request.getToken(), "token is null");
153+
return this.doActionWithResult("createVirtualBucket", "All Buckets", new ActionCallbackWithResult<CreateVirtualBucketResult>() {
154+
@Override
155+
public CreateVirtualBucketResult action() throws ServiceException {
156+
if (isCname()) {
157+
throw new ServiceException("createVirtualBucket is not allowed in customdomain mode");
158+
}
159+
return AbstractBucketClient.this.createVirtualBucketImpl(request);
160+
}
161+
162+
@Override
163+
void authTypeNegotiate(String bucketName) throws ServiceException {
164+
AuthTypeEnum authTypeEnum = AbstractBucketClient.this.getProviderCredentials()
165+
.getLocalAuthType().get(bucketName);
166+
if (authTypeEnum == null) {
167+
authTypeEnum = AbstractBucketClient.this.getApiVersion("");
168+
AbstractBucketClient.this.getProviderCredentials().setLocalAuthType(bucketName, authTypeEnum);
169+
}
170+
}
171+
});
172+
}
173+
142174
/*
143175
* (non-Javadoc)
144176
*
@@ -179,6 +211,26 @@ void authTypeNegotiate(String bucketName) throws ServiceException {
179211
});
180212
}
181213

214+
@Override
215+
public ListBucketAliasResult listAliasBuckets() throws ObsException {
216+
return this.doActionWithResult("ListBucketAliasResult", "All Buckets", new ActionCallbackWithResult<ListBucketAliasResult>() {
217+
@Override
218+
public ListBucketAliasResult action() throws ServiceException {
219+
return AbstractBucketClient.this.listAliasBucketsImpl();
220+
}
221+
222+
@Override
223+
void authTypeNegotiate(String bucketName) throws ServiceException {
224+
AuthTypeEnum authTypeEnum = AbstractBucketClient.this.getProviderCredentials()
225+
.getLocalAuthType().get(bucketName);
226+
if (authTypeEnum == null) {
227+
authTypeEnum = AbstractBucketClient.this.getApiVersion("");
228+
AbstractBucketClient.this.getProviderCredentials().setLocalAuthType(bucketName, authTypeEnum);
229+
}
230+
}
231+
});
232+
}
233+
182234
/*
183235
* (non-Javadoc)
184236
*

app/src/main/java/com/obs/services/AbstractFileClient.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public TaskProgressStatus dropFolder(DropFolderRequest request) throws ObsExcept
100100
if (!folderName.endsWith(delimiter)) {
101101
folderName = folderName + delimiter;
102102
}
103-
TaskCallback<DeleteObjectResult, String> callback = (request.getCallback() == null)
103+
TaskCallback<DeleteObjectResult, String> callback = (request.getCallback() == null)
104104
? new LazyTaksCallback<DeleteObjectResult, String>()
105105
: request.getCallback();
106106
TaskProgressListener listener = request.getProgressListener();
@@ -123,10 +123,12 @@ public TaskProgressStatus dropFolder(DropFolderRequest request) throws ObsExcept
123123

124124
executor.shutdown();
125125
executor.awaitTermination(Long.MAX_VALUE, TimeUnit.SECONDS);
126-
} catch (ObsException e) {
127-
throw e;
128126
} catch (Exception e) {
129-
throw new ObsException(e.getMessage(), e);
127+
if (e instanceof ObsException) {
128+
throw (ObsException) e;
129+
} else {
130+
throw new ObsException(e.getMessage(), e);
131+
}
130132
}
131133
return progressStatus;
132134
}

app/src/main/java/com/obs/services/AbstractObjectClient.java

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@
4949
import com.obs.services.model.RestoreObjectResult;
5050
import com.obs.services.model.SetObjectAclRequest;
5151
import com.obs.services.model.SetObjectMetadataRequest;
52+
import com.obs.services.model.select.SelectObjectRequest;
53+
import com.obs.services.model.select.SelectObjectResult;
5254

5355
public abstract class AbstractObjectClient extends AbstractBucketAdvanceClient {
5456
@Override
@@ -356,7 +358,26 @@ public ObsObject getObject(final String bucketName, final String objectKey, fina
356358
public ObsObject getObject(final String bucketName, final String objectKey) throws ObsException {
357359
return this.getObject(bucketName, objectKey, null);
358360
}
359-
361+
362+
@Override
363+
public SelectObjectResult selectObjectContent(final SelectObjectRequest selectRequest)
364+
throws ObsException {
365+
ServiceUtils.assertParameterNotNull(selectRequest, "SelectObjectRequest is null");
366+
ServiceUtils.assertParameterNotNull2(selectRequest.getBucketName(), "bucket-name is null");
367+
ServiceUtils.assertParameterNotNull2(selectRequest.getKey(), "object-key is null");
368+
ServiceUtils.assertParameterNotNull2(selectRequest.getExpression(), "sql-expression is null");
369+
370+
return this.doActionWithResult(
371+
"selectObjectContent",
372+
selectRequest.getBucketName(),
373+
new ActionCallbackWithResult<SelectObjectResult>() {
374+
@Override
375+
public SelectObjectResult action() throws ServiceException {
376+
return AbstractObjectClient.this.selectObjectContentImpl(selectRequest);
377+
}
378+
});
379+
}
380+
360381
/*
361382
* (non-Javadoc)
362383
*

app/src/main/java/com/obs/services/AbstractPFSClient.java

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,12 @@
4848
import com.obs.services.model.fs.ListContentSummaryFsRequest;
4949
import com.obs.services.model.fs.ContentSummaryFsRequest;
5050
import com.obs.services.model.fs.ContentSummaryFsResult;
51+
import com.obs.services.model.fs.accesslabel.DeleteAccessLabelRequest;
52+
import com.obs.services.model.fs.accesslabel.DeleteAccessLabelResult;
53+
import com.obs.services.model.fs.accesslabel.GetAccessLabelRequest;
54+
import com.obs.services.model.fs.accesslabel.GetAccessLabelResult;
55+
import com.obs.services.model.fs.accesslabel.SetAccessLabelRequest;
56+
import com.obs.services.model.fs.accesslabel.SetAccessLabelResult;
5157

5258
public abstract class AbstractPFSClient extends AbstractMultipartObjectClient {
5359

@@ -261,4 +267,37 @@ public ContentSummaryFsResult action() throws ServiceException {
261267
}
262268
});
263269
}
270+
271+
@Override
272+
public SetAccessLabelResult setAccessLabelFs(SetAccessLabelRequest request) throws ObsException {
273+
return this.doActionWithResult("setaccesslabel", request.getBucketName(),
274+
new ActionCallbackWithResult<SetAccessLabelResult>() {
275+
@Override
276+
public SetAccessLabelResult action() throws ServiceException {
277+
return AbstractPFSClient.this.setAccessLabelFsImpl(request);
278+
}
279+
});
280+
}
281+
282+
@Override
283+
public GetAccessLabelResult getAccessLabelFs(GetAccessLabelRequest request) throws ObsException {
284+
return this.doActionWithResult("getaccesslabel", request.getBucketName(),
285+
new ActionCallbackWithResult<GetAccessLabelResult>() {
286+
@Override
287+
public GetAccessLabelResult action() throws ServiceException {
288+
return AbstractPFSClient.this.getAccessLabelFsImpl(request);
289+
}
290+
});
291+
}
292+
293+
@Override
294+
public DeleteAccessLabelResult deleteAccessLabelFs(DeleteAccessLabelRequest request) throws ObsException {
295+
return this.doActionWithResult("deleteaccesslabel", request.getBucketName(),
296+
new ActionCallbackWithResult<DeleteAccessLabelResult>() {
297+
@Override
298+
public DeleteAccessLabelResult action() throws ServiceException {
299+
return AbstractPFSClient.this.deleteAccessLabelFsImpl(request);
300+
}
301+
});
302+
}
264303
}

app/src/main/java/com/obs/services/BasicObsCredentialsProvider.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public class BasicObsCredentialsProvider implements IObsCredentialsProvider {
2222
private volatile ISecurityKey securityKey;
2323

2424
public BasicObsCredentialsProvider(ISecurityKey securityKey) {
25-
setSecurityKey(securityKey);
25+
checkISecurityKey(securityKey);
26+
this.securityKey = securityKey;
2627
}
2728

2829
public BasicObsCredentialsProvider(String accessKey, String secretKey) {
@@ -31,7 +32,7 @@ public BasicObsCredentialsProvider(String accessKey, String secretKey) {
3132

3233
public BasicObsCredentialsProvider(String accessKey, String secretKey, String securityToken) {
3334
checkSecurityKey(accessKey, secretKey);
34-
setSecurityKey(new BasicSecurityKey(accessKey, secretKey, securityToken));
35+
this.securityKey = new BasicSecurityKey(accessKey, secretKey, securityToken);
3536
}
3637

3738
private static void checkSecurityKey(String accessKey, String secretKey) {
@@ -46,12 +47,15 @@ private static void checkSecurityKey(String accessKey, String secretKey) {
4647

4748
@Override
4849
public void setSecurityKey(ISecurityKey securityKey) {
50+
checkISecurityKey(securityKey);
51+
this.securityKey = securityKey;
52+
}
53+
54+
private void checkISecurityKey(ISecurityKey securityKey) {
4955
if (securityKey == null) {
5056
throw new IllegalArgumentException("securityKey should not be null.");
5157
}
5258
checkSecurityKey(securityKey.getAccessKey(), securityKey.getSecretKey());
53-
54-
this.securityKey = securityKey;
5559
}
5660

5761
@Override

app/src/main/java/com/obs/services/HttpProxyConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public HttpProxyConfiguration(String proxyAddr, int proxyPort, String proxyUname
6666
* Proxy port
6767
* @param proxyUname
6868
* Proxy username
69-
* @param userPaaswd
69+
* @param userPasswd
7070
* Proxy password
7171
* @param domain
7272
* Proxy domain

app/src/main/java/com/obs/services/IFSClient.java

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,20 @@
4646
import com.obs.services.model.fs.ContentSummaryFsRequest;
4747
import com.obs.services.model.fs.ListContentSummaryFsResult;
4848
import com.obs.services.model.fs.ListContentSummaryFsRequest;
49+
import com.obs.services.model.fs.accesslabel.DeleteAccessLabelRequest;
50+
import com.obs.services.model.fs.accesslabel.DeleteAccessLabelResult;
51+
import com.obs.services.model.fs.accesslabel.GetAccessLabelRequest;
52+
import com.obs.services.model.fs.accesslabel.GetAccessLabelResult;
53+
import com.obs.services.model.fs.accesslabel.SetAccessLabelRequest;
54+
import com.obs.services.model.fs.accesslabel.SetAccessLabelResult;
4955

5056
/**
5157
* Gateway interface for OBS files
5258
*/
5359
public interface IFSClient {
5460
/**
5561
* Disable ObsClient and release connection resources.
56-
* @throws IOException
62+
* @throws IOException ioException
5763
*/
5864
void close() throws IOException;
5965

@@ -212,4 +218,37 @@ public interface IFSClient {
212218
* thrown when the interface fails to be called or access to OBS fails
213219
*/
214220
ContentSummaryFsResult getContentSummaryFs(ContentSummaryFsRequest request) throws ObsException;
221+
222+
/**
223+
* set access label for a folder
224+
* s3 protocol is not supported
225+
*
226+
* @param request Request parameters for access label setting
227+
* @return Response to the request for access label setting
228+
* @throws ObsException ObsException OBS SDK self-defined exception,
229+
* thrown when the interface fails to be called or access to OBS fails
230+
*/
231+
SetAccessLabelResult setAccessLabelFs(SetAccessLabelRequest request) throws ObsException;
232+
233+
/**
234+
* get access label of the folder
235+
* s3 protocol is not supported
236+
*
237+
* @param request Request parameters for getting access label
238+
* @return Response to the request for getting access label
239+
* @throws ObsException ObsException OBS SDK self-defined exception,
240+
* thrown when the interface fails to be called or access to OBS fails
241+
*/
242+
GetAccessLabelResult getAccessLabelFs(GetAccessLabelRequest request) throws ObsException;
243+
244+
/**
245+
* delete access label of the folder
246+
* s3 protocol is not supported
247+
*
248+
* @param request Request parameters for deleting access label
249+
* @return Response to the request for deleting access label
250+
* @throws ObsException ObsException OBS SDK self-defined exception,
251+
* thrown when the interface fails to be called or access to OBS fails
252+
*/
253+
DeleteAccessLabelResult deleteAccessLabelFs(DeleteAccessLabelRequest request) throws ObsException;
215254
}

0 commit comments

Comments
 (0)