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