@NonInjectableComponent public class

IssueLiteralSanitiser

extends Object
implements LiteralSanitiser
java.lang.Object
   ↳ com.atlassian.jira.jql.permission.IssueLiteralSanitiser

Class Overview

Sanitise the issue keys or ids stored in QueryLiterals. The strategy is to sanitise only those issues which both exist and the user does not have permission to browse. The sanitised form of the operand replaces the key representation with the id representation.

Summary

Public Constructors
IssueLiteralSanitiser(PermissionManager permissionManager, JqlIssueSupport jqlIssueSupport, User user)
Public Methods
LiteralSanitiser.Result sanitiseLiterals(List<QueryLiteral> literals)
Issue keys are not guaranteed to be 1-1, so this method might actually return more QueryLiterals than what we started with.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.jira.jql.permission.LiteralSanitiser

Public Constructors

public IssueLiteralSanitiser (PermissionManager permissionManager, JqlIssueSupport jqlIssueSupport, User user)

Public Methods

public LiteralSanitiser.Result sanitiseLiterals (List<QueryLiteral> literals)

Issue keys are not guaranteed to be 1-1, so this method might actually return more QueryLiterals than what we started with. Therefore, callers of this method need to be aware that the type of Operand to use might need to change.

Parameters
literals the literals to sanitise; must not be null.
Returns
  • the result object containing the modification status and the resulting literals