Change getResponse() to return a ResponseObject so that the caller can choose how to serialize. This in in preparation for serializing the async commands to the database with class information and deserializing them into the ResponseObject itself when queryAsyncJobResult is called. Once the ResponseObject is deserialized, the proper string can be returned to the caller.

The previous behavior had the JSON response from the command embedded into the queryAsyncJobResult response as a string rather than a JSON object which prevented the client from being able to read the response.  With this new behavior an actual JSON object should be returned which can then be parsed on the client side.
This commit is contained in:
Kris McQueen 2010-09-23 17:34:28 -07:00
parent c26426c7c7
commit 2a4ddac41a
164 changed files with 1756 additions and 3164 deletions

View File

@ -20,6 +20,7 @@ package com.cloud.vm.dao;
import java.util.Date;
import java.util.List;
import com.cloud.uservm.UserVm;
import com.cloud.utils.db.GenericDao;
import com.cloud.vm.State;
import com.cloud.vm.UserVmVO;
@ -90,4 +91,6 @@ public interface UserVmDao extends GenericDao<UserVmVO, Long> {
List<UserVmVO> listVirtualNetworkInstancesByAcctAndZone(long accountId, long dcId);
List<UserVmVO> listVmsUsingGuestIpAddress(long dcId, String ipAddress);
UserVm findByZoneAndAcctAndGuestIpAddress(long zoneId, long accountId, String ipAddress);
}

View File

@ -27,6 +27,7 @@ import org.apache.log4j.Logger;
import com.cloud.offering.ServiceOffering;
import com.cloud.service.ServiceOfferingVO;
import com.cloud.service.dao.ServiceOfferingDao;
import com.cloud.uservm.UserVm;
import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.db.Attribute;
import com.cloud.utils.db.GenericDaoBase;
@ -52,6 +53,7 @@ public class UserVmDaoImpl extends GenericDaoBase<UserVmVO, Long> implements Use
protected final SearchBuilder<UserVmVO> NameSearch;
protected final SearchBuilder<UserVmVO> StateChangeSearch;
protected final SearchBuilder<UserVmVO> GuestIpSearch;
protected final SearchBuilder<UserVmVO> ZoneAccountGuestIpSearch;
protected final SearchBuilder<UserVmVO> DestroySearch;
protected SearchBuilder<UserVmVO> AccountDataCenterVirtualSearch;
@ -116,6 +118,12 @@ public class UserVmDaoImpl extends GenericDaoBase<UserVmVO, Long> implements Use
DestroySearch.and("updateTime", DestroySearch.entity().getUpdateTime(), SearchCriteria.Op.LT);
DestroySearch.done();
ZoneAccountGuestIpSearch = createSearchBuilder();
ZoneAccountGuestIpSearch.and("dataCenterId", ZoneAccountGuestIpSearch.entity().getDataCenterId(), SearchCriteria.Op.EQ);
ZoneAccountGuestIpSearch.and("accountId", ZoneAccountGuestIpSearch.entity().getAccountId(), SearchCriteria.Op.EQ);
ZoneAccountGuestIpSearch.and("guestIpAddress", ZoneAccountGuestIpSearch.entity().getGuestIpAddress(), SearchCriteria.Op.EQ);
ZoneAccountGuestIpSearch.done();
_updateTimeAttr = _allAttributes.get("updateTime");
assert _updateTimeAttr != null : "Couldn't get this updateTime attribute";
}
@ -293,4 +301,14 @@ public class UserVmDaoImpl extends GenericDaoBase<UserVmVO, Long> implements Use
return listActiveBy(sc);
}
@Override
public UserVm findByZoneAndAcctAndGuestIpAddress(long zoneId, long accountId, String ipAddress) {
SearchCriteria<UserVmVO> sc = ZoneAccountGuestIpSearch.create();
sc.setParameters("dataCenterId", zoneId);
sc.setParameters("accountId", accountId);
sc.setParameters("guestIpAddress", ipAddress);
return findOneActiveBy(sc);
}
}

View File

@ -215,7 +215,7 @@ public interface AgentManager extends Manager {
* @return true if it's done. false if not.
*/
boolean cancelMaintenance(long hostId);
boolean cancelMaintenance(CancelMaintenanceCmd cmd) throws InvalidParameterValueException;
HostVO cancelMaintenance(CancelMaintenanceCmd cmd) throws InvalidParameterValueException;
/**
* Check to see if a virtual machine can be upgraded to the given service offering
@ -228,7 +228,7 @@ public interface AgentManager extends Manager {
public boolean executeUserRequest(long hostId, Event event) throws AgentUnavailableException;
public boolean reconnect(final long hostId) throws AgentUnavailableException;
public boolean reconnectHost(ReconnectHostCmd cmd) throws AgentUnavailableException;
public HostVO reconnectHost(ReconnectHostCmd cmd) throws AgentUnavailableException;
public List<HostVO> discoverHosts(Long dcId, Long podId, Long clusterId, String clusterName, String url, String username, String password) throws DiscoveryException, InvalidParameterValueException;
public List<HostVO> discoverHosts(AddHostCmd cmd) throws IllegalArgumentException, DiscoveryException, InvalidParameterValueException;

View File

@ -1272,8 +1272,7 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory {
}
@Override
public boolean reconnectHost(ReconnectHostCmd cmd) throws AgentUnavailableException
{
public HostVO reconnectHost(ReconnectHostCmd cmd) throws AgentUnavailableException {
Long hostId = cmd.getId();
HostVO host = _hostDao.findById(hostId);
@ -1281,8 +1280,11 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory {
throw new ServerApiException(BaseCmd.PARAM_ERROR, "Host with id " + hostId.toString() + " doesn't exist");
}
return reconnect(hostId);
boolean result = reconnect(hostId);
if (result) {
return host;
}
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to reconnect host with id " + hostId.toString() + ", internal error.");
}
@Override
@ -1337,7 +1339,7 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory {
}
@Override
public boolean cancelMaintenance(CancelMaintenanceCmd cmd) throws InvalidParameterValueException{
public HostVO cancelMaintenance(CancelMaintenanceCmd cmd) throws InvalidParameterValueException{
Long hostId = cmd.getId();
//verify input parameters
@ -1346,7 +1348,11 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory {
throw new ServerApiException(BaseCmd.PARAM_ERROR, "Host with id " + hostId.toString() + " doesn't exist");
}
return cancelMaintenance(hostId);
boolean success = cancelMaintenance(hostId);
if (!success) {
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Internal error cancelling maintenance.");
}
return host;
}
@Override

View File

@ -323,6 +323,19 @@ public class ApiDBUtils {
return _userVmDao.findById(vmId);
}
public static UserVm findUserVmByPublicIpAndGuestIp(String publicIp, String guestIp) {
IPAddressVO addr = _ipAddressDao.findById(publicIp);
List<UserVmVO> vms = _userVmDao.listVmsUsingGuestIpAddress(addr.getDataCenterId(), guestIp);
if (vms != null) {
for (UserVmVO vm : vms) {
if (vm.getAccountId() == addr.getAccountId()) {
return vm;
}
}
}
return null;
}
public static VlanVO findVlanById(long vlanDbId) {
return _vlanDao.findById(vlanDbId);
}
@ -365,6 +378,10 @@ public class ApiDBUtils {
return _userVmDao.listByHostId(hostId);
}
public static List<DataCenterVO> listZones() {
return _zoneDao.listAllActive();
}
public static boolean volumeIsOnSharedStorage(long volumeId) throws InvalidParameterValueException {
// Check that the volume is valid
VolumeVO volume = _volumeDao.findById(volumeId);

View File

@ -77,6 +77,7 @@ import org.apache.http.protocol.ResponseDate;
import org.apache.http.protocol.ResponseServer;
import org.apache.log4j.Logger;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.async.AsyncJobManager;
import com.cloud.async.AsyncJobVO;
import com.cloud.configuration.ConfigurationVO;
@ -376,10 +377,10 @@ public class ApiServer implements HttpRequestHandler {
if (objectId != null) {
return ((BaseAsyncCreateCmd)asyncCmd).getResponse(jobId, objectId);
}
return asyncCmd.getResponse(jobId);
return ApiResponseSerializer.toSerializedString(asyncCmd.getResponse(jobId));
} else {
_dispatcher.dispatch(cmdObj, params);
return cmdObj.getResponse();
return ApiResponseSerializer.toSerializedString(cmdObj.getResponse());
}
}

View File

@ -1,6 +1,5 @@
package com.cloud.api;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.AsyncJobResponse;
import com.cloud.async.AsyncJobManager;
import com.cloud.async.AsyncJobVO;
@ -16,12 +15,11 @@ public abstract class BaseAsyncCmd extends BaseCmd {
private AsyncJobVO _job = null;
private Long startEventId;
public String getResponse(long jobId) {
// FIXME: We need a generic response object here, see BaseAsyncCreateCmd
public ResponseObject getResponse(long jobId) {
AsyncJobResponse response = new AsyncJobResponse();
response.setId(jobId);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
public void setAsyncJobManager(AsyncJobManager mgr) {

View File

@ -94,7 +94,7 @@ public abstract class BaseCmd {
private Object _responseObject = null;
public abstract String getName();
public abstract String getResponse();
public abstract ResponseObject getResponse();
public Object getResponseObject() {
return _responseObject;

View File

@ -25,6 +25,7 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.ConfigurationResponse;
@ -98,7 +99,7 @@ public class AddConfigCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
ConfigurationResponse response = new ConfigurationResponse();
ConfigurationVO responseObject = (ConfigurationVO)getResponseObject();
if (responseObject != null) {
@ -111,6 +112,7 @@ public class AddConfigCmd extends BaseCmd {
}
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
//return ApiResponseSerializer.toSerializedString(response);
}
}

View File

@ -32,8 +32,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.HostResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.dc.ClusterVO;
@ -118,7 +118,7 @@ public class AddHostCmd extends BaseCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<HostVO> hosts = (List<HostVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -218,6 +218,7 @@ public class AddHostCmd extends BaseCmd {
response.setResponses(hostResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
//return ApiResponseSerializer.toSerializedString(response);
}
}

View File

@ -31,8 +31,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.HostResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.dc.ClusterVO;
@ -77,7 +77,7 @@ public class AddSecondaryStorageCmd extends BaseCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<HostVO> hosts = (List<HostVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -149,6 +149,7 @@ public class AddSecondaryStorageCmd extends BaseCmd {
response.setResponses(hostResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
//return ApiResponseSerializer.toSerializedString(response);
}
}

View File

@ -24,8 +24,10 @@ import org.apache.log4j.Logger;
import com.cloud.api.BaseAsyncCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.response.SuccessResponse;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
@Implementation(method="assignSecurityGroup", manager=Manager.ManagementServer)
public class AssignPortForwardingServiceCmd extends BaseAsyncCmd {
@ -75,83 +77,17 @@ public class AssignPortForwardingServiceCmd extends BaseAsyncCmd {
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getName() {
return s_name;
}
/*
@Override
public List<Pair<String, Object>> execute(Map<String, Object> params) {
Account account = (Account)params.get(BaseCmd.Properties.ACCOUNT_OBJ.getName());
Long userId = (Long)params.get(BaseCmd.Properties.USER_ID.getName());
Long securityGroupId = (Long)params.get(BaseCmd.Properties.ID.getName());
String securityGroupIds = (String)params.get(BaseCmd.Properties.IDS.getName());
String publicIp = (String)params.get(BaseCmd.Properties.PUBLIC_IP.getName());
Long vmId = (Long)params.get(BaseCmd.Properties.VIRTUAL_MACHINE_ID.getName());
if ((securityGroupId == null) && (securityGroupIds == null)) {
throw new ServerApiException(BaseCmd.PARAM_ERROR, "No service id (or list of ids) specified.");
}
List<Long> sgIdList = null;
if (securityGroupIds != null) {
sgIdList = new ArrayList<Long>();
StringTokenizer st = new StringTokenizer(securityGroupIds, ",");
while (st.hasMoreTokens()) {
String token = st.nextToken();
try {
Long nextSGId = Long.parseLong(token);
sgIdList.add(nextSGId);
} catch (NumberFormatException nfe) {
throw new ServerApiException(BaseCmd.PARAM_ERROR, "The service id " + token + " is not a valid parameter.");
}
}
}
if (userId == null) {
userId = Long.valueOf(1);
}
List<Long> validateSGList = null;
if (securityGroupId == null) {
validateSGList = sgIdList;
} else {
validateSGList = new ArrayList<Long>();
validateSGList.add(securityGroupId);
}
Long validatedAccountId = getManagementServer().validateSecurityGroupsAndInstance(validateSGList, vmId);
if (validatedAccountId == null) {
throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to apply port forwarding services " + StringUtils.join(sgIdList, ",") + " to instance " + vmId + ". Invalid list of port forwarding services for the given instance.");
}
if (account != null) {
if (!isAdmin(account.getType()) && (account.getId().longValue() != validatedAccountId.longValue())) {
throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Permission denied applying port forwarding services " + StringUtils.join(sgIdList, ",") + " to instance " + vmId + ".");
} else {
Account validatedAccount = getManagementServer().findAccountById(validatedAccountId);
if (!getManagementServer().isChildDomain(account.getDomainId(), validatedAccount.getDomainId())) {
throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Permission denied applying port forwarding services " + StringUtils.join(sgIdList, ",") + " to instance " + vmId + ".");
}
}
}
long jobId = getManagementServer().assignSecurityGroupAsync(userId, securityGroupId, sgIdList, publicIp, vmId);
if(jobId == 0) {
s_logger.warn("Unable to schedule async-job for AssignPortForwardingServiceCmd comamnd");
} else {
if(s_logger.isDebugEnabled())
s_logger.debug("AssignPortForwardingServiceCmd command has been accepted, job id: " + jobId);
}
List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
returnValues.add(new Pair<String, Object>(BaseCmd.Properties.JOB_ID.getName(), Long.valueOf(jobId)));
return returnValues;
}
*/
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
}

