org.alanwilliamson.amazon.AmazonKey.java Source code

Java tutorial

Introduction

Here is the source code for org.alanwilliamson.amazon.AmazonKey.java

Source

/*
 *  Copyright (C) 2000 - 2014 TagServlet Ltd
 *
 *  This file is part of Open BlueDragon (OpenBD) CFML Server Engine.
 *
 *  OpenBD is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  Free Software Foundation,version 3.
 *
 *  OpenBD is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with OpenBD.  If not, see http://www.gnu.org/licenses/
 *
 *  Additional permission under GNU GPL version 3 section 7
 *
 *  If you modify this Program, or any covered work, by linking or combining
 *  it with any of the JARS listed in the README.txt (or a modified version of
 *  (that library), containing parts covered by the terms of that JAR, the
 *  licensors of this Program grant you additional permission to convey the
 *  resulting work.
 *  README.txt @ http://www.openbluedragon.org/license/README.txt
 *
 *  http://openbd.org/
 *  $Id: AmazonKey.java 2487 2015-01-22 22:40:49Z alan $
 */

package org.alanwilliamson.amazon;

import java.io.Serializable;

import com.amazonaws.services.s3.model.CannedAccessControlList;
import com.amazonaws.services.s3.model.StorageClass;

public class AmazonKey extends Object implements Serializable {
    private static final long serialVersionUID = 1L;

    private final String amzKey;
    private final String amzSecret;
    private final String amzRegion;
    private String datasource;

    public AmazonKey(String _amzKey, String _amzSecret) {
        this(_amzKey, _amzSecret, "us-standard");
    }

    public AmazonKey(String _amzKey, String _amzSecret, String _amzRegion) {
        amzKey = _amzKey;
        amzSecret = _amzSecret;
        amzRegion = _amzRegion;
    }

    public void setDataSource(String ds) {
        datasource = ds.toLowerCase().trim();
    }

    public String getDataSource() {
        return datasource;
    }

    public String getKey() {
        return amzKey;
    }

    public String getSecret() {
        return amzSecret;
    }

    public String getRegion() {
        return amzRegion;
    }

    public com.amazonaws.services.s3.model.Region getAmazonRegion() {
        if (amzRegion.equalsIgnoreCase("us-east") || amzRegion.equalsIgnoreCase("us-standard"))
            return com.amazonaws.services.s3.model.Region.US_Standard;
        else if (amzRegion.equalsIgnoreCase("us-west-1"))
            return com.amazonaws.services.s3.model.Region.US_West;
        else if (amzRegion.equalsIgnoreCase("us-west-2"))
            return com.amazonaws.services.s3.model.Region.US_West_2;
        else if (amzRegion.equalsIgnoreCase("cn-beijing"))
            return com.amazonaws.services.s3.model.Region.CN_Beijing;
        else if (amzRegion.equalsIgnoreCase("eu") || amzRegion.equalsIgnoreCase("eu_ireland"))
            return com.amazonaws.services.s3.model.Region.EU_Ireland;
        else if (amzRegion.equalsIgnoreCase("eu_frankfurt"))
            return com.amazonaws.services.s3.model.Region.EU_Frankfurt;
        else if (amzRegion.equalsIgnoreCase("ap-southeast-1") || amzRegion.equalsIgnoreCase("ap-singapore"))
            return com.amazonaws.services.s3.model.Region.AP_Singapore;
        else if (amzRegion.equalsIgnoreCase("ap-sydney"))
            return com.amazonaws.services.s3.model.Region.AP_Sydney;
        else if (amzRegion.equalsIgnoreCase("ap-northeast-1") || amzRegion.equalsIgnoreCase("ap-tokyo"))
            return com.amazonaws.services.s3.model.Region.AP_Tokyo;
        else if (amzRegion.equalsIgnoreCase("sa-east-1") || amzRegion.equalsIgnoreCase("sa-saopaulo"))
            return com.amazonaws.services.s3.model.Region.SA_SaoPaulo;
        else
            return com.amazonaws.services.s3.model.Region.US_Standard;
    }

    public String getS3Host() {
        if (amzRegion.equals("us-east") || amzRegion.equals("us-standard"))
            return "https://s3.amazonaws.com/";
        else if (amzRegion.equals("us-west-1"))
            return "https://s3-us-west-1.amazonaws.com/";
        else if (amzRegion.equals("us-west-2"))
            return "https://s3-us-west-2.amazonaws.com/";
        else if (amzRegion.equals("eu"))
            return "https://s3-eu-west-1.amazonaws.com/";
        else if (amzRegion.equals("ap-southeast-1"))
            return "https://s3-ap-southeast-1.amazonaws.com/";
        else if (amzRegion.equals("ap-southeast-2"))
            return "https://s3-ap-southeast-2.amazonaws.com/";
        else if (amzRegion.equals("ap-northeast-1"))
            return "https://s3-ap-northeast-1.amazonaws.com/";
        else if (amzRegion.equals("sa-east-1"))
            return "https://s3-sa-east-1.amazonaws.com/";
        else
            return amzRegion;
    }

