ExternalUUID control: enforce checking uuid validity by defining checkUUID method in the corresponding absract class, and performing the check during API command dispatching

This commit is contained in:
Alena Prokharchyk 2014-02-04 15:21:09 -08:00
parent e5335cd6e4
commit 7cb4b571c8
10 changed files with 19 additions and 10 deletions

View File

@ -27,6 +27,6 @@ public abstract class BaseAsyncCustomIdCmd extends BaseAsyncCmd {
return customId;
}
public abstract void checkUuid(String id, Class<?> cls);
public abstract void checkUuid();
}

View File

@ -27,6 +27,6 @@ public abstract class BaseCustomIdCmd extends BaseCmd {
return customId;
}
public abstract void checkUuid(String id, Class<?> cls);
public abstract void checkUuid();
}

View File

@ -155,7 +155,7 @@ public class UpdateAutoScaleVmGroupCmd extends BaseAsyncCustomIdCmd {
}
@Override
public void checkUuid(String id, Class<?> cls) {
public void checkUuid() {
if (this.getCustomId() != null) {
_uuidMgr.checkUuid(this.getCustomId(), AutoScaleVmGroup.class);
}

View File

@ -147,7 +147,7 @@ public class UpdateAutoScaleVmProfileCmd extends BaseAsyncCustomIdCmd {
}
@Override
public void checkUuid(String id, Class<?> cls) {
public void checkUuid() {
if (this.getCustomId() != null) {
_uuidMgr.checkUuid(this.getCustomId(), AutoScaleVmProfile.class);
}

View File

@ -174,7 +174,7 @@ public class UpdateNetworkACLItemCmd extends BaseAsyncCustomIdCmd {
}
@Override
public void checkUuid(String id, Class<?> cls) {
public void checkUuid() {
if (this.getCustomId() != null) {
_uuidMgr.checkUuid(this.getCustomId(), NetworkACLItem.class);
}

View File

@ -190,7 +190,7 @@ public class UpdateNetworkCmd extends BaseAsyncCustomIdCmd {
}
@Override
public void checkUuid(String id, Class<?> cls) {
public void checkUuid() {
if (this.getCustomId() != null) {
_uuidMgr.checkUuid(this.getCustomId(), Network.class);
}

View File

@ -148,7 +148,7 @@ public class UpdateVMCmd extends BaseCustomIdCmd {
}
@Override
public void checkUuid(String id, Class<?> cls) {
public void checkUuid() {
if (this.getCustomId() != null) {
_uuidMgr.checkUuid(this.getCustomId(), UserVm.class);

View File

@ -150,7 +150,7 @@ public class UpdateVolumeCmd extends BaseAsyncCustomIdCmd {
}
@Override
public void checkUuid(String id, Class<?> cls) {
public void checkUuid() {
if (this.getCustomId() != null) {
_uuidMgr.checkUuid(this.getCustomId(), Volume.class);
}

View File

@ -115,7 +115,7 @@ public class UpdateVPCCmd extends BaseAsyncCustomIdCmd {
}
@Override
public void checkUuid(String id, Class<?> cls) {
public void checkUuid() {
if (this.getCustomId() != null) {
_uuidMgr.checkUuid(this.getCustomId(), Vpc.class);
}

View File

@ -21,14 +21,16 @@ import java.util.Map;
import javax.annotation.PostConstruct;
import javax.inject.Inject;
import org.apache.log4j.Logger;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.BaseAsyncCmd;
import org.apache.cloudstack.api.BaseAsyncCreateCmd;
import org.apache.cloudstack.api.BaseAsyncCustomIdCmd;
import org.apache.cloudstack.api.BaseCmd;
import org.apache.cloudstack.api.BaseCustomIdCmd;
import org.apache.cloudstack.context.CallContext;
import org.apache.cloudstack.framework.jobs.AsyncJob;
import org.apache.cloudstack.framework.jobs.AsyncJobManager;
import org.apache.log4j.Logger;
import com.cloud.api.dispatch.DispatchChain;
import com.cloud.api.dispatch.DispatchChainFactory;
@ -97,6 +99,13 @@ public class ApiDispatcher {
}
}
}
if (cmd instanceof BaseAsyncCustomIdCmd) {
((BaseAsyncCustomIdCmd)cmd).checkUuid();
} else if (cmd instanceof BaseCustomIdCmd) {
((BaseCustomIdCmd)cmd).checkUuid();
}
cmd.execute();
}