View File

@ -25,6 +25,8 @@ import com.cloud.api.BaseAsyncCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="assignToLoadBalancer", manager=Manager.NetworkManager)
public class AssignToLoadBalancerRuleCmd extends BaseAsyncCmd {
@ -70,9 +72,10 @@ public class AssignToLoadBalancerRuleCmd extends BaseAsyncCmd {
}
@Override
public String getResponse() {
// There's no specific response for this command, if the command failed an exception would have been thrown. If we are here, then it succeeded.
// Seems like we should return success/true as the response though, so this will probably have to change.
return null;
public ResponseObject getResponse() {
SuccessResponse response = new SuccessResponse();
response.setSuccess(Boolean.TRUE);
response.setResponseName(getName());
return response;
}
}

View File

@ -25,6 +25,7 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.IPAddressResponse;
import com.cloud.dc.Vlan.VlanType;
@ -81,7 +82,7 @@ public class AssociateIPAddrCmd extends BaseCmd {
return "addressinfo";
}
public String getResponse() {
public ResponseObject getResponse() {
IPAddressVO ipAddress = (IPAddressVO)getResponseObject();
VlanVO vlan = ApiDBUtils.findVlanById(ipAddress.getVlanDbId());
@ -114,6 +115,6 @@ public class AssociateIPAddrCmd extends BaseCmd {
}
ipResponse.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(ipResponse);
return ipResponse;
}
}

View File

@ -25,8 +25,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="attachIso", manager=Manager.TemplateManager)
@ -69,7 +69,7 @@ public class AttachIsoCmd extends BaseAsyncCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
SuccessResponse response = new SuccessResponse();
Boolean responseObject = (Boolean)getResponseObject();
@ -80,6 +80,6 @@ public class AttachIsoCmd extends BaseAsyncCmd {
}
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -20,10 +20,15 @@ package com.cloud.api.commands;
import org.apache.log4j.Logger;
import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseAsyncCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.VolumeResponse;
import com.cloud.storage.VolumeVO;
import com.cloud.uservm.UserVm;
@Implementation(method="attachVolumeToVM", manager=Manager.UserVmManager)
public class AttachVolumeCmd extends BaseAsyncCmd {
@ -65,83 +70,25 @@ public class AttachVolumeCmd extends BaseAsyncCmd {
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getName() {
return s_name;
}
public static String getResultObjectName() {
return "volume";
}
/*
@Override
public List<Pair<String, Object>> execute(Map<String, Object> params) {
Account account = (Account) params.get(BaseCmd.Properties.ACCOUNT_OBJ.getName());
//Long userId = (Long) params.get(BaseCmd.Properties.USER_ID.getName());
Long volumeId = (Long) params.get(BaseCmd.Properties.ID.getName());
Long vmId = (Long) params.get(BaseCmd.Properties.VIRTUAL_MACHINE_ID.getName());
Long deviceId = (Long) params.get(BaseCmd.Properties.DEVICE_ID.getName());
public ResponseObject getResponse() {
VolumeVO volume = ApiDBUtils.findVolumeById(id);
VolumeResponse response = new VolumeResponse();
UserVm instance = ApiDBUtils.findUserVmById(volume.getInstanceId());
response.setVirtualMachineName(instance.getName());
response.setVirtualMachineDisplayName(instance.getDisplayName());
response.setVirtualMachineId(instance.getId());
response.setVirtualMachineState(instance.getState().toString());
response.setStorageType("shared"); // NOTE: You can never attach a local disk volume but if that changes, we need to change this
response.setId(volume.getId());
response.setName(volume.getName());
response.setResponseName(getName());
// Check that the volume ID is valid
VolumeVO volume = getManagementServer().findVolumeById(volumeId);
if (volume == null)
throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to find volume with ID: " + volumeId);
// Check that the virtual machine ID is valid
UserVmVO vm = getManagementServer().findUserVMInstanceById(vmId.longValue());
if (vm == null) {
throw new ServerApiException (BaseCmd.VM_INVALID_PARAM_ERROR, "unable to find a virtual machine with id " + vmId);
}
// Check that the device ID is valid
if( deviceId != null ) {
if(deviceId.longValue() == 0) {
throw new ServerApiException (BaseCmd.VM_INVALID_PARAM_ERROR, "deviceId can't be 0, which is used by Root device");
}
}
if (volume.getAccountId() != vm.getAccountId()) {
throw new ServerApiException (BaseCmd.VM_INVALID_PARAM_ERROR, "virtual machine and volume belong to different accounts, can not attach");
}
// If the account is not an admin, check that the volume and the virtual machine are owned by the account that was passed in
if (account != null) {
if (!isAdmin(account.getType())) {
if (account.getId().longValue() != volume.getAccountId())
throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to find volume with ID: " + volumeId + " for account: " + account.getAccountName());
if (account.getId().longValue() != vm.getAccountId())
throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to find VM with ID: " + vmId + " for account: " + account.getAccountName());
} else {
if (!getManagementServer().isChildDomain(account.getDomainId(), volume.getDomainId()) ||
!getManagementServer().isChildDomain(account.getDomainId(), vm.getDomainId())) {
throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to attach volume " + volumeId + " to virtual machine instance " + vmId + ", permission denied.");
}
}
}
try {
long jobId = getManagementServer().attachVolumeToVMAsync(vmId, volumeId, deviceId);
if (jobId == 0) {
s_logger.warn("Unable to schedule async-job for AttachVolume comamnd");
} else {
if(s_logger.isDebugEnabled())
s_logger.debug("AttachVolume command has been accepted, job id: " + jobId);
}
List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
returnValues.add(new Pair<String, Object>(BaseCmd.Properties.JOB_ID.getName(), Long.valueOf(jobId)));
return returnValues;
} catch (Exception ex) {
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to attach volume: " + ex.getMessage());
}
}
*/
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
return response;
}
}

View File

@ -18,6 +18,7 @@
package com.cloud.api.commands;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -27,8 +28,12 @@ import com.cloud.api.BaseAsyncCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.IngressRuleResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.network.security.IngressRuleVO;
@Implementation(method="authorizeNetworkGroupIngress", manager=Manager.NetworkGroupManager)
@Implementation(method="authorizeNetworkGroupIngress", manager=Manager.NetworkGroupManager) @SuppressWarnings("rawtypes")
public class AuthorizeNetworkGroupIngressCmd extends BaseAsyncCmd {
public static final Logger s_logger = Logger.getLogger(AuthorizeNetworkGroupIngressCmd.class.getName());
@ -121,6 +126,7 @@ public class AuthorizeNetworkGroupIngressCmd extends BaseAsyncCmd {
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getName() {
return s_name;
}
@ -129,208 +135,40 @@ public class AuthorizeNetworkGroupIngressCmd extends BaseAsyncCmd {
return "networkgroup";
}
/*
@Override
public List<Pair<String, Object>> execute(Map<String, Object> params) {
Account account = (Account)params.get(BaseCmd.Properties.ACCOUNT_OBJ.getName());
String accountName = (String)params.get(BaseCmd.Properties.ACCOUNT.getName());
Long domainId = (Long)params.get(BaseCmd.Properties.DOMAIN_ID.getName());
Long userId = (Long)params.get(BaseCmd.Properties.USER_ID.getName());
Integer startPort = (Integer)params.get(BaseCmd.Properties.START_PORT.getName());
Integer endPort = (Integer)params.get(BaseCmd.Properties.END_PORT.getName());
Integer icmpType = (Integer)params.get(BaseCmd.Properties.ICMP_TYPE.getName());
Integer icmpCode = (Integer)params.get(BaseCmd.Properties.ICMP_CODE.getName());
String protocol = (String)params.get(BaseCmd.Properties.PROTOCOL.getName());
String networkGroup = (String)params.get(BaseCmd.Properties.NETWORK_GROUP_NAME.getName());
String cidrList = (String)params.get(BaseCmd.Properties.CIDR_LIST.getName());
Map groupList = (Map)params.get(BaseCmd.Properties.USER_NETWORK_GROUP_LIST.getName());
@Override @SuppressWarnings("unchecked")
public ResponseObject getResponse() {
List<IngressRuleVO> ingressRules = (List<IngressRuleVO>)getResponseObject();
Long accountId = null;
Integer startPortOrType = null;
Integer endPortOrCode = null;
ListResponse response = new ListResponse();
if ((ingressRules != null) && !ingressRules.isEmpty()) {
List<IngressRuleResponse> responses = new ArrayList<IngressRuleResponse>();
for (IngressRuleVO ingressRule : ingressRules) {
IngressRuleResponse ingressData = new IngressRuleResponse();
if (protocol == null) {
protocol = "all";
}
//FIXME: for exceptions below, add new enums to BaseCmd.PARAM_ to reflect the error condition more precisely
if (!NetUtils.isValidNetworkGroupProto(protocol)) {
s_logger.debug("Invalid protocol specified " + protocol);
throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid protocol " + protocol);
}
if ("icmp".equalsIgnoreCase(protocol) ) {
if ((icmpType == null) || (icmpCode == null)) {
throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid ICMP type/code specified, icmpType = " + icmpType + ", icmpCode = " + icmpCode);
}
if (icmpType == -1 && icmpCode != -1) {
throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid icmp type range" );
}
if (icmpCode > 255) {
throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid icmp code " );
}
startPortOrType = icmpType;
endPortOrCode= icmpCode;
} else if (protocol.equals("all")) {
if ((startPort != null) || (endPort != null)) {
throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Cannot specify startPort or endPort without specifying protocol");
}
startPortOrType = 0;
endPortOrCode = 0;
ingressData.setRuleId(ingressRule.getId());
ingressData.setProtocol(ingressRule.getProtocol());
if ("icmp".equalsIgnoreCase(ingressRule.getProtocol())) {
ingressData.setIcmpType(ingressRule.getStartPort());
ingressData.setIcmpCode(ingressRule.getEndPort());
} else {
if ((startPort == null) || (endPort == null)) {
throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid port range specified, startPort = " + startPort + ", endPort = " + endPort);
}
if (startPort == 0 && endPort == 0) {
endPort = 65535;
}
if (startPort > endPort) {
s_logger.debug("Invalid port range specified: " + startPort + ":" + endPort);
throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid port range " );
}
if (startPort > 65535 || endPort > 65535 || startPort < -1 || endPort < -1) {
s_logger.debug("Invalid port numbers specified: " + startPort + ":" + endPort);
throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid port numbers " );
ingressData.setStartPort(ingressRule.getStartPort());
ingressData.setEndPort(ingressRule.getEndPort());
}
if (startPort < 0 || endPort < 0) {
throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid port range " );
}
startPortOrType = startPort;
endPortOrCode= endPort;
}
protocol = protocol.toLowerCase();
if ((account == null) || isAdmin(account.getType())) {
if ((accountName != null) && (domainId != null)) {
// if it's an admin account, do a quick permission check
if ((account != null) && !getManagementServer().isChildDomain(account.getDomainId(), domainId)) {
if (s_logger.isDebugEnabled()) {
s_logger.debug("Unable to find rules for network security group id = " + networkGroup + ", permission denied.");
}
throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Unable to find rules for network security group id = " + networkGroup + ", permission denied.");
}
Account groupOwner = getManagementServer().findActiveAccount(accountName, domainId);
if (groupOwner == null) {
throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to find account " + accountName + " in domain " + domainId);
}
accountId = groupOwner.getId();
if (ingressRule.getAllowedNetworkGroup() != null) {
ingressData.setNetworkGroupName(ingressRule.getAllowedNetworkGroup());
ingressData.setAccountName(ingressRule.getAllowedNetGrpAcct());
} else {
if (account != null) {
accountId = account.getId();
domainId = account.getDomainId();
}
}
} else {
if (account != null) {
accountId = account.getId();
domainId = account.getDomainId();
}
ingressData.setCidr(ingressRule.getAllowedSourceIpCidr());
}
if (accountId == null) {
throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to find account for network security group " + networkGroup + "; failed to authorize ingress.");
ingressData.setResponseName("ingressrule");
responses.add(ingressData);
}
response.setResponses(responses);
}
NetworkGroupVO sg = getManagementServer().findNetworkGroupByName(accountId, networkGroup);
if (sg == null) {
if (s_logger.isDebugEnabled()) {
s_logger.debug("Unable to find network security group with id " + networkGroup);
}
throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to find network security group with id " + networkGroup);
}
if (cidrList == null && groupList == null) {
if (s_logger.isDebugEnabled()) {
s_logger.debug("At least one cidr or at least one security group needs to be specified");
}
throw new ServerApiException(BaseCmd.PARAM_ERROR, "At least one cidr or at least one security group needs to be specified");
}
List<String> authorizedCidrs = new ArrayList<String>();
if (cidrList != null) {
if (protocol.equals("all")) {
throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Cannot authorize cidrs without specifying protocol and ports.");
}
String [] cidrs = cidrList.split(",");
for (String cidr: cidrs) {
if (!NetUtils.isValidCIDR(cidr)) {
s_logger.debug( "Invalid cidr (" + cidr + ") given, unable to authorize ingress.");
throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid cidr (" + cidr + ") given, unable to authorize ingress.");
}
authorizedCidrs.add(cidr);
}
}
List<NetworkGroupVO> authorizedGroups = new ArrayList<NetworkGroupVO> ();
if (groupList != null) {
Collection userGroupCollection = groupList.values();
Iterator iter = userGroupCollection.iterator();
while (iter.hasNext()) {
HashMap userGroup = (HashMap)iter.next();
String group = (String)userGroup.get("group");
String authorizedAccountName = (String)userGroup.get("account");
if ((group == null) || (authorizedAccountName == null)) {
throw new ServerApiException(BaseCmd.PARAM_ERROR, "Invalid user group specified, fields 'group' and 'account' cannot be null, please specify groups in the form: userGroupList[0].group=XXX&userGroupList[0].account=YYY");
}
Account authorizedAccount = getManagementServer().findActiveAccount(authorizedAccountName, domainId);
if (authorizedAccount == null) {
if (s_logger.isDebugEnabled()) {
s_logger.debug("Nonexistent account: " + authorizedAccountName + ", domainid: " + domainId + " when trying to authorize ingress for " + networkGroup + ":" + protocol + ":" + startPortOrType + ":" + endPortOrCode);
}
throw new ServerApiException(BaseCmd.PARAM_ERROR, "Nonexistent account: " + authorizedAccountName + " when trying to authorize ingress for " + networkGroup + ":" + protocol + ":" + startPortOrType + ":" + endPortOrCode);
}
NetworkGroupVO groupVO = getManagementServer().findNetworkGroupByName(authorizedAccount.getId(), group);
if (groupVO == null) {
if (s_logger.isDebugEnabled()) {
s_logger.debug("Nonexistent group " + group + " for account " + authorizedAccountName + "/" + domainId);
}
throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid group (" + group + ") given, unable to authorize ingress.");
}
authorizedGroups.add(groupVO);
}
}
// If command is executed via 8096 port, set userId to the id of System account (1)
if (userId == null) {
userId = Long.valueOf(1);
}
long jobId = getManagementServer().authorizeNetworkGroupIngressAsync(accountId, networkGroup, protocol, startPortOrType, endPortOrCode, authorizedCidrs.toArray(new String[authorizedCidrs.size()]), authorizedGroups);
//long ruleId = 0;
if (jobId == 0) {
s_logger.warn("Unable to schedule async-job for AuthorizeNetworkGroupIngressCmd command");
} else {
if (s_logger.isDebugEnabled())
s_logger.debug("AuthorizeNetworkGroupIngressCmd command has been accepted, job id: " + jobId);
// many rules can be created as a result, so returning ruleId may not be correct here
//ruleId = waitInstanceCreation(jobId);
}
List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
returnValues.add(new Pair<String, Object>(BaseCmd.Properties.JOB_ID.getName(), Long.valueOf(jobId)));
//returnValues.add(new Pair<String, Object>(BaseCmd.Properties.RULE_ID.getName(), Long.valueOf(ruleId)));
return returnValues;
}
*/
/*
protected long getInstanceIdFromJobSuccessResult(String result) {
CreateOrUpdateRuleResultObject resultObject = (CreateOrUpdateRuleResultObject)SerializerHelper.fromSerializedString(result);
if(resultObject != null) {
return resultObject.getRuleId();
}
return 0;
}
*/
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
response.setResponseName(getName());
return response;
}
}

