package org.ovirt.engine.core.bll; import java.util.List; import org.ovirt.engine.core.common.AuditLogType; import org.ovirt.engine.core.common.action.DisplayNetworkToVdsGroupParameters; import org.ovirt.engine.core.common.businessentities.network_cluster; import org.ovirt.engine.core.dal.dbbroker.DbFacade; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.CustomLogField; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.CustomLogFields; import org.ovirt.engine.core.utils.linq.LinqUtils; import org.ovirt.engine.core.utils.linq.Predicate; @CustomLogFields({ @CustomLogField("NetworkName") }) public class UpdateDisplayToVdsGroupCommand<T extends DisplayNetworkToVdsGroupParameters> extends VdsGroupCommandBase<T> { private network_cluster _networkCluster; private List<network_cluster> _allNetworkCluster; public UpdateDisplayToVdsGroupCommand(T parameters) { super(parameters); } public String getNetworkName() { return getParameters().getNetwork().getname(); } @Override protected void executeCommand() { // network_cluster oldDisplay = null; //LINQ 31899 // _allNetworkCluster.FirstOrDefault(n => n.is_display); network_cluster oldDisplay = LinqUtils.firstOrNull(_allNetworkCluster, new Predicate<network_cluster>() { @Override public boolean eval(network_cluster n) { return n.getis_display(); } }); if (oldDisplay != null) { oldDisplay.setis_display(false); DbFacade.getInstance().getNetworkClusterDAO().update(oldDisplay); } _networkCluster.setis_display(getParameters().getIsDisplay()); DbFacade.getInstance().getNetworkClusterDAO().update(_networkCluster); setSucceeded(true); } @Override protected boolean canDoAction() { _allNetworkCluster = DbFacade.getInstance().getNetworkClusterDAO().getAllForCluster( getParameters().getVdsGroupId()); // _networkCluster = null; //LINQ 31899 // _allNetworkCluster.FirstOrDefault(x => x.network_id == // DisplayNetworkToVdsGroupParameter.Network.id); _networkCluster = LinqUtils.firstOrNull(_allNetworkCluster, new Predicate<network_cluster>() { @Override public boolean eval(network_cluster x) { return x.getnetwork_id().equals(getParameters().getNetwork().getId()); } }); return (_networkCluster != null); } @Override public AuditLogType getAuditLogTypeValue() { return getSucceeded() ? AuditLogType.NETWORK_UPDATE_DISPLAY_TO_VDS_GROUP : AuditLogType.NETWORK_UPDATE_DISPLAY_TO_VDS_GROUP_FAILED; } }