package org.ovirt.engine.ui.uicommonweb.models.vms.instancetypes; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; import org.ovirt.engine.core.common.businessentities.network.VnicProfileView; import org.ovirt.engine.ui.frontend.AsyncQuery; import org.ovirt.engine.ui.uicommonweb.Linq; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.vms.VnicInstanceType; public class ExistingInstanceTypeModelBehavior extends ExistingNonClusterModelBehavior { private VmTemplate instanceType; public ExistingInstanceTypeModelBehavior(VmTemplate instanceType) { super(instanceType); this.instanceType = instanceType; } @Override protected void postBuild() { AsyncDataProvider.getInstance().getTemplateNicList(new AsyncQuery<>(result -> { List<VnicProfileView> profiles = new ArrayList<>(Arrays.asList(VnicProfileView.EMPTY)); List<VnicInstanceType> vnicInstanceTypes = new ArrayList<>(); for (VmNetworkInterface nic : result) { final VnicInstanceType vnicInstanceType = new VnicInstanceType(nic); vnicInstanceType.setItems(profiles); vnicInstanceType.setSelectedItem(VnicProfileView.EMPTY); vnicInstanceTypes.add(vnicInstanceType); } getModel().getNicsWithLogicalNetworks().getVnicProfiles().setItems(profiles); getModel().getNicsWithLogicalNetworks().setItems(vnicInstanceTypes); getModel().getNicsWithLogicalNetworks().setSelectedItem(Linq.firstOrNull(vnicInstanceTypes)); }), instanceType.getId()); } }