View File

@ -18,12 +18,29 @@
package com.cloud.api.commands;
import java.text.DecimalFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.apache.log4j.Logger;
import com.cloud.api.BaseAsyncCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.response.HostResponse;
import com.cloud.api.ApiDBUtils;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.dc.HostPodVO;
import com.cloud.host.Host;
import com.cloud.host.HostStats;
import com.cloud.host.HostVO;
import com.cloud.host.Status.Event;
import com.cloud.offering.ServiceOffering;
import com.cloud.storage.GuestOSCategoryVO;
import com.cloud.vm.UserVmVO;
@Implementation(method="cancelMaintenance", manager=Manager.AgentManager)
public class CancelMaintenanceCmd extends BaseAsyncCmd {
@ -60,34 +77,122 @@ public class CancelMaintenanceCmd extends BaseAsyncCmd {
return "host";
}
/*
@Override
public List<Pair<String, Object>> execute(Map<String, Object> params) {
Long hostId = (Long)params.get(BaseCmd.Properties.ID.getName());
public ResponseObject getResponse() {
HostVO host = (HostVO)getResponseObject();
//verify input parameters
HostVO host = getManagementServer().getHostBy(hostId);
if (host == null) {
throw new ServerApiException(BaseCmd.PARAM_ERROR, "Host with id " + hostId.toString() + " doesn't exist");
HostResponse response = new HostResponse();
response.setId(host.getId());
response.setName(host.getName());
response.setState(host.getStatus());
if (host.getDisconnectedOn() != null) {
response.setDisconnectedOn(host.getDisconnectedOn());
}
long jobId = getManagementServer().maintenanceCompletedAsync(hostId);
if(jobId == 0) {
s_logger.warn("Unable to schedule async-job for CancelMaintenance comamnd");
} else {
if(s_logger.isDebugEnabled())
s_logger.debug("CancelMaintenance command has been accepted, job id: " + jobId);
if (host.getType() != null) {
response.setHostType(host.getType());
}
List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
returnValues.add(new Pair<String, Object>(BaseCmd.Properties.JOB_ID.getName(), Long.valueOf(jobId)));
return returnValues;
GuestOSCategoryVO guestOSCategory = ApiDBUtils.getHostGuestOSCategory(host.getId());
if (guestOSCategory != null) {
response.setOsCategoryId(guestOSCategory.getId());
response.setOsCategoryName(guestOSCategory.getName());
}
*/
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
response.setIpAddress(host.getPrivateIpAddress());
response.setZoneId(host.getDataCenterId());
response.setZoneName(ApiDBUtils.findZoneById(host.getDataCenterId()).getName());
if (host.getPodId() != null) {
HostPodVO pod = ApiDBUtils.findPodById(host.getPodId());
response.setPodId(host.getPodId());
response.setPodName(pod.getName());
}
response.setVersion(host.getVersion().toString());
if (host.getHypervisorType() != null) {
response.setHypervisor(host.getHypervisorType());
}
if ((host.getCpus() != null) && (host.getSpeed() != null) && !(host.getType().toString().equals("Storage"))) {
response.setCpuNumber(host.getCpus());
response.setCpuSpeed(host.getSpeed());
// calculate cpu allocated by vm
int cpu = 0;
String cpuAlloc = null;
DecimalFormat decimalFormat = new DecimalFormat("#.##");
List<UserVmVO> instances = ApiDBUtils.listUserVMsByHostId(host.getId());
for (UserVmVO vm : instances) {
ServiceOffering so = ApiDBUtils.findServiceOfferingById(vm.getServiceOfferingId());
cpu += so.getCpu() * so.getSpeed();
}
cpuAlloc = decimalFormat.format(((float) cpu / (float) (host.getCpus() * host.getSpeed())) * 100f) + "%";
response.setCpuAllocated(cpuAlloc);
// calculate cpu utilized
String cpuUsed = null;
HostStats hostStats = ApiDBUtils.getHostStatistics(host.getId());
if (hostStats != null) {
float cpuUtil = (float) hostStats.getCpuUtilization();
cpuUsed = decimalFormat.format(cpuUtil) + "%";
response.setCpuUsed(cpuUsed);
long avgLoad = (long)hostStats.getAverageLoad();
response.setAverageLoad(avgLoad);
long networkKbsRead = (long)hostStats.getNetworkReadKBs();
response.setNetworkKbsRead(networkKbsRead);
long networkKbsWrite = (long)hostStats.getNetworkWriteKBs();
response.setNetworkKbsWrite(networkKbsWrite);
}
}
if (host.getType() == Host.Type.Routing) {
Long memory = host.getTotalMemory();
response.setMemoryTotal(memory);
// calculate memory allocated by systemVM and userVm
long mem = ApiDBUtils.getMemoryUsagebyHost(host.getId());
response.setMemoryAllocated(mem);
// calculate memory utilized, we don't provide memory over commit
response.setMemoryUsed(mem);
}
if (host.getType().toString().equals("Storage")) {
response.setDiskSizeTotal(host.getTotalSize());
response.setDiskSizeAllocated(0L);
}
response.setCapabilities(host.getCapabilities());
response.setLastPinged(new Date(host.getLastPinged()));
if (host.getManagementServerId() != null) {
response.setManagementServerId(host.getManagementServerId());
}
if (host.getCreated() != null) {
response.setCreated(host.getCreated());
}
if (host.getRemoved() != null) {
response.setRemoved(host.getRemoved());
}
Set<Event> possibleEvents = host.getStatus().getPossibleEvents();
if ((possibleEvents != null) && !possibleEvents.isEmpty()) {
String events = "";
Iterator<Event> iter = possibleEvents.iterator();
while (iter.hasNext()) {
Event event = iter.next();
events += event.toString();
if (iter.hasNext()) {
events += "; ";
}
}
response.setEvents(events);
}
response.setResponseName(getName());
return response;
}
}

View File

@ -22,8 +22,14 @@ import org.apache.log4j.Logger;
import com.cloud.api.BaseAsyncCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.ApiDBUtils;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.StoragePoolResponse;
import com.cloud.dc.ClusterVO;
import com.cloud.storage.StoragePoolVO;
import com.cloud.storage.StorageStats;
@Implementation(method="cancelPrimaryStorageForMaintenance", manager=Manager.StorageManager)
public class CancelPrimaryStorageMaintenanceCmd extends BaseAsyncCmd {
@ -60,47 +66,48 @@ public class CancelPrimaryStorageMaintenanceCmd extends BaseAsyncCmd {
return "primarystorage";
}
/*
@Override
public List<Pair<String, Object>> execute(Map<String, Object> params) {
Long storagePoolId = (Long)params.get(BaseCmd.Properties.ID.getName());
Long userId = (Long)params.get(BaseCmd.Properties.USER_ID.getName());
Account account = (Account)params.get(BaseCmd.Properties.ACCOUNT_OBJ.getName());
//verify input parameters
StoragePoolVO storagePool = getManagementServer().findPoolById(storagePoolId);
public ResponseObject getResponse() {
StoragePoolVO primaryStorage = (StoragePoolVO)getResponseObject();
if (storagePool == null) {
throw new ServerApiException(BaseCmd.PARAM_ERROR, "Primary storage with id " + storagePoolId + " doesn't exist");
StoragePoolResponse response = new StoragePoolResponse();
response.setId(primaryStorage.getId());
response.setName(primaryStorage.getName());
response.setType(primaryStorage.getPoolType().toString());
response.setState(primaryStorage.getStatus().toString());
response.setIpAddress(primaryStorage.getHostAddress());
response.setZoneId(primaryStorage.getDataCenterId());
response.setZoneName(ApiDBUtils.findZoneById(primaryStorage.getDataCenterId()).getName());
if (response.getPodId() != null && ApiDBUtils.findPodById(primaryStorage.getPodId()) != null) {
response.setPodId(primaryStorage.getPodId());
response.setPodName((ApiDBUtils.findPodById(primaryStorage.getPodId())).getName());
}
if (!storagePool.getStatus().equals(Status.Maintenance)) {
throw new ServerApiException(BaseCmd.PARAM_ERROR, "Primary storage with id " + storagePoolId + " is not ready for migration, as the status is:"+storagePool.getStatus().toString());
if (primaryStorage.getCreated() != null) {
response.setCreated(primaryStorage.getCreated());
}
response.setDiskSizeTotal(primaryStorage.getCapacityBytes());
StorageStats stats = ApiDBUtils.getStoragePoolStatistics(primaryStorage.getId());
long capacity = primaryStorage.getCapacityBytes();
long available = primaryStorage.getAvailableBytes() ;
long used = capacity - available;
if (stats != null) {
used = stats.getByteUsed();
available = capacity - used;
}
long jobId = 0;
try {
jobId = getManagementServer().cancelPrimaryStorageMaintenanceAsync(storagePoolId);
} catch (InvalidParameterValueException e) {
throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to cancel primary storage maintenance: " + e.getMessage());
response.setDiskSizeAllocated(used);
if (primaryStorage.getClusterId() != null) {
ClusterVO cluster = ApiDBUtils.findClusterById(primaryStorage.getClusterId());
response.setClusterId(primaryStorage.getClusterId());
response.setClusterName(cluster.getName());
}
if(jobId == 0) {
s_logger.warn("Unable to schedule async-job for CancelPrimaryStorageMaintenance command");
} else {
if(s_logger.isDebugEnabled())
s_logger.debug("CancelPrimaryStorageMaintenance command has been accepted, job id: " + jobId);
}
List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
returnValues.add(new Pair<String, Object>(BaseCmd.Properties.JOB_ID.getName(), Long.valueOf(jobId)));
returnValues.add(new Pair<String, Object>(BaseCmd.Properties.STATE.getName(), Status.PrepareForMaintenance));
return returnValues;
}
*/
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
response.setTags(ApiDBUtils.getStoragePoolTags(primaryStorage.getId()));
response.setResponseName(getName());
return response;
}
}

