private NodeQuery filteredQuery(final NodesFilterDTO filter) { if (filter.getQuery() != null && filter.getContentTypeId() != null) { return NodeQueries.any(NodeQueries.anyString(filter.getQuery(), fields), NodeQueries.term(Schema.TYPE, filter.getContentTypeId())); } else if (filter.getQuery() == null && filter.getContentTypeId() != null) { return NodeQueries.term(Schema.TYPE, filter.getContentTypeId()); } else if (filter.getQuery() != null && filter.getContentTypeId() == null) { return NodeQueries.anyString(filter.getQuery(), fields); } return null; }
public ComponentResponse execute() { final ContentCriteria criteria = contentLoader.newCriteria(); pagination = loadPagination(Pagination.SIZE); if (componentConfig.navigation() && navigationKey != null) { if (navigationKey.isCategory()) { criteria.categories().apply(navigationKey.getCategory(), FilterType.REQUIRED); } if (navigationKey.isContentType()) { criteria.contentTypes().apply(navigationKey.getContentType(), FilterType.REQUIRED); } /* * if (navigationKey.isCategory() && navigationKey.isContentType()) { * criteria.category(navigationKey.getCategory()).contentType(navigationKey.getContentType()); } else if * (navigationKey.isCategory() && !navigationKey.isContentType()) { * criteria.category(navigationKey.getCategory()); } else if (!navigationKey.isCategory() && * navigationKey.isContentType()) { * * } */ } final List<String> f = fields(); if (param != null && !"".equals(param.trim()) && !f.isEmpty()) { criteria.must(NodeQueries.anyString(param, f)); } setPage(criteria.getPage(pagination)); return ComponentResponse.OK; }