mirror of https://github.com/apache/cloudstack.git
Merge 63f0803023 into 5893ba5a8c
This commit is contained in:
commit
c3c2e869eb
|
|
@ -21,6 +21,8 @@ import java.util.ArrayList;
|
|||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import com.cloud.exception.InvalidParameterValueException;
|
||||
import com.cloud.projects.Project;
|
||||
import org.apache.cloudstack.acl.ProjectRole;
|
||||
import org.apache.cloudstack.acl.RoleType;
|
||||
import org.apache.cloudstack.api.APICommand;
|
||||
|
|
@ -55,7 +57,6 @@ public class ListProjectRolesCmd extends BaseListCmd {
|
|||
/////////////////// Accessors ///////////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
|
||||
public Long getProjectRoleId() { return projectRoleId; }
|
||||
|
||||
public Long getProjectId() {
|
||||
|
|
@ -72,7 +73,15 @@ public class ListProjectRolesCmd extends BaseListCmd {
|
|||
|
||||
@Override
|
||||
public void execute() {
|
||||
List<ProjectRole> projectRoles = new ArrayList<>();
|
||||
Project project = null;
|
||||
if (getProjectId() != null && getProjectId() > 0) {
|
||||
project = _projectService.getProject(getProjectId());
|
||||
if (project == null) {
|
||||
throw new InvalidParameterValueException("Failed to find project by ID.");
|
||||
}
|
||||
}
|
||||
final String projectUuid = project != null ? project.getUuid() : null;
|
||||
List<ProjectRole> projectRoles;
|
||||
if (getProjectId() != null && getProjectRoleId() != null) {
|
||||
projectRoles = Collections.singletonList(projRoleService.findProjectRole(getProjectRoleId(), getProjectId()));
|
||||
} else if (StringUtils.isNotBlank(getRoleName())) {
|
||||
|
|
@ -86,17 +95,17 @@ public class ListProjectRolesCmd extends BaseListCmd {
|
|||
if (role == null) {
|
||||
continue;
|
||||
}
|
||||
roleResponses.add(setupProjectRoleResponse(role));
|
||||
roleResponses.add(setupProjectRoleResponse(role, projectUuid));
|
||||
}
|
||||
response.setResponses(roleResponses);
|
||||
response.setResponseName(getCommandName());
|
||||
setResponseObject(response);
|
||||
}
|
||||
|
||||
private ProjectRoleResponse setupProjectRoleResponse(final ProjectRole role) {
|
||||
private ProjectRoleResponse setupProjectRoleResponse(final ProjectRole role, final String projectUuid) {
|
||||
final ProjectRoleResponse response = new ProjectRoleResponse();
|
||||
response.setId(role.getUuid());
|
||||
response.setProjectId(_projectService.getProject(role.getProjectId()).getUuid());
|
||||
response.setProjectId(projectUuid);
|
||||
response.setRoleName(role.getName());
|
||||
response.setDescription(role.getDescription());
|
||||
response.setObjectName("projectrole");
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue