Unable to complete Tutorial on JIRADev website

Jim Booth November 12, 2016

 Hi

I am working through the "User Role Project Tab" tutorial on Bhushan Nagaraj website JIRADev.com and get the following failure at the For loop when running atlas-debug.

incompatible types: java.lang.Object cannot be converted to com.atlassian.jira.security.roles.Project 

 Any ideas why?

Jim

 

package com.jiradev.jira.plugins.panels.project;

import com.atlassian.crowd.embedded.api.User;

import com.atlassian.jira.component.ComponentAccessor;

import com.atlassian.jira.project.Project;

import com.atlassian.jira.security.roles.ProjectRole;

import com.atlassian.jira.security.roles.ProjectRoleActors;

import com.atlassian.jira.security.roles.ProjectRoleManager;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import com.atlassian.jira.plugin.projectpanel.impl.AbstractProjectTabPanel;

import com.atlassian.jira.plugin.projectpanel.ProjectTabPanel;

import com.atlassian.jira.plugin.projectpanel.ProjectTabPanelModuleDescriptor;

import com.atlassian.jira.project.browse.BrowseContext;

import java.util.Collection;

import java.util.Map;

import java.util.TreeMap;

 

public class UserRoleProjectTabPanel extends AbstractProjectTabPanel implements ProjectTabPanel {

 

    private static final Logger log = LoggerFactory.getLogger(UserRoleProjectTabPanel.class);

    private ProjectRoleManager projectRoleManager = ComponentAccessor.getComponent(ProjectRoleManager.class);

    private TreeMap people = new TreeMap();

 

    public Map createVelocityParams(BrowseContext ctx) {

        //Get the params object. This will hold all the values that can be accessed in the user-role-project-tab.properties file

 

        Map params = super.createVelocityParams(ctx);

        //Get the project object

        Project project = ctx.getProject();

        //Get all the project roles

        Collection projectRoles = projectRoleManager.getProjectRoles();

        //Iterate through each role and get the users associated with the role

     for (ProjectRole projectRole : projectRoles) {

          ProjectRoleActors roleActors = projectRoleManager.getProjectRoleActors(projectRole, project);

          people.put(projectRole.getName(), roleActors.getUsers());

      }

        params.put("people", people);

        params.put("avatarService", ComponentAccessor.getAvatarService());

        return params;

    }

 

    public boolean showPanel(BrowseContext context) {

        return true;

    }

}

2 answers

0 votes
Jobin Kuruvilla [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 14, 2016
0 votes
Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
November 12, 2016

I suspect it's because of age.  The code you've got looks like stuff for JIRA 4-6.   The user, group and role stuff changed a lot in JIRA 6.high, and even more in 7.

Suggest an answer

Log in or Sign up to answer