public JiraQueryProvider(IJira jira, IJiraMetadataProvider metadataProvider, LoggingSettings?loggingSettings = null) { this.jira = jira; this.metadataProvider = metadataProvider; this.loggingSettings = loggingSettings; }
public FilterPredicateAnalyzer(IJiraMetadataProvider metadataProvider, QueryBuilder queryBuilder, IQuerySource parentQuerySource) { this.metadataProvider = metadataProvider; this.queryBuilder = queryBuilder; this.parentQuerySource = parentQuerySource; }
public MockJira(string fakeJiraUrl, JiraUser authorizedUser, IJiraIssueStore store, IJiraMetadataProvider metadataProvider) { this.store = store; this.fakeJiraUrl = fakeJiraUrl; this.authorizedUser = authorizedUser; this.metadataProvider = metadataProvider; }
public static IQueryProvider CreateQueryProvider(IJiraMetadataProvider metadataProvider, Func <BuiltQuery, IEnumerable> execute) { if (queryParser == null) { queryParser = CreateQueryParser(); } return(new RelinqQueryProvider(queryParser, new RelinqQueryExecutor(metadataProvider, execute))); }
public QueryModelVisitor(IJiraMetadataProvider metadataProvider, QueryBuilder queryBuilder, IQuerySource parentSource) { this.queryBuilder = queryBuilder; filterPredicateAnalyzer = new FilterPredicateAnalyzer(metadataProvider, queryBuilder, parentSource); memberAccessBuilder = new MemberAccessBuilder(metadataProvider); propertiesExtractor = new PropertiesExtractingVisitor(memberAccessBuilder); isSubQuery = parentSource != null; }
public static JqlCommand Compile(string jql, IJiraMetadataProvider metadataProvider) { var ast = JqlParser.Parse(jql); if (ast == null) { return(new JqlCommand(null, null)); } var visitor = new JqlCompiler(metadataProvider); if (!(ast is JqlExpression jqlExpression)) { throw new JqlCompilationException($"query [{jql}] is not compiled"); } Func <JiraIssueDto[], JiraIssueDto, bool> filter = null; if (jqlExpression.Filter != null) { visitor.Visit(jqlExpression.Filter); if (visitor.filters.Count != 1) { throw new JqlCompilationException($"query [{jql}] is not compiled"); } filter = visitor.filters.Pop(); } JqlOrdering[] ordering = null; if (jqlExpression.OrderBy != null) { visitor.Visit(jqlExpression.OrderBy); if (visitor.ordering.Count == 0) { throw new JqlCompilationException($"query [{jql}] is not compiled"); } ordering = visitor.ordering.ToArray(); } return(new JqlCommand(filter, ordering)); }
public static IMockJira InMemory(string fakeHostUrl, JiraUser authorizedUser, IJiraMetadataProvider metadataProvider) { return(new MockJira(fakeHostUrl, authorizedUser, new InMemoryJiraIssueStore(), metadataProvider)); }
public static IMockJira File(string folderPath, string fakeHostUrl, JiraUser authorizedUser, IJiraMetadataProvider metadataProvider) { return(new MockJira(fakeHostUrl, authorizedUser, new FileJiraIssueStore(folderPath), metadataProvider)); }
private JqlCompiler(IJiraMetadataProvider metadataProvider) { this.metadataProvider = metadataProvider; }
public RelinqQueryExecutor(IJiraMetadataProvider metadataProvider, Func <BuiltQuery, IEnumerable> execute) { this.metadataProvider = metadataProvider; this.execute = execute; }