package org.ovirt.engine.api.restapi.resource; import org.ovirt.engine.api.model.NumaNode; import org.ovirt.engine.api.resource.HostNumaNodeResource; import org.ovirt.engine.api.resource.StatisticsResource; import org.ovirt.engine.core.common.businessentities.VdsNumaNode; import org.ovirt.engine.core.compat.Guid; public class BackendHostNumaNodeResource extends AbstractBackendSubResource<NumaNode, VdsNumaNode> implements HostNumaNodeResource { private BackendHostNumaNodesResource parent; public BackendHostNumaNodeResource(String id, BackendHostNumaNodesResource parent) { super(id, NumaNode.class, VdsNumaNode.class); this.parent = parent; } @Override protected NumaNode doPopulate(NumaNode model, VdsNumaNode entity) { return parent.doPopulate(model, entity); } @Override public StatisticsResource getStatisticsResource() { EntityIdResolver<Guid> resolver = new EntityIdResolver<Guid>() { @Override public VdsNumaNode lookupEntity(Guid guid) throws BackendFailureException { return parent.lookupEntity(guid); } }; NumaStatisticalQuery query = new NumaStatisticalQuery(resolver, newModel(id)); return inject(new BackendStatisticsResource<>(entityType, guid, query)); } @Override public NumaNode get() { return parent.lookupNumaNode(id, false); } @Override protected NumaNode addParents(NumaNode nic) { return parent.addParents(nic); } }