cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mc...@apache.org
Subject git commit: updated refs/heads/rbac to e66b58b
Date Tue, 10 Dec 2013 18:53:13 GMT
Updated Branches:
  refs/heads/rbac d252d95c2 -> e66b58b65


Separate AttachIso and DetachIso to use different response views.

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

Branch: refs/heads/rbac
Commit: e66b58b65f0501898f58022d055ae25e4def5144
Parents: d252d95
Author: Min Chen <min.chen@citrix.com>
Authored: Tue Dec 10 10:52:19 2013 -0800
Committer: Min Chen <min.chen@citrix.com>
Committed: Tue Dec 10 10:52:19 2013 -0800

----------------------------------------------------------------------
 .../command/admin/iso/AttachIsoCmdByAdmin.java  | 53 ++++++++++++++++++++
 .../command/admin/iso/DetachIsoCmdByAdmin.java  | 47 +++++++++++++++++
 .../api/command/user/iso/AttachIsoCmd.java      |  4 +-
 .../api/command/user/iso/DetachIsoCmd.java      |  2 +-
 4 files changed, 103 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e66b58b6/api/src/org/apache/cloudstack/api/command/admin/iso/AttachIsoCmdByAdmin.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/iso/AttachIsoCmdByAdmin.java
b/api/src/org/apache/cloudstack/api/command/admin/iso/AttachIsoCmdByAdmin.java
new file mode 100644
index 0000000..7c3db62
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/command/admin/iso/AttachIsoCmdByAdmin.java
@@ -0,0 +1,53 @@
+// 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.iso;
+
+import org.apache.log4j.Logger;
+
+import org.apache.cloudstack.api.APICommand;
+import org.apache.cloudstack.api.ApiErrorCode;
+import org.apache.cloudstack.api.ResponseObject.ResponseView;
+import org.apache.cloudstack.api.ServerApiException;
+import org.apache.cloudstack.api.command.user.iso.AttachIsoCmd;
+import org.apache.cloudstack.api.command.user.vm.DeployVMCmd;
+import org.apache.cloudstack.api.response.UserVmResponse;
+import org.apache.cloudstack.context.CallContext;
+
+import com.cloud.uservm.UserVm;
+
+@APICommand(name = "attachIso", description = "Attaches an ISO to a virtual machine.", responseObject
= UserVmResponse.class, responseView = ResponseView.Full)
+public class AttachIsoCmdByAdmin extends AttachIsoCmd {
+    public static final Logger s_logger = Logger.getLogger(AttachIsoCmdByAdmin.class.getName());
+
+    @Override
+    public void execute(){
+        CallContext.current().setEventDetails("Vm Id: " +getVirtualMachineId()+ " ISO Id:
"+getId());
+        boolean result = _templateService.attachIso(id, virtualMachineId);
+        if (result) {
+            UserVm userVm = _responseGenerator.findUserVmById(virtualMachineId);
+            if (userVm != null) {
+                UserVmResponse response = _responseGenerator.createUserVmResponse(ResponseView.Full,
"virtualmachine", userVm).get(0);
+                response.setResponseName(DeployVMCmd.getResultObjectName());
+                setResponseObject(response);
+            } else {
+                throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to attach
iso");
+            }
+        } else {
+            throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to attach iso");
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e66b58b6/api/src/org/apache/cloudstack/api/command/admin/iso/DetachIsoCmdByAdmin.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/iso/DetachIsoCmdByAdmin.java
b/api/src/org/apache/cloudstack/api/command/admin/iso/DetachIsoCmdByAdmin.java
new file mode 100644
index 0000000..144e3f9
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/command/admin/iso/DetachIsoCmdByAdmin.java
@@ -0,0 +1,47 @@
+// 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.iso;
+
+import org.apache.log4j.Logger;
+
+import org.apache.cloudstack.api.APICommand;
+import org.apache.cloudstack.api.ApiErrorCode;
+import org.apache.cloudstack.api.ResponseObject.ResponseView;
+import org.apache.cloudstack.api.ServerApiException;
+import org.apache.cloudstack.api.command.user.iso.DetachIsoCmd;
+import org.apache.cloudstack.api.command.user.vm.DeployVMCmd;
+import org.apache.cloudstack.api.response.UserVmResponse;
+
+import com.cloud.uservm.UserVm;
+
+@APICommand(name = "detachIso", description = "Detaches any ISO file (if any) currently attached
to a virtual machine.", responseObject = UserVmResponse.class, responseView = ResponseView.Full)
+public class DetachIsoCmdByAdmin extends DetachIsoCmd {
+    public static final Logger s_logger = Logger.getLogger(DetachIsoCmdByAdmin.class.getName());
+
+    @Override
+    public void execute(){
+        boolean result = _templateService.detachIso(virtualMachineId);
+        if (result) {
+            UserVm userVm = _entityMgr.findById(UserVm.class, virtualMachineId);
+            UserVmResponse response = _responseGenerator.createUserVmResponse(ResponseView.Full,
"virtualmachine", userVm).get(0);
+            response.setResponseName(DeployVMCmd.getResultObjectName());
+            setResponseObject(response);
+        } else {
+            throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to detach iso");
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e66b58b6/api/src/org/apache/cloudstack/api/command/user/iso/AttachIsoCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/iso/AttachIsoCmd.java b/api/src/org/apache/cloudstack/api/command/user/iso/AttachIsoCmd.java
index d021350..b5f28e8 100644
--- a/api/src/org/apache/cloudstack/api/command/user/iso/AttachIsoCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/iso/AttachIsoCmd.java
@@ -46,11 +46,11 @@ public class AttachIsoCmd extends BaseAsyncCmd {
 
     @Parameter(name=ApiConstants.ID, type=CommandType.UUID, entityType = TemplateResponse.class,
             required=true, description="the ID of the ISO file")
-    private Long id;
+    protected Long id;
 
     @Parameter(name=ApiConstants.VIRTUAL_MACHINE_ID, type=CommandType.UUID, entityType =
UserVmResponse.class,
             required=true, description="the ID of the virtual machine")
-    private Long virtualMachineId;
+    protected Long virtualMachineId;
 
 
     /////////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e66b58b6/api/src/org/apache/cloudstack/api/command/user/iso/DetachIsoCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/iso/DetachIsoCmd.java b/api/src/org/apache/cloudstack/api/command/user/iso/DetachIsoCmd.java
index 00aebb2..5acaeb0 100644
--- a/api/src/org/apache/cloudstack/api/command/user/iso/DetachIsoCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/iso/DetachIsoCmd.java
@@ -44,7 +44,7 @@ public class DetachIsoCmd extends BaseAsyncCmd {
 
     @Parameter(name=ApiConstants.VIRTUAL_MACHINE_ID, type=CommandType.UUID, entityType =
UserVmResponse.class,
             required=true, description="The ID of the virtual machine")
-    private Long virtualMachineId;
+    protected Long virtualMachineId;
 
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////


Mime
View raw message