package org.ovirt.engine.core.bll; import java.util.List; import org.ovirt.engine.core.common.AuditLogType; import org.ovirt.engine.core.common.action.SetDedicatedVmParameters; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.dbbroker.DbFacade; public class SetDedicatedVmCommand<T extends SetDedicatedVmParameters> extends VmCommand<T> { public SetDedicatedVmCommand(T parameters) { super(parameters); super.setVmId(parameters.getVmId()); super.setVdsId(parameters.getVdsId()); } @Override protected void ExecuteVmCommand() { List<VM> vms = DbFacade.getInstance().getVmDAO().getAllForDedicatedPowerClientByVds(getVdsId()); if (vms != null && vms.size() != 0) { vms.get(0).setdedicated_vm_for_vds(null); DbFacade.getInstance().getVmStaticDAO().update(vms.get(0).getStaticData()); } VM vm = DbFacade.getInstance().getVmDAO().getById(getVmId()); vm.setdedicated_vm_for_vds(!(getVdsId().equals(Guid.Empty)) ? getVdsId() : null); DbFacade.getInstance().getVmStaticDAO().update(vm.getStaticData()); setSucceeded(true); } @Override public AuditLogType getAuditLogTypeValue() { return getSucceeded() ? AuditLogType.USER_DEDICATE_VM_TO_POWERCLIENT : AuditLogType.USER_DEDICATE_VM_TO_POWERCLIENT_FAILED; } }