package org.ovirt.engine.ui.uicommonweb.models.hosts.network; import java.util.Collection; import java.util.List; import org.ovirt.engine.core.common.action.CreateOrUpdateBond; import org.ovirt.engine.core.common.businessentities.network.Bond; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostSetupNetworksModel; /** * A Model for Bond Interfaces */ public class BondNetworkInterfaceModel extends NetworkInterfaceModel { private final List<NetworkInterfaceModel> slaves; private final CreateOrUpdateBond createOrUpdateBond; public BondNetworkInterfaceModel(Bond bondOriginalNic, CreateOrUpdateBond createOrUpdateBond, Collection<LogicalNetworkModel> nicNetworks, Collection<NetworkLabelModel> nicLabels, List<NetworkInterfaceModel> slaves, HostSetupNetworksModel setupModel) { super(bondOriginalNic, nicNetworks, nicLabels, false, null, setupModel); this.createOrUpdateBond = createOrUpdateBond; this.slaves = slaves; setThisBondModelToRelatedSlavesModels(slaves); } public void setThisBondModelToRelatedSlavesModels(List<NetworkInterfaceModel> slaveModels) { for (NetworkInterfaceModel slaveModel : slaveModels) { slaveModel.setBond(this); } } public List<NetworkInterfaceModel> getSlaves() { return slaves; } @Override public String getName() { return createOrUpdateBond.getName(); } public String getBondOptions() { return getCreateOrUpdateBond().getBondOptions(); } @Override public Bond getOriginalIface() { return (Bond) super.getOriginalIface(); } public CreateOrUpdateBond getCreateOrUpdateBond() { return createOrUpdateBond; } }