Class ProjectQueryProcessor


  • public class ProjectQueryProcessor
    extends QueryProcessor<com.google.gerrit.index.project.ProjectData>
    Query processor for the project index.

    Instances are one-time-use. Other singleton classes should inject a Provider rather than holding on to a single instance.

    • Constructor Detail

      • ProjectQueryProcessor

        @Inject
        protected ProjectQueryProcessor​(com.google.inject.Provider<CurrentUser> userProvider,
                                        AccountLimits.Factory limitsFactory,
                                        com.google.gerrit.metrics.MetricMaker metricMaker,
                                        IndexConfig indexConfig,
                                        com.google.gerrit.index.project.ProjectIndexCollection indexes,
                                        com.google.gerrit.index.project.ProjectIndexRewriter rewriter,
                                        PermissionBackend permissionBackend)
    • Method Detail

      • enforceVisibility

        protected Predicate<com.google.gerrit.index.project.ProjectData> enforceVisibility​(Predicate<com.google.gerrit.index.project.ProjectData> pred)
        Description copied from class: QueryProcessor
        Invoked after the query was rewritten. Subclasses must overwrite this method to filter out results that are not visible to the calling user.
        Specified by:
        enforceVisibility in class QueryProcessor<com.google.gerrit.index.project.ProjectData>
        Parameters:
        pred - the query
        Returns:
        the modified query
      • formatForLogging

        protected String formatForLogging​(com.google.gerrit.index.project.ProjectData projectData)
        Specified by:
        formatForLogging in class QueryProcessor<com.google.gerrit.index.project.ProjectData>