From 8820af58dee10d6cc208218fc92843ab882bcccb Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Thu, 23 Apr 2015 08:28:30 +0200 Subject: [PATCH] OO-1522: add some statistics about the number of folder index workers --- .../service/document/WikiPageDocument.java | 31 +++++++++---------- .../service/indexer/FullIndexerStatus.java | 17 +++++++--- .../service/indexer/OlatFullIndexer.java | 2 ++ .../repository/WikiRepositoryIndexer.java | 8 ++--- 4 files changed, 33 insertions(+), 25 deletions(-) diff --git a/src/main/java/org/olat/search/service/document/WikiPageDocument.java b/src/main/java/org/olat/search/service/document/WikiPageDocument.java index 4faf59621ff..f3d6b98f90e 100644 --- a/src/main/java/org/olat/search/service/document/WikiPageDocument.java +++ b/src/main/java/org/olat/search/service/document/WikiPageDocument.java @@ -66,13 +66,13 @@ public class WikiPageDocument extends OlatDocument { public static Document createDocument(SearchResourceContext searchResourceContext, WikiPage wikiPage) { WikiPageDocument wikiPageDocument = new WikiPageDocument(); - long userId = wikiPage.getInitalAuthor(); - if (userId != 0) { - Identity identity = identityManager.loadIdentityByKey(Long.valueOf(userId)); - if(identity != null) { - wikiPageDocument.setAuthor(identity.getName()); - } - } + long userId = wikiPage.getInitalAuthor(); + if (userId != 0) { + Identity identity = identityManager.loadIdentityByKey(Long.valueOf(userId)); + if(identity != null) { + wikiPageDocument.setAuthor(identity.getName()); + } + } wikiPageDocument.setTitle(wikiPage.getPageName()); wikiPageDocument.setContent(getContent(wikiPage)); wikiPageDocument.setCreatedDate(new Date(wikiPage.getCreationTime())); @@ -91,14 +91,14 @@ public class WikiPageDocument extends OlatDocument { try { ParserInput input = new ParserInput(); input.setWikiUser(null); - input.setAllowSectionEdit(false); - input.setDepth(2); - input.setContext(""); - input.setLocale(Locale.ENGLISH); - input.setTopicName("dummy"); - input.setUserIpAddress("0.0.0.0"); - input.setDataHandler(DUMMY_DATA_HANDLER); - input.setVirtualWiki("/olat"); + input.setAllowSectionEdit(false); + input.setDepth(2); + input.setContext(""); + input.setLocale(Locale.ENGLISH); + input.setTopicName("dummy"); + input.setUserIpAddress("0.0.0.0"); + input.setDataHandler(DUMMY_DATA_HANDLER); + input.setVirtualWiki("/olat"); AbstractParser parser = new JFlexParser(input); ParserDocument parsedDoc = parser.parseHTML(wikiPage.getContent()); @@ -106,7 +106,6 @@ public class WikiPageDocument extends OlatDocument { String filteredContent = FilterFactory.getHtmlTagAndDescapingFilter().filter(parsedContent); return filteredContent; } catch(Exception e) { - e.printStackTrace(); log.error("", e); return wikiPage.getContent(); } diff --git a/src/main/java/org/olat/search/service/indexer/FullIndexerStatus.java b/src/main/java/org/olat/search/service/indexer/FullIndexerStatus.java index 366005d7d77..204ab0b856a 100644 --- a/src/main/java/org/olat/search/service/indexer/FullIndexerStatus.java +++ b/src/main/java/org/olat/search/service/indexer/FullIndexerStatus.java @@ -53,6 +53,9 @@ public class FullIndexerStatus { private int indexPerMinute = 0; private int[] partDocumentCounters; private int documentQueueSize; + private int numberRunningFolderIndexer = 0; + private int numberAvailableFolderIndexer = 0; + /** Hashtable with document-type-names as key and Integer-object as counters. */ private Map<String,Integer> documentCounters; /** Hashtable with file-type-names as key and Integer-object as counters. */ @@ -185,20 +188,26 @@ public class FullIndexerStatus { return indexPerMinute; } - /** * @return Returns the runningFolderIndexer. */ public int getNumberRunningFolderIndexer() { - return -1;//FolderIndexerWorkerPool.getInstance().getNumberOfRunningIndexer(); + return numberRunningFolderIndexer; + } + + public void setNumberRunningFolderIndexer(int numberRunningFolderIndexer) { + this.numberRunningFolderIndexer = numberRunningFolderIndexer; } - /** * @return Returns the availableFolderIndexer. */ public int getNumberAvailableFolderIndexer() { - return -1;//FolderIndexerWorkerPool.getInstance().getNumberOfAvailableIndexer(); + return numberAvailableFolderIndexer; + } + + public void setNumberAvailableFolderIndexer(int numberAvailableFolderIndexer) { + this.numberAvailableFolderIndexer = numberAvailableFolderIndexer; } diff --git a/src/main/java/org/olat/search/service/indexer/OlatFullIndexer.java b/src/main/java/org/olat/search/service/indexer/OlatFullIndexer.java index 0f9b1f7e1f2..971a6042876 100644 --- a/src/main/java/org/olat/search/service/indexer/OlatFullIndexer.java +++ b/src/main/java/org/olat/search/service/indexer/OlatFullIndexer.java @@ -378,6 +378,8 @@ public class OlatFullIndexer { incrementDocumentTypeCounter(document); incrementFileTypeCounter(document); + fullIndexerStatus.setNumberAvailableFolderIndexer(indexerExecutor.getPoolSize()); + fullIndexerStatus.setNumberRunningFolderIndexer(indexerExecutor.getActiveCount()); } private void incrementFileTypeCounter(Document document) { diff --git a/src/main/java/org/olat/search/service/indexer/repository/WikiRepositoryIndexer.java b/src/main/java/org/olat/search/service/indexer/repository/WikiRepositoryIndexer.java index 8e16aba0b02..bccd1dcf714 100644 --- a/src/main/java/org/olat/search/service/indexer/repository/WikiRepositoryIndexer.java +++ b/src/main/java/org/olat/search/service/indexer/repository/WikiRepositoryIndexer.java @@ -50,9 +50,7 @@ public class WikiRepositoryIndexer extends DefaultIndexer { public final static String ORES_TYPE_WIKI = WikiResource.TYPE_NAME; - /** - * - */ + @Override public String getSupportedTypeName() { return ORES_TYPE_WIKI; } @@ -60,7 +58,7 @@ public class WikiRepositoryIndexer extends DefaultIndexer { /** * @see org.olat.repository.handlers.RepositoryHandler#supportsDownload() */ - + @Override public void doIndex(SearchResourceContext resourceContext, Object parentObject, OlatFullIndexer indexWriter) throws IOException,InterruptedException { RepositoryEntry repositoryEntry = (RepositoryEntry) parentObject; if (isLogDebugEnabled()) logDebug("Analyse Wiki RepositoryEntry..."); @@ -71,7 +69,7 @@ public class WikiRepositoryIndexer extends DefaultIndexer { // loop over all wiki pages List<WikiPage> wikiPageList = wiki.getAllPagesWithContent(); for (WikiPage wikiPage : wikiPageList) { - try { + try { SearchResourceContext wikiContext = new SearchResourceContext(resourceContext); wikiContext.setDocumentType(TYPE); wikiContext.setFilePath(wikiPage.getPageName()); -- GitLab