View File

@ -26,8 +26,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.TemplateResponse;
import com.cloud.storage.GuestOS;
import com.cloud.storage.VMTemplateHostVO;
@ -85,7 +85,7 @@ public class CopyIsoCmd extends BaseAsyncCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
TemplateResponse isoResponse = new TemplateResponse();
VMTemplateVO iso = (VMTemplateVO)getResponseObject();
@ -155,7 +155,7 @@ public class CopyIsoCmd extends BaseAsyncCmd {
}
isoResponse.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(isoResponse);
return isoResponse;
}
}

View File

@ -26,8 +26,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.TemplateResponse;
import com.cloud.storage.GuestOS;
import com.cloud.storage.VMTemplateHostVO;
@ -86,7 +86,7 @@ public class CopyTemplateCmd extends BaseAsyncCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
TemplateResponse templateResponse = new TemplateResponse();
VMTemplateVO template = (VMTemplateVO)getResponseObject();
@ -158,7 +158,7 @@ public class CopyTemplateCmd extends BaseAsyncCmd {
}
templateResponse.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(templateResponse);
return templateResponse;
}
}

View File

@ -25,8 +25,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.DiskOfferingResponse;
import com.cloud.storage.DiskOfferingVO;
@ -89,7 +89,7 @@ public class CreateDiskOfferingCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
DiskOfferingResponse response = new DiskOfferingResponse();
DiskOfferingVO responseObject = (DiskOfferingVO)getResponseObject();
if (responseObject != null) {
@ -106,6 +106,6 @@ public class CreateDiskOfferingCmd extends BaseCmd {
}
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -24,8 +24,8 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.DomainResponse;
import com.cloud.domain.DomainVO;
@ -69,7 +69,7 @@ public class CreateDomainCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
DomainResponse response = new DomainResponse();
DomainVO responseObject = (DomainVO)getResponseObject();
if (responseObject != null) {
@ -83,6 +83,6 @@ public class CreateDomainCmd extends BaseCmd {
}
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -25,7 +25,7 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.FirewallRuleResponse;
import com.cloud.network.FirewallRuleVO;
import com.cloud.uservm.UserVm;
@ -91,7 +91,7 @@ public class CreateIPForwardingRuleCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
FirewallRuleVO fwRule = (FirewallRuleVO)getResponseObject();
FirewallRuleResponse fwResponse = new FirewallRuleResponse();
@ -105,6 +105,6 @@ public class CreateIPForwardingRuleCmd extends BaseCmd {
fwResponse.setVirtualMachineName(vm.getName());
fwResponse.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(fwResponse);
return fwResponse;
}
}

View File

@ -25,7 +25,7 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.LoadBalancerResponse;
import com.cloud.network.LoadBalancerVO;
@ -96,7 +96,7 @@ public class CreateLoadBalancerRuleCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
LoadBalancerVO responseObj = (LoadBalancerVO)getResponseObject();
LoadBalancerResponse response = new LoadBalancerResponse();
@ -112,6 +112,6 @@ public class CreateLoadBalancerRuleCmd extends BaseCmd {
response.setDomainName(ApiDBUtils.findDomainById(responseObj.getDomainId()).getName());
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -25,7 +25,7 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.NetworkGroupResponse;
import com.cloud.network.security.NetworkGroupVO;
@ -82,7 +82,7 @@ public class CreateNetworkGroupCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
NetworkGroupVO group = (NetworkGroupVO)getResponseObject();
NetworkGroupResponse response = new NetworkGroupResponse();
@ -94,6 +94,6 @@ public class CreateNetworkGroupCmd extends BaseCmd {
response.setName(group.getName());
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -25,7 +25,7 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.PodResponse;
import com.cloud.dc.HostPodVO;
@ -96,7 +96,7 @@ public class CreatePodCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
HostPodVO pod = (HostPodVO)getResponseObject();
PodResponse response = new PodResponse();
@ -110,6 +110,6 @@ public class CreatePodCmd extends BaseCmd {
response.setZoneId(pod.getDataCenterId());
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -24,7 +24,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SecurityGroupResponse;
import com.cloud.network.SecurityGroupVO;
@ -82,7 +82,7 @@ public class CreatePortForwardingServiceCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
SecurityGroupVO group = (SecurityGroupVO)getResponseObject();
SecurityGroupResponse response = new SecurityGroupResponse();
@ -94,6 +94,6 @@ public class CreatePortForwardingServiceCmd extends BaseCmd {
response.setDomainName(ApiDBUtils.findDomainById(group.getDomainId()).getName());
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -23,7 +23,7 @@ import org.apache.log4j.Logger;
import com.cloud.api.BaseAsyncCreateCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.PortForwardingServiceRuleResponse;
import com.cloud.network.NetworkRuleConfigVO;
@ -85,7 +85,7 @@ public class CreatePortForwardingServiceRuleCmd extends BaseAsyncCreateCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
NetworkRuleConfigVO netRule = (NetworkRuleConfigVO)getResponseObject();
PortForwardingServiceRuleResponse response = new PortForwardingServiceRuleResponse();
@ -96,6 +96,6 @@ public class CreatePortForwardingServiceRuleCmd extends BaseAsyncCreateCmd {
response.setPublicPort(netRule.getPublicPort());
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -24,7 +24,7 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ServiceOfferingResponse;
import com.cloud.service.ServiceOfferingVO;
@ -114,7 +114,7 @@ public class CreateServiceOfferingCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
ServiceOfferingVO offering = (ServiceOfferingVO)getResponseObject();
ServiceOfferingResponse response = new ServiceOfferingResponse();
@ -130,6 +130,6 @@ public class CreateServiceOfferingCmd extends BaseCmd {
response.setTags(offering.getTags());
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -25,7 +25,7 @@ import com.cloud.api.BaseAsyncCreateCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SnapshotResponse;
import com.cloud.storage.Snapshot.SnapshotType;
import com.cloud.storage.SnapshotVO;
@ -80,7 +80,7 @@ public class CreateSnapshotCmd extends BaseAsyncCreateCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
SnapshotVO snapshot = (SnapshotVO)getResponseObject();
SnapshotResponse response = new SnapshotResponse();
@ -103,6 +103,6 @@ public class CreateSnapshotCmd extends BaseAsyncCreateCmd {
response.setName(snapshot.getName());
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -24,7 +24,7 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SnapshotPolicyResponse;
import com.cloud.storage.SnapshotPolicyVO;
@ -103,7 +103,7 @@ public class CreateSnapshotPolicyCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
SnapshotPolicyVO snapshotPolicy = (SnapshotPolicyVO)getResponseObject();
SnapshotPolicyResponse response = new SnapshotPolicyResponse();
@ -114,6 +114,6 @@ public class CreateSnapshotPolicyCmd extends BaseCmd {
response.setVolumeId(snapshotPolicy.getVolumeId());
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -27,7 +27,7 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.StoragePoolResponse;
import com.cloud.storage.StoragePoolVO;
import com.cloud.storage.StorageStats;
@ -106,7 +106,7 @@ public class CreateStoragePoolCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
StoragePoolVO pool = (StoragePoolVO)getResponseObject();
StoragePoolResponse response = new StoragePoolResponse();
@ -131,6 +131,6 @@ public class CreateStoragePoolCmd extends BaseCmd {
response.setDiskSizeAllocated(used);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -25,7 +25,7 @@ import com.cloud.api.BaseAsyncCreateCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.TemplateResponse;
import com.cloud.dc.DataCenterVO;
import com.cloud.storage.GuestOS;
@ -135,7 +135,7 @@ public class CreateTemplateCmd extends BaseAsyncCreateCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
VMTemplateVO template = (VMTemplateVO)getResponseObject();
TemplateResponse response = new TemplateResponse();
@ -181,6 +181,6 @@ public class CreateTemplateCmd extends BaseAsyncCreateCmd {
}
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -24,7 +24,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.UserResponse;
import com.cloud.user.UserAccount;
@ -117,7 +117,7 @@ public class CreateUserCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
UserAccount user = (UserAccount)getResponseObject();
// TODO: user keys?
@ -136,6 +136,6 @@ public class CreateUserCmd extends BaseCmd {
response.setUsername(user.getUsername());
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -25,7 +25,7 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.VlanIpRangeResponse;
import com.cloud.dc.VlanVO;
@ -125,7 +125,7 @@ public class CreateVlanIpRangeCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
VlanVO vlan = (VlanVO)getResponseObject();
String domainNameResponse = null;
@ -152,6 +152,6 @@ public class CreateVlanIpRangeCmd extends BaseCmd {
}
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -25,7 +25,7 @@ import com.cloud.api.BaseAsyncCreateCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.VolumeResponse;
import com.cloud.storage.DiskOfferingVO;
import com.cloud.storage.VolumeVO;
@ -108,7 +108,7 @@ public class CreateVolumeCmd extends BaseAsyncCreateCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
VolumeVO volume = (VolumeVO)getResponseObject();
VolumeResponse response = new VolumeResponse();
@ -136,6 +136,6 @@ public class CreateVolumeCmd extends BaseAsyncCreateCmd {
response.setZoneName(ApiDBUtils.findZoneById(volume.getDataCenterId()).getName());
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -24,7 +24,7 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ZoneResponse;
import com.cloud.dc.DataCenterVO;
@ -102,7 +102,7 @@ public class CreateZoneCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
DataCenterVO zone = (DataCenterVO)getResponseObject();
ZoneResponse response = new ZoneResponse();
@ -116,6 +116,6 @@ public class CreateZoneCmd extends BaseCmd {
response.setGuestCidrAddress(zone.getGuestNetworkCidr());
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -24,8 +24,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="deleteDiskOffering", manager=Manager.ConfigManager)
@ -60,7 +60,7 @@ public class DeleteDiskOfferingCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
SuccessResponse response = new SuccessResponse();
Boolean responseObject = (Boolean)getResponseObject();
@ -71,6 +71,6 @@ public class DeleteDiskOfferingCmd extends BaseCmd {
}
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -23,7 +23,7 @@ import org.apache.log4j.Logger;
import com.cloud.api.BaseAsyncCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.DeleteDomainResponse;
@Implementation(method="deleteDomain")
@ -65,13 +65,13 @@ public class DeleteDomainCmd extends BaseAsyncCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
String deleteResult = (String)getResponseObject();
DeleteDomainResponse response = new DeleteDomainResponse();
response.setResult(deleteResult);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -24,8 +24,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.SuccessResponse;
@ -62,7 +62,7 @@ public class DeleteHostCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
SuccessResponse response = new SuccessResponse();
Boolean responseObject = (Boolean)getResponseObject();
@ -73,6 +73,6 @@ public class DeleteHostCmd extends BaseCmd {
}
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -24,6 +24,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="deleteIpForwardingRule", manager=Manager.NetworkManager)
public class DeleteIPForwardingRuleCmd extends BaseCmd {
@ -50,64 +52,17 @@ public class DeleteIPForwardingRuleCmd extends BaseCmd {
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getName() {
return s_name;
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Long userId = (Long)params.get(BaseCmd.Properties.USER_ID.getName());
// Account account = (Account)params.get(BaseCmd.Properties.ACCOUNT_OBJ.getName());
// Long ruleId = (Long)params.get(BaseCmd.Properties.ID.getName());
//
// if (userId == null) {
// userId = Long.valueOf(User.UID_SYSTEM);
// }
//
// FirewallRuleVO fwRule = getManagementServer().findForwardingRuleById(ruleId);
// if (fwRule == null) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to find port forwarding rule " + ruleId);
// }
//
// IPAddressVO ipAddress = getManagementServer().findIPAddressById(fwRule.getPublicIpAddress());
// if (ipAddress == null) {
// throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Unable to find IP address for port forwarding rule " + ruleId);
// }
//
// Account ruleOwner = getManagementServer().findAccountById(ipAddress.getAccountId());
// if (ruleOwner == null) {
// throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Unable to find owning account for port forwarding rule " + ruleId);
// }
//
// // if an admin account was passed in, or no account was passed in, make sure we honor the accountName/domainId parameters
// if (account != null) {
// if (isAdmin(account.getType())) {
// if (!getManagementServer().isChildDomain(account.getDomainId(), ruleOwner.getDomainId())) {
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Unable to delete port forwarding rule " + ruleId + ", permission denied.");
// }
// } else if (account.getId().longValue() != ruleOwner.getId().longValue()) {
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Unable to delete port forwarding rule " + ruleId + ", permission denied.");
// }
// }
//
// try {
// getManagementServer().deleteRule(ruleId.longValue(), userId.longValue(), ruleOwner.getId().longValue());
// } catch (InvalidParameterValueException ex1) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to delete port forwarding rule " + ruleId + ", internal error.");
// } catch (PermissionDeniedException ex2) {
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Unable to delete port forwarding rule " + ruleId + ", permission denied.");
// } catch (InternalErrorException ex3) {
// throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Unable to delete port forwarding rule " + ruleId + ", internal error.");
// }
//
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.SUCCESS.getName(), "true"));
// return returnValues;
// }
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
}

View File

@ -24,8 +24,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="deleteIso", manager=Manager.TemplateManager)
@ -71,7 +71,7 @@ public class DeleteIsoCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
SuccessResponse response = new SuccessResponse();
Boolean responseObject = (Boolean)getResponseObject();
@ -82,6 +82,6 @@ public class DeleteIsoCmd extends BaseCmd {
}
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -24,6 +24,8 @@ import com.cloud.api.BaseAsyncCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="deleteLoadBalancerRule", manager=Manager.NetworkManager)
public class DeleteLoadBalancerRuleCmd extends BaseAsyncCmd {
@ -49,50 +51,17 @@ public class DeleteLoadBalancerRuleCmd extends BaseAsyncCmd {
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getName() {
return s_name;
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Long userId = (Long)params.get(BaseCmd.Properties.USER_ID.getName());
// Account account = (Account)params.get(BaseCmd.Properties.ACCOUNT_OBJ.getName());
// Long loadBalancerId = (Long)params.get(BaseCmd.Properties.ID.getName());
//
// //Verify parameters
// LoadBalancerVO loadBalancer = getManagementServer().findLoadBalancerById(loadBalancerId.longValue());
// if (loadBalancer == null) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to find load balancer rule, with id " + loadBalancerId);
// } else if (account != null) {
// if (!isAdmin(account.getType())) {
// if (loadBalancer.getAccountId() != account.getId().longValue()) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Account " + account.getAccountName() + " does not own load balancer rule " + loadBalancer.getName() + " (id:" + loadBalancerId + ")");
// }
// } else if (!getManagementServer().isChildDomain(account.getDomainId(), loadBalancer.getDomainId())) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to delete load balancer rule " + loadBalancer.getName() + " (id:" + loadBalancerId + "), permission denied.");
// }
// }
//
// if (userId == null) {
// userId = Long.valueOf(1);
// }
//
// long jobId = getManagementServer().deleteLoadBalancerAsync(userId, loadBalancerId.longValue());
// if (jobId == 0) {
// s_logger.warn("Unable to schedule async-job for DeleteLoadBalancerRule comamnd");
// } else {
// if (s_logger.isDebugEnabled())
// s_logger.debug("DeleteLoadBalancerRule command has been accepted, job id: " + jobId);
// }
//
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.JOB_ID.getName(), Long.valueOf(jobId)));
// return returnValues;
// }
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
}

View File

@ -6,6 +6,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="deleteNetworkGroup", manager=Manager.NetworkGroupManager)
public class DeleteNetworkGroupCmd extends BaseCmd {
@ -47,78 +49,16 @@ public class DeleteNetworkGroupCmd extends BaseCmd {
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getName() {
return s_name;
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Account account = (Account)params.get(BaseCmd.Properties.ACCOUNT_OBJ.getName());
// Long domainId = (Long)params.get(BaseCmd.Properties.DOMAIN_ID.getName());
// //Long userId = (Long)params.get(BaseCmd.Properties.USER_ID.getName());
// String accountName = (String)params.get(BaseCmd.Properties.ACCOUNT.getName());
// String name = (String)params.get(BaseCmd.Properties.NAME.getName());
//
// Long accountId = null;
// if ((account == null) || isAdmin(account.getType())) {
// if ((accountName != null) && (domainId != null)) {
// // if it's an admin account, do a quick permission check
// if ((account != null) && !getManagementServer().isChildDomain(account.getDomainId(), domainId)) {
// if (s_logger.isDebugEnabled()) {
// s_logger.debug("Unable to find rules network group " + name + ", permission denied.");
// }
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Unable to network group " + name + ", permission denied.");
// }
//
// Account groupOwner = getManagementServer().findActiveAccount(accountName, domainId);
// if (groupOwner == null) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to find account " + accountName + " in domain " + domainId);
// }
// accountId = groupOwner.getId();
// } else {
// if (account != null) {
// accountId = account.getId();
// domainId = account.getDomainId();
// }
// }
// } else {
// if (account != null) {
// accountId = account.getId();
// domainId = account.getDomainId();
// }
// }
//
// if (accountId == null) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to find account for network group " + name + "; failed to delete group.");
// }
//
// NetworkGroupVO sg = getManagementServer().findNetworkGroupByName(accountId, name);
// if (sg == null) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to find network group " + name + "; failed to delete group.");
// }
//
// try {
// getManagementServer().deleteNetworkGroup(sg.getId(), accountId);
// } catch (ResourceInUseException ex) {
// if (s_logger.isDebugEnabled()) {
// s_logger.debug("Failed to delete network group " + name + " for account " + accountId + ", group is not empty.");
// }
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to delete network group " + name + "; group is not empty.");
// } catch (PermissionDeniedException pde) {
// if (s_logger.isDebugEnabled()) {
// s_logger.debug("Failed to delete network group " + name + " for account " + accountId + ", default group cannot be deleted");
// }
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to delete network group " + name + "; default group cannot be deleted");
// }
//
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.SUCCESS.getName(), "true"));
// return returnValues;
// }
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
SuccessResponse response = new SuccessResponse();
response.setSuccess(Boolean.TRUE);
response.setResponseName(getName());
return response;
}
}

View File

@ -24,8 +24,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="deletePod", manager=Manager.ConfigManager)
@ -59,7 +59,7 @@ public class DeletePodCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
SuccessResponse response = new SuccessResponse();
Boolean responseObject = (Boolean)getResponseObject();
@ -70,6 +70,6 @@ public class DeletePodCmd extends BaseCmd {
}
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -6,8 +6,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="deletePool", manager=Manager.StorageManager)
@ -42,7 +42,7 @@ public class DeletePoolCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
SuccessResponse response = new SuccessResponse();
Boolean responseObject = (Boolean)getResponseObject();
@ -53,6 +53,6 @@ public class DeletePoolCmd extends BaseCmd {
}
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -25,8 +25,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="deleteSecurityGroup", manager=Manager.ManagementServer)
@ -59,7 +59,7 @@ public class DeletePortForwardingServiceCmd extends BaseAsyncCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
SuccessResponse response = new SuccessResponse();
Boolean responseObject = (Boolean)getResponseObject();
@ -70,6 +70,6 @@ public class DeletePortForwardingServiceCmd extends BaseAsyncCmd {
}
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -24,6 +24,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="deleteNetworkRuleConfig", manager=Manager.NetworkManager)
public class DeletePortForwardingServiceRuleCmd extends BaseCmd {
@ -38,7 +40,6 @@ public class DeletePortForwardingServiceRuleCmd extends BaseCmd {
@Parameter(name="id", type=CommandType.LONG, required=true)
private Long id;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@ -47,48 +48,21 @@ public class DeletePortForwardingServiceRuleCmd extends BaseCmd {
return id;
}
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getName() {
return s_name;
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Long userId = (Long)params.get(BaseCmd.Properties.USER_ID.getName());
// Long netRuleId = (Long)params.get(BaseCmd.Properties.ID.getName());
// Account account = (Account)params.get(BaseCmd.Properties.ACCOUNT_OBJ.getName());
//
// //If command is executed via 8096 port, set userId to the id of System account (1)
// if (userId == null) {
// userId = Long.valueOf(1);
// }
//
// try {
// long jobId = getManagementServer().deleteNetworkRuleConfigAsync(userId, account, netRuleId);
//
// if (jobId == 0) {
// s_logger.warn("Unable to schedule async-job for DeletePortForwardingServiceRuleCmd command");
// } else {
// if (s_logger.isDebugEnabled())
// s_logger.debug("DeletePortForwardingServiceRuleCmd command has been accepted, job id: " + jobId);
// }
//
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.JOB_ID.getName(), Long.valueOf(jobId)));
// return returnValues;
// } catch (PermissionDeniedException ex) {
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, ex.getMessage());
// }
// }
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
}

View File

@ -20,7 +20,7 @@ package com.cloud.api.commands;
import com.cloud.api.BaseCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.DeletePreallocatedLunResponse;
@Implementation(method="unregisterPreallocatedLun")
@ -52,13 +52,13 @@ public class DeletePreallocatedLunCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
Boolean result = (Boolean)getResponseObject();
DeletePreallocatedLunResponse response = new DeletePreallocatedLunResponse();
response.setSuccess(result);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -24,6 +24,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="deleteServiceOffering", manager=Manager.ConfigManager)
public class DeleteServiceOfferingCmd extends BaseCmd{
@ -56,44 +58,12 @@ public class DeleteServiceOfferingCmd extends BaseCmd{
return s_name;
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Long offeringId = (Long)params.get(BaseCmd.Properties.ID.getName());
// Long userId = (Long)params.get(BaseCmd.Properties.USER_ID.getName());
//
// if (userId == null) {
// userId = Long.valueOf(User.UID_SYSTEM);
// }
//
// //Verify service offering id
// ServiceOfferingVO offering = getManagementServer().findServiceOfferingById(offeringId);
// if (offering == null) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "unable to find service offering " + offeringId);
// } else if (offering.getRemoved() != null) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "unable to find service offering " + offeringId);
// }
//
// boolean success = false;
// try {
// success = getManagementServer().deleteServiceOffering(userId, offeringId);
// } catch (Exception ex) {
// s_logger.error("Exception deleting service offering", ex);
// throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete service offering " + offeringId + ": internal error.");
// }
//
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// if (success) {
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.SUCCESS.getName(), Boolean.TRUE));
// } else {
// throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete serviceoffering " + offeringId);
// }
// return returnValues;
// }
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
}

