blob: a0d8c2675d97a8875aede602ea98922feaad898d [file] [log] [blame]
/**
* 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.tajo.storage.s3;
import com.amazonaws.AmazonClientException;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.HttpMethod;
import com.amazonaws.regions.Region;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.S3ClientOptions;
import com.amazonaws.services.s3.S3ResponseMetadata;
import com.amazonaws.services.s3.model.*;
import org.apache.tajo.exception.TajoInternalError;
import org.apache.tajo.exception.TajoRuntimeException;
import org.apache.tajo.exception.UnsupportedException;
import java.io.File;
import java.io.InputStream;
import java.net.URL;
import java.util.Date;
import java.util.List;
import static org.apache.http.HttpStatus.SC_OK;
public class MockAmazonS3 implements AmazonS3 {
private int getObjectHttpCode = SC_OK;
private int getObjectMetadataHttpCode = SC_OK;
@Override
public void setEndpoint(String endpoint) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setRegion(Region region)
throws IllegalArgumentException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setS3ClientOptions(S3ClientOptions clientOptions) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void changeObjectStorageClass(String bucketName, String key, StorageClass newStorageClass)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setObjectRedirectLocation(String bucketName, String key, String newRedirectLocation)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public ObjectListing listObjects(String bucketName) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public ObjectListing listObjects(String bucketName, String prefix)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public ObjectListing listObjects(ListObjectsRequest listObjectsRequest)
throws AmazonClientException {
if (listObjectsRequest.getBucketName().equals("tajo-test") && listObjectsRequest.getPrefix().equals("test/")) {
MockObjectListing objectListing = new MockObjectListing();
return objectListing;
} else {
throw new TajoInternalError(new UnsupportedException());
}
}
@Override
public ObjectListing listNextBatchOfObjects(ObjectListing previousObjectListing)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public VersionListing listVersions(String bucketName, String prefix)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public VersionListing listNextBatchOfVersions(VersionListing previousVersionListing)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public VersionListing listVersions(String bucketName, String prefix, String keyMarker, String versionIdMarker,
String delimiter, Integer maxResults) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public VersionListing listVersions(ListVersionsRequest listVersionsRequest)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public Owner getS3AccountOwner()
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public boolean doesBucketExist(String bucketName)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public List<Bucket> listBuckets()
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public List<Bucket> listBuckets(ListBucketsRequest listBucketsRequest)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public String getBucketLocation(String bucketName)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public String getBucketLocation(GetBucketLocationRequest getBucketLocationRequest)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public Bucket createBucket(CreateBucketRequest createBucketRequest)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public Bucket createBucket(String bucketName)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public Bucket createBucket(String bucketName, com.amazonaws.services.s3.model.Region region)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public Bucket createBucket(String bucketName, String region)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public AccessControlList getObjectAcl(String bucketName, String key)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public AccessControlList getObjectAcl(String bucketName, String key, String versionId)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setObjectAcl(String bucketName, String key, AccessControlList acl)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setObjectAcl(String bucketName, String key, CannedAccessControlList acl)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setObjectAcl(String bucketName, String key, String versionId, AccessControlList acl)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setObjectAcl(String bucketName, String key, String versionId, CannedAccessControlList acl)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public AccessControlList getBucketAcl(String bucketName)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setBucketAcl(SetBucketAclRequest setBucketAclRequest)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public AccessControlList getBucketAcl(GetBucketAclRequest getBucketAclRequest)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setBucketAcl(String bucketName, AccessControlList acl)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setBucketAcl(String bucketName, CannedAccessControlList acl)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public ObjectMetadata getObjectMetadata(String bucketName, String key) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public ObjectMetadata getObjectMetadata(GetObjectMetadataRequest getObjectMetadataRequest)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public S3Object getObject(String bucketName, String key)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public S3Object getObject(GetObjectRequest getObjectRequest) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public ObjectMetadata getObject(GetObjectRequest getObjectRequest, File destinationFile)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void deleteBucket(DeleteBucketRequest deleteBucketRequest) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void deleteBucket(String bucketName) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public PutObjectResult putObject(PutObjectRequest putObjectRequest) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public PutObjectResult putObject(String bucketName, String key, File file) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public PutObjectResult putObject(String bucketName, String key, InputStream input, ObjectMetadata metadata)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public CopyObjectResult copyObject(String sourceBucketName, String sourceKey, String destinationBucketName,
String destinationKey) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public CopyObjectResult copyObject(CopyObjectRequest copyObjectRequest) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public CopyPartResult copyPart(CopyPartRequest copyPartRequest) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void deleteObject(String bucketName, String key) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void deleteObject(DeleteObjectRequest deleteObjectRequest) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public DeleteObjectsResult deleteObjects(DeleteObjectsRequest deleteObjectsRequest) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void deleteVersion(String bucketName, String key, String versionId) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void deleteVersion(DeleteVersionRequest deleteVersionRequest) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public BucketLoggingConfiguration getBucketLoggingConfiguration(String bucketName) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setBucketLoggingConfiguration(SetBucketLoggingConfigurationRequest setBucketLoggingConfigurationRequest)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public BucketVersioningConfiguration getBucketVersioningConfiguration(String bucketName)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest
setBucketVersioningConfigurationRequest) throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public BucketLifecycleConfiguration getBucketLifecycleConfiguration(String bucketName) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setBucketLifecycleConfiguration(String bucketName,
BucketLifecycleConfiguration bucketLifecycleConfiguration) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setBucketLifecycleConfiguration(SetBucketLifecycleConfigurationRequest
setBucketLifecycleConfigurationRequest) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void deleteBucketLifecycleConfiguration(String bucketName) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void deleteBucketLifecycleConfiguration(DeleteBucketLifecycleConfigurationRequest
deleteBucketLifecycleConfigurationRequest) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public BucketCrossOriginConfiguration getBucketCrossOriginConfiguration(String bucketName) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setBucketCrossOriginConfiguration(String bucketName, BucketCrossOriginConfiguration
bucketCrossOriginConfiguration) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setBucketCrossOriginConfiguration(SetBucketCrossOriginConfigurationRequest
setBucketCrossOriginConfigurationRequest) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void deleteBucketCrossOriginConfiguration(String bucketName) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void deleteBucketCrossOriginConfiguration(DeleteBucketCrossOriginConfigurationRequest
deleteBucketCrossOriginConfigurationRequest) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public BucketTaggingConfiguration getBucketTaggingConfiguration(String bucketName) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setBucketTaggingConfiguration(String bucketName, BucketTaggingConfiguration bucketTaggingConfiguration) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setBucketTaggingConfiguration(SetBucketTaggingConfigurationRequest setBucketTaggingConfigurationRequest) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void deleteBucketTaggingConfiguration(String bucketName) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void deleteBucketTaggingConfiguration(DeleteBucketTaggingConfigurationRequest
deleteBucketTaggingConfigurationRequest) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public BucketNotificationConfiguration getBucketNotificationConfiguration(String bucketName)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setBucketNotificationConfiguration(SetBucketNotificationConfigurationRequest
setBucketNotificationConfigurationRequest)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setBucketNotificationConfiguration(String bucketName, BucketNotificationConfiguration
bucketNotificationConfiguration)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public BucketWebsiteConfiguration getBucketWebsiteConfiguration(String bucketName)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public BucketWebsiteConfiguration getBucketWebsiteConfiguration(GetBucketWebsiteConfigurationRequest
getBucketWebsiteConfigurationRequest)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setBucketWebsiteConfiguration(String bucketName, BucketWebsiteConfiguration configuration)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setBucketWebsiteConfiguration(SetBucketWebsiteConfigurationRequest setBucketWebsiteConfigurationRequest)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void deleteBucketWebsiteConfiguration(String bucketName)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void deleteBucketWebsiteConfiguration(DeleteBucketWebsiteConfigurationRequest
deleteBucketWebsiteConfigurationRequest)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public BucketPolicy getBucketPolicy(String bucketName)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public BucketPolicy getBucketPolicy(GetBucketPolicyRequest getBucketPolicyRequest)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setBucketPolicy(String bucketName, String policyText)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void setBucketPolicy(SetBucketPolicyRequest setBucketPolicyRequest)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void deleteBucketPolicy(String bucketName)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void deleteBucketPolicy(DeleteBucketPolicyRequest deleteBucketPolicyRequest)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public URL generatePresignedUrl(String bucketName, String key, Date expiration)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public URL generatePresignedUrl(String bucketName, String key, Date expiration, HttpMethod method)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public URL generatePresignedUrl(GeneratePresignedUrlRequest generatePresignedUrlRequest)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public InitiateMultipartUploadResult initiateMultipartUpload(InitiateMultipartUploadRequest request)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public UploadPartResult uploadPart(UploadPartRequest request)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public PartListing listParts(ListPartsRequest request)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void abortMultipartUpload(AbortMultipartUploadRequest request)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public CompleteMultipartUploadResult completeMultipartUpload(CompleteMultipartUploadRequest request)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public MultipartUploadListing listMultipartUploads(ListMultipartUploadsRequest request)
throws AmazonClientException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public S3ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void restoreObject(RestoreObjectRequest request)
throws AmazonServiceException {
throw new TajoInternalError(new UnsupportedException());
}
@Override
public void restoreObject(String bucketName, String key, int expirationInDays)
throws AmazonServiceException {
throw new TajoInternalError(new UnsupportedException());
}
}