cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wid...@apache.org
Subject [41/50] [abbrv] git commit: updated refs/heads/disk-cache to 99d67cb
Date Mon, 02 Sep 2013 20:05:27 GMT
CLOUDSTACK-4053: Removal of AddSwiftCmd and ListSwiftsCmd APIs broke api
back compatibility.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/3e5a84a8
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/3e5a84a8
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/3e5a84a8

Branch: refs/heads/disk-cache
Commit: 3e5a84a8bb49f9de081ab3250ed9276ad645996c
Parents: d8a5f03
Author: Min Chen <min.chen@citrix.com>
Authored: Fri Aug 2 14:25:11 2013 -0700
Committer: Min Chen <min.chen@citrix.com>
Committed: Fri Aug 2 15:33:43 2013 -0700

----------------------------------------------------------------------
 .../api/command/admin/swift/AddSwiftCmd.java    | 122 +++++++++++++++++++
 .../api/command/admin/swift/ListSwiftsCmd.java  |  70 +++++++++++
 client/tomcatconf/commands.properties.in        |   4 +
 3 files changed, 196 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3e5a84a8/api/src/org/apache/cloudstack/api/command/admin/swift/AddSwiftCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/swift/AddSwiftCmd.java b/api/src/org/apache/cloudstack/api/command/admin/swift/AddSwiftCmd.java
