Search in sources :

Example 1 with SearchServiceStatus

use of org.olat.search.SearchServiceStatus in project OpenOLAT by OpenOLAT.

the class IndexerWebService method getStatus.

/**
 * Return the status of the indexer: running, stopped
 * @response.representation.200.mediaType application/xml, application/json
 * @response.representation.200.doc The status of the indexer
 * @response.representation.401.doc The roles of the authenticated user are not sufficient
 * @return The status of the indexer
 */
@GET
@Path("status")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public Response getStatus() {
    String status;
    SearchServiceStatus serviceStatus = SearchServiceFactory.getService().getStatus();
    if (serviceStatus instanceof SearchServiceStatusImpl) {
        status = serviceStatus.getStatus();
    } else {
        status = "disabled";
    }
    return Response.ok(new IndexerStatus(status)).build();
}
Also used : IndexerStatus(org.olat.restapi.system.vo.IndexerStatus) FullIndexerStatus(org.olat.search.service.indexer.FullIndexerStatus) SearchServiceStatusImpl(org.olat.search.service.SearchServiceStatusImpl) SearchServiceStatus(org.olat.search.SearchServiceStatus) Path(javax.ws.rs.Path) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET)

Example 2 with SearchServiceStatus

use of org.olat.search.SearchServiceStatus in project OpenOLAT by OpenOLAT.

the class IndexerWebService method getPlainTextStatus.

/**
 * Return the status of the indexer: running, stopped
 * @response.representation.200.mediaType text/plain
 * @response.representation.200.doc The status of the indexer
 * @response.representation.401.doc The roles of the authenticated user are not sufficient
 * @return The status of the indexer
 */
@GET
@Path("status")
@Produces({ MediaType.TEXT_PLAIN })
public Response getPlainTextStatus() {
    String status;
    SearchServiceStatus serviceStatus = SearchServiceFactory.getService().getStatus();
    if (serviceStatus instanceof SearchServiceStatusImpl) {
        status = serviceStatus.getStatus();
    } else {
        status = "disabled";
    }
    return Response.ok(status).build();
}
Also used : SearchServiceStatusImpl(org.olat.search.service.SearchServiceStatusImpl) SearchServiceStatus(org.olat.search.SearchServiceStatus) Path(javax.ws.rs.Path) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET)

Example 3 with SearchServiceStatus

use of org.olat.search.SearchServiceStatus in project openolat by klemens.

the class SearchServiceImpl method stop.

@Override
public void stop() {
    SearchServiceStatus status = getStatus();
    String statusStr = status.getStatus();
    if (statusStr.equals(FullIndexerStatus.STATUS_RUNNING)) {
        stopIndexing();
    }
    try {
        if (indexSearcherRefMgr != null) {
            indexSearcherRefMgr.close();
            indexSearcherRefMgr = null;
        }
    } catch (Exception e) {
        log.error("", e);
    }
}
Also used : SearchServiceStatus(org.olat.search.SearchServiceStatus) QueryException(org.olat.search.QueryException) AssertException(org.olat.core.logging.AssertException) TimeoutException(java.util.concurrent.TimeoutException) ServiceNotAvailableException(org.olat.search.ServiceNotAvailableException) ParseException(org.apache.lucene.queryparser.classic.ParseException) SchedulerException(org.quartz.SchedulerException) IOException(java.io.IOException) ExecutionException(java.util.concurrent.ExecutionException)

Example 4 with SearchServiceStatus

use of org.olat.search.SearchServiceStatus in project openolat by klemens.

the class IndexerWebService method getIndexerStatistics.

