private void applyExtendedDataFilters(QueryAndData queryAndData, SearchOptions searchOptions) { Query query = queryAndData.getQuery(); String[] filterStrings = searchOptions.getOptionalParameter("extendedDataFilters[]", String[].class); if (filterStrings == null || filterStrings.length == 0) { return; } List<HasExtendedDataFilter> filters = new ArrayList<>(); for (String filterString : filterStrings) { JSONObject filterJson = new JSONObject(filterString); String elementTypeString = filterJson.optString("elementType"); ElementType elementType = elementTypeString == null ? null : ElementType.valueOf(elementTypeString); String elementId = filterJson.optString("elementId"); String tableName = filterJson.optString("tableName"); filters.add(new HasExtendedDataFilter(elementType, elementId, tableName)); } query.hasExtendedData(filters); }
graphQuery = graphQuery.hasExtendedData(elementExtendedData.elementType, elementExtendedData.elementId, elementExtendedData.tableName); } else if (!relatedToVertexIds.isEmpty()) { String[] edgeLabels = getEdgeLabels(searchOptions);