コード例 #1
0
ファイル: SearchPresenter.java プロジェクト: ZionSoft/Obadiah
  void search(String translation, final String query) {
    subscription =
        searchModel
            .search(translation, query)
            .map(
                new Func1<List<VerseSearchResult>, List<SearchedVerse>>() {
                  @Override
                  public List<SearchedVerse> call(List<VerseSearchResult> searchResults) {
                    final int count = searchResults.size();
                    final List<SearchedVerse> verses = new ArrayList<>(count);
                    for (int i = 0; i < count; ++i) {
                      verses.add(new SearchedVerse(searchResults.get(i), query));
                    }
                    return verses;
                  }
                })
            .compose(RxHelper.<List<SearchedVerse>>applySchedulers())
            .subscribe(
                new Subscriber<List<SearchedVerse>>() {
                  @Override
                  public void onCompleted() {
                    final SearchView v = getView();
                    if (v != null) {
                      v.onVersesSearchFinished();
                    }
                  }

                  @Override
                  public void onError(Throwable e) {
                    final SearchView v = getView();
                    if (v != null) {
                      v.onVersesSearchFailed();
                    }
                  }

                  @Override
                  public void onNext(List<SearchedVerse> verses) {
                    final SearchView v = getView();
                    if (v != null) {
                      v.onVersesSearched(verses);
                    }
                  }
                });
  }
コード例 #2
0
  @Override
  protected DocearServiceResponse getRequestResponse(boolean userRequest) {
    MultivaluedMap<String, String> params = new StringKeyStringValueIgnoreCaseMultivaluedMap();

    if (searchModel != null) {
      params.add("searchModelId", String.valueOf(searchModel.getId()));
    }
    if (getDocumentsSetId() != null) {
      params.add("searchDocumentsSetId", String.valueOf(getDocumentsSetId()));
    }
    params.add("page", String.valueOf(page));
    params.add("userName", ServiceController.getCurrentUser().getName());
    params.add("number", "10");

    if (this.query.trim().length() > 0) {
      return ServiceController.getConnectionController()
          .get("/documents/" + createLuceneSearchString(query) + "/", params);
    } else {
      return null;
    }
  }
コード例 #3
0
ファイル: SearchPresenter.java プロジェクト: ZionSoft/Obadiah
 void clearSearchHistory() {
   searchModel.clearSearchHistory().subscribeOn(Schedulers.io()).onErrorComplete().subscribe();
 }