Example usage for com.liferay.portal.kernel.search SearchException SearchException

List of usage examples for com.liferay.portal.kernel.search SearchException SearchException

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.search SearchException SearchException.

Prototype

public SearchException(Throwable cause) 

Source Link

Usage

From source file:com.liferay.configuration.admin.web.internal.search.ConfigurationModelIndexer.java

License:Open Source License

@Override
public BooleanQuery getFullQuery(SearchContext searchContext) throws SearchException {

    try {/*from   w ww.  j a va  2 s  .c  o  m*/
        BooleanFilter fullQueryBooleanFilter = new BooleanFilter();

        fullQueryBooleanFilter.addRequiredTerm(Field.ENTRY_CLASS_NAME, getClassName());

        BooleanQuery fullQuery = createFullQuery(fullQueryBooleanFilter, searchContext);

        fullQuery.setQueryConfig(searchContext.getQueryConfig());

        return fullQuery;
    } catch (SearchException se) {
        throw se;
    } catch (Exception e) {
        throw new SearchException(e);
    }
}

From source file:com.liferay.configuration.admin.web.internal.search.ConfigurationModelIndexer.java

License:Open Source License

@Override
public Hits search(SearchContext searchContext) throws SearchException {
    try {/* w  ww. j  av  a2  s .  c om*/
        Hits hits = doSearch(searchContext);

        processHits(searchContext, hits);

        return hits;
    } catch (SearchException se) {
        throw se;
    } catch (Exception e) {
        throw new SearchException(e);
    }
}

From source file:com.liferay.content.targeting.service.impl.CampaignLocalServiceImpl.java

License:Open Source License

protected BaseModelSearchResult<Campaign> searchCampaigns(SearchContext searchContext)
        throws PortalException, SystemException {

    Indexer indexer = IndexerRegistryUtil.nullSafeGetIndexer(Campaign.class);

    for (int i = 0; i < 10; i++) {
        Hits hits = indexer.search(searchContext);

        List<Campaign> campaigns = CampaignUtil.getCampaigns(hits);

        if (campaigns != null) {
            return new BaseModelSearchResult<Campaign>(campaigns, hits.getLength());
        }//from w  w w.j av a2 s  .c  o  m
    }

    throw new SearchException("Unable to fix the search index after 10 attempts");
}

From source file:com.liferay.content.targeting.service.impl.UserSegmentLocalServiceImpl.java

License:Open Source License

protected BaseModelSearchResult<UserSegment> searchUserSegments(SearchContext searchContext)
        throws PortalException, SystemException {

    Indexer indexer = IndexerRegistryUtil.nullSafeGetIndexer(UserSegment.class);

    for (int i = 0; i < 10; i++) {
        Hits hits = indexer.search(searchContext);

        List<UserSegment> userSegments = UserSegmentUtil.getUserSegments(hits);

        if (userSegments != null) {
            return new BaseModelSearchResult<UserSegment>(userSegments, hits.getLength());
        }//from   ww w  . j  a  v  a  2s.c om
    }

    throw new SearchException("Unable to fix the search index after 10 attempts");
}

From source file:com.liferay.document.library.repository.cmis.internal.CMISRepository.java

License:Open Source License

@Override
public Hits search(SearchContext searchContext, Query query) throws SearchException {

    try {/*www. jav  a  2 s .com*/
        QueryConfig queryConfig = searchContext.getQueryConfig();

        queryConfig.setScoreEnabled(false);

        return doSearch(searchContext, query);
    } catch (Exception e) {
        throw new SearchException(e);
    }
}

From source file:com.liferay.document.library.repository.external.ExtRepositoryQueryMapperImpl.java

License:Open Source License

@Override
public Date formatDateParameterValue(String fieldName, String fieldValue) throws SearchException {

    if (fieldName.equals(Field.CREATE_DATE) || fieldName.equals(Field.MODIFIED_DATE)) {

        try {//from  www .j av  a 2 s.c  o  m
            DateFormat searchSimpleDateFormat = DateFormatFactoryUtil
                    .getSimpleDateFormat(_INDEX_DATE_FORMAT_PATTERN);

            return searchSimpleDateFormat.parse(fieldValue);
        } catch (ParseException pe) {
            throw new SearchException("Unable to parse date " + fieldValue + " for field " + fieldName);
        }
    } else {
        throw new SearchException("Field " + fieldName + " is not a date");
    }
}

From source file:com.liferay.document.library.repository.external.ExtRepositoryQueryMapperImpl.java

License:Open Source License

