package org.ovirt.engine.core.bll.network.host;
import java.util.Collection;
import java.util.Collections;
import org.ovirt.engine.core.common.businessentities.network.IPv4Address;
import org.ovirt.engine.core.common.businessentities.network.IpConfiguration;
import org.ovirt.engine.core.common.businessentities.network.IpV6Address;
import org.ovirt.engine.core.common.businessentities.network.NetworkAttachment;
import org.ovirt.engine.core.common.utils.NetworkCommonUtils;
public class IpConfigurationCompleter {
public void fillInUnsetIpConfigs(Collection<NetworkAttachment> networkAttachments) {
networkAttachments
.forEach(attachment -> {
if (attachment.getIpConfiguration() == null) {
attachment.setIpConfiguration(NetworkCommonUtils.createDefaultIpConfiguration());
} else {
completeDefaultIpConfiguration(attachment.getIpConfiguration());
}
});
}
private void completeDefaultIpConfiguration(IpConfiguration ipConfiguration) {
if (ipConfiguration.getIPv4Addresses().isEmpty()) {
final IPv4Address ipv4Address = NetworkCommonUtils.createDefaultIpv4Address();
ipConfiguration.setIPv4Addresses(Collections.singletonList(ipv4Address));
}
if (ipConfiguration.getIpV6Addresses().isEmpty()) {
final IpV6Address ipv6Address = NetworkCommonUtils.createDefaultIpv6Address();
ipConfiguration.setIpV6Addresses(Collections.singletonList(ipv6Address));
}
}
}