如何在liferay 7中更改此方法?
private static void addVimapFileEntryIdClause(SearchContext searchContext, List<BooleanClause> fieldClauses,long fileEntryIdStart, long fileEntryIdEnd, String vimapFileEntry){
if (fileEntryIdStart != QueryUtil.ALL_POS) {
BooleanQuery fileEntryBooleanQuery = BooleanQueryFactoryUtil.create(
searchContext);
if (fileEntryIdStart == fileEntryIdEnd) {
fileEntryBooleanQuery.addRequiredTerm(
VIMAPConstants.VIMAP_FILE_ENTRY_ID, fileEntryIdStart);
}
else {
fileEntryBooleanQuery.addNumericRangeTerm(
vimapFileEntry, fileEntryIdStart, fileEntryIdEnd);
}
BooleanClause fileEntryFieldClause =
BooleanClauseFactoryUtil.create(searchContext,
fileEntryBooleanQuery,BooleanClauseOccur.MUST.getName());
fieldClauses.add(fileEntryFieldClause);
}
}
我这样改变但不好
private static void addFolderIdClause(SearchContext searchContext,List> fieldClauses,long folderId){BooleanQuery folderBooleanQuery = new BooleanQueryImpl();
/*BooleanQuery folderBooleanQuery = BooleanQueryFactoryUtil.create(
searchContext);*/
folderBooleanQuery.addRequiredTerm(Field.FOLDER_ID, folderId);
/*BooleanClause folderFieldClause = BooleanClauseFactoryUtil.create(
searchContext, folderBooleanQuery,
BooleanClauseOccur.MUST.getName());*/
BooleanClause<Query> folderFieldClause =
BooleanClauseFactoryUtil.create(folderBooleanQuery,
BooleanClauseOccur.MUST.getName());
fieldClauses.add(folderFieldClause);
}
不是BooleanQuery
被弃用了,而是BooleanQueryFactoryUtil
。在there,你可以看到
* @deprecated As of Wilberforce (7.0.x), , replaced by {@link
* com.liferay.portal.kernel.search.generic.BooleanQueryImpl}
不推荐使用的Util类的(链接)代码非常简单。 (注意:我已链接到主分支,而不是7.0 - 必要时进行调整)