View File

@ -24,6 +24,8 @@ import com.cloud.api.BaseAsyncCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="deleteSnapshot", manager=Manager.SnapshotManager)
public class DeleteSnapshotCmd extends BaseAsyncCmd {
@ -65,55 +67,17 @@ public class DeleteSnapshotCmd extends BaseAsyncCmd {
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getName() {
return s_name;
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Long snapshotId = (Long)params.get(BaseCmd.Properties.ID.getName());
// Long userId = (Long)params.get(BaseCmd.Properties.USER_ID.getName());
//
// //Verify parameters
// Snapshot snapshotCheck = getManagementServer().findSnapshotById(snapshotId.longValue());
// if (snapshotCheck == null) {
// throw new ServerApiException (BaseCmd.SNAPSHOT_INVALID_PARAM_ERROR, "unable to find a snapshot with id " + snapshotId);
// }
//
// // If an account was passed in, make sure that it matches the account of the snapshot
// Account snapshotOwner = getManagementServer().findAccountById(snapshotCheck.getAccountId());
// if (snapshotOwner == null) {
// throw new ServerApiException(BaseCmd.SNAPSHOT_INVALID_PARAM_ERROR, "Snapshot id " + snapshotId + " does not have a valid account");
// }
// checkAccountPermissions(params, snapshotOwner.getId(), snapshotOwner.getDomainId(), "snapshot", snapshotId);
//
// //If command is executed via 8096 port, set userId to the id of System account (1)
// if (userId == null) {
// userId = Long.valueOf(1);
// }
//
// try {
// long jobId = getManagementServer().deleteSnapshotAsync(userId, snapshotId);
// if(jobId == 0) {
// s_logger.warn("Unable to schedule async-job for DeleteSnapshot comamnd");
// } else {
// if(s_logger.isDebugEnabled())
// s_logger.debug("DeleteSnapshot command has been accepted, job id: " + jobId);
// }
//
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.JOB_ID.getName(), Long.valueOf(jobId)));
//
// return returnValues;
//
// } catch (Exception ex) {
// throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "internal error deleting snapshot " + ex.getMessage());
// }
// }
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
}

