package org.ovirt.engine.core.bll.network.cluster.predicate; import java.util.Objects; import java.util.function.Predicate; import javax.inject.Inject; import javax.inject.Named; import javax.inject.Singleton; import org.ovirt.engine.core.common.businessentities.network.NetworkCluster; import org.ovirt.engine.core.dao.network.NetworkClusterDao; @Singleton @Named final class ManagementNetworkAppointmentPredicate implements Predicate<NetworkCluster> { private final NetworkClusterDao networkClusterDao; @Inject ManagementNetworkAppointmentPredicate(NetworkClusterDao networkClusterDao) { Objects.requireNonNull(networkClusterDao, "networkClusterDao cannot be null"); this.networkClusterDao = networkClusterDao; } @Override public boolean test(NetworkCluster networkCluster) { if (networkCluster.isManagement()) { final NetworkCluster currentNetworkCluster = networkClusterDao.get(networkCluster.getId()); if (currentNetworkCluster != null && !currentNetworkCluster.isManagement()) { return true; } } return false; } }