Juan Hernandez has uploaded a new change for review.

Change subject: restapi: Don't validate missing cloud-init enums
......................................................................

restapi: Don't validate missing cloud-init enums

Currently we blindly try to validate enums included in cloud-init
specifications, but they may be missing. As they aren't declared as
mandatory this patch changes the validator so it won't try to validate
them when they are missing.

Change-Id: If7c29a92909fb9f436b06d2ed534fe2cbc34a293
Signed-off-by: Juan Hernandez <[email protected]>
---
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/validation/CloudInitValidator.java
1 file changed, 14 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/81/36081/1

diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/validation/CloudInitValidator.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/validation/CloudInitValidator.java
index 7204a17..3ccc24d 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/validation/CloudInitValidator.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/validation/CloudInitValidator.java
@@ -5,7 +5,9 @@
 import org.ovirt.engine.api.model.BootProtocol;
 import org.ovirt.engine.api.model.CloudInit;
 import org.ovirt.engine.api.model.File;
+import org.ovirt.engine.api.model.Files;
 import org.ovirt.engine.api.model.NIC;
+import org.ovirt.engine.api.model.Nics;
 import org.ovirt.engine.api.model.PayloadEncoding;
 
 @ValidatedClass(clazz = CloudInit.class)
@@ -15,18 +17,21 @@
     public void validateEnums(CloudInit model) {
         if (model != null) {
             if (model.isSetNetworkConfiguration()) {
-                if (model.getNetworkConfiguration().isSetNics()
-                        && 
!model.getNetworkConfiguration().getNics().getNics().isEmpty()) {
-                    for (NIC iface : 
model.getNetworkConfiguration().getNics().getNics()) {
-                        validateEnum(BootProtocol.class, 
iface.getBootProtocol(), true);
+                Nics nics = model.getNetworkConfiguration().getNics();
+                if (nics != null && !nics.getNics().isEmpty()) {
+                    for (NIC nic : nics.getNics()) {
+                        if (nic.isSetBootProtocol()) {
+                            validateEnum(BootProtocol.class, 
nic.getBootProtocol(), true);
+                        }
                     }
                 }
             }
-            if (model.isSetFiles()
-                    && model.getFiles().isSetFiles()
-                    && !model.getFiles().getFiles().isEmpty()) {
-                for (File file : model.getFiles().getFiles()) {
-                    validateEnum(PayloadEncoding.class, file.getType(), true);
+            Files files = model.getFiles();
+            if (files != null && !files.getFiles().isEmpty()) {
+                for (File file : files.getFiles()) {
+                    if (file.isSetType()) {
+                        validateEnum(PayloadEncoding.class, file.getType(), 
true);
+                    }
                 }
             }
         }


-- 
To view, visit http://gerrit.ovirt.org/36081
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If7c29a92909fb9f436b06d2ed534fe2cbc34a293
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Juan Hernandez <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to