View File

@ -26,6 +26,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="deleteSnapshotPolicies", manager=Manager.SnapshotManager)
public class DeleteSnapshotPoliciesCmd extends BaseCmd {
@ -75,75 +77,17 @@ public class DeleteSnapshotPoliciesCmd extends BaseCmd {
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getName() {
return s_name;
}
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Long policyId = (Long)params.get(BaseCmd.Properties.ID.getName());
// String policyIds = (String)params.get(BaseCmd.Properties.IDS.getName());
// Long userId = (Long)params.get(BaseCmd.Properties.USER_ID.getName());
//
// // If command is executed via 8096 port, set userId to the id of System account (1)
// if (userId == null) {
// userId = Long.valueOf(1);
// }
//
// if ((policyId == null) && (policyIds == null)) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "No policy id (or list off ids) specified.");
// }
//
// List<Long> policyIdList = new ArrayList<Long>();
//
// if (policyId != null) {
// policyIdList.add(policyId);
// } else if (policyIds != null) {
// StringTokenizer st = new StringTokenizer(policyIds, ",");
// while (st.hasMoreTokens()) {
// String token = st.nextToken();
// try {
// Long nextId = Long.parseLong(token);
// policyIdList.add(nextId);
// } catch (NumberFormatException nfe) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "The policy id " + token + " is not a valid parameter.");
// }
// }
// }
//
// ManagementServer managementServer = getManagementServer();
// for (Long policy : policyIdList) {
// SnapshotPolicyVO snapshotPolicyVO = managementServer.findSnapshotPolicyById(policy);
// if (snapshotPolicyVO == null) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Policy id given: " + policy + " does not exist");
// }
// VolumeVO volume = managementServer.findVolumeById(snapshotPolicyVO.getVolumeId());
// if (volume == null) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Policy id given: " + policy + " does not belong to a valid volume");
// }
//
// // If an account was passed in, make sure that it matches the account of the volume
// checkAccountPermissions(params, volume.getAccountId(), volume.getDomainId(), "volume", volume.getId());
// }
//
// try {
// boolean success = true;
// if (policyIdList.size() > 0) {
// success = managementServer.deleteSnapshotPolicies(userId, policyIdList);
// }
//
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.SUCCESS.getName(), Boolean.valueOf(success).toString()));
// return returnValues;
//
// } catch (InvalidParameterValueException ex) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Error deleting snapshot policy: " + ex.getMessage());
// }
// }
}

View File

@ -22,8 +22,10 @@ import org.apache.log4j.Logger;
import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.response.SuccessResponse;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
@Implementation(method="deleteTemplate", manager=Manager.TemplateManager)
public class DeleteTemplateCmd extends BaseCmd {
@ -68,59 +70,11 @@ public class DeleteTemplateCmd extends BaseCmd {
}
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Long templateId = (Long)params.get(BaseCmd.Properties.ID.getName());
// Long userId = (Long)params.get(BaseCmd.Properties.USER_ID.getName());
// Account account = (Account)params.get(BaseCmd.Properties.ACCOUNT_OBJ.getName());
// Long zoneId = (Long)params.get(BaseCmd.Properties.ZONE_ID.getName());
//
// if (userId == null) {
// userId = Long.valueOf(1);
// }
//
// VMTemplateVO template = getManagementServer().findTemplateById(templateId.longValue());
// if (template == null) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "unable to find template with id " + templateId);
// }
//
// if (account != null) {
// if (!isAdmin(account.getType())) {
// if (template.getAccountId() != account.getId()) {
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "unable to delete template with id " + templateId);
// }
// } else {
// Account templateOwner = getManagementServer().findAccountById(template.getAccountId());
// if ((templateOwner == null) || !getManagementServer().isChildDomain(account.getDomainId(), templateOwner.getDomainId())) {
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Unable to delete template with id " + templateId + ", permission denied.");
// }
// }
// }
//
// try {
// long jobId = getManagementServer().deleteTemplateAsync(userId, templateId, zoneId);
//
// if (jobId == 0) {
// s_logger.warn("Unable to schedule async-job for DeleteTemplate command");
// } else {
// if(s_logger.isDebugEnabled()) {
// s_logger.debug("DeleteTemplate command has been accepted, job id: " + jobId);
// }
// }
//
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.JOB_ID.getName(), Long.valueOf(jobId)));
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.TEMPLATE_ID.getName(), Long.valueOf(templateId)));
//
// return returnValues;
// } catch (Exception ex) {
// throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete template: " + ex.getMessage());
// }
//
// }
}

View File

@ -24,6 +24,8 @@ import com.cloud.api.BaseAsyncCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="deleteUser", manager=Manager.ManagementServer)
public class DeleteUserCmd extends BaseAsyncCmd {
@ -55,36 +57,17 @@ public class DeleteUserCmd extends BaseAsyncCmd {
return s_name;
}
@Override
public String getName() {
return s_name;
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Long userId = (Long)params.get(BaseCmd.Properties.ID.getName());
//
// //Verify that the user exists in the system
// User user = getManagementServer().getUser(userId.longValue());
// if (user == null) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "unable to find user " + userId);
// }
//
// // If the user is a System user, return an error. We do not allow this
// Account account = getManagementServer().findAccountById(user.getAccountId());
// if ((account != null) && (account.getId() == Account.ACCOUNT_ID_SYSTEM)) {
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "user id : " + userId + " is a system account, delete is not allowed");
// }
//
// long jobId = getManagementServer().deleteUserAsync(userId.longValue());
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.JOB_ID.getName(), Long.valueOf(jobId)));
// return returnValues;
// }
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
}

View File

@ -24,6 +24,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="deleteVlanIpRange", manager=Manager.ConfigManager)
public class DeleteVlanIpRangeCmd extends BaseCmd {
@ -38,7 +40,6 @@ public class DeleteVlanIpRangeCmd extends BaseCmd {
@Parameter(name="id", type=CommandType.LONG, required=true)
private Long id;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@ -47,42 +48,21 @@ public class DeleteVlanIpRangeCmd extends BaseCmd {
return id;
}
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getName() {
return s_name;
}
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Long vlanDbId = (Long) params.get(BaseCmd.Properties.ID.getName());
// Long userId = (Long)params.get(BaseCmd.Properties.USER_ID.getName());
//
// if (userId == null) {
// userId = Long.valueOf(User.UID_SYSTEM);
// }
//
// // Delete the VLAN and its public IP addresses
// boolean success = false;
// try {
// success = getManagementServer().deleteVlanAndPublicIpRange(userId, vlanDbId);
// } catch (InvalidParameterValueException ex) {
// s_logger.error("Exception deleting VLAN", ex);
// throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete VLAN: " + ex.getMessage());
// }
//
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.SUCCESS.getName(), success));
// return returnValues;
// }
}

View File

@ -24,6 +24,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="deleteVolume", manager=Manager.StorageManager)
public class DeleteVolumeCmd extends BaseCmd {
@ -51,6 +53,7 @@ public class DeleteVolumeCmd extends BaseCmd {
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getName() {
return s_name;
}
@ -59,50 +62,12 @@ public class DeleteVolumeCmd extends BaseCmd {
return "volume";
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Account account = (Account) params.get(BaseCmd.Properties.ACCOUNT_OBJ.getName());
// Long volumeId = (Long) params.get(BaseCmd.Properties.ID.getName());
//
// boolean isAdmin;
// if (account == null) {
// // Admin API call
// isAdmin = true;
// } else {
// // User API call
// isAdmin = isAdmin(account.getType());
// }
//
// // Check that the volume ID is valid
// VolumeVO volume = getManagementServer().findVolumeById(volumeId);
// if (volume == null) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to find volume with ID: " + volumeId);
// }
//
// // If the account is not an admin, check that the volume is owned by the account that was passed in
// if (!isAdmin) {
// if (account.getId() != volume.getAccountId()) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to find volume with ID: " + volumeId + " for account: " + account.getAccountName());
// }
// } else if ((account != null) && !getManagementServer().isChildDomain(account.getDomainId(), volume.getDomainId())) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to delete volume with id " + volumeId + ", permission denied.");
// }
//
// try {
// getManagementServer().destroyVolume(volumeId);
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.SUCCESS.getName(), "true"));
//
// return returnValues;
// } catch (Exception ex) {
// throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete volume: " + ex.getMessage());
// }
// }
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
}

View File

@ -24,6 +24,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="deleteZone", manager=Manager.ConfigManager)
public class DeleteZoneCmd extends BaseCmd {
@ -52,42 +54,17 @@ public class DeleteZoneCmd extends BaseCmd {
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getName() {
return s_name;
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Long zoneId = (Long) params.get(BaseCmd.Properties.ID.getName());
// Long userId = (Long)params.get(BaseCmd.Properties.USER_ID.getName());
//
// if (userId == null) {
// userId = Long.valueOf(User.UID_SYSTEM);
// }
//
// //verify input parameters
// DataCenterVO zone = getManagementServer().findDataCenterById(zoneId);
// if (zone == null) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "unable to find zone by id " + zoneId);
// }
//
// try {
// getManagementServer().deleteZone(userId, zoneId);
// } catch (Exception ex) {
// s_logger.error("Exception deleting zone", ex);
// throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage());
// }
//
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.SUCCESS.getName(), "true"));
//
// return returnValues;
// }
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
}

View File

@ -27,7 +27,7 @@ import com.cloud.api.BaseAsyncCmd;
import com.cloud.api.BaseCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.UserVmResponse;
import com.cloud.offering.ServiceOffering;
import com.cloud.storage.VMTemplateVO;
@ -154,7 +154,7 @@ public class DeployVMCmd extends BaseAsyncCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
UserVm userVm = (UserVm)getResponseObject();
UserVmResponse response = new UserVmResponse();
@ -250,6 +250,6 @@ public class DeployVMCmd extends BaseAsyncCmd {
response.setNetworkGroupList(ApiDBUtils.getNetworkGroupsNamesForVm(userVm.getId()));
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -24,6 +24,8 @@ import com.cloud.api.BaseAsyncCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="destroyConsoleProxy", manager=Manager.ConsoleProxyManager)
public class DestroyConsoleProxyCmd extends BaseAsyncCmd {
@ -52,36 +54,17 @@ public class DestroyConsoleProxyCmd extends BaseAsyncCmd {
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getName() {
return s_name;
}
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Long proxyId = (Long)params.get(BaseCmd.Properties.ID.getName());
//
// // verify parameters
// ConsoleProxyVO proxy = getManagementServer().findConsoleProxyById(proxyId);
// if (proxy == null) {
// throw new ServerApiException (BaseCmd.PARAM_ERROR, "unable to find a console proxy with id " + proxyId);
// }
//
// long jobId = getManagementServer().destroyConsoleProxyAsync(proxyId.longValue());
// if(jobId == 0) {
// s_logger.warn("Unable to schedule async-job for DestroyConsoleProxy comamnd");
// } else {
// if(s_logger.isDebugEnabled())
// s_logger.debug("DestroyConsoleProxy command has been accepted, job id: " + jobId);
// }
//
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.JOB_ID.getName(), Long.valueOf(jobId)));
// return returnValues;
// }
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
}

View File

@ -24,6 +24,8 @@ import com.cloud.api.BaseAsyncCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="destroyVm", manager=Manager.UserVmManager)
public class DestroyVMCmd extends BaseAsyncCmd {
@ -38,7 +40,6 @@ public class DestroyVMCmd extends BaseAsyncCmd {
@Parameter(name="id", type=CommandType.LONG, required=true)
private Long id;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@ -47,7 +48,6 @@ public class DestroyVMCmd extends BaseAsyncCmd {
return id;
}
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@ -56,51 +56,13 @@ public class DestroyVMCmd extends BaseAsyncCmd {
return s_name;
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Account account = (Account)params.get(BaseCmd.Properties.ACCOUNT_OBJ.getName());
// Long userId = (Long)params.get(BaseCmd.Properties.USER_ID.getName());
// Long vmId = (Long)params.get(BaseCmd.Properties.ID.getName());
//
// // Verify input parameters
// UserVmVO vmInstance = getManagementServer().findUserVMInstanceById(vmId.longValue());
// if (vmInstance == null) {
// throw new ServerApiException (BaseCmd.VM_INVALID_PARAM_ERROR, "unable to find a virtual machine with id " + vmId);
// }
//
// if (account != null) {
// if (!isAdmin(account.getType())) {
// if (account.getId().longValue() != vmInstance.getAccountId()) {
// throw new ServerApiException(BaseCmd.VM_INVALID_PARAM_ERROR, "unable to find a virtual machine with id " + vmId + "for this account");
// }
// } else if (!getManagementServer().isChildDomain(account.getDomainId(), vmInstance.getDomainId())) {
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Unable to destroy virtual machine with id " + vmId + ", permission denied.");
// }
// }
//
// // If command is executed via 8096 port, set userId to the id of System account (1)
// if (userId == null) {
// userId = Long.valueOf(1);
// }
//
// long jobId = getManagementServer().destroyVirtualMachineAsync(userId.longValue(), vmId.longValue());
// if (jobId == 0) {
// s_logger.warn("Unable to schedule async-job for DestroyVM command");
// } else {
// if (s_logger.isDebugEnabled())
// s_logger.debug("DestroyVM command has been accepted, job id: " + jobId);
// }
//
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.JOB_ID.getName(), Long.valueOf(jobId)));
//
// return returnValues;
// }
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
}

View File

@ -24,6 +24,8 @@ import com.cloud.api.BaseAsyncCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="detachIso", manager=Manager.TemplateManager)
public class DetachIsoCmd extends BaseAsyncCmd {
@ -57,60 +59,12 @@ public class DetachIsoCmd extends BaseAsyncCmd {
return s_name;
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Account account = (Account) params.get(BaseCmd.Properties.ACCOUNT_OBJ.getName());
// Long userId = (Long) params.get(BaseCmd.Properties.USER_ID.getName());
// Long vmId = (Long) params.get(BaseCmd.Properties.VIRTUAL_MACHINE_ID.getName());
//
// // Verify input parameters
// UserVmVO vmInstanceCheck = getManagementServer().findUserVMInstanceById(vmId.longValue());
// if (vmInstanceCheck == null) {
// throw new ServerApiException (BaseCmd.VM_INVALID_PARAM_ERROR, "Unable to find a virtual machine with id " + vmId);
// }
//
// if (account != null) {
// if (!isAdmin(account.getType())) {
// if (account.getId().longValue() != vmInstanceCheck.getAccountId()) {
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Unable to detach ISO from virtual machine " + vmInstanceCheck.getName() + " for this account");
// }
// } else if (!getManagementServer().isChildDomain(account.getDomainId(), vmInstanceCheck.getDomainId())) {
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Unable to detach ISO from virtual machine " + vmInstanceCheck.getName() + ", permission denied.");
// }
// }
//
// // If command is executed via 8096 port, set userId to the id of System account (1)
// if (userId == null)
// userId = new Long(1);
//
// try {
// long jobId = getManagementServer().detachISOFromVMAsync(vmId.longValue(), userId);
//
// if (jobId == 0) {
// s_logger.warn("Unable to schedule async-job for AttachIsoCmd");
// } else {
// if(s_logger.isDebugEnabled())
// s_logger.debug("AttachIsoCmd has been accepted, job id: " + jobId);
// }
//
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.JOB_ID.getName(), Long.valueOf(jobId)));
//
// return returnValues;
// } catch (ServerApiException apiEx) {
// s_logger.error("Exception detaching ISO", apiEx);
// throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to detach ISO: " + apiEx.getDescription());
// } catch (Exception ex) {
// s_logger.error("Exception detaching ISO", ex);
// throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to detach ISO: " + ex.getMessage());
// }
//
// }
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
}

View File

@ -24,6 +24,8 @@ import com.cloud.api.BaseAsyncCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="detachVolumeFromVM", manager=Manager.UserVmManager)
public class DetachVolumeCmd extends BaseAsyncCmd {
@ -51,6 +53,7 @@ public class DetachVolumeCmd extends BaseAsyncCmd {
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getName() {
return s_name;
}
@ -59,58 +62,12 @@ public class DetachVolumeCmd extends BaseAsyncCmd {
return "volume";
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Account account = (Account) params.get(BaseCmd.Properties.ACCOUNT_OBJ.getName());
// Long volumeId = (Long) params.get(BaseCmd.Properties.ID.getName());
//
// boolean isAdmin;
// if (account == null) {
// // Admin API call
// isAdmin = true;
// } else {
// // User API call
// isAdmin = isAdmin(account.getType());
// }
//
// // Check that the volume ID is valid
// VolumeVO volume = getManagementServer().findVolumeById(volumeId);
// if (volume == null)
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to find volume with ID: " + volumeId);
//
// // If the account is not an admin, check that the volume is owned by the account that was passed in
// if (!isAdmin) {
// if (account.getId() != volume.getAccountId())
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to find volume with ID: " + volumeId + " for account: " + account.getAccountName());
// } else if (account != null) {
// if (!getManagementServer().isChildDomain(account.getDomainId(), volume.getDomainId())) {
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Unable to detach volume with ID: " + volumeId + ", permission denied.");
// }
// }
//
// try {
// long jobId = getManagementServer().detachVolumeFromVMAsync(volumeId);
//
// if (jobId == 0) {
// s_logger.warn("Unable to schedule async-job for DetachVolume comamnd");
// } else {
// if(s_logger.isDebugEnabled())
// s_logger.debug("DetachVolume command has been accepted, job id: " + jobId);
// }
//
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.JOB_ID.getName(), Long.valueOf(jobId)));
//
// return returnValues;
// } catch (Exception ex) {
// throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to detach volume: " + ex.getMessage());
// }
// }
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
}

View File

@ -23,6 +23,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="disableAccount", manager=Manager.ManagementServer)
public class DisableAccountCmd extends BaseCmd {
@ -61,41 +63,11 @@ public class DisableAccountCmd extends BaseCmd {
}
@Override
public String getResponse() {
// TODO: implement
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Account adminAccount = (Account)params.get(BaseCmd.Properties.ACCOUNT_OBJ.getName());
// Long domainId = (Long)params.get(BaseCmd.Properties.DOMAIN_ID.getName());
// String accountName = (String)params.get(BaseCmd.Properties.ACCOUNT.getName());
//
// if ((adminAccount != null) && !getManagementServer().isChildDomain(adminAccount.getDomainId(), domainId)) {
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Failed to disable account " + accountName + " in domain " + domainId + ", permission denied.");
// }
//
// Account account = getManagementServer().findActiveAccount(accountName, domainId);
// if (account == null) {
// throw new ServerApiException (BaseCmd.PARAM_ERROR, "Unable to find active account with name " + accountName + " in domain " + domainId);
// }
//
// // don't allow modify system account
// if (account.getId().longValue() == Account.ACCOUNT_ID_SYSTEM) {
// throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "can not disable system account");
// }
//
// long jobId = getManagementServer().disableAccountAsync(account.getId().longValue());
// if (jobId == 0) {
// s_logger.warn("Unable to schedule async-job for DisableAccount comamnd");
// } else {
// if (s_logger.isDebugEnabled())
// s_logger.debug("DisableAccount command has been accepted, job id: " + jobId);
// }
//
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.JOB_ID.getName(), Long.valueOf(jobId)));
// return returnValues;
// }
}

View File

@ -22,6 +22,8 @@ import org.apache.log4j.Logger;
import com.cloud.api.BaseCmd;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
public class DisableUserCmd extends BaseCmd {
public static final Logger s_logger = Logger.getLogger(DisableUserCmd.class.getName());
@ -53,45 +55,12 @@ public class DisableUserCmd extends BaseCmd {
return s_name;
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Account adminAccount = (Account)params.get(BaseCmd.Properties.ACCOUNT_OBJ.getName());
// Long id = (Long)params.get(BaseCmd.Properties.ID.getName());
//
// //Check if user with id exists in the system
// User user = getManagementServer().findUserById(id);
// if (user == null) {
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Unable to find user by id");
// } else if (user.getRemoved() != null) {
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Unable to find user by id");
// }
//
// // If the user is a System user, return an error. We do not allow this
// Account account = getManagementServer().findAccountById(user.getAccountId());
// if ((account != null) && (account.getId().longValue() == Account.ACCOUNT_ID_SYSTEM)) {
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "user id : " + id + " is a system user, disabling is not allowed");
// }
//
// if ((adminAccount != null) && !getManagementServer().isChildDomain(adminAccount.getDomainId(), account.getDomainId())) {
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Unable to disable user " + id + ", permission denied.");
// }
//
// long jobId = getManagementServer().disableUserAsync(id.longValue());
// if (jobId == 0) {
// s_logger.warn("Unable to schedule async-job for DisableUser comamnd");
// } else {
// if (s_logger.isDebugEnabled())
// s_logger.debug("DisableUser command has been accepted, job id: " + jobId);
// }
//
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.JOB_ID.getName(), Long.valueOf(jobId)));
// return returnValues;
// }
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
}

View File