    public String getSimpleDBHost() {
        if (amzRegion.equals("us-east") || amzRegion.equals("us-standard"))
            return "https://sdb.amazonaws.com";
        else if (amzRegion.equals("us-west-1"))
            return "https://sdb.us-west-1.amazonaws.com";
        else if (amzRegion.equals("us-west-2"))
            return "https://sdb.us-west-2.amazonaws.com";
        else if (amzRegion.equals("eu"))
            return "https://sdb.eu-west-1.amazonaws.com";
        else if (amzRegion.equals("ap-southeast-1"))
            return "https://sdb.ap-southeast-1.amazonaws.com";
        else if (amzRegion.equals("ap-southeast-2"))
            return "https://sdb.ap-southeast-2.amazonaws.com";
        else if (amzRegion.equals("ap-northeast-1"))
            return "https://sdb.ap-northeast-1.amazonaws.com";
        else if (amzRegion.equals("sa-east-1"))
            return "https://sdb.sa-east-1.amazonaws.com";
        else
            return amzRegion;
    }

    public String getSQSHost() {
        if (amzRegion.equalsIgnoreCase("us-east") || amzRegion.equalsIgnoreCase("us-standard"))
            return "https://sqs.us-east-1.amazonaws.com";
        else if (amzRegion.equalsIgnoreCase("us-west-1"))
            return "https://sqs.us-west-1.amazonaws.com";
        else if (amzRegion.equalsIgnoreCase("us-west-2"))
            return "https://sqs.us-west-2.amazonaws.com";
        else if (amzRegion.equalsIgnoreCase("eu"))
            return "https://sqs.eu-west-1.amazonaws.com";
        else if (amzRegion.equalsIgnoreCase("ap-southeast-1"))
            return "https://sqs.ap-southeast-1.amazonaws.com";
        else if (amzRegion.equalsIgnoreCase("ap-southeast-2"))
            return "https://sqs.ap-southeast-2.amazonaws.com";
        else if (amzRegion.equalsIgnoreCase("ap-northeast-1"))
            return "https://sqs.ap-northeast-1.amazonaws.com";
        else if (amzRegion.equalsIgnoreCase("sa-east-1"))
            return "https://sqs.sa-east-1.amazonaws.com";
        else
            return amzRegion;
    }

    public StorageClass getAmazonStorageClass(String storage) {
        if (storage == null)
            return StorageClass.Standard;
        else if (storage.equalsIgnoreCase("standard"))
            return StorageClass.Standard;
        else if (storage.toLowerCase().startsWith("reduced"))
            return StorageClass.ReducedRedundancy;
        else
            return StorageClass.Standard;
    }

    /**
     * private | public-read | public-read-write | authenticated-read | bucket-owner-read | bucket-owner-full-control | log-delivery-write
     *
     * @param acl
     * @return
     */
    public CannedAccessControlList getAmazonCannedAcl(String acl) {
        if (acl.equalsIgnoreCase("private"))
            return CannedAccessControlList.Private;
        else if (acl.equalsIgnoreCase("public-read") || acl.equalsIgnoreCase("publicread"))
            return CannedAccessControlList.PublicRead;
        else if (acl.equalsIgnoreCase("public-read-write") || acl.equalsIgnoreCase("publicreadwrite"))
            return CannedAccessControlList.PublicReadWrite;
        else if (acl.equalsIgnoreCase("authenticated-read") || acl.equalsIgnoreCase("authenticatedread"))
            return CannedAccessControlList.AuthenticatedRead;
        else if (acl.equalsIgnoreCase("bucket-owner-read") || acl.equalsIgnoreCase("bucketownerread"))
            return CannedAccessControlList.BucketOwnerRead;
        else if (acl.equalsIgnoreCase("bucket-owner-full-control")
                || acl.equalsIgnoreCase("bucketownerfullcontrol"))
            return CannedAccessControlList.BucketOwnerFullControl;
        else if (acl.equalsIgnoreCase("log-delivery-write") || acl.equalsIgnoreCase("logdeliverywrite"))
            return CannedAccessControlList.LogDeliveryWrite;
        else
            return CannedAccessControlList.Private;
    }

}