@Override protected boolean isGroupAdmin(SearchContext searchContext) { long groupId = GetterUtil.getLong( searchContext.getAttribute(Field.GROUP_ID)); if (groupId == 0) { return false; } if (!_permissionChecker.isGroupAdmin(groupId)) { return false; } return true; }
protected long[] getGroupIdsFromSearchContext(SearchContext searchContext) { String groupIdAttribute = GetterUtil.getString( searchContext.getAttribute("groupId")); if (Validator.isNull(groupIdAttribute)) { return null; } long groupId = GetterUtil.getLong(groupIdAttribute); if (groupId == 0) { return _GROUP_IDS_FROM_SEARCH_CONTEXT_DEFAULT; } return addScopeGroup(groupId); }
_permissionChecker.getCompanyId()); int status = GetterUtil.getInteger( searchContext.getAttribute(Field.STATUS), WorkflowConstants.STATUS_APPROVED);
protected void addStatus( BooleanFilter contextBooleanFilter, SearchContext searchContext) throws Exception { int[] statuses = GetterUtil.getIntegerValues( searchContext.getAttribute(Field.STATUS), null); if (ArrayUtil.isEmpty(statuses)) { int status = GetterUtil.getInteger( searchContext.getAttribute(Field.STATUS), WorkflowConstants.STATUS_APPROVED); statuses = new int[] {status}; } if (!ArrayUtil.contains(statuses, WorkflowConstants.STATUS_ANY)) { TermsFilter statusesTermsFilter = new TermsFilter(Field.STATUS); statusesTermsFilter.addValues(ArrayUtil.toStringArray(statuses)); contextBooleanFilter.add( statusesTermsFilter, BooleanClauseOccur.MUST); } else { contextBooleanFilter.addTerm( Field.STATUS, String.valueOf(WorkflowConstants.STATUS_IN_TRASH), BooleanClauseOccur.MUST_NOT); } }
protected void addSearchUserId( BooleanFilter queryBooleanFilter, SearchContext searchContext) throws Exception { MultiValueFacet multiValueFacet = new MultiValueFacet(searchContext); multiValueFacet.setFieldName(Field.USER_ID); multiValueFacet.setStatic(true); long userId = GetterUtil.getLong( searchContext.getAttribute(Field.USER_ID)); if (userId > 0) { multiValueFacet.setValues(new long[] {userId}); } searchContext.addFacet(multiValueFacet); }
Serializable serializable = searchContext.getAttribute(field);
@Override protected BooleanClause<Filter> doGetFacetFilterBooleanClause() { SearchContext searchContext = getSearchContext(); FacetConfiguration facetConfiguration = getFacetConfiguration(); JSONObject dataJSONObject = facetConfiguration.getData(); String value = StringPool.BLANK; if (isStatic() && dataJSONObject.has("value")) { value = dataJSONObject.getString("value"); } String valueParam = GetterUtil.getString( searchContext.getAttribute(getFieldId())); if (!isStatic() && Validator.isNotNull(valueParam)) { value = valueParam; } if (Validator.isNull(value)) { return null; } return BooleanClauseFactoryUtil.createFilter( searchContext, getFieldName(), value, BooleanClauseOccur.MUST); }
searchContext.getAttribute(getFieldId()));
String[] relatedEntryClassNames = (String[])searchContext.getAttribute( "relatedEntryClassNames");
protected boolean isGroupAdmin(SearchContext searchContext) { long groupId = GetterUtil.getLong( searchContext.getAttribute(Field.GROUP_ID)); if (groupId == 0) { return false; } if (!_permissionChecker.isGroupAdmin(groupId)) { return false; } return true; }
@Override public void contribute( BooleanFilter fullQueryBooleanFilter, SearchContext searchContext) { long userId = GetterUtil.getLong( searchContext.getAttribute(Field.USER_ID)); if (userId > 0) { fullQueryBooleanFilter.addRequiredTerm(Field.USER_ID, userId); } }
String[] entryClassNameParam = StringUtil.split( GetterUtil.getString( searchContext.getAttribute(getFieldName())));
GetterUtil.getString(searchContext.getAttribute(getFieldId())));
searchContext.getAttribute(Field.GROUP_ID));
@Override public void contribute( BooleanFilter fullQueryBooleanFilter, SearchContext searchContext) { String layoutUuid = GetterUtil.getString( searchContext.getAttribute(Field.LAYOUT_UUID)); if (Validator.isNotNull(layoutUuid)) { fullQueryBooleanFilter.addRequiredTerm( Field.LAYOUT_UUID, layoutUuid); } }
@Override public void postProcessContextBooleanFilter( BooleanFilter contextBooleanFilter, SearchContext searchContext) throws Exception { int status = GetterUtil.getInteger( searchContext.getAttribute(Field.STATUS), WorkflowConstants.STATUS_APPROVED); if (status != WorkflowConstants.STATUS_ANY) { contextBooleanFilter.addRequiredTerm(Field.STATUS, status); } long ddmFormInstanceId = GetterUtil.getLong( searchContext.getAttribute("ddmFormInstanceId")); if (ddmFormInstanceId > 0) { contextBooleanFilter.addRequiredTerm( "ddmFormInstanceId", ddmFormInstanceId); } addSearchClassTypeIds(contextBooleanFilter, searchContext); String ddmStructureFieldName = (String)searchContext.getAttribute( "ddmStructureFieldName"); Serializable ddmStructureFieldValue = searchContext.getAttribute( "ddmStructureFieldValue"); if (Validator.isNotNull(ddmStructureFieldName) && Validator.isNotNull(ddmStructureFieldValue)) { QueryFilter queryFilter = ddmIndexer.createFieldValueQueryFilter( ddmStructureFieldName, ddmStructureFieldValue, searchContext.getLocale()); contextBooleanFilter.add(queryFilter, BooleanClauseOccur.MUST); } }
@Override public void postProcessContextBooleanFilter( BooleanFilter contextBooleanFilter, SearchContext searchContext) throws Exception { addStatus(contextBooleanFilter, searchContext); contextBooleanFilter.addRequiredTerm( Field.COMPANY_ID, searchContext.getCompanyId()); contextBooleanFilter.addRequiredTerm( Field.GROUP_ID, GetterUtil.getLong(searchContext.getAttribute(Field.GROUP_ID))); Serializable type = searchContext.getAttribute(Field.TYPE); if (type != null) { contextBooleanFilter.addRequiredTerm( Field.TYPE, GetterUtil.getInteger(type)); } }
@Override public void contribute( BooleanFilter booleanFilter, ModelSearchSettings modelSearchSettings, SearchContext searchContext) { int[] statuses = GetterUtil.getIntegerValues( searchContext.getAttribute(Field.STATUS), null); if (ArrayUtil.isEmpty(statuses)) { int status = GetterUtil.getInteger( searchContext.getAttribute(Field.STATUS), WorkflowConstants.STATUS_APPROVED); statuses = new int[] {status}; } if (!ArrayUtil.contains(statuses, WorkflowConstants.STATUS_ANY)) { TermsFilter statusesTermsFilter = new TermsFilter(Field.STATUS); statusesTermsFilter.addValues(ArrayUtil.toStringArray(statuses)); booleanFilter.add(statusesTermsFilter, BooleanClauseOccur.MUST); } else { booleanFilter.addTerm( Field.STATUS, String.valueOf(WorkflowConstants.STATUS_IN_TRASH), BooleanClauseOccur.MUST_NOT); } }
@Override public void postProcessSearchQuery( BooleanQuery searchQuery, BooleanFilter fullQueryBooleanFilter, SearchContext searchContext) throws Exception { addSearchTerm(searchQuery, searchContext, Field.ARTICLE_ID, false); addSearchTerm(searchQuery, searchContext, Field.CLASS_PK, false); addSearchLocalizedTerm( searchQuery, searchContext, Field.CONTENT, false); addSearchLocalizedTerm( searchQuery, searchContext, Field.DESCRIPTION, false); addSearchTerm(searchQuery, searchContext, Field.ENTRY_CLASS_PK, false); addSearchLocalizedTerm(searchQuery, searchContext, Field.TITLE, false); addSearchTerm(searchQuery, searchContext, Field.USER_NAME, false); LinkedHashMap<String, Object> params = (LinkedHashMap<String, Object>)searchContext.getAttribute("params"); if (params != null) { String expandoAttributes = (String)params.get("expandoAttributes"); if (Validator.isNotNull(expandoAttributes)) { addSearchExpando(searchQuery, searchContext, expandoAttributes); } } }
@Override protected Hits doSearch(SearchContext searchContext) throws SearchException { String keywords = StringUtil.trim(searchContext.getKeywords()); if (Validator.isBlank(keywords) && !GetterUtil.getBoolean( searchContext.getAttribute( SearchContextAttributes.ATTRIBUTE_KEY_EMPTY_SEARCH))) { return new HitsImpl(); } try { searchContext.setSearchEngineId(getSearchEngineId()); BooleanFilter booleanFilter = new BooleanFilter(); booleanFilter.addRequiredTerm( Field.COMPANY_ID, searchContext.getCompanyId()); Query query = _getFinalQuery( createFullQuery(booleanFilter, searchContext)); QueryConfig queryConfig = searchContext.getQueryConfig(); query.setQueryConfig(queryConfig); return _indexSearcherHelper.search(searchContext, query); } catch (Exception e) { throw new SearchException(e); } }