package org.ovirt.engine.api.restapi.resource;
import org.ovirt.engine.api.model.Nic;
import org.ovirt.engine.api.model.Nics;
import org.ovirt.engine.api.model.Snapshot;
import org.ovirt.engine.api.resource.SnapshotNicResource;
import org.ovirt.engine.api.resource.SnapshotNicsResource;
import org.ovirt.engine.api.restapi.types.NicMapper;
import org.ovirt.engine.core.common.businessentities.VM;
import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface;
public class BackendSnapshotNicsResource extends AbstractBackendCollectionResource<Nic, Snapshot> implements SnapshotNicsResource {
protected BackendSnapshotResource parent;
public BackendSnapshotNicsResource(BackendSnapshotResource parent) {
super(Nic.class, Snapshot.class);
this.parent = parent;
}
@Override
public Nics list() {
Nics nics = new Nics();
if (parent.getSnapshot().isVmConfigurationAvailable()) {
VM vm = parent.collection.getVmPreview(parent.get());
for (VmNetworkInterface nic : vm.getInterfaces()) {
nics.getNics().add(NicMapper.map(nic, null));
}
}
return nics;
}
@Override
public SnapshotNicResource getNicResource(String id) {
return new BackendSnapshotNicResource(id, this);
}
}