Class ProjectLead

  extended by
      extended by
          extended by
All Implemented Interfaces:
SchemeType, SecurityType

public class ProjectLead
extends AbstractProjectsSecurityType

Field Summary
static String DESC
Constructor Summary
ProjectLead(JiraAuthenticationContext jiraAuthenticationContext)
Method Summary
 void doValidation(String key, Map parameters, JiraServiceContext jiraServiceContext)
 String getDisplayName()
    getQuery(com.atlassian.crowd.embedded.api.User searcher, Project project, org.ofbiz.core.entity.GenericValue securityLevel, String parameter)
          Returns a query based on security level and the project passed in.
 String getType()
 Set<com.atlassian.crowd.embedded.api.User> getUsers(PermissionContext ctx, String ignored)
          Returns a list of Users represented by a security type instance.
 boolean hasPermission(org.ofbiz.core.entity.GenericValue entity, String argument)
          Interface for determining if a permission type has the permission.
 boolean hasPermission(org.ofbiz.core.entity.GenericValue entity, String argument, com.atlassian.crowd.embedded.api.User user, boolean issueCreation)
          Determines if the user is the project lead for the project.
Methods inherited from class
Methods inherited from class
getArgumentDisplay, isValidForPermission
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


public static final String DESC
See Also:
Constant Field Values
Constructor Detail


public ProjectLead(JiraAuthenticationContext jiraAuthenticationContext)
Method Detail


public String getDisplayName()


public String getType()


public boolean hasPermission(org.ofbiz.core.entity.GenericValue entity,
                             String argument)
Description copied from interface: SchemeType
Interface for determining if a permission type has the permission.

This method is called if there is no Remote User (ie anonymous)

entity - This is the issue or the project that the security is being checked for
argument - If this particular SchemeType has been configured with a parameter, then this parameter is passed (eg. Group Name for GroupDropdown)
true if anonymous Users have this permission.


public boolean hasPermission(org.ofbiz.core.entity.GenericValue entity,
                             String argument,
                             com.atlassian.crowd.embedded.api.User user,
                             boolean issueCreation)
Determines if the user is the project lead for the project. The current project is derived from the entity using JiraUtils.getProject. If it is not then false is returned.

entity - The Generic Value. Should be an Issue or a Project
argument - Not needed for this implementation
user - User to check the permission on. If it is null then the check is made on the current user
issueCreation -
true if the user is the project lead otherwise false
See Also:
AbstractIssueFieldSecurityType.hasPermission(org.ofbiz.core.entity.GenericValue, java.lang.String), AbstractIssueFieldSecurityType.hasPermission(org.ofbiz.core.entity.GenericValue, java.lang.String), SingleUser.hasPermission(org.ofbiz.core.entity.GenericValue, java.lang.String), GroupDropdown.hasPermission(org.ofbiz.core.entity.GenericValue, java.lang.String)


public void doValidation(String key,
                         Map parameters,
                         JiraServiceContext jiraServiceContext)


public Set<com.atlassian.crowd.embedded.api.User> getUsers(PermissionContext ctx,
                                                           String ignored)
Description copied from interface: SecurityType
Returns a list of Users represented by a security type instance. The collection must not contain any nulls.

ctx - The current issue and project
ignored - Instance value, eg. a group name, user name, custom field id
A set of Users.


public getQuery(com.atlassian.crowd.embedded.api.User searcher,
                                               Project project,
                                               org.ofbiz.core.entity.GenericValue securityLevel,
                                               String parameter)
Description copied from interface: SecurityType
Returns a query based on security level and the project passed in. This may be required in particular for role based issue security levels. (see JRA-12739)

Specified by:
getQuery in interface SecurityType
getQuery in class AbstractProjectsSecurityType
searcher - The searcher conducting the search
project - The project for which we're constructing a query
securityLevel - The security level for which we are constructing the query
parameter - Parameter identifying user related field (reporter, assignee, etc)
A lucene permissions query

Copyright © 2002-2012 Atlassian. All Rights Reserved.