Exemplo n.º 1
0
  private void chooseField(
      final ResultList<ResultItem> searchResult, final Collection<String> fields) {

    if (null != searchResult) {

      for (ResultItem i : searchResult.getResults()) {

        ResultItem item = i;

        for (String field : fields) {
          if (null != item.getObjectField(field)) {
            if (item.getObjectField(field) instanceof String) {
              item = item.addField(config.getTarget(), item.getField(field));
            } else {
              item = item.addObjectField(config.getTarget(), item.getObjectField(field));
            }
            break;
          }
        }

        if (null != config.getDefaultValue() && null == item.getField(config.getTarget())) {
          item = item.addField(config.getTarget(), config.getDefaultValue());
        }

        if (item instanceof ResultList<?>) {
          chooseField((ResultList<ResultItem>) item, fields);
        }

        searchResult.replaceResult(i, item);
      }
    }
  }
Exemplo n.º 2
0
  public void handleResult(final Context cxt, final DataModel datamodel) {

    final Collection<String> fields = config.getFields();
    final ResultList<ResultItem> searchResult = cxt.getSearchResult();
    chooseField(searchResult, fields);
  }