public abstract class AbstractIssueFieldSecurityType extends AbstractSecurityType
Constructor and Description |
---|
AbstractIssueFieldSecurityType() |
Modifier and Type | Method and Description |
---|---|
protected abstract String |
getFieldName(String parameter)
Get the field name for this Issue Field-based Security Type given the parameter in the saved configuration.
|
org.apache.lucene.search.Query |
getQuery(com.atlassian.crowd.embedded.api.User searcher,
Project project,
IssueSecurityLevel securityLevel,
String parameter)
Returns a query based on security level and the project passed in.
|
org.apache.lucene.search.Query |
getQuery(com.atlassian.crowd.embedded.api.User searcher,
Project project,
String parameter) |
protected org.apache.lucene.search.BooleanQuery |
getQueryForProject(Project project,
com.atlassian.crowd.embedded.api.User searcher,
String fieldName)
Gets called to produce the Lucene query for a project
|
protected org.apache.lucene.search.BooleanQuery |
getQueryForSecurityLevel(IssueSecurityLevel issueSecurity,
com.atlassian.crowd.embedded.api.User searcher,
String fieldName)
Produces a Lucene query for a given issue security type such that documents
match the query only when the given user is defined for the issue by this
custom field in the given security.
|
protected abstract boolean |
hasIssuePermission(com.atlassian.crowd.embedded.api.User user,
boolean issueCreation,
org.ofbiz.core.entity.GenericValue issueGv,
String argument) |
protected abstract boolean |
hasIssuePermission(com.atlassian.crowd.embedded.api.User user,
boolean issueCreation,
Issue issue,
String parameter) |
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)
Decides if the given User has permission to see the given issue or project.
|
boolean |
hasPermission(Issue issue,
String argument)
Determines if this permission type is satisfied for anonymous access.
|
boolean |
hasPermission(Issue issue,
String parameter,
com.atlassian.crowd.embedded.api.User user,
boolean issueCreation)
Determines if this permission type is satisfied.
|
boolean |
hasPermission(Project project,
String argument)
Determines if this permission type is satisfied for anonymous access.
|
boolean |
hasPermission(Project project,
String parameter,
com.atlassian.crowd.embedded.api.User user,
boolean issueCreation)
Determines if this permission type is satisfied.
|
protected abstract boolean |
hasProjectPermission(com.atlassian.crowd.embedded.api.User user,
boolean issueCreation,
org.ofbiz.core.entity.GenericValue project) |
protected abstract boolean |
hasProjectPermission(com.atlassian.crowd.embedded.api.User user,
boolean issueCreation,
Project project) |
getArgumentDisplay, isValidForPermission
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getUsers
doValidation, getDisplayName, getType
protected abstract String getFieldName(String parameter)
Some Field based permissions are based on hard-coded fields like assignee and reporter in which case the parameter is not used. Other types use the parameter to name the particular User or Group custom field that is used for the permission.
parameter
- the parameter as saved in the configpublic org.apache.lucene.search.Query getQuery(com.atlassian.crowd.embedded.api.User searcher, Project project, String parameter)
public org.apache.lucene.search.Query getQuery(com.atlassian.crowd.embedded.api.User searcher, Project project, IssueSecurityLevel securityLevel, String parameter)
SecurityType
searcher
- The searcher conducting the searchproject
- The project for which we're constructing a querysecurityLevel
- The security level for which we are constructing the queryparameter
- Parameter identifying user related field (reporter, assignee, etc)@Nullable protected org.apache.lucene.search.BooleanQuery getQueryForProject(@Nonnull Project project, @Nullable com.atlassian.crowd.embedded.api.User searcher, @Nonnull String fieldName)
project
- The project for which to construct a querysearcher
- The user who is searching to add to the querynull
if the searcher is either
null
or not a known user@Nullable protected org.apache.lucene.search.BooleanQuery getQueryForSecurityLevel(@Nonnull IssueSecurityLevel issueSecurity, @Nullable com.atlassian.crowd.embedded.api.User searcher, @Nonnull String fieldName)
issueSecurity
- the security defined by this IssueFieldSecurityType instance.searcher
- the user.null
if user is either
null
or not a known userpublic boolean hasPermission(org.ofbiz.core.entity.GenericValue entity, String argument)
SchemeType
entity
- This is the issue or the project that the security is being checked forargument
- If this particular SchemeType has been configured with a parameter, then this parameter is passed (eg. Group Name for GroupDropdown
)public boolean hasPermission(Issue issue, String argument)
SchemeType
issue
- This is the issue that the security is being checked forargument
- If this particular SchemeType has been configured with a parameter, then this parameter is passed (eg. Group Name for GroupDropdown
)public boolean hasPermission(Project project, String argument)
SchemeType
project
- This is the project that the security is being checked forargument
- If this particular SchemeType has been configured with a parameter, then this parameter is passed (eg. Group Name for GroupDropdown
)public boolean hasPermission(org.ofbiz.core.entity.GenericValue entity, String argument, com.atlassian.crowd.embedded.api.User user, boolean issueCreation)
entity
- The Generic Value. Should be an Issue (but sometimes it's a Project)argument
- Not needed for this implementationuser
- User to check the permission on. If it is null then the check is made on the current userissueCreation
- NFIhasPermission(org.ofbiz.core.entity.GenericValue, java.lang.String)
,
ProjectLead.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 boolean hasPermission(Issue issue, String parameter, com.atlassian.crowd.embedded.api.User user, boolean issueCreation)
SchemeType
issue
- This is the issue that the security is being checked forparameter
- If this particular SchemeType has been configured with a parameter, then this parameter is passed (eg. Group Name for GroupDropdown
)user
- The user for whom the permission is being checkedissueCreation
- Whether this permission is being checked during issue creationpublic boolean hasPermission(Project project, String parameter, com.atlassian.crowd.embedded.api.User user, boolean issueCreation)
SchemeType
project
- This is the project that the security is being checked forparameter
- If this particular SchemeType has been configured with a parameter, then this parameter is passed (eg. Group Name for GroupDropdown
)user
- The user for whom the permission is being checkedissueCreation
- Whether this permission is being checked during issue creationprotected abstract boolean hasIssuePermission(com.atlassian.crowd.embedded.api.User user, boolean issueCreation, org.ofbiz.core.entity.GenericValue issueGv, String argument)
protected abstract boolean hasIssuePermission(com.atlassian.crowd.embedded.api.User user, boolean issueCreation, Issue issue, String parameter)
protected abstract boolean hasProjectPermission(com.atlassian.crowd.embedded.api.User user, boolean issueCreation, org.ofbiz.core.entity.GenericValue project)
protected abstract boolean hasProjectPermission(com.atlassian.crowd.embedded.api.User user, boolean issueCreation, Project project)
Copyright © 2002-2015 Atlassian. All Rights Reserved.