new file mode 100644
index 0000000..ea22429
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/command/admin/swift/AddSwiftCmd.java
@@ -0,0 +1,122 @@
+// 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.cloudstack.api.command.admin.swift;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.cloudstack.api.APICommand;
+import org.apache.cloudstack.api.ApiConstants;
+import org.apache.cloudstack.api.ApiErrorCode;
+import org.apache.cloudstack.api.BaseCmd;
+import org.apache.cloudstack.api.Parameter;
+import org.apache.cloudstack.api.ServerApiException;
+import org.apache.cloudstack.api.command.admin.storage.AddImageStoreCmd;
+import org.apache.cloudstack.api.response.ImageStoreResponse;
+import org.apache.log4j.Logger;
+
+import com.cloud.exception.DiscoveryException;
+import com.cloud.storage.ImageStore;
+import com.cloud.user.Account;
+
+@APICommand(name = "addSwift", description = "Adds Swift.", responseObject = ImageStoreResponse.class,
since="3.0.0")
+public class AddSwiftCmd extends BaseCmd {
+    public static final Logger s_logger = Logger.getLogger(AddSwiftCmd.class.getName());
+    private static final String s_name = "addswiftresponse";
+
+    /////////////////////////////////////////////////////
+    //////////////// API parameters /////////////////////
+    /////////////////////////////////////////////////////
+
+    @Parameter(name = ApiConstants.URL, type = CommandType.STRING, required = true, description
= "the URL for swift")
+    private String url;
+
+    @Parameter(name = ApiConstants.ACCOUNT, type = CommandType.STRING, description = "the
account for swift")
+    private String account;
+
+    @Parameter(name = ApiConstants.USERNAME, type = CommandType.STRING, description = "the
username for swift")
+    private String username;
+
+    @Parameter(name = ApiConstants.KEY, type = CommandType.STRING, description = " key for
the user for swift")
+    private String key;
+
+    /////////////////////////////////////////////////////
+    /////////////////// Accessors ///////////////////////
+    /////////////////////////////////////////////////////
+
+    public String getUrl() {
+        return url;
+    }
+
+    /////////////////////////////////////////////////////
+    /////////////// API Implementation///////////////////
+    /////////////////////////////////////////////////////
+
+    public String getAccount() {
+        return account;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public String getKey() {
+        return key;
+    }
+
+    @Override
+    public String getCommandName() {
+        return s_name;
+    }
+
+    @Override
+    public long getEntityOwnerId() {
+        return Account.ACCOUNT_ID_SYSTEM;
+    }
+
+    @Override
+    public void execute(){
+        AddImageStoreCmd cmd = new AddImageStoreCmd() {
+            @Override
+            public Map<String, String> getDetails() {
+                Map<String, String> dm = new HashMap<String, String>();
+                dm.put(ApiConstants.ACCOUNT, getAccount());
+                dm.put(ApiConstants.USERNAME, getUsername());
+                dm.put(ApiConstants.KEY, getKey());
+                return dm;
+            }
+        };
+        cmd.setProviderName("Swift");
+        cmd.setUrl(this.getUrl());
+
+        try{
+            ImageStore result = _storageService.discoverImageStore(cmd);
+            ImageStoreResponse storeResponse = null;
+            if (result != null ) {
+                storeResponse = _responseGenerator.createImageStoreResponse(result);
+                storeResponse.setResponseName(getCommandName());
+                storeResponse.setObjectName("secondarystorage");
+                this.setResponseObject(storeResponse);
+            } else {
+                throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to add
Swift secondary storage");
+            }
+        } catch (DiscoveryException ex) {
+            s_logger.warn("Exception: ", ex);
+            throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, ex.getMessage());
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3e5a84a8/api/src/org/apache/cloudstack/api/command/admin/swift/ListSwiftsCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/swift/ListSwiftsCmd.java b/api/src/org/apache/cloudstack/api/command/admin/swift/ListSwiftsCmd.java
new file mode 100644
index 0000000..b0408f4
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/command/admin/swift/ListSwiftsCmd.java
@@ -0,0 +1,70 @@
+// 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.cloudstack.api.command.admin.swift;
+
+import org.apache.cloudstack.api.APICommand;
+import org.apache.cloudstack.api.ApiConstants;
+import org.apache.cloudstack.api.BaseListCmd;
+import org.apache.cloudstack.api.Parameter;
+import org.apache.cloudstack.api.command.admin.storage.ListImageStoresCmd;
+import org.apache.cloudstack.api.response.ImageStoreResponse;
+import org.apache.cloudstack.api.response.ListResponse;
+import org.apache.log4j.Logger;
+
+import com.cloud.user.Account;
+
+@APICommand(name = "listSwifts", description = "List Swift.", responseObject = ImageStoreResponse.class,
since="3.0.0")
+public class ListSwiftsCmd extends BaseListCmd {
+    public static final Logger s_logger = Logger.getLogger(ListSwiftsCmd.class.getName());
+    private static final String s_name = "listswiftsresponse";
+
+    /////////////////////////////////////////////////////
+    //////////////// API parameters /////////////////////
+    /////////////////////////////////////////////////////
+
+    @Parameter(name = ApiConstants.ID, type = CommandType.LONG, description = "the id of
the swift")
+    private Long id;
+
+    /////////////////////////////////////////////////////
+    /////////////// API Implementation///////////////////
+    /////////////////////////////////////////////////////
+
+    public Long getId() {
+        return id;
+    }
+
+
+    @Override
+    public String getCommandName() {
+        return s_name;
+    }
+
+    @Override
+    public long getEntityOwnerId() {
+        return Account.ACCOUNT_ID_SYSTEM;
+    }
+
+    @Override
+    public void execute(){
+
+        ListImageStoresCmd cmd = new ListImageStoresCmd();
+        cmd.setProvider("Swift");
+        ListResponse<ImageStoreResponse> response = _queryService.searchForImageStores(cmd);
+        response.setResponseName(getCommandName());
+        this.setResponseObject(response);
+    }
+}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3e5a84a8/client/tomcatconf/commands.properties.in
----------------------------------------------------------------------
diff --git a/client/tomcatconf/commands.properties.in b/client/tomcatconf/commands.properties.in
index fe3e4d9..47282af 100644
--- a/client/tomcatconf/commands.properties.in
+++ b/client/tomcatconf/commands.properties.in
@@ -242,6 +242,10 @@ deleteAlerts=1
 #### system capacity commands
 listCapacity=3
 
+#### swift commands
+addSwift=1
+listSwifts=1
+
 #### s3 commands
 addS3=1
 listS3s=1


Mime
View raw message