Skip to content

Commit 7cb4b57

Browse files
author
Alena Prokharchyk
committed
ExternalUUID control: enforce checking uuid validity by defining checkUUID method in the corresponding absract class, and performing the check during API command dispatching
1 parent e5335cd commit 7cb4b57

10 files changed

Lines changed: 19 additions & 10 deletions

File tree

api/src/org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,6 @@ public String getCustomId() {
2727
return customId;
2828
}
2929

30-
public abstract void checkUuid(String id, Class<?> cls);
30+
public abstract void checkUuid();
3131

3232
}

api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,6 @@ public String getCustomId() {
2727
return customId;
2828
}
2929

30-
public abstract void checkUuid(String id, Class<?> cls);
30+
public abstract void checkUuid();
3131

3232
}

api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmGroupCmd.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ public ApiCommandJobType getInstanceType() {
155155
}
156156

157157
@Override
158-
public void checkUuid(String id, Class<?> cls) {
158+
public void checkUuid() {
159159
if (this.getCustomId() != null) {
160160
_uuidMgr.checkUuid(this.getCustomId(), AutoScaleVmGroup.class);
161161
}

api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmProfileCmd.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ public ApiCommandJobType getInstanceType() {
147147
}
148148

149149
@Override
150-
public void checkUuid(String id, Class<?> cls) {
150+
public void checkUuid() {
151151
if (this.getCustomId() != null) {
152152
_uuidMgr.checkUuid(this.getCustomId(), AutoScaleVmProfile.class);
153153
}

api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkACLItemCmd.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ public void execute() throws ResourceUnavailableException {
174174
}
175175

176176
@Override
177-
public void checkUuid(String id, Class<?> cls) {
177+
public void checkUuid() {
178178
if (this.getCustomId() != null) {
179179
_uuidMgr.checkUuid(this.getCustomId(), NetworkACLItem.class);
180180
}

api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkCmd.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ public Long getSyncObjId() {
190190
}
191191

192192
@Override
193-
public void checkUuid(String id, Class<?> cls) {
193+
public void checkUuid() {
194194
if (this.getCustomId() != null) {
195195
_uuidMgr.checkUuid(this.getCustomId(), Network.class);
196196
}

api/src/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ public void execute() throws ResourceUnavailableException, InsufficientCapacityE
148148
}
149149

150150
@Override
151-
public void checkUuid(String id, Class<?> cls) {
151+
public void checkUuid() {
152152
if (this.getCustomId() != null) {
153153
_uuidMgr.checkUuid(this.getCustomId(), UserVm.class);
154154

api/src/org/apache/cloudstack/api/command/user/volume/UpdateVolumeCmd.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ public void execute() {
150150
}
151151

152152
@Override
153-
public void checkUuid(String id, Class<?> cls) {
153+
public void checkUuid() {
154154
if (this.getCustomId() != null) {
155155
_uuidMgr.checkUuid(this.getCustomId(), Volume.class);
156156
}

api/src/org/apache/cloudstack/api/command/user/vpc/UpdateVPCCmd.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ public Long getSyncObjId() {
115115
}
116116

117117
@Override
118-
public void checkUuid(String id, Class<?> cls) {
118+
public void checkUuid() {
119119
if (this.getCustomId() != null) {
120120
_uuidMgr.checkUuid(this.getCustomId(), Vpc.class);
121121
}

server/src/com/cloud/api/ApiDispatcher.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,16 @@
2121
import javax.annotation.PostConstruct;
2222
import javax.inject.Inject;
2323

24-
import org.apache.log4j.Logger;
2524
import org.apache.cloudstack.api.ApiConstants;
2625
import org.apache.cloudstack.api.BaseAsyncCmd;
2726
import org.apache.cloudstack.api.BaseAsyncCreateCmd;
27+
import org.apache.cloudstack.api.BaseAsyncCustomIdCmd;
2828
import org.apache.cloudstack.api.BaseCmd;
29+
import org.apache.cloudstack.api.BaseCustomIdCmd;
2930
import org.apache.cloudstack.context.CallContext;
3031
import org.apache.cloudstack.framework.jobs.AsyncJob;
3132
import org.apache.cloudstack.framework.jobs.AsyncJobManager;
33+
import org.apache.log4j.Logger;
3234

3335
import com.cloud.api.dispatch.DispatchChain;
3436
import com.cloud.api.dispatch.DispatchChainFactory;
@@ -97,6 +99,13 @@ public void dispatch(final BaseCmd cmd, final Map<String, Object> params, final
9799
}
98100
}
99101
}
102+
103+
if (cmd instanceof BaseAsyncCustomIdCmd) {
104+
((BaseAsyncCustomIdCmd)cmd).checkUuid();
105+
} else if (cmd instanceof BaseCustomIdCmd) {
106+
((BaseCustomIdCmd)cmd).checkUuid();
107+
}
108+
100109
cmd.execute();
101110
}
102111

0 commit comments

Comments
 (0)