Laszlo Hornyak has uploaded a new change for review. Change subject: [wip] Make different links for VM's and Tempaltes ......................................................................
[wip] Make different links for VM's and Tempaltes work in progress Change-Id: I63eb144a088e0091c1cad4ecce63398d8421868e Signed-off-by: Laszlo Hornyak <lhorn...@redhat.com> --- A backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/DeviceUtils.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendReadOnlyDevicesResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/DiskStatisticalQuery.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/NicStatisticalQuery.java 4 files changed, 46 insertions(+), 5 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/39/15439/1 diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/DeviceUtils.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/DeviceUtils.java new file mode 100644 index 0000000..fc68e95 --- /dev/null +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/DeviceUtils.java @@ -0,0 +1,22 @@ +package org.ovirt.engine.api.utils; + +import org.ovirt.engine.api.model.BaseDevice; +import org.ovirt.engine.api.model.BaseResource; + +public class DeviceUtils { + public static BaseResource getDeviceParent(BaseDevice device) { + if(device.getVm() == null) { + return device.getTemplate(); + } else { + return device.getVm(); + } + } + public static String getDeviceParentId(BaseDevice device) { + BaseResource res = getDeviceParent(device); + if(res == null) { + return null; + } else { + return res.getId(); + } + } +} diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendReadOnlyDevicesResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendReadOnlyDevicesResource.java index 5a516bf..b6f65e4 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendReadOnlyDevicesResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendReadOnlyDevicesResource.java @@ -7,6 +7,7 @@ import org.ovirt.engine.api.model.BaseDevice; import org.ovirt.engine.api.model.BaseDevices; +import org.ovirt.engine.api.model.Template; import org.ovirt.engine.api.model.VM; import org.ovirt.engine.api.resource.ReadOnlyDeviceResource; import org.ovirt.engine.api.resource.ReadOnlyDevicesResource; @@ -50,12 +51,28 @@ @Override public D addParents(D device) { - // REVISIT: this can also be a template - device.setVm(new VM()); - device.getVm().setId(parentId.toString()); + if(isVm()) { + device.setVm(new VM()); + device.getVm().setId(parentId.toString()); + } else { + device.setTemplate(new Template()); + device.getTemplate().setId(parentId.toString()); + } return device; } + protected boolean isVm() { + try { + getEntity(org.ovirt.engine.core.common.businessentities.VM.class, + VdcQueryType.GetVmByVmId, + queryParams, + parentId.toString()); + return true; + } catch (WebFaultException e) { + return false; + } + } + protected C mapCollection(List<Q> entities, boolean addLinks) { C collection = instantiate(collectionType); List<D> list = getList(collection); diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/DiskStatisticalQuery.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/DiskStatisticalQuery.java index 914fd14..f95df94 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/DiskStatisticalQuery.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/DiskStatisticalQuery.java @@ -6,6 +6,7 @@ import org.ovirt.engine.api.model.Statistic; import org.ovirt.engine.api.model.StatisticUnit; import org.ovirt.engine.api.model.VM; +import org.ovirt.engine.api.utils.DeviceUtils; import org.ovirt.engine.core.common.businessentities.Disk.DiskStorageType; import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.compat.Guid; @@ -51,7 +52,7 @@ disk.setId(parent.getId()); if (parent.isSetVm()) { disk.setVm(new VM()); - disk.getVm().setId(parent.getVm().getId()); + disk.getVm().setId(DeviceUtils.getDeviceParentId(parent)); } return disk; } diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/NicStatisticalQuery.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/NicStatisticalQuery.java index 1bfefb3..c44098c 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/NicStatisticalQuery.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/NicStatisticalQuery.java @@ -6,6 +6,7 @@ import org.ovirt.engine.api.model.Statistic; import org.ovirt.engine.api.model.VM; import org.ovirt.engine.api.restapi.util.RxTxCalculator; +import org.ovirt.engine.api.utils.DeviceUtils; import org.ovirt.engine.core.common.businessentities.network.NetworkStatistics; import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; import org.ovirt.engine.core.compat.Guid; @@ -46,7 +47,7 @@ NIC nic = new NIC(); nic.setId(parent.getId()); nic.setVm(new VM()); - nic.getVm().setId(parent.getVm().getId()); + nic.getVm().setId(DeviceUtils.getDeviceParentId(parent)); return nic; } } -- To view, visit http://gerrit.ovirt.org/15439 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I63eb144a088e0091c1cad4ecce63398d8421868e Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Laszlo Hornyak <lhorn...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches