Я сейчас пытаюсь получить заголовок столбца, используемый в гибком поиске с использованием Java. Однако я не могу найти какой-либо метод в Hybris, чтобы сделать это.
Вот мой метод обработки гибкого поиска:
private List<List<Object>> processFlexibleQuery(final String flexibleQuery, final List<String> paramValues, final List<String> paramNames, final int headersCount)
{
final Map<String, Object> params = new HashMap<>();
final FlexibleSearchQuery query = new FlexibleSearchQuery(flexibleQuery);
final Class[] resultTypesArray = new Class[headersCount];
for (int i = 0; i < headersCount; i++)
{
resultTypesArray[i] = String.class;
}
query.setResultClassList(Arrays.asList(resultTypesArray));
if (paramValues.size() > 0 && paramNames.size() == paramValues.size())
{
for (int i = 0; i < paramValues.size(); i++)
{
params.put(paramNames.get(i).trim(), paramValues.get(i).trim());
}
}
query.addQueryParameters(params);
final SearchResult<List<Object>> result = flexibleSearchService.search(query);
final List<List<Object>> productList = result.getResult();
return productList;
}
Мой метод работает нормально. Я искал пару классов, предоставленных hybris, чтобы поместить заголовок столбца гибкого поиска в список, но я не могу найти какой-либо метод.
В основном, если я обработаю эту FS в моем методе:
SELECT {p.code} as potato,
{p.name} as name
FROM {product as p}
Я хочу, чтобы в списке были "картошка" и "имя". Я не хочу анализировать запрос напрямую, используя «как», потому что, если в гибком поиске есть подзапрос, это приведет к ошибке. Есть идеи?