Make CreateVpnGatewayCmd implements BaseAsyncCreateCmd

Instead of BaseAsyncCmd.
This commit is contained in:
Sheng Yang 2014-06-11 18:34:50 -07:00
parent 37aabd1998
commit 60638c1539

View File

@ -16,25 +16,26 @@
// under the License. // under the License.
package org.apache.cloudstack.api.command.user.vpn; package org.apache.cloudstack.api.command.user.vpn;
import org.apache.log4j.Logger; import com.cloud.event.EventTypes;
import com.cloud.exception.ResourceAllocationException;
import com.cloud.network.Site2SiteVpnGateway;
import com.cloud.network.vpc.Vpc;
import org.apache.cloudstack.acl.RoleType; import org.apache.cloudstack.acl.RoleType;
import org.apache.cloudstack.api.APICommand; import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.ApiErrorCode; import org.apache.cloudstack.api.ApiErrorCode;
import org.apache.cloudstack.api.BaseAsyncCmd; import org.apache.cloudstack.api.BaseAsyncCmd;
import org.apache.cloudstack.api.BaseAsyncCreateCmd;
import org.apache.cloudstack.api.Parameter; import org.apache.cloudstack.api.Parameter;
import org.apache.cloudstack.api.ServerApiException; import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.api.response.Site2SiteVpnGatewayResponse; import org.apache.cloudstack.api.response.Site2SiteVpnGatewayResponse;
import org.apache.cloudstack.api.response.VpcResponse; import org.apache.cloudstack.api.response.VpcResponse;
import org.apache.cloudstack.context.CallContext;
import com.cloud.event.EventTypes; import org.apache.log4j.Logger;
import com.cloud.network.Site2SiteVpnGateway;
import com.cloud.network.vpc.Vpc;
@APICommand(name = "createVpnGateway", description = "Creates site to site vpn local gateway", responseObject = Site2SiteVpnGatewayResponse.class, entityType = {Site2SiteVpnGateway.class}, @APICommand(name = "createVpnGateway", description = "Creates site to site vpn local gateway", responseObject = Site2SiteVpnGatewayResponse.class, entityType = {Site2SiteVpnGateway.class},
requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) requestHasSensitiveInfo = false, responseHasSensitiveInfo = false)
public class CreateVpnGatewayCmd extends BaseAsyncCmd { public class CreateVpnGatewayCmd extends BaseAsyncCreateCmd {
public static final Logger s_logger = Logger.getLogger(CreateVpnGatewayCmd.class.getName()); public static final Logger s_logger = Logger.getLogger(CreateVpnGatewayCmd.class.getName());
private static final String s_name = "createvpngatewayresponse"; private static final String s_name = "createvpngatewayresponse";
@ -101,8 +102,8 @@ public class CreateVpnGatewayCmd extends BaseAsyncCmd {
@Override @Override
public void execute() { public void execute() {
Site2SiteVpnGateway result; CallContext.current().setEventDetails("VPN gateway Id: " + getEntityId());
result = _s2sVpnService.createVpnGateway(this); Site2SiteVpnGateway result = _s2sVpnService.getVpnGateway(getEntityId());
if (result != null) { if (result != null) {
Site2SiteVpnGatewayResponse response = _responseGenerator.createSite2SiteVpnGatewayResponse(result); Site2SiteVpnGatewayResponse response = _responseGenerator.createSite2SiteVpnGatewayResponse(result);
response.setResponseName(getCommandName()); response.setResponseName(getCommandName());
@ -121,4 +122,15 @@ public class CreateVpnGatewayCmd extends BaseAsyncCmd {
public Long getSyncObjId() { public Long getSyncObjId() {
return getVpcId(); return getVpcId();
} }
@Override
public void create() throws ResourceAllocationException {
Site2SiteVpnGateway result = _s2sVpnService.createVpnGateway(this);
if (result != null) {
setEntityId(result.getId());
setEntityUuid(result.getUuid());
} else {
throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to create VPN gateway");
}
}
} }