mirror of https://github.com/apache/cloudstack.git
api refactoring
This commit is contained in:
parent
3efae818e2
commit
1e44925564
|
|
@ -178,6 +178,7 @@ import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
|||
import com.cloud.network.Networks.BroadcastDomainType;
|
||||
import com.cloud.network.Networks.TrafficType;
|
||||
import com.cloud.network.NetworkEnums.RouterPrivateIpStrategy;
|
||||
import com.cloud.network.router.VirtualRouter;
|
||||
import com.cloud.resource.ServerResource;
|
||||
import com.cloud.resource.ServerResourceBase;
|
||||
import com.cloud.storage.Storage;
|
||||
|
|
@ -203,7 +204,6 @@ import com.cloud.utils.script.OutputInterpreter;
|
|||
import com.cloud.utils.script.Script;
|
||||
import com.cloud.vm.ConsoleProxyVO;
|
||||
import com.cloud.vm.DiskProfile;
|
||||
import com.cloud.vm.DomainRouter;
|
||||
import com.cloud.vm.SecondaryStorageVmVO;
|
||||
import com.cloud.vm.State;
|
||||
import com.cloud.vm.VirtualMachine;
|
||||
|
|
@ -869,7 +869,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
|
|||
}
|
||||
|
||||
protected synchronized String startDomainRouter(StartRouterCommand cmd) {
|
||||
DomainRouter router = cmd.getRouter();
|
||||
VirtualRouter router = cmd.getRouter();
|
||||
List<InterfaceDef> nics = null;
|
||||
try {
|
||||
nics = createRouterVMNetworks(cmd);
|
||||
|
|
@ -2087,7 +2087,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
|
|||
|
||||
private Answer execute(StartRouterCommand cmd) {
|
||||
|
||||
final DomainRouter router = cmd.getRouter();
|
||||
final VirtualRouter router = cmd.getRouter();
|
||||
|
||||
String result = null;
|
||||
|
||||
|
|
@ -3649,7 +3649,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
|
|||
|
||||
private List<InterfaceDef> createRouterVMNetworks(StartRouterCommand cmd) throws InternalErrorException {
|
||||
List<InterfaceDef> nics = new ArrayList<InterfaceDef>();
|
||||
DomainRouter router = cmd.getRouter();
|
||||
VirtualRouter router = cmd.getRouter();
|
||||
String guestMac = router.getGuestMacAddress();
|
||||
String privateMac = router.getPrivateMacAddress();
|
||||
String pubMac = router.getPublicMacAddress();
|
||||
|
|
|
|||
|
|
@ -3,5 +3,7 @@
|
|||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/utils"/>
|
||||
<classpathentry kind="lib" path="/thirdparty/log4j-1.2.15.jar"/>
|
||||
<classpathentry kind="lib" path="/thirdparty/gson.jar"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,36 @@
|
|||
/**
|
||||
* Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
|
||||
*
|
||||
* This software is licensed under the GNU General Public License v3 or later.
|
||||
*
|
||||
* It is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or any later version.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.cloud.alert;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author ahuang
|
||||
*
|
||||
*/
|
||||
public interface Alert {
|
||||
long getId();
|
||||
short getType();
|
||||
String getSubject();
|
||||
Long getPodId();
|
||||
long getDataCenterId();
|
||||
int getSentCount();
|
||||
Date getCreatedDate();
|
||||
Date getLastSent();
|
||||
Date getResolved();
|
||||
}
|
||||
|
|
@ -18,8 +18,6 @@
|
|||
package com.cloud.api;
|
||||
|
||||
import com.cloud.api.response.AsyncJobResponse;
|
||||
import com.cloud.async.AsyncJobManager;
|
||||
import com.cloud.async.AsyncJobVO;
|
||||
|
||||
/**
|
||||
* A base command for supporting asynchronous API calls. When an API command is received, the command will be
|
||||
|
|
@ -28,8 +26,7 @@ import com.cloud.async.AsyncJobVO;
|
|||
* queryAsyncJobResult API command.
|
||||
*/
|
||||
public abstract class BaseAsyncCmd extends BaseCmd {
|
||||
private AsyncJobManager _asyncJobMgr = null;
|
||||
private AsyncJobVO _job = null;
|
||||
private Object _job = null;
|
||||
|
||||
@Parameter(name="starteventid", type=CommandType.LONG)
|
||||
private Long startEventId;
|
||||
|
|
@ -64,23 +61,11 @@ public abstract class BaseAsyncCmd extends BaseCmd {
|
|||
return response;
|
||||
}
|
||||
|
||||
public AsyncJobManager getAsyncJobManager() {
|
||||
return _asyncJobMgr;
|
||||
}
|
||||
|
||||
public void setAsyncJobManager(AsyncJobManager mgr) {
|
||||
_asyncJobMgr = mgr;
|
||||
}
|
||||
|
||||
public void synchronizeCommand(String syncObjType, long syncObjId) {
|
||||
_asyncJobMgr.syncAsyncJobExecution(_job, syncObjType, syncObjId);
|
||||
_responseGenerator.synchronizeCommand(_job, syncObjType, syncObjId);
|
||||
}
|
||||
|
||||
public AsyncJobVO getJob() {
|
||||
return _job;
|
||||
}
|
||||
|
||||
public void setJob(AsyncJobVO job) {
|
||||
public void setJob(Object job) {
|
||||
_job = job;
|
||||
}
|
||||
|
||||
|
|
@ -91,5 +76,4 @@ public abstract class BaseAsyncCmd extends BaseCmd {
|
|||
public void setStartEventId(Long startEventId) {
|
||||
this.startEventId = startEventId;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
package com.cloud.api;
|
||||
|
||||
import com.cloud.api.response.ApiResponseSerializer;
|
||||
import com.cloud.api.response.CreateCmdResponse;
|
||||
|
||||
public abstract class BaseAsyncCreateCmd extends BaseAsyncCmd {
|
||||
|
|
@ -22,6 +21,6 @@ public abstract class BaseAsyncCreateCmd extends BaseAsyncCmd {
|
|||
response.setJobId(jobId);
|
||||
response.setId(objectId);
|
||||
response.setResponseName(getName());
|
||||
return ApiResponseSerializer.toSerializedString(response, getResponseType());
|
||||
return _responseGenerator.toSerializedString(response, getResponseType());
|
||||
}
|
||||
}
|
||||
|
|
@ -27,20 +27,20 @@ import java.util.Map;
|
|||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.agent.AgentManager;
|
||||
import com.cloud.async.AsyncJobManager;
|
||||
import com.cloud.configuration.ConfigurationService;
|
||||
import com.cloud.consoleproxy.ConsoleProxyManager;
|
||||
import com.cloud.consoleproxy.ConsoleProxyService;
|
||||
import com.cloud.dao.EntityManager;
|
||||
import com.cloud.exception.ConcurrentOperationException;
|
||||
import com.cloud.exception.InsufficientCapacityException;
|
||||
import com.cloud.exception.ResourceUnavailableException;
|
||||
import com.cloud.network.DomainRouterService;
|
||||
import com.cloud.network.NetworkManager;
|
||||
import com.cloud.network.security.NetworkGroupManager;
|
||||
import com.cloud.server.ManagementServer;
|
||||
import com.cloud.storage.StorageManager;
|
||||
import com.cloud.storage.snapshot.SnapshotManager;
|
||||
import com.cloud.template.TemplateManager;
|
||||
import com.cloud.network.NetworkService;
|
||||
import com.cloud.network.security.NetworkGroupService;
|
||||
import com.cloud.resource.ResourceService;
|
||||
import com.cloud.server.ManagementService;
|
||||
import com.cloud.storage.StorageService;
|
||||
import com.cloud.storage.snapshot.SnapshotService;
|
||||
import com.cloud.template.TemplateService;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.AccountService;
|
||||
import com.cloud.utils.Pair;
|
||||
|
|
@ -89,33 +89,35 @@ public abstract class BaseCmd {
|
|||
public static ConfigurationService _configService;
|
||||
public static AccountService _accountService;
|
||||
public static UserVmService _userVmService;
|
||||
public static ManagementServer _mgr;
|
||||
public static AsyncJobManager _asyncMgr;
|
||||
public static StorageManager _storageMgr;
|
||||
public static AgentManager _agentMgr;
|
||||
public static NetworkManager _networkMgr;
|
||||
public static TemplateManager _templateMgr;
|
||||
public static NetworkGroupManager _networkGroupMgr;
|
||||
public static SnapshotManager _snapshotMgr;
|
||||
public static ConsoleProxyManager _consoleProxyMgr;
|
||||
public static DomainRouterService _routerMgr;
|
||||
public static ManagementService _mgr;
|
||||
public static StorageService _storageMgr;
|
||||
public static ResourceService _resourceService;
|
||||
public static NetworkService _networkService;
|
||||
public static TemplateService _templateService;
|
||||
public static NetworkGroupService _networkGroupMgr;
|
||||
public static SnapshotService _snapshotMgr;
|
||||
public static ConsoleProxyService _consoleProxyMgr;
|
||||
public static DomainRouterService _routerService;
|
||||
public static ResponseGenerator _responseGenerator;
|
||||
public static EntityManager _entityMgr;
|
||||
|
||||
|
||||
static void setComponents(){
|
||||
ComponentLocator locator = ComponentLocator.getLocator(ManagementServer.Name);
|
||||
static void setComponents(ResponseGenerator generator){
|
||||
ComponentLocator locator = ComponentLocator.getLocator(ManagementService.Name);
|
||||
_mgr = (ManagementService)ComponentLocator.getComponent(ManagementService.Name);
|
||||
_accountService = locator.getManager(AccountService.class);
|
||||
_configService = locator.getManager(ConfigurationService.class);
|
||||
_userVmService = locator.getManager(UserVmService.class);
|
||||
_mgr = (ManagementServer)locator.getComponent("management-server");
|
||||
_asyncMgr = locator.getManager(AsyncJobManager.class);
|
||||
_storageMgr = locator.getManager(StorageManager.class);
|
||||
_agentMgr = locator.getManager(AgentManager.class);
|
||||
_networkMgr = locator.getManager(NetworkManager.class);
|
||||
_templateMgr = locator.getManager(TemplateManager.class);
|
||||
_networkGroupMgr = locator.getManager(NetworkGroupManager.class);
|
||||
_snapshotMgr = locator.getManager(SnapshotManager.class);
|
||||
_consoleProxyMgr = locator.getManager(ConsoleProxyManager.class);
|
||||
_routerMgr = locator.getManager(DomainRouterService.class);
|
||||
_storageMgr = locator.getManager(StorageService.class);
|
||||
_resourceService = locator.getManager(ResourceService.class);
|
||||
_networkService = locator.getManager(NetworkService.class);
|
||||
_templateService = locator.getManager(TemplateService.class);
|
||||
_networkGroupMgr = locator.getManager(NetworkGroupService.class);
|
||||
_snapshotMgr = locator.getManager(SnapshotService.class);
|
||||
_consoleProxyMgr = locator.getManager(ConsoleProxyService.class);
|
||||
_routerService = locator.getManager(DomainRouterService.class);
|
||||
_entityMgr = locator.getManager(EntityManager.class);
|
||||
_responseGenerator = generator;
|
||||
}
|
||||
|
||||
public abstract void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException;
|
||||
|
|
@ -334,14 +336,14 @@ public abstract class BaseCmd {
|
|||
StringBuffer sb = new StringBuffer();
|
||||
if (RESPONSE_TYPE_JSON.equalsIgnoreCase(responseType)) {
|
||||
// JSON response
|
||||
sb.append("{ \"" + getName() + "\" : { " + "\"@attributes\":{\"cloud-stack-version\":\""+ApiDBUtils.getVersion()+"\"},");
|
||||
sb.append("{ \"" + getName() + "\" : { " + "\"@attributes\":{\"cloud-stack-version\":\""+_mgr.getVersion()+"\"},");
|
||||
sb.append("\"errorcode\" : \"" + apiException.getErrorCode() + "\", \"description\" : \"" + apiException.getDescription() + "\" } }");
|
||||
} else {
|
||||
sb.append("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>");
|
||||
sb.append("<" + getName() + ">");
|
||||
sb.append("<errorcode>" + apiException.getErrorCode() + "</errorcode>");
|
||||
sb.append("<description>" + escapeXml(apiException.getDescription()) + "</description>");
|
||||
sb.append("</" + getName() + " cloud-stack-version=\""+ApiDBUtils.getVersion()+ "\">");
|
||||
sb.append("</" + getName() + " cloud-stack-version=\""+_mgr.getVersion()+ "\">");
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
|
@ -352,10 +354,10 @@ public abstract class BaseCmd {
|
|||
|
||||
// set up the return value with the name of the response
|
||||
if (RESPONSE_TYPE_JSON.equalsIgnoreCase(responseType)) {
|
||||
prefixSb.append("{ \"" + getName() + "\" : { \"@attributes\":{\"cloud-stack-version\":\""+ApiDBUtils.getVersion()+"\"},");
|
||||
prefixSb.append("{ \"" + getName() + "\" : { \"@attributes\":{\"cloud-stack-version\":\""+ _mgr.getVersion()+"\"},");
|
||||
} else {
|
||||
prefixSb.append("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>");
|
||||
prefixSb.append("<" + getName() + " cloud-stack-version=\""+ApiDBUtils.getVersion()+ "\">");
|
||||
prefixSb.append("<" + getName() + " cloud-stack-version=\""+_mgr.getVersion()+ "\">");
|
||||
}
|
||||
|
||||
int i = 0;
|
||||
|
|
@ -6,8 +6,6 @@ import java.lang.annotation.Retention;
|
|||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
import com.cloud.server.ManagementServer;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({TYPE})
|
||||
public @interface Implementation {
|
||||
|
|
@ -0,0 +1,202 @@
|
|||
/**
|
||||
* Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
|
||||
*
|
||||
* This software is licensed under the GNU General Public License v3 or later.
|
||||
*
|
||||
* It is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or any later version.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.cloud.api;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.List;
|
||||
|
||||
import com.cloud.api.commands.QueryAsyncJobResultCmd;
|
||||
import com.cloud.api.response.AccountResponse;
|
||||
import com.cloud.api.response.AsyncJobResponse;
|
||||
import com.cloud.api.response.CapacityResponse;
|
||||
import com.cloud.api.response.ClusterResponse;
|
||||
import com.cloud.api.response.ConfigurationResponse;
|
||||
import com.cloud.api.response.CreateCmdResponse;
|
||||
import com.cloud.api.response.DiskOfferingResponse;
|
||||
import com.cloud.api.response.DomainResponse;
|
||||
import com.cloud.api.response.DomainRouterResponse;
|
||||
import com.cloud.api.response.EventResponse;
|
||||
import com.cloud.api.response.ExtractResponse;
|
||||
import com.cloud.api.response.FirewallRuleResponse;
|
||||
import com.cloud.api.response.HostResponse;
|
||||
import com.cloud.api.response.IPAddressResponse;
|
||||
import com.cloud.api.response.InstanceGroupResponse;
|
||||
import com.cloud.api.response.IpForwardingRuleResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.api.response.LoadBalancerResponse;
|
||||
import com.cloud.api.response.NetworkGroupResponse;
|
||||
import com.cloud.api.response.PodResponse;
|
||||
import com.cloud.api.response.PreallocatedLunResponse;
|
||||
import com.cloud.api.response.RemoteAccessVpnResponse;
|
||||
import com.cloud.api.response.ResourceLimitResponse;
|
||||
import com.cloud.api.response.ServiceOfferingResponse;
|
||||
import com.cloud.api.response.SnapshotPolicyResponse;
|
||||
import com.cloud.api.response.SnapshotResponse;
|
||||
import com.cloud.api.response.StoragePoolResponse;
|
||||
import com.cloud.api.response.SystemVmResponse;
|
||||
import com.cloud.api.response.TemplatePermissionsResponse;
|
||||
import com.cloud.api.response.TemplateResponse;
|
||||
import com.cloud.api.response.UserResponse;
|
||||
import com.cloud.api.response.UserVmResponse;
|
||||
import com.cloud.api.response.VlanIpRangeResponse;
|
||||
import com.cloud.api.response.VolumeResponse;
|
||||
import com.cloud.api.response.VpnUsersResponse;
|
||||
import com.cloud.api.response.ZoneResponse;
|
||||
import com.cloud.async.AsyncJob;
|
||||
import com.cloud.capacity.Capacity;
|
||||
import com.cloud.configuration.Configuration;
|
||||
import com.cloud.configuration.ResourceLimit;
|
||||
import com.cloud.dc.DataCenter;
|
||||
import com.cloud.dc.Pod;
|
||||
import com.cloud.dc.Vlan;
|
||||
import com.cloud.domain.Domain;
|
||||
import com.cloud.event.Event;
|
||||
import com.cloud.host.Host;
|
||||
import com.cloud.network.IpAddress;
|
||||
import com.cloud.network.LoadBalancer;
|
||||
import com.cloud.network.RemoteAccessVpn;
|
||||
import com.cloud.network.VpnUser;
|
||||
import com.cloud.network.router.VirtualRouter;
|
||||
import com.cloud.network.rules.FirewallRule;
|
||||
import com.cloud.network.security.NetworkGroup;
|
||||
import com.cloud.network.security.NetworkGroupRules;
|
||||
import com.cloud.offering.DiskOffering;
|
||||
import com.cloud.offering.ServiceOffering;
|
||||
import com.cloud.org.Cluster;
|
||||
import com.cloud.storage.Snapshot;
|
||||
import com.cloud.storage.StoragePool;
|
||||
import com.cloud.storage.Volume;
|
||||
import com.cloud.storage.snapshot.SnapshotPolicy;
|
||||
import com.cloud.template.VirtualMachineTemplate;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.User;
|
||||
import com.cloud.user.UserAccount;
|
||||
import com.cloud.uservm.UserVm;
|
||||
import com.cloud.vm.InstanceGroup;
|
||||
import com.cloud.vm.VirtualMachine;
|
||||
|
||||
public interface ResponseGenerator {
|
||||
UserResponse createUserResponse(UserAccount user);
|
||||
|
||||
AccountResponse createAccountResponse(Account account);
|
||||
|
||||
DomainResponse createDomainResponse(Domain domain);
|
||||
|
||||
DiskOfferingResponse createDiskOfferingResponse(DiskOffering offering);
|
||||
|
||||
ResourceLimitResponse createResourceLimitResponse(ResourceLimit limit);
|
||||
|
||||
ServiceOfferingResponse createServiceOfferingResponse(ServiceOffering offering);
|
||||
|
||||
ConfigurationResponse createConfigurationResponse(Configuration cfg);
|
||||
|
||||
SnapshotResponse createSnapshotResponse(Snapshot snapshot);
|
||||
|
||||
SnapshotPolicyResponse createSnapshotPolicyResponse(SnapshotPolicy policy);
|
||||
|
||||
UserVmResponse createUserVmResponse(UserVm userVm);
|
||||
|
||||
SystemVmResponse createSystemVmResponse(VirtualMachine systemVM);
|
||||
|
||||
DomainRouterResponse createDomainRouterResponse(VirtualRouter router);
|
||||
|
||||
HostResponse createHostResponse(Host host);
|
||||
|
||||
VlanIpRangeResponse createVlanIpRangeResponse(Vlan vlan);
|
||||
|
||||
IPAddressResponse createIPAddressResponse(IpAddress ipAddress);
|
||||
|
||||
LoadBalancerResponse createLoadBalancerResponse(LoadBalancer loadBalancer);
|
||||
|
||||
PodResponse createPodResponse(Pod pod);
|
||||
|
||||
ZoneResponse createZoneResponse(DataCenter dataCenter);
|
||||
|
||||
VolumeResponse createVolumeResponse(Volume volume);
|
||||
|
||||
InstanceGroupResponse createInstanceGroupResponse(InstanceGroup group);
|
||||
|
||||
PreallocatedLunResponse createPreallocatedLunResponse(Object preallocatedLun);
|
||||
|
||||
StoragePoolResponse createStoragePoolResponse(StoragePool pool);
|
||||
|
||||
ClusterResponse createClusterResponse(Cluster cluster);
|
||||
|
||||
FirewallRuleResponse createFirewallRuleResponse(FirewallRule fwRule);
|
||||
|
||||
IpForwardingRuleResponse createIpForwardingRuleResponse(FirewallRule fwRule);
|
||||
|
||||
UserVmResponse createUserVm2Response(UserVm userVm);
|
||||
|
||||
DomainRouterResponse createDomainRouter2Response(VirtualRouter router);
|
||||
|
||||
SystemVmResponse createSystemVm2Response(VirtualMachine systemVM);
|
||||
|
||||
void synchronizeCommand(Object job, String syncObjType, long syncObjId);
|
||||
|
||||
User findUserById(long userId);
|
||||
|
||||
UserVm findUserVmById(long vmId);
|
||||
|
||||
Volume findVolumeById(long volumeId);
|
||||
|
||||
Account findAccountByNameDomain(String accountName, long domainId);
|
||||
|
||||
VirtualMachineTemplate findTemplateById(long templateId);
|
||||
|
||||
VpnUsersResponse createVpnUserResponse(VpnUser user);
|
||||
|
||||
RemoteAccessVpnResponse createRemoteAccessVpnResponse(RemoteAccessVpn vpn);
|
||||
|
||||
void createTemplateResponse(List<TemplateResponse> responses, VirtualMachineTemplate template, boolean onlyReady, Long zoneId, boolean isAdmin,
|
||||
Account account);
|
||||
|
||||
ListResponse<TemplateResponse> createTemplateResponse2(VirtualMachineTemplate template, Long zoneId);
|
||||
|
||||
ListResponse<TemplateResponse> createIsoResponses(VirtualMachineTemplate template, Long zoneId);
|
||||
|
||||
ListResponse<NetworkGroupResponse> createNetworkGroupResponses(List<? extends NetworkGroupRules> networkGroups);
|
||||
|
||||
NetworkGroupResponse createNetworkGroupResponse(NetworkGroup group);
|
||||
|
||||
ExtractResponse createExtractResponse(long uploadId, long id, long zoneId, long accountId, String mode);
|
||||
|
||||
TemplateResponse createTemplateResponse(VirtualMachineTemplate template, long destZoneId);
|
||||
|
||||
TemplateResponse createIsoResponse3(VirtualMachineTemplate iso, long destZoneId);
|
||||
|
||||
String toSerializedString(CreateCmdResponse response, String responseType);
|
||||
|
||||
AsyncJobResponse createAsyncJobResponse(AsyncJob job);
|
||||
|
||||
TemplateResponse createTemplateResponse(VirtualMachineTemplate template, Long snapshotId, long volumeId);
|
||||
|
||||
EventResponse createEventResponse(Event event);
|
||||
|
||||
ListResponse<TemplateResponse> createIsoResponse(List<? extends VirtualMachineTemplate> isos, Long zoneId, boolean onlyReady, boolean isAdmin,
|
||||
Account account);
|
||||
|
||||
TemplateResponse createIsoResponse(VirtualMachineTemplate result);
|
||||
|
||||
List<CapacityResponse> createCapacityResponse(List<? extends Capacity> result, DecimalFormat format);
|
||||
|
||||
TemplatePermissionsResponse createTemplatePermissionsResponse(List<String> accountNames, long id, boolean isAdmin);
|
||||
|
||||
AsyncJobResponse queryJobResult(QueryAsyncJobResultCmd cmd);
|
||||
|
||||
}
|
||||
|
|
@ -23,7 +23,6 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
|
|
@ -31,7 +30,7 @@ import com.cloud.api.ServerApiException;
|
|||
import com.cloud.api.response.HostResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.exception.DiscoveryException;
|
||||
import com.cloud.host.HostVO;
|
||||
import com.cloud.host.Host;
|
||||
|
||||
@Implementation(description="Adds a new host.", responseObject=HostResponse.class)
|
||||
public class AddHostCmd extends BaseCmd {
|
||||
|
|
@ -109,12 +108,12 @@ public class AddHostCmd extends BaseCmd {
|
|||
@Override
|
||||
public void execute(){
|
||||
try {
|
||||
List<HostVO> result = _agentMgr.discoverHosts(this);
|
||||
List<? extends Host> result = _resourceService.discoverHosts(this);
|
||||
ListResponse<HostResponse> response = new ListResponse<HostResponse>();
|
||||
List<HostResponse> hostResponses = new ArrayList<HostResponse>();
|
||||
if (result != null) {
|
||||
for (HostVO host : result) {
|
||||
HostResponse hostResponse = ApiResponseHelper.createHostResponse(host);
|
||||
for (Host host : result) {
|
||||
HostResponse hostResponse = _responseGenerator.createHostResponse(host);
|
||||
hostResponses.add(hostResponse);
|
||||
}
|
||||
} else {
|
||||
|
|
@ -23,14 +23,13 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.HostResponse;
|
||||
import com.cloud.exception.DiscoveryException;
|
||||
import com.cloud.host.HostVO;
|
||||
import com.cloud.host.Host;
|
||||
|
||||
@Implementation(description="Adds secondary storage.", responseObject=HostResponse.class)
|
||||
public class AddSecondaryStorageCmd extends BaseCmd {
|
||||
|
|
@ -71,12 +70,12 @@ public class AddSecondaryStorageCmd extends BaseCmd {
|
|||
@Override
|
||||
public void execute(){
|
||||
try {
|
||||
List<HostVO> result = _agentMgr.discoverHosts(this);
|
||||
List<? extends Host> result = _resourceService.discoverHosts(this);
|
||||
HostResponse hostResponse = null;
|
||||
if (result != null && result.size() > 0) {
|
||||
for (HostVO host : result) {
|
||||
for (Host host : result) {
|
||||
// There should only be one secondary storage host per add
|
||||
hostResponse = ApiResponseHelper.createHostResponse(host);
|
||||
hostResponse = _responseGenerator.createHostResponse(host);
|
||||
hostResponse.setResponseName(getName());
|
||||
hostResponse.setObjectName("secondarystorage");
|
||||
this.setResponseObject(hostResponse);
|
||||
|
|
@ -20,17 +20,16 @@ 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;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.VpnUsersResponse;
|
||||
import com.cloud.domain.Domain;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.exception.AccountLimitException;
|
||||
import com.cloud.exception.ConcurrentOperationException;
|
||||
import com.cloud.network.VpnUserVO;
|
||||
import com.cloud.network.VpnUser;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.UserContext;
|
||||
|
||||
|
|
@ -88,16 +87,17 @@ public class AddVpnUserCmd extends BaseAsyncCmd {
|
|||
/////////////// API Implementation///////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
public String getName() {
|
||||
@Override
|
||||
public String getName() {
|
||||
return s_name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
Account account = (Account)UserContext.current().getAccount();
|
||||
Account account = UserContext.current().getAccount();
|
||||
if ((account == null) || isAdmin(account.getType())) {
|
||||
if ((domainId != null) && (accountName != null)) {
|
||||
Account userAccount = ApiDBUtils.findAccountByNameDomain(accountName, domainId);
|
||||
Account userAccount = _responseGenerator.findAccountByNameDomain(accountName, domainId);
|
||||
if (userAccount != null) {
|
||||
return userAccount.getId();
|
||||
}
|
||||
|
|
@ -126,17 +126,17 @@ public class AddVpnUserCmd extends BaseAsyncCmd {
|
|||
@Override
|
||||
public void execute(){
|
||||
try {
|
||||
VpnUserVO vpnUser = _networkMgr.addVpnUser(this);
|
||||
VpnUser vpnUser = _networkService.addVpnUser(this);
|
||||
if (vpnUser != null) {
|
||||
VpnUsersResponse vpnResponse = new VpnUsersResponse();
|
||||
vpnResponse.setId(vpnUser.getId());
|
||||
vpnResponse.setUserName(vpnUser.getUsername());
|
||||
vpnResponse.setAccountName(vpnUser.getAccountName());
|
||||
|
||||
Account accountTemp = ApiDBUtils.findAccountById(vpnUser.getAccountId());
|
||||
Account accountTemp = _entityMgr.findById(Account.class, vpnUser.getAccountId());
|
||||
if (accountTemp != null) {
|
||||
vpnResponse.setDomainId(accountTemp.getDomainId());
|
||||
vpnResponse.setDomainName(ApiDBUtils.findDomainById(accountTemp.getDomainId()).getName());
|
||||
vpnResponse.setDomainName(_entityMgr.findById(Domain.class, accountTemp.getDomainId()).getName());
|
||||
}
|
||||
|
||||
vpnResponse.setResponseName(getName());
|
||||
|
|
@ -22,7 +22,6 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -31,7 +30,7 @@ import com.cloud.api.ServerApiException;
|
|||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.exception.NetworkRuleConflictException;
|
||||
import com.cloud.network.LoadBalancerVO;
|
||||
import com.cloud.network.LoadBalancer;
|
||||
import com.cloud.user.Account;
|
||||
|
||||
@Implementation(description="Assigns virtual machine or a list of virtual machines to a load balancer rule.", responseObject=SuccessResponse.class)
|
||||
|
|
@ -80,7 +79,7 @@ public class AssignToLoadBalancerRuleCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
LoadBalancerVO lb = ApiDBUtils.findLoadBalancerById(getLoadBalancerId());
|
||||
LoadBalancer lb = _entityMgr.findById(LoadBalancer.class, getLoadBalancerId());
|
||||
if (lb == null) {
|
||||
return Account.ACCOUNT_ID_SYSTEM; // bad id given, parent this command to SYSTEM so ERROR events are tracked
|
||||
}
|
||||
|
|
@ -100,7 +99,7 @@ public class AssignToLoadBalancerRuleCmd extends BaseAsyncCmd {
|
|||
@Override
|
||||
public void execute(){
|
||||
try {
|
||||
boolean result = _networkMgr.assignToLoadBalancer(this);
|
||||
boolean result = _networkService.assignToLoadBalancer(this);
|
||||
if (result) {
|
||||
SuccessResponse response = new SuccessResponse(getName());
|
||||
this.setResponseObject(response);
|
||||
|
|
@ -20,7 +20,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
|
|
@ -29,7 +28,7 @@ import com.cloud.api.response.IPAddressResponse;
|
|||
import com.cloud.exception.ConcurrentOperationException;
|
||||
import com.cloud.exception.InsufficientAddressCapacityException;
|
||||
import com.cloud.exception.ResourceAllocationException;
|
||||
import com.cloud.network.IPAddressVO;
|
||||
import com.cloud.network.IpAddress;
|
||||
|
||||
@Implementation(description="Acquires and associates a public IP to an account.", responseObject=IPAddressResponse.class)
|
||||
public class AssociateIPAddrCmd extends BaseCmd {
|
||||
|
|
@ -72,6 +71,7 @@ public class AssociateIPAddrCmd extends BaseCmd {
|
|||
/////////////////////////////////////////////////////
|
||||
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return s_name;
|
||||
}
|
||||
|
|
@ -83,9 +83,9 @@ public class AssociateIPAddrCmd extends BaseCmd {
|
|||
@Override
|
||||
public void execute(){
|
||||
try {
|
||||
IPAddressVO result = _networkMgr.associateIP(this);
|
||||
IpAddress result = _networkService.associateIP(this);
|
||||
if (result != null) {
|
||||
IPAddressResponse ipResponse = ApiResponseHelper.createIPAddressResponse(result);
|
||||
IPAddressResponse ipResponse = _responseGenerator.createIPAddressResponse(result);
|
||||
ipResponse.setResponseName(getName());
|
||||
this.setResponseObject(ipResponse);
|
||||
} else {
|
||||
|
|
@ -20,8 +20,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -29,7 +27,7 @@ import com.cloud.api.Parameter;
|
|||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.UserVmResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.storage.VMTemplateVO;
|
||||
import com.cloud.template.VirtualMachineTemplate;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.uservm.UserVm;
|
||||
|
||||
|
|
@ -74,7 +72,7 @@ public class AttachIsoCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
VMTemplateVO iso = ApiDBUtils.findTemplateById(getId());
|
||||
VirtualMachineTemplate iso = _responseGenerator.findTemplateById(getId());
|
||||
if (iso == null) {
|
||||
return Account.ACCOUNT_ID_SYSTEM; // bad id given, parent this command to SYSTEM so ERROR events are tracked
|
||||
}
|
||||
|
|
@ -93,11 +91,11 @@ public class AttachIsoCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
boolean result = _templateMgr.attachIso(this);
|
||||
boolean result = _templateService.attachIso(this);
|
||||
if (result) {
|
||||
UserVm userVm = ApiDBUtils.findUserVmById(virtualMachineId);
|
||||
UserVm userVm = _responseGenerator.findUserVmById(virtualMachineId);
|
||||
if (userVm != null) {
|
||||
UserVmResponse response = ApiResponseHelper.createUserVmResponse(userVm);
|
||||
UserVmResponse response = _responseGenerator.createUserVmResponse(userVm);
|
||||
response.setResponseName(DeployVMCmd.getResultObjectName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -21,8 +21,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -31,7 +29,6 @@ import com.cloud.api.ServerApiException;
|
|||
import com.cloud.api.response.VolumeResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.storage.Volume;
|
||||
import com.cloud.storage.VolumeVO;
|
||||
import com.cloud.user.Account;
|
||||
|
||||
@Implementation(description="Attaches a disk volume to a virtual machine.", responseObject=VolumeResponse.class)
|
||||
|
|
@ -91,7 +88,7 @@ public class AttachVolumeCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
VolumeVO volume = ApiDBUtils.findVolumeById(getId());
|
||||
Volume volume = _responseGenerator.findVolumeById(getId());
|
||||
if (volume == null) {
|
||||
return Account.ACCOUNT_ID_SYSTEM; // bad id given, parent this command to SYSTEM so ERROR events are tracked
|
||||
}
|
||||
|
|
@ -112,7 +109,7 @@ public class AttachVolumeCmd extends BaseAsyncCmd {
|
|||
public void execute(){
|
||||
Volume result = _userVmService.attachVolumeToVM(this);
|
||||
if (result != null) {
|
||||
VolumeResponse response = ApiResponseHelper.createVolumeResponse((VolumeVO)result);
|
||||
VolumeResponse response = _responseGenerator.createVolumeResponse(result);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -28,7 +28,6 @@ import java.util.Map;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -37,7 +36,7 @@ import com.cloud.api.ServerApiException;
|
|||
import com.cloud.api.response.IngressRuleResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.network.security.IngressRuleVO;
|
||||
import com.cloud.network.security.IngressRule;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.UserContext;
|
||||
import com.cloud.utils.StringUtils;
|
||||
|
|
@ -156,10 +155,10 @@ public class AuthorizeNetworkGroupIngressCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
Account account = (Account)UserContext.current().getAccount();
|
||||
Account account = UserContext.current().getAccount();
|
||||
if ((account == null) || isAdmin(account.getType())) {
|
||||
if ((domainId != null) && (accountName != null)) {
|
||||
Account userAccount = ApiDBUtils.findAccountByNameDomain(accountName, domainId);
|
||||
Account userAccount = _responseGenerator.findAccountByNameDomain(accountName, domainId);
|
||||
if (userAccount != null) {
|
||||
return userAccount.getId();
|
||||
}
|
||||
|
|
@ -209,11 +208,11 @@ public class AuthorizeNetworkGroupIngressCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
List<IngressRuleVO> ingressRules = _networkGroupMgr.authorizeNetworkGroupIngress(this);
|
||||
List<? extends IngressRule> ingressRules = _networkGroupMgr.authorizeNetworkGroupIngress(this);
|
||||
ListResponse<IngressRuleResponse> response = new ListResponse<IngressRuleResponse>();
|
||||
if ((ingressRules != null) && !ingressRules.isEmpty()) {
|
||||
List<IngressRuleResponse> responses = new ArrayList<IngressRuleResponse>();
|
||||
for (IngressRuleVO ingressRule : ingressRules) {
|
||||
for (IngressRule ingressRule : ingressRules) {
|
||||
IngressRuleResponse ingressData = new IngressRuleResponse();
|
||||
|
||||
ingressData.setRuleId(ingressRule.getId());
|
||||
|
|
@ -21,7 +21,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -29,7 +28,7 @@ import com.cloud.api.Parameter;
|
|||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.HostResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.host.HostVO;
|
||||
import com.cloud.host.Host;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.UserContext;
|
||||
|
||||
|
|
@ -91,9 +90,9 @@ public class CancelMaintenanceCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
HostVO result = _agentMgr.cancelMaintenance(this);
|
||||
Host result = _resourceService.cancelMaintenance(this);
|
||||
if (result != null) {
|
||||
HostResponse response = ApiResponseHelper.createHostResponse(result);
|
||||
HostResponse response = _responseGenerator.createHostResponse(result);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -21,7 +21,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -29,7 +28,7 @@ import com.cloud.api.Parameter;
|
|||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.StoragePoolResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.storage.StoragePoolVO;
|
||||
import com.cloud.storage.StoragePool;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.UserContext;
|
||||
|
||||
|
|
@ -71,7 +70,7 @@ public class CancelPrimaryStorageMaintenanceCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
Account account = (Account)UserContext.current().getAccount();
|
||||
Account account = UserContext.current().getAccount();
|
||||
if (account != null) {
|
||||
return account.getId();
|
||||
}
|
||||
|
|
@ -91,9 +90,9 @@ public class CancelPrimaryStorageMaintenanceCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
StoragePoolVO result = _storageMgr.cancelPrimaryStorageForMaintenance(this);
|
||||
StoragePool result = _storageMgr.cancelPrimaryStorageForMaintenance(this);
|
||||
if (result != null) {
|
||||
StoragePoolResponse response = ApiResponseHelper.createStoragePoolResponse(result);
|
||||
StoragePoolResponse response = _responseGenerator.createStoragePoolResponse(result);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -0,0 +1,114 @@
|
|||
/**
|
||||
* Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
|
||||
*
|
||||
* This software is licensed under the GNU General Public License v3 or later.
|
||||
*
|
||||
* It is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or any later version.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package com.cloud.api.commands;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.TemplateResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.exception.StorageUnavailableException;
|
||||
import com.cloud.template.VirtualMachineTemplate;
|
||||
import com.cloud.user.Account;
|
||||
|
||||
@Implementation(description="Copies an ISO file.", responseObject=TemplateResponse.class)
|
||||
public class CopyIsoCmd extends BaseAsyncCmd {
|
||||
public static final Logger s_logger = Logger.getLogger(CopyIsoCmd.class.getName());
|
||||
private static final String s_name = "copyisoresponse";
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
//////////////// API parameters /////////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
@Parameter(name="destzoneid", type=CommandType.LONG, required=true, description="the ID of the destination zone to which the ISO file will be copied")
|
||||
private Long destZoneId;
|
||||
|
||||
@Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="the ID of the ISO file")
|
||||
private Long id;
|
||||
|
||||
@Parameter(name="sourcezoneid", type=CommandType.LONG, required=true, description="the ID of the source zone from which the ISO file will be copied")
|
||||
private Long sourceZoneId;
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
/////////////////// Accessors ///////////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
public Long getDestinationZoneId() {
|
||||
return destZoneId;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public Long getSourceZoneId() {
|
||||
return sourceZoneId;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
/////////////// API Implementation///////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return s_name;
|
||||
}
|
||||
|
||||
public static String getStaticName() {
|
||||
return s_name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
VirtualMachineTemplate iso = _entityMgr.findById(VirtualMachineTemplate.class, getId());
|
||||
if (iso != null) {
|
||||
return iso.getAccountId();
|
||||
}
|
||||
|
||||
// bad id given, parent this command to SYSTEM so ERROR events are tracked
|
||||
return Account.ACCOUNT_ID_SYSTEM;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEventType() {
|
||||
return EventTypes.EVENT_ISO_COPY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEventDescription() {
|
||||
return "copying ISO: " + getId() + " from zone: " + getSourceZoneId() + " to zone: " + getDestinationZoneId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(){
|
||||
try {
|
||||
VirtualMachineTemplate iso = _templateService.copyIso(this);
|
||||
TemplateResponse isoResponse = _responseGenerator.createIsoResponse3(iso, destZoneId);
|
||||
isoResponse.setResponseName(getName());
|
||||
this.setResponseObject(isoResponse);
|
||||
} catch (StorageUnavailableException ex) {
|
||||
throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, ex.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,117 @@
|
|||
/**
|
||||
* Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
|
||||
*
|
||||
* This software is licensed under the GNU General Public License v3 or later.
|
||||
*
|
||||
* It is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or any later version.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package com.cloud.api.commands;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.TemplateResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.exception.StorageUnavailableException;
|
||||
import com.cloud.template.VirtualMachineTemplate;
|
||||
import com.cloud.user.Account;
|
||||
|
||||
@Implementation(description="Copies a template from one zone to another.", responseObject=TemplateResponse.class)
|
||||
public class CopyTemplateCmd extends BaseAsyncCmd {
|
||||
public static final Logger s_logger = Logger.getLogger(CopyTemplateCmd.class.getName());
|
||||
private static final String s_name = "copytemplateresponse";
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
//////////////// API parameters /////////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
@Parameter(name=ApiConstants.DESTINATION_ZONE_ID, type=CommandType.LONG, required=true, description="ID of the zone the template is being copied to.")
|
||||
private Long destZoneId;
|
||||
|
||||
@Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="Template ID.")
|
||||
private Long id;
|
||||
|
||||
@Parameter(name=ApiConstants.SOURCE_ZONE_ID, type=CommandType.LONG, required=true, description="ID of the zone the template is currently hosted on.")
|
||||
private Long sourceZoneId;
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
/////////////////// Accessors ///////////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
public Long getDestinationZoneId() {
|
||||
return destZoneId;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public Long getSourceZoneId() {
|
||||
return sourceZoneId;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
/////////////// API Implementation///////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return s_name;
|
||||
}
|
||||
|
||||
public static String getStaticName() {
|
||||
return s_name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
VirtualMachineTemplate template = _entityMgr.findById(VirtualMachineTemplate.class, getId());
|
||||
if (template != null) {
|
||||
return template.getAccountId();
|
||||
}
|
||||
|
||||
// bad id given, parent this command to SYSTEM so ERROR events are tracked
|
||||
return Account.ACCOUNT_ID_SYSTEM;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEventType() {
|
||||
return EventTypes.EVENT_TEMPLATE_COPY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEventDescription() {
|
||||
return "copying template: " + getId() + " from zone: " + getSourceZoneId() + " to zone: " + getDestinationZoneId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(){
|
||||
try {
|
||||
VirtualMachineTemplate template = _templateService.copyTemplate(this);
|
||||
TemplateResponse templateResponse = _responseGenerator.createTemplateResponse(template, destZoneId);
|
||||
templateResponse.setResponseName(getName());
|
||||
|
||||
this.setResponseObject(templateResponse);
|
||||
} catch (StorageUnavailableException ex) {
|
||||
throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, ex.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -20,14 +20,12 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.ConfigurationResponse;
|
||||
import com.cloud.configuration.Configuration;
|
||||
import com.cloud.configuration.ConfigurationVO;
|
||||
|
||||
@Implementation(description="Adds configuration value", responseObject=ConfigurationResponse.class)
|
||||
public class CreateCfgCmd extends BaseCmd {
|
||||
|
|
@ -99,7 +97,7 @@ public class CreateCfgCmd extends BaseCmd {
|
|||
public void execute(){
|
||||
Configuration cfg = _configService.addConfig(this);
|
||||
if (cfg != null) {
|
||||
ConfigurationResponse response = ApiResponseHelper.createConfigurationResponse((ConfigurationVO)cfg);
|
||||
ConfigurationResponse response = _responseGenerator.createConfigurationResponse(cfg);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -20,14 +20,12 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.DiskOfferingResponse;
|
||||
import com.cloud.offering.DiskOffering;
|
||||
import com.cloud.storage.DiskOfferingVO;
|
||||
|
||||
@Implementation(description="Creates a disk offering.", responseObject=DiskOfferingResponse.class)
|
||||
public class CreateDiskOfferingCmd extends BaseCmd {
|
||||
|
|
@ -90,7 +88,7 @@ public class CreateDiskOfferingCmd extends BaseCmd {
|
|||
public void execute(){
|
||||
DiskOffering offering = _configService.createDiskOffering(this);
|
||||
if (offering != null) {
|
||||
DiskOfferingResponse response = ApiResponseHelper.createDiskOfferingResponse((DiskOfferingVO)offering);
|
||||
DiskOfferingResponse response = _responseGenerator.createDiskOfferingResponse(offering);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -20,13 +20,12 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.DomainResponse;
|
||||
import com.cloud.domain.DomainVO;
|
||||
import com.cloud.domain.Domain;
|
||||
|
||||
@Implementation(description="Creates a domain", responseObject=DomainResponse.class)
|
||||
public class CreateDomainCmd extends BaseCmd {
|
||||
|
|
@ -69,9 +68,9 @@ public class CreateDomainCmd extends BaseCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
DomainVO domain = _mgr.createDomain(this);
|
||||
Domain domain = _mgr.createDomain(this);
|
||||
if (domain != null) {
|
||||
DomainResponse response = ApiResponseHelper.createDomainResponse(domain);
|
||||
DomainResponse response = _responseGenerator.createDomainResponse(domain);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -21,7 +21,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCreateCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -29,7 +28,7 @@ import com.cloud.api.Parameter;
|
|||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.FirewallRuleResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.network.FirewallRuleVO;
|
||||
import com.cloud.network.rules.FirewallRule;
|
||||
import com.cloud.user.Account;
|
||||
|
||||
@Implementation(description="Creates an ip forwarding rule", responseObject=FirewallRuleResponse.class)
|
||||
|
|
@ -73,9 +72,9 @@ public class CreateIpForwardingRuleCmd extends BaseAsyncCreateCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
FirewallRuleVO result = _networkMgr.createIpForwardingRuleOnDomr(this.getId());
|
||||
FirewallRule result = _networkService.createIpForwardingRuleOnDomr(this.getId());
|
||||
if (result != null) {
|
||||
FirewallRuleResponse fwResponse = ApiResponseHelper.createFirewallRuleResponse(result);
|
||||
FirewallRuleResponse fwResponse = _responseGenerator.createFirewallRuleResponse(result);
|
||||
fwResponse.setResponseName(getName());
|
||||
this.setResponseObject(fwResponse);
|
||||
} else {
|
||||
|
|
@ -86,7 +85,7 @@ public class CreateIpForwardingRuleCmd extends BaseAsyncCreateCmd {
|
|||
|
||||
@Override
|
||||
public void callCreate(){
|
||||
FirewallRuleVO rule = _networkMgr.createIpForwardingRuleInDb(ipAddress,virtualMachineId);
|
||||
FirewallRule rule = _networkService.createIpForwardingRuleInDb(ipAddress,virtualMachineId);
|
||||
if (rule != null){
|
||||
this.setId(rule.getId());
|
||||
} else {
|
||||
|
|
@ -21,13 +21,12 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.LoadBalancerResponse;
|
||||
import com.cloud.network.LoadBalancerVO;
|
||||
import com.cloud.network.LoadBalancer;
|
||||
|
||||
@Implementation(description="Creates a load balancer rule", responseObject=LoadBalancerResponse.class)
|
||||
public class CreateLoadBalancerRuleCmd extends BaseCmd {
|
||||
|
|
@ -91,15 +90,16 @@ public class CreateLoadBalancerRuleCmd extends BaseCmd {
|
|||
/////////////// API Implementation///////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return s_name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(){
|
||||
LoadBalancerVO result = _networkMgr.createLoadBalancerRule(this);
|
||||
LoadBalancer result = _networkService.createLoadBalancerRule(this);
|
||||
if (result != null) {
|
||||
LoadBalancerResponse response = ApiResponseHelper.createLoadBalancerResponse(result);
|
||||
LoadBalancerResponse response = _responseGenerator.createLoadBalancerResponse(result);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -20,13 +20,12 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.NetworkGroupResponse;
|
||||
import com.cloud.network.security.NetworkGroupVO;
|
||||
import com.cloud.network.security.NetworkGroup;
|
||||
|
||||
//TODO - add description to implementation
|
||||
@Implementation(responseObject=NetworkGroupResponse.class)
|
||||
|
|
@ -77,24 +76,17 @@ public class CreateNetworkGroupCmd extends BaseCmd {
|
|||
/////////////// API Implementation///////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return s_name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(){
|
||||
NetworkGroupVO group = _networkGroupMgr.createNetworkGroup(this);
|
||||
NetworkGroup group = _networkGroupMgr.createNetworkGroup(this);
|
||||
if (group != null) {
|
||||
NetworkGroupResponse response = new NetworkGroupResponse();
|
||||
response.setAccountName(group.getAccountName());
|
||||
response.setDescription(group.getDescription());
|
||||
response.setDomainId(group.getDomainId());
|
||||
response.setDomainName(ApiDBUtils.findDomainById(group.getDomainId()).getName());
|
||||
response.setId(group.getId());
|
||||
response.setName(group.getName());
|
||||
|
||||
NetworkGroupResponse response = _responseGenerator.createNetworkGroupResponse(group);
|
||||
response.setResponseName(getName());
|
||||
response.setObjectName("securitygroup");
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to create network group");
|
||||
|
|
@ -21,13 +21,11 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.PodResponse;
|
||||
import com.cloud.dc.HostPodVO;
|
||||
import com.cloud.dc.Pod;
|
||||
|
||||
@Implementation(description="Creates a new Pod.", responseObject=PodResponse.class)
|
||||
|
|
@ -92,6 +90,7 @@ public class CreatePodCmd extends BaseCmd {
|
|||
/////////////// API Implementation///////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return s_name;
|
||||
}
|
||||
|
|
@ -100,7 +99,7 @@ public class CreatePodCmd extends BaseCmd {
|
|||
public void execute(){
|
||||
Pod result = _configService.createPod(this);
|
||||
if (result != null) {
|
||||
PodResponse response = ApiResponseHelper.createPodResponse((HostPodVO)result);
|
||||
PodResponse response = _responseGenerator.createPodResponse(result);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -21,14 +21,13 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.FirewallRuleResponse;
|
||||
import com.cloud.exception.NetworkRuleConflictException;
|
||||
import com.cloud.network.FirewallRuleVO;
|
||||
import com.cloud.network.rules.FirewallRule;
|
||||
|
||||
@Implementation(description="Creates a port forwarding rule", responseObject=FirewallRuleResponse.class)
|
||||
public class CreatePortForwardingRuleCmd extends BaseCmd {
|
||||
|
|
@ -93,9 +92,9 @@ public class CreatePortForwardingRuleCmd extends BaseCmd {
|
|||
@Override
|
||||
public void execute(){
|
||||
try {
|
||||
FirewallRuleVO result = _networkMgr.createPortForwardingRule(this);
|
||||
FirewallRule result = _networkService.createPortForwardingRule(this);
|
||||
if (result != null) {
|
||||
FirewallRuleResponse fwResponse = ApiResponseHelper.createFirewallRuleResponse(result);
|
||||
FirewallRuleResponse fwResponse = _responseGenerator.createFirewallRuleResponse(result);
|
||||
fwResponse.setResponseName(getName());
|
||||
this.setResponseObject(fwResponse);
|
||||
} else {
|
||||
|
|
@ -20,17 +20,17 @@ package com.cloud.api.commands;
|
|||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseAsyncCreateCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.RemoteAccessVpnResponse;
|
||||
import com.cloud.domain.Domain;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.exception.ConcurrentOperationException;
|
||||
import com.cloud.exception.ResourceUnavailableException;
|
||||
import com.cloud.network.RemoteAccessVpnVO;
|
||||
import com.cloud.network.RemoteAccessVpn;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.UserContext;
|
||||
|
||||
|
|
@ -99,16 +99,17 @@ public class CreateRemoteAccessVpnCmd extends BaseAsyncCreateCmd {
|
|||
|
||||
|
||||
|
||||
public String getName() {
|
||||
@Override
|
||||
public String getName() {
|
||||
return s_name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
Account account = (Account)UserContext.current().getAccount();
|
||||
Account account = UserContext.current().getAccount();
|
||||
if ((account == null) || isAdmin(account.getType())) {
|
||||
if ((domainId != null) && (accountName != null)) {
|
||||
Account userAccount = ApiDBUtils.findAccountByNameDomain(accountName, domainId);
|
||||
Account userAccount = _responseGenerator.findAccountByNameDomain(accountName, domainId);
|
||||
if (userAccount != null) {
|
||||
return userAccount.getId();
|
||||
}
|
||||
|
|
@ -135,7 +136,7 @@ public class CreateRemoteAccessVpnCmd extends BaseAsyncCreateCmd {
|
|||
@Override
|
||||
public void callCreate(){
|
||||
try {
|
||||
RemoteAccessVpnVO vpn = _networkMgr.createRemoteAccessVpn(this);
|
||||
RemoteAccessVpn vpn = _networkService.createRemoteAccessVpn(this);
|
||||
if (vpn != null) {
|
||||
this.setId(vpn.getId());
|
||||
} else {
|
||||
|
|
@ -149,7 +150,7 @@ public class CreateRemoteAccessVpnCmd extends BaseAsyncCreateCmd {
|
|||
@Override
|
||||
public void execute(){
|
||||
try {
|
||||
RemoteAccessVpnVO result = _networkMgr.startRemoteAccessVpn(this);
|
||||
RemoteAccessVpn result = _networkService.startRemoteAccessVpn(this);
|
||||
if (result != null) {
|
||||
RemoteAccessVpnResponse response = new RemoteAccessVpnResponse();
|
||||
response.setId(result.getId());
|
||||
|
|
@ -157,7 +158,7 @@ public class CreateRemoteAccessVpnCmd extends BaseAsyncCreateCmd {
|
|||
response.setIpRange(result.getIpRange());
|
||||
response.setAccountName(result.getAccountName());
|
||||
response.setDomainId(result.getDomainId());
|
||||
response.setDomainName(ApiDBUtils.findDomainById(result.getDomainId()).getName());
|
||||
response.setDomainName(_entityMgr.findById(Domain.class, result.getDomainId()).getName());
|
||||
response.setObjectName("remoteaccessvpn");
|
||||
response.setResponseName(getName());
|
||||
response.setPresharedKey(result.getIpsecPresharedKey());
|
||||
|
|
@ -21,14 +21,12 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.ServiceOfferingResponse;
|
||||
import com.cloud.offering.ServiceOffering;
|
||||
import com.cloud.service.ServiceOfferingVO;
|
||||
|
||||
@Implementation(description="Creates a service offering.", responseObject=ServiceOfferingResponse.class)
|
||||
public class CreateServiceOfferingCmd extends BaseCmd {
|
||||
|
|
@ -119,7 +117,7 @@ public class CreateServiceOfferingCmd extends BaseCmd {
|
|||
public void execute(){
|
||||
ServiceOffering result = _configService.createServiceOffering(this);
|
||||
if (result != null) {
|
||||
ServiceOfferingResponse response = ApiResponseHelper.createServiceOfferingResponse((ServiceOfferingVO)result);
|
||||
ServiceOfferingResponse response = _responseGenerator.createServiceOfferingResponse(result);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -21,8 +21,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -31,8 +29,8 @@ import com.cloud.api.ServerApiException;
|
|||
import com.cloud.api.response.SnapshotResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.exception.ResourceAllocationException;
|
||||
import com.cloud.storage.SnapshotVO;
|
||||
import com.cloud.storage.VolumeVO;
|
||||
import com.cloud.storage.Snapshot;
|
||||
import com.cloud.storage.Volume;
|
||||
import com.cloud.user.Account;
|
||||
|
||||
@Implementation(description="Creates an instant snapshot of a volume.", responseObject=SnapshotResponse.class)
|
||||
|
|
@ -84,7 +82,7 @@ public class CreateSnapshotCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
VolumeVO volume = ApiDBUtils.findVolumeById(getVolumeId());
|
||||
Volume volume = _entityMgr.findById(Volume.class, getVolumeId());
|
||||
if (volume != null) {
|
||||
return volume.getAccountId();
|
||||
}
|
||||
|
|
@ -106,9 +104,9 @@ public class CreateSnapshotCmd extends BaseAsyncCmd {
|
|||
@Override
|
||||
public void execute(){
|
||||
try {
|
||||
SnapshotVO snapshot = _snapshotMgr.createSnapshot(this);
|
||||
Snapshot snapshot = _snapshotMgr.createSnapshot(this);
|
||||
if (snapshot != null) {
|
||||
SnapshotResponse response = ApiResponseHelper.createSnapshotResponse(snapshot);
|
||||
SnapshotResponse response = _responseGenerator.createSnapshotResponse(snapshot);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -20,18 +20,18 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.SnapshotResponse;
|
||||
import com.cloud.domain.Domain;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.exception.ResourceAllocationException;
|
||||
import com.cloud.storage.Snapshot.SnapshotType;
|
||||
import com.cloud.storage.SnapshotVO;
|
||||
import com.cloud.storage.VolumeVO;
|
||||
import com.cloud.storage.Snapshot;
|
||||
import com.cloud.storage.Snapshot.Type;
|
||||
import com.cloud.storage.Volume;
|
||||
import com.cloud.user.Account;
|
||||
|
||||
@Implementation(description="Creates an instant snapshot of a volume.", responseObject=SnapshotResponse.class)
|
||||
|
|
@ -76,7 +76,7 @@ public class CreateSnapshotInternalCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
VolumeVO volume = ApiDBUtils.findVolumeById(getVolumeId());
|
||||
Volume volume = _entityMgr.findById(Volume.class, getVolumeId());
|
||||
if (volume != null) {
|
||||
return volume.getAccountId();
|
||||
}
|
||||
|
|
@ -98,20 +98,20 @@ public class CreateSnapshotInternalCmd extends BaseAsyncCmd {
|
|||
@Override
|
||||
public void execute(){
|
||||
try {
|
||||
SnapshotVO snapshot = _snapshotMgr.createSnapshotInternal(this);
|
||||
Snapshot snapshot = _snapshotMgr.createSnapshotInternal(this);
|
||||
if (snapshot != null) {
|
||||
SnapshotResponse response = new SnapshotResponse();
|
||||
response.setId(snapshot.getId());
|
||||
|
||||
Account account = ApiDBUtils.findAccountById(snapshot.getAccountId());
|
||||
Account account = _entityMgr.findById(Account.class, snapshot.getAccountId());
|
||||
if (account != null) {
|
||||
response.setAccountName(account.getAccountName());
|
||||
response.setDomainId(account.getDomainId());
|
||||
response.setDomainName(ApiDBUtils.findDomainById(account.getDomainId()).getName());
|
||||
response.setDomainName(_entityMgr.findById(Domain.class, account.getDomainId()).getName());
|
||||
}
|
||||
|
||||
VolumeVO volume = ApiDBUtils.findVolumeById(snapshot.getVolumeId());
|
||||
String snapshotTypeStr = SnapshotType.values()[snapshot.getSnapshotType()].name();
|
||||
Volume volume = _entityMgr.findById(Volume.class, snapshot.getVolumeId());
|
||||
String snapshotTypeStr = Type.values()[snapshot.getSnapshotType()].name();
|
||||
response.setSnapshotType(snapshotTypeStr);
|
||||
response.setVolumeId(snapshot.getVolumeId());
|
||||
response.setVolumeName(volume.getName());
|
||||
|
|
@ -21,13 +21,12 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.SnapshotPolicyResponse;
|
||||
import com.cloud.storage.SnapshotPolicyVO;
|
||||
import com.cloud.storage.snapshot.SnapshotPolicy;
|
||||
|
||||
@Implementation(description="Creates a snapshot policy for the account.", responseObject=SnapshotPolicyResponse.class)
|
||||
public class CreateSnapshotPolicyCmd extends BaseCmd {
|
||||
|
|
@ -110,9 +109,9 @@ public class CreateSnapshotPolicyCmd extends BaseCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
SnapshotPolicyVO result = _snapshotMgr.createPolicy(this);
|
||||
SnapshotPolicy result = _snapshotMgr.createPolicy(this);
|
||||
if (result != null) {
|
||||
SnapshotPolicyResponse response = ApiResponseHelper.createSnapshotPolicyResponse(result);
|
||||
SnapshotPolicyResponse response = _responseGenerator.createSnapshotPolicyResponse(result);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -24,7 +24,6 @@ import java.util.Map;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
|
|
@ -32,7 +31,7 @@ import com.cloud.api.ServerApiException;
|
|||
import com.cloud.api.response.StoragePoolResponse;
|
||||
import com.cloud.exception.ResourceAllocationException;
|
||||
import com.cloud.exception.ResourceInUseException;
|
||||
import com.cloud.storage.StoragePoolVO;
|
||||
import com.cloud.storage.StoragePool;
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
@Implementation(description="Creates a storage pool.", responseObject=StoragePoolResponse.class)
|
||||
|
|
@ -110,9 +109,9 @@ public class CreateStoragePoolCmd extends BaseCmd {
|
|||
@Override
|
||||
public void execute(){
|
||||
try {
|
||||
StoragePoolVO result = _storageMgr.createPool(this);
|
||||
StoragePool result = _storageMgr.createPool(this);
|
||||
if (result != null) {
|
||||
StoragePoolResponse response = ApiResponseHelper.createStoragePoolResponse(result);
|
||||
StoragePoolResponse response = _responseGenerator.createStoragePoolResponse(result);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -21,7 +21,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseAsyncCreateCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -29,14 +28,10 @@ import com.cloud.api.Parameter;
|
|||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.StoragePoolResponse;
|
||||
import com.cloud.api.response.TemplateResponse;
|
||||
import com.cloud.dc.DataCenterVO;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.storage.GuestOS;
|
||||
import com.cloud.storage.Snapshot;
|
||||
import com.cloud.storage.VMTemplateHostVO;
|
||||
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
|
||||
import com.cloud.storage.VMTemplateVO;
|
||||
import com.cloud.storage.VolumeVO;
|
||||
import com.cloud.storage.Volume;
|
||||
import com.cloud.template.VirtualMachineTemplate;
|
||||
import com.cloud.user.Account;
|
||||
|
||||
@Implementation(responseObject=StoragePoolResponse.class, description="Creates a template of a virtual machine. " +
|
||||
|
|
@ -142,12 +137,12 @@ public class CreateTemplateCmd extends BaseAsyncCreateCmd {
|
|||
Long volumeId = getVolumeId();
|
||||
Long snapshotId = getSnapshotId();
|
||||
if (volumeId != null) {
|
||||
VolumeVO volume = ApiDBUtils.findVolumeById(volumeId);
|
||||
Volume volume = _entityMgr.findById(Volume.class, volumeId);
|
||||
if (volume != null) {
|
||||
return volume.getAccountId();
|
||||
}
|
||||
} else {
|
||||
Snapshot snapshot = ApiDBUtils.findSnapshotById(snapshotId);
|
||||
Snapshot snapshot = _entityMgr.findById(Snapshot.class, snapshotId);
|
||||
if (snapshot != null) {
|
||||
return snapshot.getAccountId();
|
||||
}
|
||||
|
|
@ -169,7 +164,7 @@ public class CreateTemplateCmd extends BaseAsyncCreateCmd {
|
|||
|
||||
@Override
|
||||
public void callCreate(){
|
||||
VMTemplateVO template = _userVmService.createPrivateTemplateRecord(this);
|
||||
VirtualMachineTemplate template = _userVmService.createPrivateTemplateRecord(this);
|
||||
if (template != null){
|
||||
this.setId(template.getId());
|
||||
} else {
|
||||
|
|
@ -179,51 +174,9 @@ public class CreateTemplateCmd extends BaseAsyncCreateCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
VMTemplateVO template = _userVmService.createPrivateTemplate(this);
|
||||
VirtualMachineTemplate template = _userVmService.createPrivateTemplate(this);
|
||||
if (template != null) {
|
||||
TemplateResponse response = new TemplateResponse();
|
||||
response.setId(template.getId());
|
||||
response.setName(template.getName());
|
||||
response.setDisplayText(template.getDisplayText());
|
||||
response.setPublic(template.isPublicTemplate());
|
||||
response.setPasswordEnabled(template.getEnablePassword());
|
||||
response.setCrossZones(template.isCrossZones());
|
||||
|
||||
VolumeVO volume = null;
|
||||
if (snapshotId != null) {
|
||||
Snapshot snapshot = ApiDBUtils.findSnapshotById(snapshotId);
|
||||
volume = ApiDBUtils.findVolumeById(snapshot.getVolumeId());
|
||||
} else {
|
||||
volume = ApiDBUtils.findVolumeById(volumeId);
|
||||
}
|
||||
|
||||
VMTemplateHostVO templateHostRef = ApiDBUtils.findTemplateHostRef(template.getId(), volume.getDataCenterId());
|
||||
response.setCreated(templateHostRef.getCreated());
|
||||
response.setReady(templateHostRef != null && templateHostRef.getDownloadState() == Status.DOWNLOADED);
|
||||
|
||||
GuestOS os = ApiDBUtils.findGuestOSById(template.getGuestOSId());
|
||||
if (os != null) {
|
||||
response.setOsTypeId(os.getId());
|
||||
response.setOsTypeName(os.getDisplayName());
|
||||
} else {
|
||||
response.setOsTypeId(-1L);
|
||||
response.setOsTypeName("");
|
||||
}
|
||||
|
||||
Account owner = ApiDBUtils.findAccountById(template.getAccountId());
|
||||
if (owner != null) {
|
||||
response.setAccount(owner.getAccountName());
|
||||
response.setDomainId(owner.getDomainId());
|
||||
response.setDomainName(ApiDBUtils.findDomainById(owner.getDomainId()).getName());
|
||||
}
|
||||
|
||||
DataCenterVO zone = ApiDBUtils.findZoneById(volume.getDataCenterId());
|
||||
if (zone != null) {
|
||||
response.setZoneId(zone.getId());
|
||||
response.setZoneName(zone.getName());
|
||||
}
|
||||
|
||||
response.setObjectName("template");
|
||||
TemplateResponse response = _responseGenerator.createTemplateResponse(template, snapshotId, volumeId);
|
||||
response.setResponseName(getName());
|
||||
|
||||
this.setResponseObject(response);
|
||||
|
|
@ -21,7 +21,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
|
|
@ -126,7 +125,7 @@ public class CreateUserCmd extends BaseCmd {
|
|||
public void execute(){
|
||||
UserAccount user = _accountService.createUser(this);
|
||||
if (user != null) {
|
||||
UserResponse response = ApiResponseHelper.createUserResponse(user);
|
||||
UserResponse response = _responseGenerator.createUserResponse(user);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -20,13 +20,12 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.InstanceGroupResponse;
|
||||
import com.cloud.vm.InstanceGroupVO;
|
||||
import com.cloud.vm.InstanceGroup;
|
||||
|
||||
@Implementation(description="Creates a vm group", responseObject=InstanceGroupResponse.class)
|
||||
public class CreateVMGroupCmd extends BaseCmd{
|
||||
|
|
@ -74,9 +73,9 @@ public class CreateVMGroupCmd extends BaseCmd{
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
InstanceGroupVO result = _userVmService.createVmGroup(this);
|
||||
InstanceGroup result = _userVmService.createVmGroup(this);
|
||||
if (result != null) {
|
||||
InstanceGroupResponse response = ApiResponseHelper.createInstanceGroupResponse(result);
|
||||
InstanceGroupResponse response = _responseGenerator.createInstanceGroupResponse(result);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -21,14 +21,12 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.VlanIpRangeResponse;
|
||||
import com.cloud.dc.Vlan;
|
||||
import com.cloud.dc.VlanVO;
|
||||
import com.cloud.exception.ConcurrentOperationException;
|
||||
import com.cloud.exception.InsufficientCapacityException;
|
||||
|
||||
|
|
@ -131,7 +129,7 @@ public class CreateVlanIpRangeCmd extends BaseCmd {
|
|||
try {
|
||||
Vlan result = _configService.createVlanAndPublicIpRange(this);
|
||||
if (result != null) {
|
||||
VlanIpRangeResponse response = ApiResponseHelper.createVlanIpRangeResponse((VlanVO)result);
|
||||
VlanIpRangeResponse response = _responseGenerator.createVlanIpRangeResponse(result);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
}else {
|
||||
|
|
@ -21,8 +21,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCreateCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -32,7 +30,6 @@ import com.cloud.api.response.VolumeResponse;
|
|||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.exception.ResourceAllocationException;
|
||||
import com.cloud.storage.Volume;
|
||||
import com.cloud.storage.VolumeVO;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.UserContext;
|
||||
|
||||
|
|
@ -114,10 +111,10 @@ public class CreateVolumeCmd extends BaseAsyncCreateCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
Account account = (Account)UserContext.current().getAccount();
|
||||
Account account = UserContext.current().getAccount();
|
||||
if ((account == null) || isAdmin(account.getType())) {
|
||||
if ((domainId != null) && (accountName != null)) {
|
||||
Account userAccount = ApiDBUtils.findAccountByNameDomain(accountName, domainId);
|
||||
Account userAccount = _responseGenerator.findAccountByNameDomain(accountName, domainId);
|
||||
if (userAccount != null) {
|
||||
return userAccount.getId();
|
||||
}
|
||||
|
|
@ -159,7 +156,7 @@ public class CreateVolumeCmd extends BaseAsyncCreateCmd {
|
|||
public void execute(){
|
||||
Volume volume = _storageMgr.createVolume(this);
|
||||
if (volume != null) {
|
||||
VolumeResponse response = ApiResponseHelper.createVolumeResponse((VolumeVO)volume);
|
||||
VolumeResponse response = _responseGenerator.createVolumeResponse(volume);
|
||||
//FIXME - have to be moved to ApiResponseHelper
|
||||
response.setSnapshotId(getSnapshotId()); // if the volume was created from a snapshot, snapshotId will be set so we pass it back in the response
|
||||
response.setResponseName(getName());
|
||||
|
|
@ -21,14 +21,12 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.ZoneResponse;
|
||||
import com.cloud.dc.DataCenter;
|
||||
import com.cloud.dc.DataCenterVO;
|
||||
|
||||
@Implementation(description="Creates a Zone.", responseObject=ZoneResponse.class)
|
||||
public class CreateZoneCmd extends BaseCmd {
|
||||
|
|
@ -126,7 +124,7 @@ public class CreateZoneCmd extends BaseCmd {
|
|||
public void execute(){
|
||||
DataCenter result = _configService.createZone(this);
|
||||
if (result != null){
|
||||
ZoneResponse response = ApiResponseHelper.createZoneResponse((DataCenterVO)result);
|
||||
ZoneResponse response = _responseGenerator.createZoneResponse(result);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -20,14 +20,13 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.domain.DomainVO;
|
||||
import com.cloud.domain.Domain;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.user.Account;
|
||||
|
||||
|
|
@ -70,7 +69,7 @@ public class DeleteDomainCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
DomainVO domain = ApiDBUtils.findDomainById(getId());
|
||||
Domain domain = _entityMgr.findById(Domain.class, getId());
|
||||
if (domain != null) {
|
||||
return domain.getAccountId();
|
||||
}
|
||||
|
|
@ -62,7 +62,7 @@ public class DeleteHostCmd extends BaseCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
boolean result = _agentMgr.deleteHost(this);
|
||||
boolean result = _resourceService.deleteHost(this);
|
||||
if (result) {
|
||||
SuccessResponse response = new SuccessResponse(getName());
|
||||
this.setResponseObject(response);
|
||||
|
|
@ -63,7 +63,7 @@ public class DeleteIpForwardingRuleCmd extends BaseAsyncCmd {
|
|||
@Override
|
||||
public void execute(){
|
||||
boolean result = false;
|
||||
result = _networkMgr.deleteIpForwardingRule(id);
|
||||
result = _networkService.deleteIpForwardingRule(id);
|
||||
if (result) {
|
||||
SuccessResponse response = new SuccessResponse(getName());
|
||||
this.setResponseObject(response);
|
||||
|
|
@ -20,7 +20,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -28,7 +27,7 @@ import com.cloud.api.Parameter;
|
|||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.storage.VMTemplateVO;
|
||||
import com.cloud.template.VirtualMachineTemplate;
|
||||
import com.cloud.user.Account;
|
||||
|
||||
@Implementation(description="Deletes an ISO file.", responseObject=SuccessResponse.class)
|
||||
|
|
@ -74,7 +73,7 @@ public class DeleteIsoCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
VMTemplateVO iso = ApiDBUtils.findTemplateById(getId());
|
||||
VirtualMachineTemplate iso = _entityMgr.findById(VirtualMachineTemplate.class, getId());
|
||||
if (iso != null) {
|
||||
return iso.getAccountId();
|
||||
}
|
||||
|
|
@ -94,7 +93,7 @@ public class DeleteIsoCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
boolean result = _templateMgr.deleteIso(this);
|
||||
boolean result = _templateService.deleteIso(this);
|
||||
if (result) {
|
||||
SuccessResponse response = new SuccessResponse(getName());
|
||||
this.setResponseObject(response);
|
||||
|
|
@ -20,7 +20,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -28,7 +27,7 @@ import com.cloud.api.Parameter;
|
|||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.network.LoadBalancerVO;
|
||||
import com.cloud.network.LoadBalancer;
|
||||
import com.cloud.user.Account;
|
||||
|
||||
@Implementation(description="Deletes a load balancer rule.", responseObject=SuccessResponse.class)
|
||||
|
|
@ -62,7 +61,7 @@ public class DeleteLoadBalancerRuleCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
LoadBalancerVO lb = ApiDBUtils.findLoadBalancerById(getId());
|
||||
LoadBalancer lb = _entityMgr.findById(LoadBalancer.class, getId());
|
||||
if (lb != null) {
|
||||
return lb.getAccountId();
|
||||
}
|
||||
|
|
@ -82,7 +81,7 @@ public class DeleteLoadBalancerRuleCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
boolean result = _networkMgr.deleteLoadBalancerRule(this);
|
||||
boolean result = _networkService.deleteLoadBalancerRule(this);
|
||||
if (result) {
|
||||
SuccessResponse response = new SuccessResponse(getName());
|
||||
this.setResponseObject(response);
|
||||
|
|
@ -58,7 +58,7 @@ public class DeletePortForwardingRuleCmd extends BaseCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
boolean result = _networkMgr.deletePortForwardingRule(id,false);
|
||||
boolean result = _networkService.deletePortForwardingRule(id,false);
|
||||
if (result) {
|
||||
SuccessResponse response = new SuccessResponse(getName());
|
||||
this.setResponseObject(response);
|
||||
|
|
@ -20,7 +20,6 @@ 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;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -74,16 +73,17 @@ public class DeleteRemoteAccessVpnCmd extends BaseAsyncCmd {
|
|||
/////////////// API Implementation///////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
public String getName() {
|
||||
@Override
|
||||
public String getName() {
|
||||
return s_name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
Account account = (Account)UserContext.current().getAccount();
|
||||
Account account = UserContext.current().getAccount();
|
||||
if ((account == null) || isAdmin(account.getType())) {
|
||||
if ((domainId != null) && (accountName != null)) {
|
||||
Account userAccount = ApiDBUtils.findAccountByNameDomain(accountName, domainId);
|
||||
Account userAccount = _responseGenerator.findAccountByNameDomain(accountName, domainId);
|
||||
if (userAccount != null) {
|
||||
return userAccount.getId();
|
||||
}
|
||||
|
|
@ -110,7 +110,7 @@ public class DeleteRemoteAccessVpnCmd extends BaseAsyncCmd {
|
|||
@Override
|
||||
public void execute(){
|
||||
try {
|
||||
boolean result = _networkMgr.destroyRemoteAccessVpn(this);
|
||||
boolean result = _networkService.destroyRemoteAccessVpn(this);
|
||||
if (result) {
|
||||
SuccessResponse response = new SuccessResponse(getName());
|
||||
this.setResponseObject(response);
|
||||
|
|
@ -21,7 +21,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -64,7 +63,7 @@ public class DeleteSnapshotCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
Snapshot snapshot = ApiDBUtils.findSnapshotById(getId());
|
||||
Snapshot snapshot = _entityMgr.findById(Snapshot.class, getId());
|
||||
if (snapshot != null) {
|
||||
return snapshot.getAccountId();
|
||||
}
|
||||
|
|
@ -21,7 +21,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -29,7 +28,7 @@ import com.cloud.api.Parameter;
|
|||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.storage.VMTemplateVO;
|
||||
import com.cloud.template.VirtualMachineTemplate;
|
||||
import com.cloud.user.Account;
|
||||
|
||||
@Implementation(responseObject=SuccessResponse.class, description="Deletes a template from the system. All virtual machines using the deleted template will not be affected.")
|
||||
|
|
@ -76,7 +75,7 @@ public class DeleteTemplateCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
VMTemplateVO template = ApiDBUtils.findTemplateById(getId());
|
||||
VirtualMachineTemplate template = _entityMgr.findById(VirtualMachineTemplate.class, getId());
|
||||
if (template != null) {
|
||||
return template.getAccountId();
|
||||
}
|
||||
|
|
@ -96,7 +95,7 @@ public class DeleteTemplateCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
boolean result = _templateMgr.deleteTemplate(this);
|
||||
boolean result = _templateService.deleteTemplate(this);
|
||||
if (result) {
|
||||
SuccessResponse response = new SuccessResponse(getName());
|
||||
this.setResponseObject(response);
|
||||
|
|
@ -21,7 +21,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -70,7 +69,7 @@ public class DeleteUserCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
Account account = (Account)UserContext.current().getAccount();
|
||||
Account account = UserContext.current().getAccount();
|
||||
if (account != null) {
|
||||
return account.getId();
|
||||
}
|
||||
|
|
@ -85,7 +84,7 @@ public class DeleteUserCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public String getEventDescription() {
|
||||
User user = ApiDBUtils.findUserById(getId());
|
||||
User user = _responseGenerator.findUserById(getId());
|
||||
return (user != null ? ("User " + user.getUsername() + " (id: " + user.getId() + ") and accountId = " + user.getAccountId()) : "user delete, but this user does not exist in the system");
|
||||
}
|
||||
|
||||
|
|
@ -23,8 +23,6 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -35,7 +33,7 @@ import com.cloud.event.EventTypes;
|
|||
import com.cloud.exception.InsufficientStorageCapacityException;
|
||||
import com.cloud.exception.ResourceAllocationException;
|
||||
import com.cloud.exception.StorageUnavailableException;
|
||||
import com.cloud.storage.VMTemplateVO;
|
||||
import com.cloud.template.VirtualMachineTemplate;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.UserContext;
|
||||
import com.cloud.uservm.UserVm;
|
||||
|
|
@ -169,7 +167,7 @@ public class DeployVMCmd extends BaseAsyncCmd {
|
|||
Account account = UserContext.current().getAccount();
|
||||
if ((account == null) || isAdmin(account.getType())) {
|
||||
if ((domainId != null) && (accountName != null)) {
|
||||
Account userAccount = ApiDBUtils.findAccountByNameDomain(accountName, domainId);
|
||||
Account userAccount = _responseGenerator.findAccountByNameDomain(accountName, domainId);
|
||||
if (userAccount != null) {
|
||||
return userAccount.getId();
|
||||
}
|
||||
|
|
@ -198,14 +196,14 @@ public class DeployVMCmd extends BaseAsyncCmd {
|
|||
try {
|
||||
String password = null;
|
||||
if (templateId != null ) {
|
||||
VMTemplateVO template = ApiDBUtils.findTemplateById(templateId);
|
||||
VirtualMachineTemplate template = _responseGenerator.findTemplateById(templateId);
|
||||
if (template.getEnablePassword()) {
|
||||
password = _mgr.generateRandomPassword();
|
||||
}
|
||||
}
|
||||
UserVm result = _mgr.deployVirtualMachine(this, password);
|
||||
if (result != null){
|
||||
UserVmResponse response = ApiResponseHelper.createUserVmResponse(result);
|
||||
UserVmResponse response = _responseGenerator.createUserVmResponse(result);
|
||||
response.setPassword(password);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
|
|
@ -23,8 +23,6 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCreateCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -159,7 +157,7 @@ public class DeployVm2Cmd extends BaseAsyncCreateCmd {
|
|||
try {
|
||||
result = _userVmService.startVirtualMachine(this);
|
||||
if (result != null) {
|
||||
UserVmResponse response = ApiResponseHelper.createUserVm2Response(result);
|
||||
UserVmResponse response = _responseGenerator.createUserVm2Response(result);
|
||||
response.setPassword(password);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
|
|
@ -208,7 +206,7 @@ public class DeployVm2Cmd extends BaseAsyncCreateCmd {
|
|||
Account account = UserContext.current().getAccount();
|
||||
if ((account == null) || isAdmin(account.getType())) {
|
||||
if ((domainId != null) && (accountName != null)) {
|
||||
Account userAccount = ApiDBUtils.findAccountByNameDomain(accountName, domainId);
|
||||
Account userAccount = _responseGenerator.findAccountByNameDomain(accountName, domainId);
|
||||
if (userAccount != null) {
|
||||
return userAccount.getId();
|
||||
}
|
||||
|
|
@ -20,8 +20,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -66,7 +64,7 @@ public class DestroyVMCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
UserVm vm = ApiDBUtils.findUserVmById(getId());
|
||||
UserVm vm = _responseGenerator.findUserVmById(getId());
|
||||
if (vm != null) {
|
||||
return vm.getAccountId();
|
||||
}
|
||||
|
|
@ -88,7 +86,7 @@ public class DestroyVMCmd extends BaseAsyncCmd {
|
|||
public void execute() throws ResourceUnavailableException, ConcurrentOperationException{
|
||||
UserVm result = _userVmService.destroyVm(this);
|
||||
if (result != null) {
|
||||
UserVmResponse response = ApiResponseHelper.createUserVmResponse(result);
|
||||
UserVmResponse response = _responseGenerator.createUserVmResponse(result);
|
||||
response.setResponseName("virtualmachine");
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -20,8 +20,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -64,7 +62,7 @@ public class DetachIsoCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
UserVm vm = ApiDBUtils.findUserVmById(getVirtualMachineId());
|
||||
UserVm vm = _entityMgr.findById(UserVm.class, getVirtualMachineId());
|
||||
if (vm != null) {
|
||||
return vm.getAccountId();
|
||||
}
|
||||
|
|
@ -84,10 +82,10 @@ public class DetachIsoCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
boolean result = _templateMgr.detachIso(this);
|
||||
boolean result = _templateService.detachIso(this);
|
||||
if (result) {
|
||||
UserVm userVm = ApiDBUtils.findUserVmById(virtualMachineId);
|
||||
UserVmResponse response = ApiResponseHelper.createUserVmResponse(userVm);
|
||||
UserVm userVm = _entityMgr.findById(UserVm.class, virtualMachineId);
|
||||
UserVmResponse response = _responseGenerator.createUserVmResponse(userVm);
|
||||
response.setResponseName(DeployVMCmd.getResultObjectName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -20,8 +20,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -30,7 +28,6 @@ import com.cloud.api.ServerApiException;
|
|||
import com.cloud.api.response.VolumeResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.storage.Volume;
|
||||
import com.cloud.storage.VolumeVO;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.uservm.UserVm;
|
||||
|
||||
|
|
@ -85,12 +82,12 @@ public class DetachVolumeCmd extends BaseAsyncCmd {
|
|||
public long getAccountId() {
|
||||
Long volumeId = getId();
|
||||
if (volumeId != null) {
|
||||
VolumeVO volume = ApiDBUtils.findVolumeById(volumeId);
|
||||
Volume volume = _responseGenerator.findVolumeById(volumeId);
|
||||
if (volume != null) {
|
||||
return volume.getAccountId();
|
||||
}
|
||||
} else if (getVirtualMachineId() != null) {
|
||||
UserVm vm = ApiDBUtils.findUserVmById(getVirtualMachineId());
|
||||
UserVm vm = _responseGenerator.findUserVmById(getVirtualMachineId());
|
||||
if (vm != null) {
|
||||
return vm.getAccountId();
|
||||
}
|
||||
|
|
@ -122,7 +119,7 @@ public class DetachVolumeCmd extends BaseAsyncCmd {
|
|||
public void execute(){
|
||||
Volume result = _userVmService.detachVolumeFromVM(this);
|
||||
if (result != null){
|
||||
VolumeResponse response = ApiResponseHelper.createVolumeResponse((VolumeVO)result);
|
||||
VolumeResponse response = _responseGenerator.createVolumeResponse(result);
|
||||
response.setResponseName("volume");
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -20,7 +20,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -74,7 +73,7 @@ public class DisableAccountCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
Account account = (Account)UserContext.current().getAccount();
|
||||
Account account = UserContext.current().getAccount();
|
||||
if (account != null) {
|
||||
return account.getId();
|
||||
}
|
||||
|
|
@ -91,7 +90,7 @@ public class DisableAccountCmd extends BaseAsyncCmd {
|
|||
public void execute(){
|
||||
Account result = _accountService.disableAccount(this);
|
||||
if (result != null){
|
||||
AccountResponse response = ApiResponseHelper.createAccountResponse(result);
|
||||
AccountResponse response = _responseGenerator.createAccountResponse(result);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -20,7 +20,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -68,7 +67,7 @@ public class DisableUserCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
Account account = (Account)UserContext.current().getAccount();
|
||||
Account account = UserContext.current().getAccount();
|
||||
if (account != null) {
|
||||
return account.getId();
|
||||
}
|
||||
|
|
@ -86,7 +85,7 @@ public class DisableUserCmd extends BaseAsyncCmd {
|
|||
public void execute(){
|
||||
UserAccount user = _accountService.disableUser(this);
|
||||
if (user != null){
|
||||
UserResponse response = ApiResponseHelper.createUserResponse(user);
|
||||
UserResponse response = _responseGenerator.createUserResponse(user);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -58,7 +58,7 @@ public class DisassociateIPAddrCmd extends BaseCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
boolean result = _networkMgr.disassociateIpAddress(this);
|
||||
boolean result = _networkService.disassociateIpAddress(this);
|
||||
if (result) {
|
||||
SuccessResponse response = new SuccessResponse(getName());
|
||||
this.setResponseObject(response);
|
||||
|
|
@ -20,7 +20,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
|
|
@ -68,7 +67,7 @@ public class EnableAccountCmd extends BaseCmd {
|
|||
public void execute(){
|
||||
Account result = _accountService.enableAccount(this);
|
||||
if (result != null){
|
||||
AccountResponse response = ApiResponseHelper.createAccountResponse(result);
|
||||
AccountResponse response = _responseGenerator.createAccountResponse(result);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -21,7 +21,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
|
|
@ -63,7 +62,7 @@ public class EnableUserCmd extends BaseCmd {
|
|||
public void execute(){
|
||||
UserAccount user = _accountService.enableUser(this);
|
||||
if (user != null){
|
||||
UserResponse response = ApiResponseHelper.createUserResponse(user);
|
||||
UserResponse response = _responseGenerator.createUserResponse(user);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
|
|
@ -20,7 +20,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -29,8 +28,7 @@ import com.cloud.api.ServerApiException;
|
|||
import com.cloud.api.response.ExtractResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.exception.InternalErrorException;
|
||||
import com.cloud.storage.UploadVO;
|
||||
import com.cloud.storage.VMTemplateVO;
|
||||
import com.cloud.template.VirtualMachineTemplate;
|
||||
import com.cloud.user.Account;
|
||||
|
||||
@Implementation(description="Extracts an ISO", responseObject=ExtractResponse.class)
|
||||
|
|
@ -90,7 +88,7 @@ public class ExtractIsoCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
VMTemplateVO iso = ApiDBUtils.findTemplateById(getId());
|
||||
VirtualMachineTemplate iso = _entityMgr.findById(VirtualMachineTemplate.class, getId());
|
||||
if (iso != null) {
|
||||
return iso.getAccountId();
|
||||
}
|
||||
|
|
@ -111,21 +109,9 @@ public class ExtractIsoCmd extends BaseAsyncCmd {
|
|||
@Override
|
||||
public void execute(){
|
||||
try {
|
||||
Long uploadId = _templateMgr.extract(this);
|
||||
Long uploadId = _templateService.extract(this);
|
||||
if (uploadId != null){
|
||||
UploadVO uploadInfo = ApiDBUtils.findUploadById(uploadId);
|
||||
ExtractResponse response = new ExtractResponse();
|
||||
response.setId(id);
|
||||
response.setName(ApiDBUtils.findTemplateById(id).getName());
|
||||
response.setZoneId(zoneId);
|
||||
response.setZoneName(ApiDBUtils.findZoneById(zoneId).getName());
|
||||
response.setMode(mode);
|
||||
response.setUploadId(uploadId);
|
||||
response.setState(uploadInfo.getUploadState().toString());
|
||||
response.setAccountId(getAccountId());
|
||||
//FIX ME - Need to set the url once the gson jar is upgraded since it is throwing an error right now due to a bug.
|
||||
//response.setUrl(uploadInfo.getUploadUrl());
|
||||
response.setUrl(uploadInfo.getUploadUrl().replaceAll("/", "%2F"));
|
||||
ExtractResponse response = _responseGenerator.createExtractResponse(uploadId, id, zoneId, getAccountId(), mode);
|
||||
response.setResponseName(getName());
|
||||
response.setObjectName("iso");
|
||||
this.setResponseObject(response);
|
||||
|
|
@ -20,7 +20,6 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -29,8 +28,7 @@ import com.cloud.api.ServerApiException;
|
|||
import com.cloud.api.response.ExtractResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.exception.InternalErrorException;
|
||||
import com.cloud.storage.UploadVO;
|
||||
import com.cloud.storage.VMTemplateVO;
|
||||
import com.cloud.template.VirtualMachineTemplate;
|
||||
import com.cloud.user.Account;
|
||||
|
||||
@Implementation(description="Extracts a template", responseObject=ExtractResponse.class)
|
||||
|
|
@ -90,7 +88,7 @@ public class ExtractTemplateCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
VMTemplateVO template = ApiDBUtils.findTemplateById(getId());
|
||||
VirtualMachineTemplate template = _entityMgr.findById(VirtualMachineTemplate.class, getId());
|
||||
if (template != null) {
|
||||
return template.getAccountId();
|
||||
}
|
||||
|
|
@ -112,23 +110,10 @@ public class ExtractTemplateCmd extends BaseAsyncCmd {
|
|||
@Override
|
||||
public void execute(){
|
||||
try {
|
||||
Long uploadId = _templateMgr.extract(this);
|
||||
Long uploadId = _templateService.extract(this);
|
||||
if (uploadId != null){
|
||||
UploadVO uploadInfo = ApiDBUtils.findUploadById(uploadId);
|
||||
ExtractResponse response = new ExtractResponse();
|
||||
ExtractResponse response = _responseGenerator.createExtractResponse(uploadId, id, zoneId, getAccountId(), mode);
|
||||
response.setResponseName(getName());
|
||||
response.setObjectName("template");
|
||||
response.setId(id);
|
||||
response.setName(ApiDBUtils.findTemplateById(id).getName());
|
||||
response.setZoneId(zoneId);
|
||||
response.setZoneName(ApiDBUtils.findZoneById(zoneId).getName());
|
||||
response.setMode(mode);
|
||||
response.setUploadId(uploadId);
|
||||
response.setState(uploadInfo.getUploadState().toString());
|
||||
response.setAccountId(getAccountId());
|
||||
//FIX ME - Need to set the url once the gson jar is upgraded since it is throwing an error right now.
|
||||
//response.setUrl(uploadInfo.getUploadUrl());
|
||||
response.setUrl(uploadInfo.getUploadUrl().replaceAll("/", "%2F"));
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to extract template");
|
||||
|
|
@ -22,16 +22,16 @@ import java.net.URISyntaxException;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.ExtractResponse;
|
||||
import com.cloud.dc.DataCenter;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.storage.UploadVO;
|
||||
import com.cloud.storage.VolumeVO;
|
||||
import com.cloud.storage.Upload;
|
||||
import com.cloud.storage.Volume;
|
||||
import com.cloud.user.Account;
|
||||
|
||||
@Implementation(description="Extracts volume", responseObject=ExtractResponse.class)
|
||||
|
|
@ -94,7 +94,7 @@ public class ExtractVolumeCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
VolumeVO volume = ApiDBUtils.findVolumeById(getId());
|
||||
Volume volume = _entityMgr.findById(Volume.class, getId());
|
||||
if (volume != null) {
|
||||
return volume.getAccountId();
|
||||
}
|
||||
|
|
@ -118,14 +118,14 @@ public class ExtractVolumeCmd extends BaseAsyncCmd {
|
|||
try {
|
||||
Long uploadId = _mgr.extractVolume(this);
|
||||
if (uploadId != null){
|
||||
UploadVO uploadInfo = ApiDBUtils.findUploadById(uploadId);
|
||||
Upload uploadInfo = _entityMgr.findById(Upload.class, uploadId);
|
||||
ExtractResponse response = new ExtractResponse();
|
||||
response.setResponseName(getName());
|
||||
response.setObjectName("volume");
|
||||
response.setId(id);
|
||||
response.setName(ApiDBUtils.findVolumeById(id).getName());
|
||||
response.setName(_entityMgr.findById(Volume.class, id).getName());
|
||||
response.setZoneId(zoneId);
|
||||
response.setZoneName(ApiDBUtils.findZoneById(zoneId).getName());
|
||||
response.setZoneName(_entityMgr.findById(DataCenter.class, zoneId).getName());
|
||||
response.setMode(mode);
|
||||
response.setUploadId(uploadId);
|
||||
response.setState(uploadInfo.getUploadState().toString());
|
||||
|
|
@ -23,13 +23,12 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.AccountResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.user.AccountVO;
|
||||
import com.cloud.user.Account;
|
||||
|
||||
@Implementation(description="Lists accounts and provides detailed account information for listed accounts", responseObject=AccountResponse.class)
|
||||
public class ListAccountsCmd extends BaseListCmd {
|
||||
|
|
@ -98,11 +97,11 @@ public class ListAccountsCmd extends BaseListCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
List<AccountVO> accounts = _mgr.searchForAccounts(this);
|
||||
List<? extends Account> accounts = _mgr.searchForAccounts(this);
|
||||
ListResponse<AccountResponse> response = new ListResponse<AccountResponse>();
|
||||
List<AccountResponse> accountResponses = new ArrayList<AccountResponse>();
|
||||
for (AccountVO account : accounts) {
|
||||
AccountResponse acctResponse = ApiResponseHelper.createAccountResponse(account);
|
||||
for (Account account : accounts) {
|
||||
AccountResponse acctResponse = _responseGenerator.createAccountResponse(account);
|
||||
acctResponse.setObjectName("account");
|
||||
accountResponses.add(acctResponse);
|
||||
}
|
||||
|
|
@ -22,7 +22,7 @@ import java.util.List;
|
|||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.alert.AlertVO;
|
||||
import com.cloud.alert.Alert;
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
|
|
@ -63,10 +63,10 @@ public class ListAlertsCmd extends BaseListCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
List<AlertVO> result = _mgr.searchForAlerts(this);
|
||||
List<? extends Alert> result = _mgr.searchForAlerts(this);
|
||||
ListResponse<AlertResponse> response = new ListResponse<AlertResponse>();
|
||||
List<AlertResponse> alertResponseList = new ArrayList<AlertResponse>();
|
||||
for (AlertVO alert : result) {
|
||||
for (Alert alert : result) {
|
||||
AlertResponse alertResponse = new AlertResponse();
|
||||
alertResponse.setId(alert.getId());
|
||||
alertResponse.setAlertType(alert.getType());
|
||||
|
|
@ -22,14 +22,12 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiSerializerHelper;
|
||||
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.AsyncJobResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.async.AsyncJobVO;
|
||||
import com.cloud.async.AsyncJob;
|
||||
|
||||
@Implementation(description="Lists all pending asynchronous jobs for the account.", responseObject=AsyncJobResponse.class)
|
||||
public class ListAsyncJobsCmd extends BaseListCmd {
|
||||
|
|
@ -75,25 +73,11 @@ public class ListAsyncJobsCmd extends BaseListCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
List<AsyncJobVO> result = _mgr.searchForAsyncJobs(this);
|
||||
List<? extends AsyncJob> result = _mgr.searchForAsyncJobs(this);
|
||||
ListResponse<AsyncJobResponse> response = new ListResponse<AsyncJobResponse>();
|
||||
List<AsyncJobResponse> jobResponses = new ArrayList<AsyncJobResponse>();
|
||||
for (AsyncJobVO job : result) {
|
||||
AsyncJobResponse jobResponse = new AsyncJobResponse();
|
||||
jobResponse.setAccountId(job.getAccountId());
|
||||
jobResponse.setCmd(job.getCmd());
|
||||
jobResponse.setCreated(job.getCreated());
|
||||
jobResponse.setId(job.getId());
|
||||
jobResponse.setJobInstanceId(job.getInstanceId());
|
||||
jobResponse.setJobInstanceType(job.getInstanceType());
|
||||
jobResponse.setJobProcStatus(job.getProcessStatus());
|
||||
jobResponse.setJobResult((ResponseObject)ApiSerializerHelper.fromSerializedString(job.getResult()));
|
||||
jobResponse.setJobResultCode(job.getResultCode());
|
||||
jobResponse.setJobStatus(job.getStatus());
|
||||
jobResponse.setUserId(job.getUserId());
|
||||
|
||||
jobResponse.setObjectName("asyncjobs");
|
||||
jobResponses.add(jobResponse);
|
||||
for (AsyncJob job : result) {
|
||||
jobResponses.add(_responseGenerator.createAsyncJobResponse(job));
|
||||
}
|
||||
|
||||
response.setResponses(jobResponses);
|
||||
|
|
@ -0,0 +1,109 @@
|
|||
/**
|
||||
* Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
|
||||
*
|
||||
* This software is licensed under the GNU General Public License v3 or later.
|
||||
*
|
||||
* It is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or any later version.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package com.cloud.api.commands;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.CapacityResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.capacity.Capacity;
|
||||
|
||||
@Implementation(description="Lists capacity.", responseObject=CapacityResponse.class)
|
||||
public class ListCapacityCmd extends BaseListCmd {
|
||||
|
||||
public static final Logger s_logger = Logger.getLogger(ListCapacityCmd.class.getName());
|
||||
private static final DecimalFormat s_percentFormat = new DecimalFormat("##.##");
|
||||
|
||||
private static final String s_name = "listcapacityresponse";
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
//////////////// API parameters /////////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
@Parameter(name=ApiConstants.HOST_ID, type=CommandType.LONG, description="lists capacity by the Host ID")
|
||||
private Long hostId;
|
||||
|
||||
@Parameter(name=ApiConstants.POD_ID, type=CommandType.LONG, description="lists capacity by the Pod ID")
|
||||
private Long podId;
|
||||
|
||||
@Parameter(name=ApiConstants.TYPE, type=CommandType.STRING, description="lists capacity by type")
|
||||
private String type;
|
||||
|
||||
@Parameter(name=ApiConstants.ZONE_ID, type=CommandType.LONG, description="lists capacity by the Zone ID")
|
||||
private Long zoneId;
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
/////////////////// Accessors ///////////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
public Long getHostId() {
|
||||
return hostId;
|
||||
}
|
||||
|
||||
public Long getPodId() {
|
||||
return podId;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public Long getZoneId() {
|
||||
return zoneId;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
/////////////// API Implementation///////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return s_name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getPageSizeVal() {
|
||||
Long pageSizeVal = 1000000L;
|
||||
Integer pageSize = getPageSize();
|
||||
if (pageSize != null) {
|
||||
pageSizeVal = pageSize.longValue();
|
||||
}
|
||||
return pageSizeVal;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void execute(){
|
||||
List<? extends Capacity> result = _mgr.listCapacities(this);
|
||||
ListResponse<CapacityResponse> response = new ListResponse<CapacityResponse>();
|
||||
List<CapacityResponse> capacityResponses = _responseGenerator.createCapacityResponse(result, s_percentFormat);
|
||||
response.setResponses(capacityResponses);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
}
|
||||
}
|
||||
|
|
@ -24,13 +24,12 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.ConfigurationResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.configuration.ConfigurationVO;
|
||||
import com.cloud.configuration.Configuration;
|
||||
|
||||
@Implementation(description="Lists all configurations.", responseObject=ConfigurationResponse.class)
|
||||
public class ListCfgsByCmd extends BaseListCmd {
|
||||
|
|
@ -73,11 +72,11 @@ public class ListCfgsByCmd extends BaseListCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
List<ConfigurationVO> result = _mgr.searchForConfigurations(this);
|
||||
List<? extends Configuration> result = _mgr.searchForConfigurations(this);
|
||||
ListResponse<ConfigurationResponse> response = new ListResponse<ConfigurationResponse>();
|
||||
List<ConfigurationResponse> configResponses = new ArrayList<ConfigurationResponse>();
|
||||
for (ConfigurationVO cfg : result) {
|
||||
ConfigurationResponse cfgResponse = ApiResponseHelper.createConfigurationResponse(cfg);
|
||||
for (Configuration cfg : result) {
|
||||
ConfigurationResponse cfgResponse = _responseGenerator.createConfigurationResponse(cfg);
|
||||
cfgResponse.setObjectName("configuration");
|
||||
configResponses.add(cfgResponse);
|
||||
}
|
||||
|
|
@ -24,13 +24,12 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.ClusterResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.dc.ClusterVO;
|
||||
import com.cloud.org.Cluster;
|
||||
|
||||
@Implementation(description="Lists clusters.", responseObject=ClusterResponse.class)
|
||||
public class ListClustersCmd extends BaseListCmd {
|
||||
|
|
@ -86,11 +85,11 @@ public class ListClustersCmd extends BaseListCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
List<ClusterVO> result = _mgr.searchForClusters(this);
|
||||
List<? extends Cluster> result = _mgr.searchForClusters(this);
|
||||
ListResponse<ClusterResponse> response = new ListResponse<ClusterResponse>();
|
||||
List<ClusterResponse> clusterResponses = new ArrayList<ClusterResponse>();
|
||||
for (ClusterVO cluster : result) {
|
||||
ClusterResponse clusterResponse = ApiResponseHelper.createClusterResponse(cluster);
|
||||
for (Cluster cluster : result) {
|
||||
ClusterResponse clusterResponse = _responseGenerator.createClusterResponse(cluster);
|
||||
clusterResponse.setObjectName("cluster");
|
||||
clusterResponses.add(clusterResponse);
|
||||
}
|
||||
|
|
@ -23,13 +23,12 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.DiskOfferingResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.storage.DiskOfferingVO;
|
||||
import com.cloud.offering.DiskOffering;
|
||||
|
||||
@Implementation(description="Lists all available disk offerings.", responseObject=DiskOfferingResponse.class)
|
||||
public class ListDiskOfferingsCmd extends BaseListCmd {
|
||||
|
|
@ -77,11 +76,11 @@ public class ListDiskOfferingsCmd extends BaseListCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
List<DiskOfferingVO> result = _mgr.searchForDiskOfferings(this);
|
||||
List<? extends DiskOffering> result = _mgr.searchForDiskOfferings(this);
|
||||
ListResponse<DiskOfferingResponse> response = new ListResponse<DiskOfferingResponse>();
|
||||
List<DiskOfferingResponse> diskOfferingResponses = new ArrayList<DiskOfferingResponse>();
|
||||
for (DiskOfferingVO offering : result) {
|
||||
DiskOfferingResponse diskOffResp = ApiResponseHelper.createDiskOfferingResponse(offering);
|
||||
for (DiskOffering offering : result) {
|
||||
DiskOfferingResponse diskOffResp = _responseGenerator.createDiskOfferingResponse(offering);
|
||||
diskOffResp.setObjectName("diskoffering");
|
||||
diskOfferingResponses.add(diskOffResp);
|
||||
}
|
||||
|
|
@ -23,13 +23,12 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.DomainResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.domain.DomainVO;
|
||||
import com.cloud.domain.Domain;
|
||||
|
||||
@Implementation(description="Lists all children domains belonging to a specified domain", responseObject=DomainResponse.class)
|
||||
public class ListDomainChildrenCmd extends BaseListCmd {
|
||||
|
|
@ -77,11 +76,11 @@ public class ListDomainChildrenCmd extends BaseListCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
List<DomainVO> result = _mgr.searchForDomainChildren(this);
|
||||
List<? extends Domain> result = _mgr.searchForDomainChildren(this);
|
||||
ListResponse<DomainResponse> response = new ListResponse<DomainResponse>();
|
||||
List<DomainResponse> domainResponses = new ArrayList<DomainResponse>();
|
||||
for (DomainVO domain : result) {
|
||||
DomainResponse domainResponse = ApiResponseHelper.createDomainResponse(domain);
|
||||
for (Domain domain : result) {
|
||||
DomainResponse domainResponse = _responseGenerator.createDomainResponse(domain);
|
||||
domainResponse.setObjectName("domain");
|
||||
domainResponses.add(domainResponse);
|
||||
}
|
||||
|
|
@ -23,13 +23,12 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.DomainResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.domain.DomainVO;
|
||||
import com.cloud.domain.Domain;
|
||||
|
||||
@Implementation(description="Lists domains and provides detailed information for listed domains", responseObject=DomainResponse.class)
|
||||
public class ListDomainsCmd extends BaseListCmd {
|
||||
|
|
@ -77,11 +76,11 @@ public class ListDomainsCmd extends BaseListCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
List<DomainVO> result = _mgr.searchForDomains(this);
|
||||
List<? extends Domain> result = _mgr.searchForDomains(this);
|
||||
ListResponse<DomainResponse> response = new ListResponse<DomainResponse>();
|
||||
List<DomainResponse> domainResponses = new ArrayList<DomainResponse>();
|
||||
for (DomainVO domain : result) {
|
||||
DomainResponse domainResponse = ApiResponseHelper.createDomainResponse(domain);
|
||||
for (Domain domain : result) {
|
||||
DomainResponse domainResponse = _responseGenerator.createDomainResponse(domain);
|
||||
domainResponse.setObjectName("domain");
|
||||
domainResponses.add(domainResponse);
|
||||
}
|
||||
|
|
@ -24,14 +24,12 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
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.EventResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.event.EventVO;
|
||||
import com.cloud.user.User;
|
||||
import com.cloud.event.Event;
|
||||
|
||||
@Implementation(description="A command to list events.", responseObject=EventResponse.class)
|
||||
public class ListEventsCmd extends BaseListCmd {
|
||||
|
|
@ -114,28 +112,11 @@ public class ListEventsCmd extends BaseListCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
List<EventVO> result = _mgr.searchForEvents(this);
|
||||
List<? extends Event> result = _mgr.searchForEvents(this);
|
||||
ListResponse<EventResponse> response = new ListResponse<EventResponse>();
|
||||
List<EventResponse> eventResponses = new ArrayList<EventResponse>();
|
||||
for (EventVO event : result) {
|
||||
EventResponse responseEvent = new EventResponse();
|
||||
responseEvent.setAccountName(event.getAccountName());
|
||||
responseEvent.setCreated(event.getCreateDate());
|
||||
responseEvent.setDescription(event.getDescription());
|
||||
responseEvent.setDomainId(event.getDomainId());
|
||||
responseEvent.setEventType(event.getType());
|
||||
responseEvent.setId(event.getId());
|
||||
responseEvent.setLevel(event.getLevel());
|
||||
responseEvent.setParentId(event.getStartId());
|
||||
responseEvent.setState(event.getState());
|
||||
responseEvent.setDomainName(ApiDBUtils.findDomainById(event.getDomainId()).getName());
|
||||
User user = ApiDBUtils.findUserById(event.getUserId());
|
||||
if (user != null) {
|
||||
responseEvent.setUsername(user.getUsername());
|
||||
}
|
||||
|
||||
responseEvent.setObjectName("event");
|
||||
eventResponses.add(responseEvent);
|
||||
for (Event event : result) {
|
||||
eventResponses.add(_responseGenerator.createEventResponse(event));
|
||||
}
|
||||
|
||||
response.setResponses(eventResponses);
|
||||
|
|
@ -29,7 +29,7 @@ import com.cloud.api.Implementation;
|
|||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.GuestOSCategoryResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.storage.GuestOSCategoryVO;
|
||||
import com.cloud.storage.GuestOsCategory;
|
||||
|
||||
@Implementation(description="Lists all supported OS categories for this cloud.", responseObject=GuestOSCategoryResponse.class)
|
||||
public class ListGuestOsCategoriesCmd extends BaseListCmd {
|
||||
|
|
@ -65,10 +65,10 @@ public class ListGuestOsCategoriesCmd extends BaseListCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
List<GuestOSCategoryVO> result = _mgr.listGuestOSCategoriesByCriteria(this);
|
||||
List<? extends GuestOsCategory> result = _mgr.listGuestOSCategoriesByCriteria(this);
|
||||
ListResponse<GuestOSCategoryResponse> response = new ListResponse<GuestOSCategoryResponse>();
|
||||
List<GuestOSCategoryResponse> osCatResponses = new ArrayList<GuestOSCategoryResponse>();
|
||||
for (GuestOSCategoryVO osCategory : result) {
|
||||
for (GuestOsCategory osCategory : result) {
|
||||
GuestOSCategoryResponse categoryResponse = new GuestOSCategoryResponse();
|
||||
categoryResponse.setId(osCategory.getId());
|
||||
categoryResponse.setName(osCategory.getName());
|
||||
|
|
@ -29,7 +29,7 @@ import com.cloud.api.Implementation;
|
|||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.GuestOSResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.storage.GuestOSVO;
|
||||
import com.cloud.storage.GuestOS;
|
||||
|
||||
@Implementation(description="Lists all supported OS types for this cloud.", responseObject=GuestOSResponse.class)
|
||||
public class ListGuestOsCmd extends BaseListCmd {
|
||||
|
|
@ -82,10 +82,10 @@ public class ListGuestOsCmd extends BaseListCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
List<GuestOSVO> result = _mgr.listGuestOSByCriteria(this);
|
||||
List<? extends GuestOS> result = _mgr.listGuestOSByCriteria(this);
|
||||
ListResponse<GuestOSResponse> response = new ListResponse<GuestOSResponse>();
|
||||
List<GuestOSResponse> osResponses = new ArrayList<GuestOSResponse>();
|
||||
for (GuestOSVO guestOS : result) {
|
||||
for (GuestOS guestOS : result) {
|
||||
GuestOSResponse guestOSResponse = new GuestOSResponse();
|
||||
guestOSResponse.setDescription(guestOS.getDisplayName());
|
||||
guestOSResponse.setId(guestOS.getId());
|
||||
|
|
@ -24,13 +24,12 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.HostResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.host.HostVO;
|
||||
import com.cloud.host.Host;
|
||||
|
||||
@Implementation(description="Lists hosts.", responseObject=HostResponse.class)
|
||||
public class ListHostsCmd extends BaseListCmd {
|
||||
|
|
@ -108,12 +107,12 @@ public class ListHostsCmd extends BaseListCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
List<HostVO> result = _mgr.searchForServers(this);
|
||||
List<? extends Host> result = _mgr.searchForServers(this);
|
||||
|
||||
ListResponse<HostResponse> response = new ListResponse<HostResponse>();
|
||||
List<HostResponse> hostResponses = new ArrayList<HostResponse>();
|
||||
for (HostVO host : result) {
|
||||
HostResponse hostResponse = ApiResponseHelper.createHostResponse(host);
|
||||
for (Host host : result) {
|
||||
HostResponse hostResponse = _responseGenerator.createHostResponse(host);
|
||||
hostResponse.setObjectName("host");
|
||||
hostResponses.add(hostResponse);
|
||||
}
|
||||
|
|
@ -23,14 +23,13 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.FirewallRuleResponse;
|
||||
import com.cloud.api.response.IpForwardingRuleResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.network.FirewallRuleVO;
|
||||
import com.cloud.network.rules.FirewallRule;
|
||||
|
||||
@Implementation(description="List the ip forwarding rules", responseObject=FirewallRuleResponse.class)
|
||||
public class ListIpForwardingRulesCmd extends BaseListCmd {
|
||||
|
|
@ -68,11 +67,11 @@ public class ListIpForwardingRulesCmd extends BaseListCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
List<FirewallRuleVO> result = _mgr.searchForIpForwardingRules(this);
|
||||
List<? extends FirewallRule> result = _mgr.searchForIpForwardingRules(this);
|
||||
ListResponse<IpForwardingRuleResponse> response = new ListResponse<IpForwardingRuleResponse>();
|
||||
List<IpForwardingRuleResponse> ipForwardingResponses = new ArrayList<IpForwardingRuleResponse>();
|
||||
for (FirewallRuleVO rule : result) {
|
||||
IpForwardingRuleResponse resp = ApiResponseHelper.createIpForwardingRuleResponse(rule);
|
||||
for (FirewallRule rule : result) {
|
||||
IpForwardingRuleResponse resp = _responseGenerator.createIpForwardingRuleResponse(rule);
|
||||
if (resp != null) {
|
||||
ipForwardingResponses.add(resp);
|
||||
}
|
||||
|
|
@ -3,22 +3,24 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.storage.Storage.ImageFormat;
|
||||
import com.cloud.storage.VMTemplateVO;
|
||||
import com.cloud.template.VirtualMachineTemplate;
|
||||
|
||||
public class ListIsoPermissionsCmd extends ListTemplateOrIsoPermissionsCmd {
|
||||
protected String getResponseName() {
|
||||
return "listisopermissionsresponse";
|
||||
}
|
||||
|
||||
public String getMediaType() {
|
||||
@Override
|
||||
public String getMediaType() {
|
||||
return "iso";
|
||||
}
|
||||
|
||||
protected Logger getLogger() {
|
||||
@Override
|
||||
protected Logger getLogger() {
|
||||
return Logger.getLogger(ListIsoPermissionsCmd.class.getName());
|
||||
}
|
||||
|
||||
protected boolean templateIsCorrectType(VMTemplateVO template) {
|
||||
protected boolean templateIsCorrectType(VirtualMachineTemplate template) {
|
||||
return template.getFormat().equals(ImageFormat.ISO);
|
||||
}
|
||||
}
|
||||
|
|
@ -18,28 +18,18 @@
|
|||
|
||||
package com.cloud.api.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
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.ListResponse;
|
||||
import com.cloud.api.response.TemplateResponse;
|
||||
import com.cloud.async.AsyncJobVO;
|
||||
import com.cloud.dc.DataCenterVO;
|
||||
import com.cloud.host.HostVO;
|
||||
import com.cloud.storage.GuestOS;
|
||||
import com.cloud.storage.VMTemplateHostVO;
|
||||
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
|
||||
import com.cloud.storage.VMTemplateVO;
|
||||
import com.cloud.storage.dao.VMTemplateDao.TemplateFilter;
|
||||
import com.cloud.template.VirtualMachineTemplate;
|
||||
import com.cloud.template.VirtualMachineTemplate.TemplateFilter;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.UserContext;
|
||||
|
||||
|
|
@ -142,7 +132,7 @@ public class ListIsosCmd extends BaseListCmd {
|
|||
|
||||
@Override
|
||||
public void execute(){
|
||||
List<VMTemplateVO> isos = _mgr.listIsos(this);
|
||||
List<? extends VirtualMachineTemplate> isos = _mgr.listIsos(this);
|
||||
TemplateFilter isoFilterObj = null;
|
||||
|
||||
try {
|
||||
|
|
@ -158,7 +148,7 @@ public class ListIsosCmd extends BaseListCmd {
|
|||
|
||||
boolean isAdmin = false;
|
||||
boolean isAccountSpecific = true;
|
||||
Account account = (Account)UserContext.current().getAccount();
|
||||
Account account = UserContext.current().getAccount();
|
||||
if ((account == null) || (account.getType() == Account.ACCOUNT_TYPE_ADMIN) || (account.getType() == Account.ACCOUNT_TYPE_DOMAIN_ADMIN)) {
|
||||
isAdmin = true;
|
||||
if ((accountName == null) || (domainId == null)) {
|
||||
|
|
@ -173,114 +163,7 @@ public class ListIsosCmd extends BaseListCmd {
|
|||
(isoFilterObj == TemplateFilter.community);
|
||||
|
||||
|
||||
Map<Long, List<VMTemplateHostVO>> isoHostsMap = new HashMap<Long, List<VMTemplateHostVO>>();
|
||||
for (VMTemplateVO iso : isos) {
|
||||
// TODO: implement
|
||||
List<VMTemplateHostVO> isoHosts = ApiDBUtils.listTemplateHostBy(iso.getId(), zoneId);
|
||||
if (iso.getName().equals("xs-tools.iso")) {
|
||||
List<Long> xstoolsZones = new ArrayList<Long>();
|
||||
// the xs-tools.iso is a special case since it will be available on every computing host in the zone and we want to return it once per zone
|
||||
List<VMTemplateHostVO> xstoolsHosts = new ArrayList<VMTemplateHostVO>();
|
||||
for (VMTemplateHostVO isoHost : isoHosts) {
|
||||
// TODO: implement
|
||||
HostVO host = ApiDBUtils.findHostById(isoHost.getHostId());
|
||||
if (!xstoolsZones.contains(Long.valueOf(host.getDataCenterId()))) {
|
||||
xstoolsZones.add(Long.valueOf(host.getDataCenterId()));
|
||||
xstoolsHosts.add(isoHost);
|
||||
}
|
||||
}
|
||||
isoHostsMap.put(iso.getId(), xstoolsHosts);
|
||||
} else {
|
||||
isoHostsMap.put(iso.getId(), isoHosts);
|
||||
}
|
||||
}
|
||||
|
||||
ListResponse<TemplateResponse> response = new ListResponse<TemplateResponse>();
|
||||
List<TemplateResponse> isoResponses = new ArrayList<TemplateResponse>();
|
||||
for (VMTemplateVO iso : isos) {
|
||||
List<VMTemplateHostVO> isoHosts = isoHostsMap.get(iso.getId());
|
||||
for (VMTemplateHostVO isoHost : isoHosts) {
|
||||
if (onlyReady && isoHost.getDownloadState() != Status.DOWNLOADED) {
|
||||
continue;
|
||||
}
|
||||
|
||||
TemplateResponse isoResponse = new TemplateResponse();
|
||||
isoResponse.setId(iso.getId());
|
||||
isoResponse.setName(iso.getName());
|
||||
isoResponse.setDisplayText(iso.getDisplayText());
|
||||
isoResponse.setPublic(iso.isPublicTemplate());
|
||||
isoResponse.setCreated(isoHost.getCreated());
|
||||
isoResponse.setReady(isoHost.getDownloadState() == Status.DOWNLOADED);
|
||||
isoResponse.setBootable(iso.isBootable());
|
||||
isoResponse.setFeatured(iso.isFeatured());
|
||||
isoResponse.setCrossZones(iso.isCrossZones());
|
||||
isoResponse.setPublic(iso.isPublicTemplate());
|
||||
|
||||
// TODO: implement
|
||||
GuestOS os = ApiDBUtils.findGuestOSById(iso.getGuestOSId());
|
||||
if (os != null) {
|
||||
isoResponse.setOsTypeId(os.getId());
|
||||
isoResponse.setOsTypeName(os.getDisplayName());
|
||||
} else {
|
||||
isoResponse.setOsTypeId(-1L);
|
||||
isoResponse.setOsTypeName("");
|
||||
}
|
||||
|
||||
// add account ID and name
|
||||
Account owner = ApiDBUtils.findAccountById(iso.getAccountId());
|
||||
if (owner != null) {
|
||||
isoResponse.setAccount(owner.getAccountName());
|
||||
isoResponse.setDomainId(owner.getDomainId());
|
||||
// TODO: implement
|
||||
isoResponse.setDomainName(ApiDBUtils.findDomainById(owner.getDomainId()).getName());
|
||||
}
|
||||
|
||||
// Add the zone ID
|
||||
// TODO: implement
|
||||
HostVO host = ApiDBUtils.findHostById(isoHost.getHostId());
|
||||
DataCenterVO datacenter = ApiDBUtils.findZoneById(host.getDataCenterId());
|
||||
isoResponse.setZoneId(host.getDataCenterId());
|
||||
isoResponse.setZoneName(datacenter.getName());
|
||||
|
||||
// If the user is an admin, add the template download status
|
||||
if (isAdmin || account.getId() == iso.getAccountId()) {
|
||||
// add download status
|
||||
if (isoHost.getDownloadState()!=Status.DOWNLOADED) {
|
||||
String isoStatus = "Processing";
|
||||
if (isoHost.getDownloadState() == VMTemplateHostVO.Status.DOWNLOADED) {
|
||||
isoStatus = "Download Complete";
|
||||
} else if (isoHost.getDownloadState() == VMTemplateHostVO.Status.DOWNLOAD_IN_PROGRESS) {
|
||||
if (isoHost.getDownloadPercent() == 100) {
|
||||
isoStatus = "Installing ISO";
|
||||
} else {
|
||||
isoStatus = isoHost.getDownloadPercent() + "% Downloaded";
|
||||
}
|
||||
} else {
|
||||
isoStatus = isoHost.getErrorString();
|
||||
}
|
||||
isoResponse.setStatus(isoStatus);
|
||||
} else {
|
||||
isoResponse.setStatus("Successfully Installed");
|
||||
}
|
||||
}
|
||||
|
||||
long isoSize = isoHost.getSize();
|
||||
if (isoSize > 0) {
|
||||
isoResponse.setSize(isoSize);
|
||||
}
|
||||
|
||||
AsyncJobVO asyncJob = ApiDBUtils.findInstancePendingAsyncJob("vm_template", iso.getId());
|
||||
if(asyncJob != null) {
|
||||
isoResponse.setJobId(asyncJob.getId());
|
||||
isoResponse.setJobStatus(asyncJob.getStatus());
|
||||
}
|
||||
|
||||
isoResponse.setObjectName("iso");
|
||||
isoResponses.add(isoResponse);
|
||||
}
|
||||
}
|
||||
|
||||
response.setResponses(isoResponses);
|
||||
ListResponse<TemplateResponse> response = _responseGenerator.createIsoResponse(isos, zoneId, onlyReady, isAdmin, account);
|
||||
response.setResponseName(getName());
|
||||
this.setResponseObject(response);
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue