Skip to content

Commit

Permalink
LPS-138913 Adds support for filtering by keywords
Browse files Browse the repository at this point in the history
  • Loading branch information
guilhermedcamacho committed Sep 17, 2021
1 parent 051793b commit 8438bbc
Showing 1 changed file with 21 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,13 @@

import com.liferay.info.collection.provider.CollectionQuery;
import com.liferay.info.collection.provider.ConfigurableInfoCollectionProvider;
import com.liferay.info.collection.provider.FilteredInfoCollectionProvider;
import com.liferay.info.collection.provider.SingleFormVariationInfoCollectionProvider;
import com.liferay.info.field.InfoField;
import com.liferay.info.field.InfoFieldSet;
import com.liferay.info.field.type.SelectInfoFieldType;
import com.liferay.info.filter.InfoFilter;
import com.liferay.info.filter.KeywordsInfoFilter;
import com.liferay.info.form.InfoForm;
import com.liferay.info.localized.InfoLocalizedValue;
import com.liferay.info.pagination.InfoPage;
Expand Down Expand Up @@ -50,6 +53,7 @@
import com.liferay.portal.vulcan.util.TransformUtil;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
Expand All @@ -63,6 +67,7 @@
*/
public class ObjectEntrySingleFormVariationInfoCollectionProvider
implements ConfigurableInfoCollectionProvider<ObjectEntry>,
FilteredInfoCollectionProvider<ObjectEntry>,
SingleFormVariationInfoCollectionProvider<ObjectEntry> {

public ObjectEntrySingleFormVariationInfoCollectionProvider(
Expand Down Expand Up @@ -170,12 +175,16 @@ public String getLabel(Locale locale) {
return _objectDefinition.getPluralLabel(locale);
}

@Override
public List<InfoFilter> getSupportedInfoFilters() {
return Arrays.asList(new KeywordsInfoFilter());
}

private SearchContext _buildSearchContext(CollectionQuery collectionQuery)
throws PortalException {

SearchContext searchContext = new SearchContext();

searchContext.setAndSearch(true);
searchContext.setAttribute(
Field.STATUS, WorkflowConstants.STATUS_APPROVED);
searchContext.setAttribute(
Expand All @@ -201,6 +210,17 @@ private SearchContext _buildSearchContext(CollectionQuery collectionQuery)
searchContext.setEnd(pagination.getEnd());

searchContext.setGroupIds(new long[] {_getGroupId()});

Optional<KeywordsInfoFilter> keywordsInfoFilterOptional =
collectionQuery.getInfoFilterOptional(KeywordsInfoFilter.class);

if (keywordsInfoFilterOptional.isPresent()) {
KeywordsInfoFilter keywordsInfoFilter =
keywordsInfoFilterOptional.get();

searchContext.setKeywords(keywordsInfoFilter.getKeywords());
}

searchContext.setStart(pagination.getStart());

QueryConfig queryConfig = searchContext.getQueryConfig();
Expand Down

0 comments on commit 8438bbc

Please sign in to comment.