protected IndexerStatisticsVO getIndexerStatistics() {
    IndexerStatisticsVO stats = new IndexerStatisticsVO();
    SearchServiceStatus status = SearchServiceFactory.getService().getStatus();
    if (status instanceof SearchServiceStatusImpl) {
        SearchServiceStatusImpl statusImpl = (SearchServiceStatusImpl) status;
        FullIndexerStatus fStatus = statusImpl.getFullIndexerStatus();
        stats.setIndexedDocumentCount(fStatus.getDocumentCount());
        stats.setExcludedDocumentCount(fStatus.getExcludedDocumentCount());
        stats.setIndexSize(fStatus.getIndexSize());
        stats.setIndexingTime(fStatus.getIndexingTime());
        stats.setFullIndexStartedAt(fStatus.getFullIndexStartedAt());
        stats.setDocumentQueueSize(fStatus.getDocumentQueueSize());
        stats.setRunningFolderIndexerCount(fStatus.getNumberRunningFolderIndexer());
        stats.setAvailableFolderIndexerCount(fStatus.getNumberAvailableFolderIndexer());
        stats.setLastFullIndexTime(fStatus.getLastFullIndexDateString());
        stats.setStatus(status.getStatus());
    } else {
        stats.setStatus("disabled");
    }
    return stats;
}
Also used : IndexerStatisticsVO(org.olat.restapi.system.vo.IndexerStatisticsVO) FullIndexerStatus(org.olat.search.service.indexer.FullIndexerStatus) SearchServiceStatusImpl(org.olat.search.service.SearchServiceStatusImpl) SearchServiceStatus(org.olat.search.SearchServiceStatus)

Example 5 with SearchServiceStatus

use of org.olat.search.SearchServiceStatus in project OpenOLAT by OpenOLAT.

the class MonitoringService method getStatistics.

public Statistics getStatistics() {
    Statistics statistics = new Statistics();
    SessionsVO sessionsVo = new OpenOLATStatisticsWebService().getSessionsVO();
    statistics.setSessionsVo(sessionsVo);
    SearchServiceStatus status = SearchServiceFactory.getService().getStatus();
    if (status instanceof SearchServiceStatusImpl) {
        SearchServiceStatusImpl statusImpl = (SearchServiceStatusImpl) status;
        FullIndexerStatus fStatus = statusImpl.getFullIndexerStatus();
        statistics.setLastFullIndexTime(fStatus.getLastFullIndexDateString());
    }
    // activeUserCount="88" // registered and activated identities, same as in GUI
    if (start < 1 || (System.currentTimeMillis() - start) > RENEW_RATE) {
        start = System.currentTimeMillis();
        activeUserCount = securityManager.countIdentitiesByPowerSearch(null, null, false, null, null, null, null, null, null, null, Constants.USERSTATUS_ACTIVE);
        totalGroupCount = businessGroupService.countBusinessGroups(null, null);
        publishedCourses = repositoryManager.countPublished(CourseModule.ORES_TYPE_COURSE);
    }
    statistics.setActiveUserCount(activeUserCount);
    statistics.setTotalGroupCount(totalGroupCount);
    statistics.setPublishedCourses(publishedCourses);
    DatabaseConnectionVO connections = databaseStatsManager.getConnectionInfos();
    if (connections != null) {
        statistics.setActiveConnectionCount(connections.getActiveConnectionCount());
        statistics.setCurrentConnectionCount(connections.getCurrentConnectionCount());
    }
    return statistics;
}
Also used : SessionsVO(org.olat.restapi.system.vo.SessionsVO) FullIndexerStatus(org.olat.search.service.indexer.FullIndexerStatus) SearchServiceStatusImpl(org.olat.search.service.SearchServiceStatusImpl) SearchServiceStatus(org.olat.search.SearchServiceStatus) DatabaseConnectionVO(org.olat.admin.sysinfo.model.DatabaseConnectionVO)

Aggregations

SearchServiceStatus (org.olat.search.SearchServiceStatus)12 SearchServiceStatusImpl (org.olat.search.service.SearchServiceStatusImpl)10 FullIndexerStatus (org.olat.search.service.indexer.FullIndexerStatus)8 IOException (java.io.IOException)4 GET (javax.ws.rs.GET)4 Path (javax.ws.rs.Path)4 Produces (javax.ws.rs.Produces)4 SessionsVO (org.olat.restapi.system.vo.SessionsVO)4 FileOutputStream (java.io.FileOutputStream)2 OutputStream (java.io.OutputStream)2 SimpleDateFormat (java.text.SimpleDateFormat)2 Date (java.util.Date)2 ExecutionException (java.util.concurrent.ExecutionException)2 TimeoutException (java.util.concurrent.TimeoutException)2 Transformer (javax.xml.transform.Transformer)2 TransformerFactory (javax.xml.transform.TransformerFactory)2 DOMSource (javax.xml.transform.dom.DOMSource)2 StreamResult (javax.xml.transform.stream.StreamResult)2 ParseException (org.apache.lucene.queryparser.classic.ParseException)2 DatabaseConnectionVO (org.olat.admin.sysinfo.model.DatabaseConnectionVO)2