/**
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/
package com.liferay.portal.search.buffer;
import com.liferay.portal.kernel.search.BooleanQuery;
import com.liferay.portal.kernel.search.Document;
import com.liferay.portal.kernel.search.Hits;
import com.liferay.portal.kernel.search.Indexer;
import com.liferay.portal.kernel.search.IndexerPostProcessor;
import com.liferay.portal.kernel.search.SearchContext;
import com.liferay.portal.kernel.search.SearchException;
import com.liferay.portal.kernel.search.Summary;
import com.liferay.portal.kernel.search.filter.BooleanFilter;
import com.liferay.portal.kernel.security.permission.PermissionChecker;
import java.util.Collection;
import java.util.Locale;
import java.util.Objects;
import javax.portlet.PortletRequest;
import javax.portlet.PortletResponse;
/**
* @author Michael C. Han
*/
public class NoAutoCommitIndexer<T> implements Indexer<T> {
public NoAutoCommitIndexer(Indexer<T> indexer) {
_indexer = indexer;
}
@Override
public void delete(long companyId, String uid) throws SearchException {
_indexer.delete(companyId, uid);
}
@Override
public void delete(T object) throws SearchException {
_indexer.delete(object);
}
@Override
public boolean equals(Object object) {
if (this == object) {
return true;
}
if (!(object instanceof NoAutoCommitIndexer<?>)) {
return false;
}
NoAutoCommitIndexer<?> noAutoCommitIndexer =
(NoAutoCommitIndexer<?>)object;
return Objects.equals(_indexer, noAutoCommitIndexer._indexer);
}
@Override
public String getClassName() {
return _indexer.getClassName();
}
/**
* @deprecated As of 3.3.0, replaced by {@link #getSearchClassNames}
*/
@Deprecated
@Override
public String[] getClassNames() {
return _indexer.getClassNames();
}
@Override
public Document getDocument(T object) throws SearchException {
return _indexer.getDocument(object);
}
@Override
public BooleanFilter getFacetBooleanFilter(
String className, SearchContext searchContext)
throws Exception {
return _indexer.getFacetBooleanFilter(className, searchContext);
}
@Override
public BooleanQuery getFullQuery(SearchContext searchContext)
throws SearchException {
return _indexer.getFullQuery(searchContext);
}
@Override
public IndexerPostProcessor[] getIndexerPostProcessors() {
return _indexer.getIndexerPostProcessors();
}
/**
* @deprecated As of 3.3.0, replaced by {@link #getClassName}
*/
@Deprecated
@Override
public String getPortletId() {
return _indexer.getPortletId();
}
@Override
public String[] getSearchClassNames() {
return _indexer.getSearchClassNames();
}
@Override
public String getSearchEngineId() {
return _indexer.getSearchEngineId();
}
@Override
public String getSortField(String orderByCol) {
return _indexer.getSortField(orderByCol);
}
@Override
public String getSortField(String orderByCol, int sortType) {
return _indexer.getSortField(orderByCol, sortType);
}
/**
* @deprecated As of 3.3.0, replaced by {@link #getSummary(Document, String,
* PortletRequest, PortletResponse)}
*/
@Deprecated
@Override
public Summary getSummary(Document document, Locale locale, String snippet)
throws SearchException {
return _indexer.getSummary(document, locale, snippet);
}
@Override
public Summary getSummary(
Document document, String snippet, PortletRequest portletRequest,
PortletResponse portletResponse)
throws SearchException {
return _indexer.getSummary(
document, snippet, portletRequest, portletResponse);
}
@Override
public int hashCode() {
return _indexer.hashCode();
}
@Override
public boolean hasPermission(
PermissionChecker permissionChecker, String entryClassName,
long entryClassPK, String actionId)
throws Exception {
return _indexer.hasPermission(
permissionChecker, entryClassName, entryClassPK, actionId);
}
@Override
public boolean isCommitImmediately() {
return false;
}
@Override
public boolean isFilterSearch() {
return _indexer.isFilterSearch();
}
@Override
public boolean isIndexerEnabled() {
return _indexer.isIndexerEnabled();
}
@Override
public boolean isPermissionAware() {
return _indexer.isPermissionAware();
}
@Override
public boolean isStagingAware() {
return _indexer.isStagingAware();
}
@Override
public boolean isVisible(long classPK, int status) throws Exception {
return _indexer.isVisible(classPK, status);
}
@Override
public boolean isVisibleRelatedEntry(long classPK, int status)
throws Exception {
return _indexer.isVisibleRelatedEntry(classPK, status);
}
@Override
public void postProcessContextBooleanFilter(
BooleanFilter contextBooleanFilter, SearchContext searchContext)
throws Exception {
_indexer.postProcessContextBooleanFilter(
contextBooleanFilter, searchContext);
}
/**
* @deprecated As of 3.3.0, replaced by {@link
* #postProcessContextBooleanFilter(BooleanFilter,
* SearchContext)}
*/
@Deprecated
@Override
public void postProcessContextQuery(
BooleanQuery contextQuery, SearchContext searchContext)
throws Exception {
_indexer.postProcessContextQuery(contextQuery, searchContext);
}
@Override
public void postProcessSearchQuery(
BooleanQuery searchQuery, BooleanFilter fullQueryBooleanFilter,
SearchContext searchContext)
throws Exception {
_indexer.postProcessSearchQuery(
searchQuery, fullQueryBooleanFilter, searchContext);
}
/**
* @deprecated As of 3.3.0, replaced by {@link
* #postProcessSearchQuery(BooleanQuery, BooleanFilter,
* SearchContext)}
*/
@Deprecated
@Override
public void postProcessSearchQuery(
BooleanQuery searchQuery, SearchContext searchContext)
throws Exception {
_indexer.postProcessSearchQuery(searchQuery, searchContext);
}
@Override
public void registerIndexerPostProcessor(
IndexerPostProcessor indexerPostProcessor) {
_indexer.registerIndexerPostProcessor(indexerPostProcessor);
}
@Override
public void reindex(Collection<T> objects) throws SearchException {
_indexer.reindex(objects);
}
@Override
public void reindex(String className, long classPK) throws SearchException {
_indexer.reindex(className, classPK);
}
@Override
public void reindex(String[] ids) throws SearchException {
_indexer.reindex(ids);
}
@Override
public void reindex(T object) throws SearchException {
_indexer.reindex(object);
}
@Override
public Hits search(SearchContext searchContext) throws SearchException {
return _indexer.search(searchContext);
}
@Override
public Hits search(
SearchContext searchContext, String... selectedFieldNames)
throws SearchException {
return _indexer.search(searchContext, selectedFieldNames);
}
@Override
public long searchCount(SearchContext searchContext)
throws SearchException {
return _indexer.searchCount(searchContext);
}
@Override
public void setIndexerEnabled(boolean indexerEnabled) {
_indexer.setIndexerEnabled(indexerEnabled);
}
@Override
public void unregisterIndexerPostProcessor(
IndexerPostProcessor indexerPostProcessor) {
_indexer.unregisterIndexerPostProcessor(indexerPostProcessor);
}
private final Indexer<T> _indexer;
}