package org.ovirt.engine.ui.uicommonweb.models.vms;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.ovirt.engine.core.common.businessentities.network.VnicProfileView;
public class ImportNetworkData {
private List<String> networkNames;
private String selectedNetworkName;
private List<VnicProfileView> networkProfiles;
private List<VnicProfileView> filteredNetworkProfiles;
private VnicProfileView selectedNetworkProfile;
public ImportNetworkData(List<VnicProfileView> networkProfiles) {
this.networkProfiles = networkProfiles;
Set<String> networkNames = new HashSet<>();
for (VnicProfileView networkProfile : networkProfiles) {
networkNames.add(networkProfile.getNetworkName());
}
setNetworkNames(new ArrayList<>(networkNames));
}
public List<VnicProfileView> getFilteredNetworkProfiles() {
return filteredNetworkProfiles;
}
public void setSelectedNetworkProfile(String networkProfileName) {
for (VnicProfileView profile : networkProfiles) {
if (profile.getName().equals(networkProfileName)) {
setSelectedNetworkProfile(profile);
break;
}
}
}
public VnicProfileView getSelectedNetworkProfile() {
if (selectedNetworkProfile != null) {
return selectedNetworkProfile;
}
return !filteredNetworkProfiles.isEmpty() ? filteredNetworkProfiles.get(0) : null;
}
private void setSelectedNetworkProfile(VnicProfileView networkProfile) {
selectedNetworkProfile = networkProfile;
}
public List<String> getNetworkNames() {
return networkNames;
}
private void setNetworkNames(List<String> networkNames) {
this.networkNames = networkNames;
if (!networkNames.isEmpty()) {
setSelectedNetworkName(networkNames.get(0));
}
}
public void setSelectedNetworkName(String networkName) {
selectedNetworkName = networkName;
filteredNetworkProfiles = new ArrayList<>();
for (VnicProfileView profile : networkProfiles) {
if (profile.getNetworkName().equals(networkName)) {
filteredNetworkProfiles.add(profile);
}
}
}
public String getSelectedNetworkName() {
return selectedNetworkName;
}
}