package org.ovirt.engine.core.bll.network.cluster.function; import java.util.Objects; import java.util.function.Function; import javax.inject.Inject; import javax.inject.Named; import javax.inject.Singleton; import org.ovirt.engine.core.common.action.AttachNetworkToClusterParameter; import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.core.common.businessentities.network.NetworkCluster; import org.ovirt.engine.core.dao.network.NetworkDao; @Singleton @Named final class NetworkClusterToAttachNetworkToClusterParameterTransformer implements Function<NetworkCluster, AttachNetworkToClusterParameter> { private final NetworkDao networkDao; @Inject NetworkClusterToAttachNetworkToClusterParameterTransformer(NetworkDao networkDao) { Objects.requireNonNull(networkDao, "networkDao cannot be null"); this.networkDao = networkDao; } @Override public AttachNetworkToClusterParameter apply(NetworkCluster networkCluster) { final Network network = networkDao.get(networkCluster.getNetworkId()); network.setCluster(networkCluster); return new AttachNetworkToClusterParameter(networkCluster.getClusterId(), network); } }