Skip to content

Commit 86e0552

Browse files
author
toni.zamparetti
committed
NPE correction when informing removed project in the 'listProjectRoles'
1 parent 3bd5410 commit 86e0552

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

api/src/main/java/org/apache/cloudstack/api/command/admin/acl/project/ListProjectRolesCmd.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.util.Collections;
2222
import java.util.List;
2323

24+
import com.cloud.exception.InvalidParameterValueException;
2425
import org.apache.cloudstack.acl.ProjectRole;
2526
import org.apache.cloudstack.acl.RoleType;
2627
import org.apache.cloudstack.api.APICommand;
@@ -55,7 +56,6 @@ public class ListProjectRolesCmd extends BaseListCmd {
5556
/////////////////// Accessors ///////////////////////
5657
/////////////////////////////////////////////////////
5758

58-
5959
public Long getProjectRoleId() { return projectRoleId; }
6060

6161
public Long getProjectId() {
@@ -72,7 +72,10 @@ public String getRoleName() {
7272

7373
@Override
7474
public void execute() {
75-
List<ProjectRole> projectRoles = new ArrayList<>();
75+
if (getProjectId() != null && _projectService.getProject(getProjectId()) == null) {
76+
throw new InvalidParameterValueException("Failed to find project by ID.");
77+
}
78+
List<ProjectRole> projectRoles;
7679
if (getProjectId() != null && getProjectRoleId() != null) {
7780
projectRoles = Collections.singletonList(projRoleService.findProjectRole(getProjectRoleId(), getProjectId()));
7881
} else if (StringUtils.isNotBlank(getRoleName())) {

server/src/main/java/org/apache/cloudstack/acl/ProjectRoleManagerImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -168,9 +168,9 @@ public ProjectRole findProjectRole(Long roleId, Long projectId) {
168168

169169
@Override
170170
public List<ProjectRole> findProjectRoles(Long projectId, String keyword) {
171-
if (projectId == null || projectId < 1L || projectDao.findById(projectId) == null) {
172-
logger.warn("Invalid project ID provided");
173-
return null;
171+
if (projectId == null) {
172+
logger.warn("Invalid project ID provided; thus, an empty list is being returned.");
173+
return Collections.emptyList();
174174
}
175175
return ListUtils.toListOfInterface(projRoleDao.findAllRoles(projectId, keyword));
176176
}

0 commit comments

Comments
 (0)