List of usage examples for com.liferay.portal.kernel.search SearchException SearchException
public SearchException(Throwable cause)
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"); }