@Override
public String formatParameterValue(String fieldName, String fieldValue) throws SearchException {

    if (fieldName.equals(Field.CREATE_DATE) || fieldName.equals(Field.MODIFIED_DATE)) {

        throw new SearchException(
                "Use the method formatDateParameterValue to format the date " + "field " + fieldName);
    } else if (fieldName.equals(Field.FOLDER_ID)) {
        try {/* ww  w.  j a v  a  2s  .c  om*/
            long folderId = GetterUtil.getLong(fieldValue);

            return _extRepositoryAdapter.getExtRepositoryObjectKey(folderId);
        } catch (PortalException pe) {
            throw new SearchException("Unable to get folder folder " + fieldValue, pe);
        } catch (SystemException se) {
            throw new SearchException("Unable to get folder folder " + fieldValue, se);
        }
    } else if (fieldName.equals(Field.USER_ID)) {
        try {
            long userId = GetterUtil.getLong(fieldValue);

            User user = UserLocalServiceUtil.getUserById(userId);

            return user.getScreenName();
        } catch (Exception e) {
            throw new SearchException("Unable to get user user " + fieldValue, e);
        }
    } else {
        return fieldValue;
    }
}

From source file:com.liferay.document.library.repository.search.internal.RepositorySearchQueryBuilderImpl.java

License:Open Source License

@Override
public BooleanQuery getFullQuery(SearchContext searchContext) throws SearchException {

    try {/*from   w  w w.  j a v a 2s.c o m*/
        BooleanQuery contextQuery = new BooleanQueryImpl();

        addContext(contextQuery, searchContext);

        BooleanQuery searchQuery = new BooleanQueryImpl();

        addSearchKeywords(searchQuery, searchContext);

        BooleanQuery fullQuery = new BooleanQueryImpl();

        if (contextQuery.hasClauses()) {
            fullQuery.add(contextQuery, BooleanClauseOccur.MUST);
        }

        if (searchQuery.hasClauses()) {
            fullQuery.add(searchQuery, BooleanClauseOccur.MUST);
        }

        BooleanClause<Query>[] booleanClauses = searchContext.getBooleanClauses();

        if (booleanClauses != null) {
            for (BooleanClause<Query> booleanClause : booleanClauses) {
                fullQuery.add(booleanClause.getClause(), booleanClause.getBooleanClauseOccur());
            }
        }

        fullQuery.setQueryConfig(searchContext.getQueryConfig());

        return fullQuery;
    } catch (Exception e) {
        throw new SearchException(e);
    }
}

From source file:com.liferay.journal.search.JournalArticleIndexer.java

License:Open Source License

@Override
public void reindexDDMStructures(List<Long> ddmStructureIds) throws SearchException {

    if (_indexStatusManager.isIndexReadOnly() || !isIndexerEnabled()) {
        return;/* w  w  w. ja v a2  s.c  o  m*/
    }

    try {
        final String[] ddmStructureKeys = new String[ddmStructureIds.size()];

        for (int i = 0; i < ddmStructureIds.size(); i++) {
            long ddmStructureId = ddmStructureIds.get(i);

            DDMStructure ddmStructure = _ddmStructureLocalService.getDDMStructure(ddmStructureId);

            ddmStructureKeys[i] = ddmStructure.getStructureKey();
        }

        final Indexer<JournalArticle> indexer = _indexerRegistry.nullSafeGetIndexer(JournalArticle.class);

        final ActionableDynamicQuery actionableDynamicQuery = _journalArticleLocalService
                .getActionableDynamicQuery();

        actionableDynamicQuery.setAddCriteriaMethod(new ActionableDynamicQuery.AddCriteriaMethod() {

            @Override
            public void addCriteria(DynamicQuery dynamicQuery) {
                Property ddmStructureKey = PropertyFactoryUtil.forName("DDMStructureKey");

                dynamicQuery.add(ddmStructureKey.in(ddmStructureKeys));

                if (!isIndexAllArticleVersions()) {
                    Property statusProperty = PropertyFactoryUtil.forName("status");

                    Integer[] statuses = { WorkflowConstants.STATUS_APPROVED,
                            WorkflowConstants.STATUS_IN_TRASH };

                    dynamicQuery.add(statusProperty.in(statuses));
                }
            }

        });
        actionableDynamicQuery
                .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<JournalArticle>() {

                    @Override
                    public void performAction(JournalArticle article) throws PortalException {

                        try {
                            indexer.reindex(indexer.getClassName(), article.getResourcePrimKey());
                        } catch (Exception e) {
                            throw new PortalException(e);
                        }
                    }

                });

        actionableDynamicQuery.performActions();
    } catch (Exception e) {
        throw new SearchException(e);
    }
}

From source file:com.liferay.journal.service.impl.JournalArticleLocalServiceImpl.java

License:Open Source License

protected BaseModelSearchResult<JournalArticle> searchJournalArticles(SearchContext searchContext)
        throws PortalException {

    Indexer<JournalArticle> indexer = IndexerRegistryUtil.nullSafeGetIndexer(JournalArticle.class);

    for (int i = 0; i < 10; i++) {
        Hits hits = indexer.search(searchContext, JournalUtil.SELECTED_FIELD_NAMES);

        List<JournalArticle> articles = JournalUtil.getArticles(hits);

        if (articles != null) {
            return new BaseModelSearchResult<>(articles, hits.getLength());
        }//  w  ww.  j av a2 s  . c  o m
    }

    throw new SearchException("Unable to fix the search index after 10 attempts");
}