Package org.sonar.server.search

Examples of org.sonar.server.search.QueryContext


    Date since = new Date();
    dao.insert(dbSession, RuleTesting.newDto(RuleKey.of("java", "S002")));
    dbSession.commit();

    // 0. find all rules;
    assertThat(index.search(new RuleQuery(), new QueryContext()).getHits()).hasSize(2);

    // 1. find all rules available since a date;
    RuleQuery availableSinceQuery = new RuleQuery()
      .setAvailableSince(since);
    List<Rule> hits = index.search(availableSinceQuery, new QueryContext()).getHits();
    assertThat(hits).hasSize(1);
    assertThat(hits.get(0).key()).isEqualTo(RuleKey.of("java", "S002"));

    // 2. find no new rules since tomorrow.
    RuleQuery availableSinceNowQuery = new RuleQuery()
      .setAvailableSince(DateUtils.addDays(since, 1));
    assertThat(index.search(availableSinceNowQuery, new QueryContext()).getHits()).hasSize(0);
  }
View Full Code Here


    Rule rule = index.getByKey(RuleTesting.XOO_X1);
    assertThat(rule.name()).isEqualTo(nameWithProtectedChars);

    RuleQuery protectedCharsQuery = new RuleQuery().setQueryText(nameWithProtectedChars);
    List<Rule> results = index.search(protectedCharsQuery, new QueryContext()).getHits();
    assertThat(results).hasSize(1);
    assertThat(results.get(0).key()).isEqualTo(RuleTesting.XOO_X1);
  }
View Full Code Here

      RuleTesting.newDto(RuleKey.of("foo", "S113")).setLanguage("cpp").setTags(ImmutableSet.<String>of("T2", "T3")));
    dbSession.commit();

    // 0 assert Base
    assertThat(index.countAll()).isEqualTo(9);
    assertThat(index.search(new RuleQuery(), new QueryContext()).getHits()).hasSize(9);

    // 1 Facet with no filters at all
    Map<String, Collection<FacetValue>> facets = index.search(new RuleQuery(), new QueryContext().addFacets(Arrays.asList("languages", "repositories", "tags"))).getFacets();
    assertThat(facets.keySet()).hasSize(3);
    assertThat(facets.get(RuleIndex.FACET_LANGUAGES)).onProperty("key").containsOnly("cpp", "java", "cobol");
    assertThat(facets.get(RuleIndex.FACET_REPOSITORIES)).onProperty("key").containsOnly("xoo", "foo");
    assertThat(facets.get(RuleIndex.FACET_TAGS)).onProperty("key").containsOnly("systag1", "systag2", "T1", "T2", "T3", "T4");

    // 2 Facet with a language filter
    // -- lang facet should still have all language
    Result<Rule> result = index.search(new RuleQuery()
      .setLanguages(ImmutableList.<String>of("cpp"))
      , new QueryContext().addFacets(Arrays.asList("languages", "repositories", "tags")));
    assertThat(result.getHits()).hasSize(3);
    assertThat(result.getFacets()).hasSize(3);
    assertThat(result.getFacets().get(RuleIndex.FACET_LANGUAGES)).onProperty("key").containsOnly("cpp", "java", "cobol");

    // 3 facet with 2 filters
    // -- lang facet for tag T2
    // -- tag facet for lang cpp
    // -- repository for cpp & T2
    result = index.search(new RuleQuery()
      .setLanguages(ImmutableList.<String>of("cpp"))
      .setTags(ImmutableList.<String>of("T2"))
      , new QueryContext().addFacets(Arrays.asList("languages", "repositories", "tags")));
    assertThat(result.getHits()).hasSize(1);
    assertThat(result.getFacets().keySet()).hasSize(3);
    assertThat(result.getFacets().get(RuleIndex.FACET_LANGUAGES)).onProperty("key").containsOnly("cpp", "java");
    assertThat(result.getFacets().get(RuleIndex.FACET_REPOSITORIES)).onProperty("key").containsOnly("foo");
    assertThat(result.getFacets().get(RuleIndex.FACET_TAGS)).onProperty("key").containsOnly("systag1", "systag2", "T2", "T3");

    // 4 facet with 2 filters
    // -- lang facet for tag T2
    // -- tag facet for lang cpp & java
    // -- repository for (cpp || java) & T2
    result = index.search(new RuleQuery()
      .setLanguages(ImmutableList.<String>of("cpp", "java"))
      .setTags(ImmutableList.<String>of("T2"))
      , new QueryContext().addFacets(Arrays.asList("languages", "repositories", "tags")));
    assertThat(result.getHits()).hasSize(2);
    assertThat(result.getFacets().keySet()).hasSize(3);
    assertThat(result.getFacets().get(RuleIndex.FACET_LANGUAGES)).onProperty("key").containsOnly("cpp", "java");
    assertThat(result.getFacets().get(RuleIndex.FACET_REPOSITORIES)).onProperty("key").containsOnly("foo", "xoo");
    assertThat(result.getFacets().get(RuleIndex.FACET_TAGS)).onProperty("key").containsOnly("systag1", "systag2", "T1", "T2", "T3");
