package org.ovirt.engine.api.restapi.types; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; import org.ovirt.engine.api.model.VnicProfileMapping; import org.ovirt.engine.api.model.VnicProfileMappings; import org.ovirt.engine.core.common.businessentities.network.ExternalVnicProfileMapping; import org.ovirt.engine.core.compat.Guid; public class ExternalVnicProfileMappingMapper { // hide me private ExternalVnicProfileMappingMapper() {} public static Collection<ExternalVnicProfileMapping> mapFromModel(VnicProfileMappings vnicProfileMappings) { return isVnicProfileMappingSupplied(vnicProfileMappings) ? mapVnicProfileMappings(vnicProfileMappings) : Collections.emptyList(); } private static boolean isVnicProfileMappingSupplied(VnicProfileMappings vnicProfileMappings) { return vnicProfileMappings != null && vnicProfileMappings.isSetVnicProfileMappings(); } private static List<ExternalVnicProfileMapping> mapVnicProfileMappings(VnicProfileMappings vnicProfileMappings) { return vnicProfileMappings.getVnicProfileMappings() .stream() .map(ExternalVnicProfileMappingMapper::mapSingleMappingEntry) .collect(Collectors.toList()); } private static ExternalVnicProfileMapping mapSingleMappingEntry(VnicProfileMapping model) { return new ExternalVnicProfileMapping(model.getSourceNetworkName(), model.getSourceNetworkProfileName(), getTargetVnicProfileId(model)); } private static Guid getTargetVnicProfileId(VnicProfileMapping model) { return model.isSetTargetVnicProfile() ? Guid.createGuidFromString(model.getTargetVnicProfile().getId()) : null; } }