Ori Liel has uploaded a new change for review.

Change subject: restapi: Malformed GUID - fail gracefully (#902073)
......................................................................

restapi: Malformed GUID - fail gracefully (#902073)

Change-Id: Icf2d4db9b5e30a86b5eb2bb3071612a48867a646
Signed-off-by: Ori Liel <ol...@redhat.com>
---
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupVmsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAssignedPermissionsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendCapabilitiesResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDataCenterResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDataCentersResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDomainsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainVmsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUsersResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmApplicationsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmDisksResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BaseBackendResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResource.java
M 
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/ApplicationMapper.java
M 
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/EventMapper.java
M 
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/ReportedDeviceMapper.java
M 
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/utils/GuidUtils.java
19 files changed, 49 insertions(+), 28 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/40/27140/1

diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendResource.java
index f03cadd..0a8a0d6 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendResource.java
@@ -357,7 +357,7 @@
 
     protected Guid getHostId(Host host) {
         return host.isSetId()
-               ? new Guid(host.getId())
+                ? asGuid(host.getId())
                : getEntity(VDS.class,
                            VdcQueryType.GetVdsByName,
                            new NameQueryParameters(host.getName()),
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupVmsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupVmsResource.java
index 19cea5a..56cc460 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupVmsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAffinityGroupVmsResource.java
@@ -6,7 +6,6 @@
 import org.ovirt.engine.api.model.VM;
 import org.ovirt.engine.api.model.VMs;
 import org.ovirt.engine.api.resource.AffinityGroupVmsResource;
-import org.ovirt.engine.api.restapi.utils.GuidUtils;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
@@ -53,7 +52,7 @@
     public Response add(VM vm) {
         AffinityGroup affinityGroup = getEntity();
 
-        affinityGroup.getEntityIds().add(GuidUtils.asGuid(vm.getId()));
+        affinityGroup.getEntityIds().add(asGuid(vm.getId()));
         return performAction(VdcActionType.EditAffinityGroup, new 
AffinityGroupCRUDParameters(affinityGroup.getId(),
                 affinityGroup));
     }
@@ -62,7 +61,7 @@
     protected Response performRemove(String id) {
         AffinityGroup affinityGroup = getEntity();
 
-        if (!affinityGroup.getEntityIds().remove(GuidUtils.asGuid(id))) {
+        if (!affinityGroup.getEntityIds().remove(asGuid(id))) {
             throw new WebApplicationException(Response.Status.NOT_FOUND);
         }
         return performAction(VdcActionType.EditAffinityGroup, new 
AffinityGroupCRUDParameters(affinityGroup.getId(),
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAssignedPermissionsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAssignedPermissionsResource.java
index 2d67dd5..f87df96 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAssignedPermissionsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAssignedPermissionsResource.java
@@ -278,7 +278,7 @@
     protected Permissions getPermissions(String id) {
         return getEntity(Permissions.class,
                          VdcQueryType.GetPermissionById,
-                         new IdQueryParameters(new Guid(id)),
+                new IdQueryParameters(asGuid(id)),
                          id);
     }
 
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendCapabilitiesResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendCapabilitiesResource.java
index d695872..9a6b45d 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendCapabilitiesResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendCapabilitiesResource.java
@@ -396,7 +396,7 @@
     }
 
     public String generateId(Version v) {
-        Guid guid = new Guid((v.getMajor()+"."+v.getMinor()).getBytes(), true);
+        Guid guid = asGuid((v.getMajor() + "." + v.getMinor()).getBytes(), 
true);
         return guid.toString();
     }
 
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDataCenterResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDataCenterResource.java
index d75fb5a..8f31e97 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDataCenterResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDataCenterResource.java
@@ -13,6 +13,7 @@
 import org.ovirt.engine.api.resource.DataCenterResource;
 import org.ovirt.engine.api.resource.NetworksResource;
 import org.ovirt.engine.api.resource.QuotasResource;
+import org.ovirt.engine.api.restapi.utils.MalformedIdException;
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.action.StoragePoolManagementParameter;
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
@@ -107,8 +108,14 @@
         StoragePool pool = null;
         if (cluster.getDataCenter().isSetId()) {
             String id = cluster.getDataCenter().getId();
+            Guid guid;
+            try {
+                guid = new Guid(id); // can't use asGuid() because the method 
is static.
+            } catch (IllegalArgumentException e) {
+                throw new MalformedIdException(e);
+            }
             pool = parent.getEntity(StoragePool.class, 
VdcQueryType.GetStoragePoolById,
-                    new IdQueryParameters(new Guid(id)), "Datacenter: id=" + 
id);
+                    new IdQueryParameters(guid), "Datacenter: id=" + id);
         } else {
             String clusterName = cluster.getDataCenter().getName();
             pool = parent.getEntity(StoragePool.class, 
VdcQueryType.GetStoragePoolByDatacenterName,
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDataCentersResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDataCentersResource.java
index ae12deb..a13a56b 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDataCentersResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDataCentersResource.java
@@ -91,7 +91,7 @@
 
     @Override
     protected DataCenter deprecatedPopulate(DataCenter model, StoragePool 
entity) {
-        IdQueryParameters parameters = new IdQueryParameters(new 
Guid(model.getId()));
+        IdQueryParameters parameters = new 
IdQueryParameters(asGuid(model.getId()));
         model.setSupportedVersions(getMapper(List.class,
                                              
SupportedVersions.class).map(getEntity(List.class,
                                                                                
     VdcQueryType.GetAvailableStoragePoolVersions,
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDomainsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDomainsResource.java
index 39f556e..00c1767 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDomainsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDomainsResource.java
@@ -51,7 +51,7 @@
         for(String domain : getDomainList()){
             Directory ds = new Directory();
             ds.setDomain(domain);
-            Guid guid = new Guid(domain.getBytes(), true);
+            Guid guid = asGuid(domain.getBytes(), true);
             ds.setId(guid.toString());
             dsl.add(ds);
         }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResource.java
index 3652e99..58fb1e2 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResource.java
@@ -25,7 +25,6 @@
 import org.ovirt.engine.api.resource.ActionResource;
 import org.ovirt.engine.api.resource.HostNicResource;
 import org.ovirt.engine.api.resource.HostNicsResource;
-import org.ovirt.engine.api.restapi.utils.GuidUtils;
 import org.ovirt.engine.api.utils.LinkHelper;
 import org.ovirt.engine.core.common.action.AddBondParameters;
 import org.ovirt.engine.core.common.action.RemoveBondParameters;
@@ -395,7 +394,7 @@
             if (nic.isSetName() && nicsByName.containsKey(nic.getName())) {
                 iface.setLabels(nicsByName.get(nic.getName()).getLabels());
             } else if (nic.isSetId()) {
-                Guid nicId = GuidUtils.asGuid(nic.getId());
+                Guid nicId = asGuid(nic.getId());
                 if (nicsById.containsKey(nicId)) {
                     iface.setLabels(nicsById.get(nicId).getLabels());
                 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java
index add4fe6..6adcd3f 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java
@@ -180,7 +180,7 @@
         if (host.isSetCluster()) {
             Cluster cluster = host.getCluster();
             if (cluster.isSetId()) {
-                return new Guid(cluster.getId());
+                return asGuid(cluster.getId());
             }
             if (cluster.isSetName()) {
                 return getClusterIdByName(cluster.getName());
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainVmsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainVmsResource.java
index 8fa9ee9..a753539 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainVmsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainVmsResource.java
@@ -8,7 +8,6 @@
 import org.ovirt.engine.api.model.VMs;
 import org.ovirt.engine.api.resource.RemovableStorageDomainContentsResource;
 import org.ovirt.engine.api.resource.StorageDomainContentResource;
-import org.ovirt.engine.api.restapi.utils.GuidUtils;
 import org.ovirt.engine.core.common.action.RemoveVmFromImportExportParameters;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import 
org.ovirt.engine.core.common.queries.GetAllFromExportDomainQueryParameters;
@@ -53,7 +52,7 @@
     @Override
     public Response performRemove(String id) {
         RemoveVmFromImportExportParameters params = new 
RemoveVmFromImportExportParameters(
-                GuidUtils.asGuid(id),
+                asGuid(id),
                 storageDomainId,
                 getDataCenterId(storageDomainId));
         return performAction(VdcActionType.RemoveVmFromImportExport, params);
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUsersResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUsersResource.java
index c1511d9..2539c65 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUsersResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUsersResource.java
@@ -87,7 +87,7 @@
                VdcQueryType.GetDomainList,
                new GetDomainListParameters());
             for (String domain :domains) {
-                Guid domainId = new Guid(domain.getBytes(), true);
+                Guid domainId = asGuid(domain.getBytes(), true);
                 if (domainId.toString().equals(user.getDomain().getId())) {
                    return domain;
                 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmApplicationsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmApplicationsResource.java
index 5621c35..53057cb 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmApplicationsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmApplicationsResource.java
@@ -43,7 +43,7 @@
     }
 
     private String buildId(int index) {
-        return new Guid("0-0-0-0-"+index).toString();
+        return asGuid("0-0-0-0-" + index).toString();
     }
 
     @Override
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmDisksResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmDisksResource.java
index e446466..b28ec77 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmDisksResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmDisksResource.java
@@ -138,7 +138,7 @@
     protected VdcActionParametersBase 
getAddParameters(org.ovirt.engine.core.common.businessentities.Disk entity, 
Disk disk) {
         AddDiskParameters parameters = new AddDiskParameters(parentId, entity);
         if (disk.isSetStorageDomains() && 
disk.getStorageDomains().getStorageDomains().get(0).isSetId()) {
-            parameters.setStorageDomainId(new 
Guid(disk.getStorageDomains().getStorageDomains().get(0).getId()));
+            
parameters.setStorageDomainId(asGuid(disk.getStorageDomains().getStorageDomains().get(0).getId()));
         } else if (disk.isSetStorageDomains() && 
disk.getStorageDomains().getStorageDomains().get(0).isSetName()) {
             Guid storageDomainId = 
getStorageDomainId(disk.getStorageDomains().getStorageDomains().get(0).getName());
             if (storageDomainId == null) {
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BaseBackendResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BaseBackendResource.java
index 66d28b2..c7eb392 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BaseBackendResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BaseBackendResource.java
@@ -290,6 +290,14 @@
         }
     }
 
+    protected Guid asGuid(byte[] guid, boolean keepByteOrder) {
+        try {
+            return new Guid(guid, keepByteOrder);
+        } catch (IllegalArgumentException e) {
+            throw new MalformedIdException(e);
+        }
+    }
+
     protected Long asLong(String id) {
         try {
             return Long.valueOf(id);
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResource.java
index d67ed47..2f1084e 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResource.java
@@ -232,7 +232,7 @@
         for (GlusterBrick brick : bricks.getGlusterBricks()) {
             GlusterBrickEntity entity = new GlusterBrickEntity();
             entity.setBrickDirectory(brick.getBrickDir());
-            entity.setVolumeId(new Guid(getVolumeId()));
+            entity.setVolumeId(asGuid(getVolumeId()));
             if (brick.getName() != null) {
                 String[] arr = brick.getName().split("\\:");
                 if (arr.length > 1) {
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/ApplicationMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/ApplicationMapper.java
index c7d838d..b544a3b 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/ApplicationMapper.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/ApplicationMapper.java
@@ -1,7 +1,7 @@
 package org.ovirt.engine.api.restapi.types;
 
 import org.ovirt.engine.api.model.Application;
-import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.api.restapi.utils.GuidUtils;
 
 public class ApplicationMapper {
 
@@ -9,7 +9,7 @@
     public static Application map(String appName, Application template) {
         Application model = template != null ? template : new Application();
         model.setName(appName);
-        model.setId(new Guid(appName.getBytes(), true).toString());
+        model.setId(GuidUtils.asGuid(appName.getBytes(), true).toString());
         return model;
     }
 }
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/EventMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/EventMapper.java
index c0431d9..fd75990 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/EventMapper.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/EventMapper.java
@@ -13,6 +13,7 @@
 import org.ovirt.engine.api.model.Template;
 import org.ovirt.engine.api.model.User;
 import org.ovirt.engine.api.model.VM;
+import org.ovirt.engine.api.restapi.utils.GuidUtils;
 import org.ovirt.engine.api.restapi.utils.TypeConversionHelper;
 import org.ovirt.engine.core.common.AuditLogSeverity;
 import org.ovirt.engine.core.common.businessentities.AuditLog;
@@ -92,31 +93,31 @@
         auditLog.setlog_time(event.isSetTime() ? 
event.getTime().toGregorianCalendar().getTime()
                 : new Date((Calendar.getInstance().getTimeInMillis())));
         auditLog.setmessage(event.getDescription());
-        Guid guid = (event.isSetUser()) ? new Guid(event.getUser().getId()) : 
Guid.Empty;
+        Guid guid = (event.isSetUser()) ? 
GuidUtils.asGuid(event.getUser().getId()) : Guid.Empty;
         if (!guid.equals(Guid.Empty)) {
             auditLog.setuser_id(guid);
         }
-        guid = (event.isSetVm()) ? new Guid(event.getVm().getId()) : 
Guid.Empty;
+        guid = (event.isSetVm()) ? GuidUtils.asGuid(event.getVm().getId()) : 
Guid.Empty;
         if (!guid.equals(Guid.Empty)) {
             auditLog.setvm_id(guid);
         }
-        guid = (event.isSetStorageDomain()) ? new 
Guid(event.getStorageDomain().getId()) : Guid.Empty;
+        guid = (event.isSetStorageDomain()) ? 
GuidUtils.asGuid(event.getStorageDomain().getId()) : Guid.Empty;
         if (!guid.equals(Guid.Empty)) {
             auditLog.setstorage_domain_id(guid);
         }
-        guid = (event.isSetHost()) ? new Guid(event.getHost().getId()) : 
Guid.Empty;
+        guid = (event.isSetHost()) ? GuidUtils.asGuid(event.getHost().getId()) 
: Guid.Empty;
         if (!guid.equals(Guid.Empty)) {
             auditLog.setvds_id(guid);
         }
-        guid = (event.isSetTemplate()) ? new Guid(event.getTemplate().getId()) 
: Guid.Empty;
+        guid = (event.isSetTemplate()) ? 
GuidUtils.asGuid(event.getTemplate().getId()) : Guid.Empty;
         if (!guid.equals(Guid.Empty)) {
             auditLog.setvm_template_id(guid);
         }
-        guid = (event.isSetCluster()) ? new Guid(event.getCluster().getId()) : 
Guid.Empty;
+        guid = (event.isSetCluster()) ? 
GuidUtils.asGuid(event.getCluster().getId()) : Guid.Empty;
         if (!guid.equals(Guid.Empty)) {
             auditLog.setvds_group_id(guid);
         }
-        guid = (event.isSetDataCenter()) ? new 
Guid(event.getDataCenter().getId()) : Guid.Empty;
+        guid = (event.isSetDataCenter()) ? 
GuidUtils.asGuid(event.getDataCenter().getId()) : Guid.Empty;
         if (!guid.equals(Guid.Empty)) {
             auditLog.setstorage_pool_id(guid);
         }
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/ReportedDeviceMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/ReportedDeviceMapper.java
index 336cfff..9938c2e 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/ReportedDeviceMapper.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/ReportedDeviceMapper.java
@@ -104,7 +104,7 @@
     }
 
     public static Guid generateDeviceId(VmGuestAgentInterface 
vmGuestAgentInterface) {
-        return new Guid((vmGuestAgentInterface.getInterfaceName() + 
vmGuestAgentInterface.getMacAddress()).getBytes(),
+        return GuidUtils.asGuid((vmGuestAgentInterface.getInterfaceName() + 
vmGuestAgentInterface.getMacAddress()).getBytes(),
                 true);
     }
 }
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/utils/GuidUtils.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/utils/GuidUtils.java
index eaf68cc..010d83b 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/utils/GuidUtils.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/utils/GuidUtils.java
@@ -16,6 +16,14 @@
         }
     }
 
+    public static Guid asGuid(byte[] guid, boolean keepByteOrder) {
+        try {
+            return new Guid(guid, keepByteOrder);
+        } catch (IllegalArgumentException e) {
+            throw new MalformedIdException(e);
+        }
+    }
+
     /**
      * There are some business entities in the API, which are not regarded as 
business entities in the engine, and
      * therefore they don't have IDs. The API generates uniqute GUIDs for 
them, according to their attributes. This


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Icf2d4db9b5e30a86b5eb2bb3071612a48867a646
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Ori Liel <ol...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to