View Full Code Here

    // 1. assert getBy for removed
    assertThat(index.getByKey(RuleTesting.XOO_X2)).isNotNull();

    // 2. assert find does not get REMOVED
    List<Rule> rules = index.search(new RuleQuery(), new QueryContext()).getHits();
    assertThat(rules).hasSize(1);
    assertThat(rules.get(0).key()).isEqualTo(RuleTesting.XOO_X1);
  }
View Full Code Here

    assertThat(rules.get(0).getKey()).isEqualTo(RuleKey.of("xoo", "x1"));
    List<RuleParamDto> ruleParams = db.ruleDao().findAllRuleParams(dbSession);
    assertThat(ruleParams).hasSize(2);

    // verify es
    Result<Rule> searchResult = ruleIndex.search(new RuleQuery(), new QueryContext());
    assertThat(searchResult.getTotal()).isEqualTo(1);
    assertThat(searchResult.getHits()).hasSize(1);
    Rule rule = ruleIndex.getByKey(RuleKey.of("xoo", "x1"));
    assertThat(rule.severity()).isEqualTo(Severity.MINOR);
    assertThat(rule.name()).isEqualTo("x1 name");
View Full Code Here

    // clear ES but keep db
    TESTER.clearIndexes();
    register(rules);

    // verify that rules are indexed
    Result<Rule> searchResult = ruleIndex.search(new RuleQuery(), new QueryContext());
    searchResult = ruleIndex.search(new RuleQuery().setKey("xoo:x1"), new QueryContext());
    assertThat(searchResult.getTotal()).isEqualTo(1);
    assertThat(searchResult.getHits()).hasSize(1);
    assertThat(searchResult.getHits().get(0).key()).isEqualTo(RuleKey.of("xoo", "x1"));
  }
View Full Code Here

    assertThat(db.activeRuleDao().findByProfileKey(session, profile.getKey())).hasSize(0);

    // 2. Assert ActiveRule with BLOCKER severity
    assertThat(tester.get(RuleIndex.class).search(
      new RuleQuery().setSeverities(ImmutableSet.of("BLOCKER")),
      new QueryContext()).getHits()).hasSize(2);

    // 1. Activate Rule with query returning 2 hits
    WsTester.TestRequest request = wsTester.newGetRequest(QProfilesWs.API_ENDPOINT, BulkRuleActivationActions.BULK_ACTIVATE_ACTION);
    request.setParam(BulkRuleActivationActions.PROFILE_KEY, profile.getKey().toString());
    request.setParam(BulkRuleActivationActions.SEVERITY, "MINOR");
View Full Code Here

    return index.get(RuleIndex.class).search(
      new RuleQuery()
        .setQProfileKey(key)
        .setActivation(true)
        .setStatuses(Lists.newArrayList(RuleStatus.DEPRECATED)),
      new QueryContext().setLimit(0)).getTotal();
  }
View Full Code Here

    }
    json.endArray();
  }

  private void appendManualRules(JsonWriter json) {
    Result<Rule> result = ruleService.search(new RuleQuery().setRepositories(newArrayList(RuleDoc.MANUAL_REPOSITORY)), new QueryContext().setMaxLimit());
    if (result != null && !result.getHits().isEmpty()) {
      List<Rule> manualRules = result.getHits();
      json.name("manual_rules").beginArray();
      for (Rule manualRule : manualRules) {
        json.beginObject()
View Full Code Here

  /**
   * Used in profiles_controller.rb
   */
  public QProfileActivityResult search(Map<String, Object> params) {
    QProfileActivityQuery query = new QProfileActivityQuery();
    QueryContext queryContext = new QueryContext().setMaxLimit();
    List<String> profileKeys = RubyUtils.toStrings(params.get("profileKeys"));
    if (profileKeys != null) {
      query.setQprofileKeys(profileKeys);
    }
    Date since = RubyUtils.toDate(params.get("since"));
    if (since != null) {
      query.setSince(since);
    }
    Date to = RubyUtils.toDate(params.get("to"));
    if (to != null) {
      query.setTo(to);
    }
    Integer page = RubyUtils.toInteger(params.get("p"));
    int pageIndex = page != null ? page : 1;
    queryContext.setPage(pageIndex, 50);

    Result<QProfileActivity> result = service.searchActivities(query, queryContext);
    return new QProfileActivityResult(result.getHits(), Paging.create(queryContext.getLimit(), pageIndex, Long.valueOf(result.getTotal()).intValue()));
  }
View Full Code Here

TOP

Related Classes of org.sonar.server.search.QueryContext

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.