package org.ovirt.engine.core.bll; import java.util.Collections; import java.util.Map; import org.ovirt.engine.core.common.VdcObjectType; import org.ovirt.engine.core.common.action.VdsGroupParametersBase; import org.ovirt.engine.core.common.businessentities.VDSGroup; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.VdcBllMessages; 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; @CustomLogFields({ @CustomLogField("VdsGroupName") }) public abstract class VdsGroupCommandBase<T extends VdsGroupParametersBase> extends CommandBase<T> { private VDSGroup _vdsGroup; public VdsGroupCommandBase(T parameters) { super(parameters); } @Override protected VDSGroup getVdsGroup() { if (_vdsGroup == null) { _vdsGroup = DbFacade.getInstance().getVdsGroupDAO().get( getParameters().getVdsGroupId()); } return _vdsGroup; } public String getVdsGroupName() { if (getVdsGroup() != null) { return getVdsGroup().getname(); } else { return null; } } @Override protected boolean canDoAction() { addCanDoActionMessage(VdcBllMessages.VAR__TYPE__CLUSTER); return true; } @Override public Map<Guid, VdcObjectType> getPermissionCheckSubjects() { return Collections.singletonMap(getParameters().getVdsGroupId(), VdcObjectType.VdsGroups); } }