@ -24,6 +24,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="disassociateIpAddress", manager=Manager.NetworkManager)
public class DisassociateIPAddrCmd extends BaseCmd {
@ -52,62 +54,17 @@ public class DisassociateIPAddrCmd extends BaseCmd {
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getName() {
return s_name;
}
// @Override
// public List<Pair<String, Object>> execute(Map<String, Object> params) {
// Long userId = (Long)params.get(BaseCmd.Properties.USER_ID.getName());
// Account account = (Account)params.get(BaseCmd.Properties.ACCOUNT_OBJ.getName());
// String ipAddress = (String)params.get(BaseCmd.Properties.IP_ADDRESS.getName());
// boolean result = false;
//
// // Verify input parameters
// Account accountByIp = getManagementServer().findAccountByIpAddress(ipAddress);
// if(accountByIp == null) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "Unable to find account owner for ip " + ipAddress);
// }
//
// Long accountId = accountByIp.getId();
// if (account != null) {
// if (!isAdmin(account.getType())) {
// if (account.getId().longValue() != accountId.longValue()) {
// throw new ServerApiException(BaseCmd.PARAM_ERROR, "account " + account.getAccountName() + " doesn't own ip address " + ipAddress);
// }
// } else if (!getManagementServer().isChildDomain(account.getDomainId(), accountByIp.getDomainId())) {
// throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Unable to disassociate IP address " + ipAddress + ", permission denied.");
// }
// }
//
// // If command is executed via 8096 port, set userId to the id of System account (1)
// if (userId == null) {
// userId = Long.valueOf(1);
// }
//
// try {
// result = getManagementServer().disassociateIpAddress(userId.longValue(), accountId.longValue(), ipAddress);
// } catch (PermissionDeniedException ex) {
// throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, ex.getMessage());
// } catch (IllegalArgumentException ex1) {
// throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, ex1.getMessage());
// } catch (Exception ex2) {
// throw new ServerApiException(BaseCmd.NET_IP_DIASSOC_ERROR, "unable to disassociate ip address");
// }
//
// if (result == false) {
// throw new ServerApiException(BaseCmd.NET_IP_DIASSOC_ERROR, "unable to disassociate ip address");
// }
//
// List<Pair<String, Object>> returnValues = new ArrayList<Pair<String, Object>>();
// returnValues.add(new Pair<String, Object>(BaseCmd.Properties.SUCCESS.getName(), Boolean.valueOf(result).toString()));
// return returnValues;
// }
@Override
public String getResponse() {
// TODO Auto-generated method stub
return null;
public ResponseObject getResponse() {
Boolean success = (Boolean)getResponseObject();
SuccessResponse response = new SuccessResponse();
response.setSuccess(success);
response.setResponseName(getName());
return response;
}
}

View File

@ -24,8 +24,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="enableAccount", manager=Manager.ManagementServer)
@ -67,7 +67,7 @@ public class EnableAccountCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
SuccessResponse response = new SuccessResponse();
Boolean responseObject = (Boolean)getResponseObject();
@ -78,6 +78,6 @@ public class EnableAccountCmd extends BaseCmd {
}
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -24,8 +24,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.SuccessResponse;
@Implementation(method="enableUser", manager=Manager.ManagementServer)
@ -59,7 +59,7 @@ public class EnableUserCmd extends BaseCmd {
}
@Override
public String getResponse() {
public ResponseObject getResponse() {
SuccessResponse response = new SuccessResponse();
Boolean responseObject = (Boolean)getResponseObject();
@ -70,6 +70,6 @@ public class EnableUserCmd extends BaseCmd {
}
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -26,8 +26,8 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.CloudIdentifierResponse;
@Implementation(method="getCloudIdentifierResponse", manager=Manager.ManagementServer)
@ -61,7 +61,7 @@ public class GetCloudIdentifierCmd extends BaseCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
CloudIdentifierResponse response = new CloudIdentifierResponse();
ArrayList<String> responseObject = (ArrayList<String>)getResponseObject();
if (responseObject != null) {
@ -72,6 +72,6 @@ public class GetCloudIdentifierCmd extends BaseCmd {
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to add config");
}
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -29,9 +29,9 @@ import com.cloud.api.BaseCmd;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.AccountResponse;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.ListResponse;
import com.cloud.configuration.ResourceCount.ResourceType;
import com.cloud.server.Criteria;
@ -115,7 +115,7 @@ public class ListAccountsCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<AccountVO> accounts = (List<AccountVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -229,6 +229,6 @@ public class ListAccountsCmd extends BaseListCmd {
response.setResponses(accountResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -27,8 +27,8 @@ import com.cloud.alert.AlertVO;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.AlertResponse;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.response.ListResponse;
@Implementation(method="searchForAlerts")
@ -65,7 +65,7 @@ public class ListAlertsCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<AlertVO> alertList = (List<AlertVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -82,6 +82,6 @@ public class ListAlertsCmd extends BaseListCmd {
response.setResponses(alertResponseList);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -24,7 +24,7 @@ import java.util.List;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.AsyncJobResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.async.AsyncJobVO;
@ -73,7 +73,7 @@ public class ListAsyncJobsCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<AsyncJobVO> jobs = (List<AsyncJobVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -98,6 +98,6 @@ public class ListAsyncJobsCmd extends BaseListCmd {
response.setResponses(jobResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -33,7 +33,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.CapacityResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.capacity.CapacityVO;
@ -106,7 +106,7 @@ public class ListCapacityCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<CapacityVO> capacities = (List<CapacityVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -137,7 +137,7 @@ public class ListCapacityCmd extends BaseListCmd {
response.setResponses(capacityResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
private List<CapacityVO> sumCapacities(List<CapacityVO> hostCapacities) {

View File

@ -26,7 +26,7 @@ import org.apache.log4j.Logger;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ConfigurationResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.configuration.ConfigurationVO;
@ -71,7 +71,7 @@ public class ListCfgsByCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<ConfigurationVO> configurations = (List<ConfigurationVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -89,6 +89,6 @@ public class ListCfgsByCmd extends BaseListCmd {
response.setResponses(configResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -27,7 +27,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ClusterResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.dc.ClusterVO;
@ -87,7 +87,7 @@ public class ListClustersCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<ClusterVO> clusters = (List<ClusterVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -109,6 +109,6 @@ public class ListClustersCmd extends BaseListCmd {
response.setResponses(clusterResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -27,7 +27,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.DiskOfferingResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.domain.DomainVO;
@ -80,7 +80,7 @@ public class ListDiskOfferingsCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<DiskOfferingVO> offerings = (List<DiskOfferingVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -103,6 +103,6 @@ public class ListDiskOfferingsCmd extends BaseListCmd {
response.setResponses(diskOfferingResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -27,7 +27,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.DomainResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.domain.DomainVO;
@ -79,7 +79,7 @@ public class ListDomainChildrenCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<DomainVO> domains = (List<DomainVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -100,6 +100,6 @@ public class ListDomainChildrenCmd extends BaseListCmd {
response.setResponses(domainResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -27,7 +27,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.DomainResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.domain.DomainVO;
@ -79,7 +79,7 @@ public class ListDomainsCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<DomainVO> domains = (List<DomainVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -100,6 +100,6 @@ public class ListDomainsCmd extends BaseListCmd {
response.setResponses(domainResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -28,7 +28,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.EventResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.event.EventVO;
@ -115,7 +115,7 @@ public class ListEventsCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<EventVO> events = (List<EventVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -143,6 +143,6 @@ public class ListEventsCmd extends BaseListCmd {
response.setResponses(eventResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -26,7 +26,7 @@ import org.apache.log4j.Logger;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.GuestOSCategoryResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.storage.GuestOSCategoryVO;
@ -64,7 +64,7 @@ public class ListGuestOsCategoriesCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<GuestOSCategoryVO> osCategories = (List<GuestOSCategoryVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -80,6 +80,6 @@ public class ListGuestOsCategoriesCmd extends BaseListCmd {
response.setResponses(osCatResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -26,7 +26,7 @@ import org.apache.log4j.Logger;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.GuestOSResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.storage.GuestOSVO;
@ -71,7 +71,7 @@ public class ListGuestOsCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<GuestOSVO> guestOSList = (List<GuestOSVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -88,6 +88,6 @@ public class ListGuestOsCmd extends BaseListCmd {
response.setResponses(osResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -31,7 +31,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.HostResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.dc.ClusterVO;
@ -118,7 +118,7 @@ public class ListHostsCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<HostVO> hosts = (List<HostVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -220,6 +220,6 @@ public class ListHostsCmd extends BaseListCmd {
response.setResponses(hostResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -29,7 +29,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.TemplateResponse;
import com.cloud.async.AsyncJobVO;
@ -131,7 +131,7 @@ public class ListIsosCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
TemplateFilter isoFilterObj = null;
try {
if (isoFilter == null) {
@ -270,6 +270,6 @@ public class ListIsosCmd extends BaseListCmd {
response.setResponses(isoResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -27,7 +27,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.UserVmResponse;
import com.cloud.user.Account;
@ -73,7 +73,7 @@ public class ListLoadBalancerRuleInstancesCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<UserVmVO> instances = (List<UserVmVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -98,6 +98,6 @@ public class ListLoadBalancerRuleInstancesCmd extends BaseListCmd {
response.setResponses(vmResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -27,7 +27,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.LoadBalancerResponse;
import com.cloud.network.LoadBalancerVO;
@ -100,7 +100,7 @@ public class ListLoadBalancerRulesCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<LoadBalancerVO> loadBalancers = (List<LoadBalancerVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -128,6 +128,6 @@ public class ListLoadBalancerRulesCmd extends BaseListCmd {
response.setResponses(lbResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -10,7 +10,7 @@ import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.IngressRuleResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.NetworkGroupResponse;
@ -71,7 +71,7 @@ public class ListNetworkGroupsCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<NetworkGroupRulesVO> networkGroups = (List<NetworkGroupRulesVO>)getResponseObject();
List<NetworkGroupResultObject> groupResultObjs = NetworkGroupResultObject.transposeNetworkGroups(networkGroups);
@ -121,6 +121,6 @@ public class ListNetworkGroupsCmd extends BaseListCmd {
response.setResponses(netGrpResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -26,7 +26,7 @@ import org.apache.log4j.Logger;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.PodResponse;
import com.cloud.dc.HostPodVO;
@ -78,7 +78,7 @@ public class ListPodsByCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<HostPodVO> pods = (List<HostPodVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -107,6 +107,6 @@ public class ListPodsByCmd extends BaseListCmd {
response.setResponses(podResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -30,7 +30,7 @@ import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.FirewallRuleResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.network.FirewallRuleVO;
@ -70,7 +70,7 @@ public class ListPortForwardingRulesCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<FirewallRuleVO> firewallRules = (List<FirewallRuleVO>)getResponseObject();
Map<String, UserVmVO> userVmCache = new HashMap<String, UserVmVO>();
IPAddressVO ipAddr = ApiDBUtils.findIpAddressById(ipAddress);
@ -110,6 +110,6 @@ public class ListPortForwardingRulesCmd extends BaseListCmd {
response.setResponses(fwResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -27,7 +27,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.PortForwardingServiceRuleResponse;
import com.cloud.async.AsyncJobVO;
@ -86,7 +86,7 @@ public class ListPortForwardingServiceRulesCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<NetworkRuleConfigVO> portForwardingServiceRules = (List<NetworkRuleConfigVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -111,6 +111,6 @@ public class ListPortForwardingServiceRulesCmd extends BaseListCmd {
response.setResponses(ruleResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -28,7 +28,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.SecurityGroupResponse;
import com.cloud.network.SecurityGroupVO;
@ -87,7 +87,7 @@ public class ListPortForwardingServicesByVmCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
Map<String, List<SecurityGroupVO>> portForwardingServices = (Map<String, List<SecurityGroupVO>>)getResponseObject();
ListResponse response = new ListResponse();
@ -115,6 +115,6 @@ public class ListPortForwardingServicesByVmCmd extends BaseListCmd {
response.setResponses(pfResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -27,7 +27,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.SecurityGroupResponse;
import com.cloud.network.SecurityGroupVO;
@ -86,7 +86,7 @@ public class ListPortForwardingServicesCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<SecurityGroupVO> groups = (List<SecurityGroupVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -110,7 +110,7 @@ public class ListPortForwardingServicesCmd extends BaseListCmd {
response.setResponses(pfsResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -26,7 +26,7 @@ import org.apache.log4j.Logger;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.PreallocatedLunResponse;
import com.cloud.storage.preallocatedlun.PreallocatedLunVO;
@ -69,7 +69,7 @@ public class ListPreallocatedLunsCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<PreallocatedLunVO> preallocatedLuns = (List<PreallocatedLunVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -91,6 +91,6 @@ public class ListPreallocatedLunsCmd extends BaseListCmd {
response.setResponses(lunResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -27,7 +27,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.IPAddressResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.dc.Vlan.VlanType;
@ -109,7 +109,7 @@ public class ListPublicIpAddressesCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<IPAddressVO> ipAddresses = (List<IPAddressVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -150,6 +150,6 @@ public class ListPublicIpAddressesCmd extends BaseListCmd {
response.setResponses(ipAddrResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -25,7 +25,7 @@ import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.SnapshotScheduleResponse;
import com.cloud.storage.SnapshotScheduleVO;
@ -66,7 +66,7 @@ public class ListRecurringSnapshotScheduleCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<SnapshotScheduleVO> snapshotSchedules = (List<SnapshotScheduleVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -84,6 +84,6 @@ public class ListRecurringSnapshotScheduleCmd extends BaseListCmd {
response.setResponses(snapshotScheduleResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -28,7 +28,7 @@ import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.ResourceLimitResponse;
import com.cloud.configuration.ResourceLimitVO;
@ -86,7 +86,7 @@ public class ListResourceLimitsCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<ResourceLimitVO> limits = (List<ResourceLimitVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -116,6 +116,6 @@ public class ListResourceLimitsCmd extends BaseListCmd {
response.setResponses(limitResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -27,7 +27,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.DomainRouterResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.async.AsyncJobVO;
@ -107,7 +107,7 @@ public class ListRoutersCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<DomainRouterVO> routers = (List<DomainRouterVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -162,6 +162,6 @@ public class ListRoutersCmd extends BaseListCmd {
response.setResponses(routerResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -26,7 +26,7 @@ import org.apache.log4j.Logger;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.ServiceOfferingResponse;
import com.cloud.offering.ServiceOffering.GuestIpType;
@ -77,7 +77,7 @@ public class ListServiceOfferingsCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<ServiceOfferingVO> offerings = (List<ServiceOfferingVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -102,6 +102,6 @@ public class ListServiceOfferingsCmd extends BaseListCmd {
response.setResponses(offeringResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -27,7 +27,7 @@ import com.cloud.api.BaseCmd.Manager;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.SnapshotPolicyResponse;
import com.cloud.storage.SnapshotPolicyVO;
@ -77,7 +77,7 @@ public class ListSnapshotPoliciesCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<SnapshotPolicyVO> policies = (List<SnapshotPolicyVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -97,6 +97,6 @@ public class ListSnapshotPoliciesCmd extends BaseListCmd {
response.setResponses(policyResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -27,7 +27,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.BaseListCmd;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.api.ResponseObject;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.SnapshotResponse;
import com.cloud.async.AsyncJobVO;
@ -110,7 +110,7 @@ public class ListSnapshotsCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<SnapshotVO> snapshots = (List<SnapshotVO>)getResponseObject();
ListResponse response = new ListResponse();
@ -148,6 +148,6 @@ public class ListSnapshotsCmd extends BaseListCmd {
response.setResponses(snapshotResponses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
}

View File

@ -120,7 +120,7 @@ public class ListStoragePoolsAndHostsCmd extends BaseListCmd {
}
@Override @SuppressWarnings("unchecked")
public String getResponse() {
public ResponseObject getResponse() {
List<Object> poolsAndHosts = (List<Object>)getResponseObject();
ListResponse response = new ListResponse();
@ -137,7 +137,7 @@ public class ListStoragePoolsAndHostsCmd extends BaseListCmd {
response.setResponses(responses);
response.setResponseName(getName());
return ApiResponseSerializer.toSerializedString(response);
return response;
}
private StoragePoolResponse constructStoragePoolResponse(StoragePoolVO pool) {

Some files were not shown because too many files have changed in this diff Show More