/** * Returns the a offline project used for offline indexing.<p> * * @return the offline project if available */ protected CmsProject getOfflineIndexProject() { CmsProject result = null; for (CmsSearchIndex index : m_offlineIndexes) { try { result = m_adminCms.readProject(index.getProject()); if (!result.isOnlineProject()) { break; } } catch (Exception e) { // may be a missconfigured index, ignore LOG.error(e.getLocalizedMessage(), e); } } return result; }
/** * Removes a search index from the configuration.<p> * * @param searchIndex the search index to remove */ public void removeSearchIndex(CmsSearchIndex searchIndex) { m_indexes.remove(searchIndex); initOfflineIndexes(); if (LOG.isInfoEnabled()) { LOG.info(Messages.get().getBundle().key( Messages.LOG_REMOVE_SEARCH_INDEX_2, searchIndex.getName(), searchIndex.getProject())); } }
/** * Removes a search index from the configuration.<p> * * @param searchIndex the search index to remove */ public void removeSearchIndex(CmsSearchIndex searchIndex) { // shut down index to remove potential config files of Solr indexes searchIndex.shutDown(); if (searchIndex instanceof CmsSolrIndex) { CmsSolrIndex solrIndex = (CmsSolrIndex)searchIndex; m_coreContainer.unload(solrIndex.getCoreName(), true, true, true); } m_indexes.remove(searchIndex); initOfflineIndexes(); if (LOG.isInfoEnabled()) { LOG.info( Messages.get().getBundle().key( Messages.LOG_REMOVE_SEARCH_INDEX_2, searchIndex.getName(), searchIndex.getProject())); } }
if (index.isEnabled()) { CmsLog.INIT.info( Messages.get().getBundle().key(Messages.INIT_INDEX_CONFIGURED_2, index, index.getProject())); } else { CmsLog.INIT.warn( Messages.INIT_INDEX_NOT_CONFIGURED_2, index, index.getProject()));
Messages.INIT_INDEX_CONFIGURED_2, index.getName(), index.getProject())); } else { CmsLog.INIT.info(Messages.get().getBundle().key( Messages.INIT_INDEX_NOT_CONFIGURED_2, index.getName(), index.getProject()));
cms.readProject(getProject()); setEnabled(true); } catch (CmsException e) { LOG.error(Messages.get().getBundle().key( Messages.LOG_SEARCHINDEX_CREATE_BAD_PROJECT_2, getProject(), getName()));
cms.readProject(getProject()); setEnabled(true); } catch (CmsException e) { Messages.get().getBundle().key( Messages.LOG_SEARCHINDEX_CREATE_BAD_PROJECT_2, getProject(), getName()));
/** * Updates the offline search indexes for the given list of resources.<p> * * @param report the report to write the index information to * @param resourcesToIndex the list of {@link CmsPublishedResource} objects to index */ protected void updateIndexOffline(I_CmsReport report, List<CmsPublishedResource> resourcesToIndex) { CmsObject cms = m_adminCms; try { // copy the administration context for the indexing cms = OpenCms.initCmsObject(m_adminCms); // set site root and project for this index cms.getRequestContext().setSiteRoot("/"); } catch (CmsException e) { LOG.error(e.getLocalizedMessage(), e); } Iterator<CmsSearchIndex> j = m_offlineIndexes.iterator(); while (j.hasNext()) { CmsSearchIndex index = j.next(); if (index.getSources() != null) { try { // switch to the index project cms.getRequestContext().setCurrentProject(cms.readProject(index.getProject())); updateIndexIncremental(cms, index, report, resourcesToIndex); } catch (CmsException e) { LOG.error(Messages.get().getBundle().key(Messages.LOG_UPDATE_INDEX_FAILED_1, index.getName()), e); } } } }
/** * Updates the offline search indexes for the given list of resources.<p> * * @param report the report to write the index information to * @param resourcesToIndex the list of {@link CmsPublishedResource} objects to index */ protected void updateIndexOffline(I_CmsReport report, List<CmsPublishedResource> resourcesToIndex) { CmsObject cms = m_adminCms; try { // copy the administration context for the indexing cms = OpenCms.initCmsObject(m_adminCms); // set site root and project for this index cms.getRequestContext().setSiteRoot("/"); } catch (CmsException e1) { // NOOP, should never happen } Iterator<CmsSearchIndex> j = m_offlineIndexes.iterator(); while (j.hasNext()) { CmsSearchIndex index = j.next(); if (index.getSources() != null) { try { // switch to the index project cms.getRequestContext().setCurrentProject(cms.readProject(index.getProject())); updateIndexIncremental(cms, index, report, resourcesToIndex); } catch (CmsException e) { LOG.error(Messages.get().getBundle().key(Messages.LOG_UPDATE_INDEX_FAILED_1, index.getName()), e); } } } }
/** * @see org.opencms.workplace.list.A_CmsListDialog#getListItems() */ @Override protected List<CmsListItem> getListItems() { List<CmsListItem> result = new ArrayList<CmsListItem>(); // get content List<CmsSearchIndex> indexes = OpenCms.getSearchManager().getSearchIndexesAll(); for (CmsSearchIndex index : indexes) { CmsListItem item = getList().newItem(index.getName()); item.set(LIST_COLUMN_NAME, index.getName()); item.set(LIST_COLUMN_CONFIGURATION, index.getFieldConfiguration().getName()); item.set(LIST_COLUMN_REBUILDMODE, index.getRebuildMode()); item.set(LIST_COLUMN_PROJECT, index.getProject()); item.set(LIST_COLUMN_LOCALE, index.getLocale().toString()); result.add(item); } return result; }
Messages.INIT_ADD_SEARCH_INDEX_2, searchIndex.getName(), searchIndex.getProject()));
Messages.INIT_ADD_SEARCH_INDEX_2, searchIndex.getName(), searchIndex.getProject()));
indexElement.addElement(N_PROJECT).addText(searchIndex.getProject());
cms.getRequestContext().setCurrentProject(cms.readProject(index.getProject()));
searchCms.getRequestContext().setCurrentProject(searchCms.readProject(getProject()));
indexElement.addElement(N_PROJECT).addText(searchIndex.getProject());
searchCms.getRequestContext().setCurrentProject(searchCms.readProject(getProject()));
cms.getRequestContext().setCurrentProject(cms.readProject(index.getProject()));