Package org.sonar.server.search

Examples of org.sonar.server.search.QueryContext


    this.doDefinition(action);
  }

  @Override
  public final void handle(Request request, Response response) throws Exception {
    QueryContext context = getQueryContext(request);
    QUERY query = doQuery(request);
    Result<DOMAIN> result = doSearch(query, context);

    JsonWriter json = response.newJsonWriter().beginObject();
    this.writeStatistics(json, result, context);
    doContextResponse(request, context, result, json);
    if (context.isFacet()) {
      writeFacets(request, context, result, json);
    }
    json.endObject().close();
  }
View Full Code Here


    json.endObject().close();
  }

  private QueryContext getQueryContext(Request request) {
    int pageSize = request.mandatoryParamAsInt(PARAM_PAGE_SIZE);
    QueryContext queryContext = new QueryContext().addFieldsToReturn(request.paramAsStrings(PARAM_FIELDS));
    List<String> facets = request.paramAsStrings(PARAM_FACETS);
    if(facets != null) {
      queryContext.addFacets(facets);
    }
    if (pageSize < 1) {
      queryContext.setPage(request.mandatoryParamAsInt(PARAM_PAGE), 0).setMaxLimit();
    } else {
      queryContext.setPage(request.mandatoryParamAsInt(PARAM_PAGE), pageSize);
    }
    return queryContext;
  }
View Full Code Here

    query.setTags(RubyUtils.toStrings(params.get("tags")));
    query.setDebtCharacteristics(RubyUtils.toStrings(params.get("debtCharacteristics")));
    query.setHasDebtCharacteristic(RubyUtils.toBoolean(params.get("hasDebtCharacteristic")));
    query.setSortField(RuleNormalizer.RuleField.NAME);

    QueryContext options = new QueryContext();
    Integer pageSize = RubyUtils.toInteger(params.get("pageSize"));
    int size = pageSize != null ? pageSize : 50;
    if (size > -1) {
      Integer page = RubyUtils.toInteger(params.get("p"));
      int pageIndex = page != null ? page : 1;
      options.setPage(pageIndex, size);
      Result<Rule> result = service.search(query, options);
      return new PagedResult<Rule>(result.getHits(), PagingResult.create(options.getLimit(), pageIndex, result.getTotal()));
    } else {
      options = new QueryContext().setScroll(true);
      List<Rule> rules = newArrayList(service.search(query, options).scroll());
      return new PagedResult<Rule>(rules, PagingResult.create(Integer.MAX_VALUE, 1, rules.size()));
    }
  }
View Full Code Here

  /**
   * Used in manual_rules_controller.rb
   */
  public List<Rule> searchManualRules() {
    return service.search(new RuleQuery().setRepositories(newArrayList(RuleDoc.MANUAL_REPOSITORY)).setSortField(RuleNormalizer.RuleField.NAME), new QueryContext()).getHits();
  }
View Full Code Here

    ActivityQuery query = logService.newActivityQuery();
    query.setTypes(Arrays.asList(Activity.Type.ANALYSIS_REPORT));

    SearchOptions searchOptions = SearchOptions.create(request);
    QueryContext queryContext = mapping.newQueryOptions(searchOptions);

    Result<Activity> results = logService.search(query, queryContext);

    JsonWriter json = response.newJsonWriter().beginObject();
    searchOptions.writeStatistics(json, results);
View Full Code Here

  public void search_message_log() throws InterruptedException {
    service.write(dbSession, Activity.Type.QPROFILE, testValue);
    dbSession.commit();
    assertThat(index.findAll().getTotal()).isEqualTo(1);

    SearchResponse result = index.search(service.newActivityQuery(), new QueryContext());
    assertThat(result.getHits().getTotalHits()).isEqualTo(1L);
    Result<Activity> activityResult = new Result<Activity>(index, result);
    assertThat(activityResult.getHits().get(0).message()).isEqualTo(testValue);
  }
View Full Code Here

    service.write(dbSession, Activity.Type.QPROFILE, getActivity());
    dbSession.commit();
    assertThat(index.findAll().getTotal()).isEqualTo(1);

    SearchResponse result = index.search(service.newActivityQuery(), new QueryContext());
    assertThat(result.getHits().getTotalHits()).isEqualTo(1L);
    Result<Activity> activityResult = new Result<Activity>(index, result);
    assertThat(activityResult.getHits().get(0).details().get(test_key)).isEqualTo(test_value);
  }
View Full Code Here

    service.write(dbSession, Activity.Type.SERVER, testValue);
    service.write(dbSession, Activity.Type.QPROFILE, getActivity());
    dbSession.commit();

    assertThat(service.search(new ActivityQuery(),
      new QueryContext()).getHits()).hasSize(4);

    assertThat(service.search(new ActivityQuery()
      .setTypes(ImmutableSet.of(Activity.Type.SERVER)),
      new QueryContext()).getHits()).hasSize(2);

    assertThat(service.search(new ActivityQuery()
      .setTypes(ImmutableSet.of(Activity.Type.QPROFILE)),
      new QueryContext()).getHits()).hasSize(1);
  }
View Full Code Here

    dao.insert(dbSession, activity);
    dbSession.commit();
    DateTime t2 = new DateTime().plusHours(1);

    assertThat(service.search(new ActivityQuery(),
      new QueryContext()).getHits()).hasSize(3);

    assertThat(service.search(new ActivityQuery()
      .setSince(t0.minusSeconds(5).toDate()),
      new QueryContext()).getHits()).hasSize(3);

    assertThat(service.search(new ActivityQuery()
      .setSince(t1.minusSeconds(5).toDate()),
      new QueryContext()).getHits()).hasSize(1);

    assertThat(service.search(new ActivityQuery()
      .setSince(t2.minusSeconds(5).toDate()),
      new QueryContext()).getHits()).hasSize(0);

    assertThat(service.search(new ActivityQuery()
      .setTo(t1.minusSeconds(5).toDate()),
      new QueryContext()).getHits()).hasSize(2);

    assertThat(service.search(new ActivityQuery()
      .setSince(t1.minusSeconds(5).toDate())
      .setTo(t2.plusSeconds(5).toDate()),
      new QueryContext()).getHits()).hasSize(1);
  }
View Full Code Here

    dbSession.commit();

    // 0. assert Base case
    assertThat(dao.findAll(dbSession)).hasSize(max);

    SearchResponse result = index.search(service.newActivityQuery(), new QueryContext().setScroll(true));
    assertThat(result.getHits().getTotalHits()).isEqualTo(max);
    Result<Activity> activityResult = new Result<Activity>(index, result);

    assertThat(activityResult.getTotal()).isEqualTo(max);
    assertThat(activityResult.getHits()).hasSize(0);
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.