package org.ovirt.engine.core.bll; import java.util.List; import org.ovirt.engine.core.common.businessentities.VdsNetworkInterface; import org.ovirt.engine.core.common.businessentities.VdsStatic; import org.ovirt.engine.core.common.queries.NetworkNonOperationalQueryParamenters; import org.ovirt.engine.core.compat.StringHelper; import org.ovirt.engine.core.dal.dbbroker.DbFacade; import org.ovirt.engine.core.utils.linq.LinqUtils; import org.ovirt.engine.core.utils.linq.Predicate; public class GetNonOperationalVdsQuery<P extends NetworkNonOperationalQueryParamenters> extends QueriesCommandBase<P> { public GetNonOperationalVdsQuery(P parameters) { super(parameters); } @Override protected void executeQueryCommand() { java.util.ArrayList<VdsStatic> retVal = new java.util.ArrayList<VdsStatic>(); List<VdsStatic> vdsList = DbFacade.getInstance().getVdsStaticDAO().getAllForVdsGroup( getParameters().getVdsGroupId()); for (VdsStatic vds : vdsList) { List<VdsNetworkInterface> interfaces = DbFacade.getInstance() .getInterfaceDAO().getAllInterfacesForVds(vds.getId()); // if (true) //LINQ 31899 interfaces.FirstOrDefault(i => // i.network_name == NetworkParamaters.Network.name) == null) if (LinqUtils.firstOrNull(interfaces, new Predicate<VdsNetworkInterface>() { @Override public boolean eval(VdsNetworkInterface i) { return StringHelper.EqOp(i.getNetworkName(), getParameters().getNetwork().getname()); } }) == null) { retVal.add(vds); } } getQueryReturnValue().setReturnValue(retVal); } }