NPE correction when informing removed project in the 'listProjectRoles'

This commit is contained in:
toni.zamparetti 2026-03-17 08:18:12 -03:00
parent 3bd5410f9a
commit 86e0552e52
2 changed files with 8 additions and 5 deletions

View File

@ -21,6 +21,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import com.cloud.exception.InvalidParameterValueException;
import org.apache.cloudstack.acl.ProjectRole;
import org.apache.cloudstack.acl.RoleType;
import org.apache.cloudstack.api.APICommand;
@ -55,7 +56,6 @@ public class ListProjectRolesCmd extends BaseListCmd {
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
public Long getProjectRoleId() { return projectRoleId; }
public Long getProjectId() {
@ -72,7 +72,10 @@ public class ListProjectRolesCmd extends BaseListCmd {
@Override
public void execute() {
List<ProjectRole> projectRoles = new ArrayList<>();
if (getProjectId() != null && _projectService.getProject(getProjectId()) == null) {
throw new InvalidParameterValueException("Failed to find project by ID.");
}
List<ProjectRole> projectRoles;
if (getProjectId() != null && getProjectRoleId() != null) {
projectRoles = Collections.singletonList(projRoleService.findProjectRole(getProjectRoleId(), getProjectId()));
} else if (StringUtils.isNotBlank(getRoleName())) {

View File

@ -168,9 +168,9 @@ public class ProjectRoleManagerImpl extends ManagerBase implements ProjectRoleSe
@Override
public List<ProjectRole> findProjectRoles(Long projectId, String keyword) {
if (projectId == null || projectId < 1L || projectDao.findById(projectId) == null) {
logger.warn("Invalid project ID provided");
return null;
if (projectId == null) {
logger.warn("Invalid project ID provided; thus, an empty list is being returned.");
return Collections.emptyList();
}
return ListUtils.toListOfInterface(projRoleDao.findAllRoles(projectId, keyword));
}