Package org.olat.search.service

Examples of org.olat.search.service.SearchResourceContext


      // get public folder for user
      Identity identity = (Identity) parentObject;
      OlatRootFolderImpl rootContainer = new OlatRootFolderImpl(FolderConfig.getUserHome(identity.getName()) + "/public", null);
      if (!rootContainer.getBasefile().exists()) return;
      // build new resource context
      SearchResourceContext searchResourceContext = new SearchResourceContext(parentResourceContext);
      searchResourceContext.setParentContextName(identity.getName());
      searchResourceContext.setBusinessControlFor(BUSINESS_CONTROL_TYPE);
      searchResourceContext.setDocumentType(TYPE);
      // now index the folder
      doIndexVFSContainer(searchResourceContext, rootContainer, indexWriter, "", FolderIndexerAccess.FULL_ACCESS);
    } catch (Exception ex) {
      log
          .warn("Exception while indexing public folder of identity::" + parentObject.toString() + ". Skipping this user, try next one.",
View Full Code Here


      // Create document for each language using the velocity context
      for (String langCode : languages) {
        Locale locale = I18nManager.getInstance().getLocaleOrNull(langCode);
        String relPagePath = langCode + "/" + bundleName + "/" + page;
        if (log.isDebug()) log.debug("Indexing help page with path::" + relPagePath);
        SearchResourceContext searchResourceContext = new SearchResourceContext(parentResourceContext);
        searchResourceContext.setBusinessControlFor(OresHelper.createOLATResourceableType(ContextHelpModule.class.getSimpleName()));//to match the list of indexer
        // Create context help document and index now, set translator to current locale
        pageTranslator.setLocale(locale);
        Document document = ContextHelpDocument.createDocument(searchResourceContext, bundleName, page, pageTranslator, ctx, pagePath);
        indexWriter.addDocument(document);
      }
View Full Code Here

    if (log.isDebug()) log.debug("Found " + identities.size() + " active identities to index");
    for (Identity identity : identities) {
      try {
        if (log.isDebug()) log.debug("Indexing identity::" + identity.getName() + " and counter::" + counter);
        // Create a search context for this identity. The search context will open the users visiting card in a new tab
        SearchResourceContext searchResourceContext = new SearchResourceContext(parentResourceContext);
        searchResourceContext.setBusinessControlFor(OresHelper.createOLATResourceableInstance(Identity.class, identity.getKey()));
        searchResourceContext.setParentContextType(TYPE);

        // delegate indexing work to all configured indexers
        for (Indexer indexer : indexerList) {
          indexer.doIndex(searchResourceContext, identity, indexWriter);
        }
View Full Code Here

    if (!(businessObj instanceof BusinessGroup) )
      throw new AssertException("businessObj must be BusinessGroup");
    BusinessGroup businessGroup = (BusinessGroup)businessObj;
   
    OlatRootFolderImpl rootContainer = new OlatRootFolderImpl(getFolderRelPath(businessGroup), null);
    SearchResourceContext forumSearchResourceContext = new SearchResourceContext(parentResourceContext);
    forumSearchResourceContext.setBusinessControlFor(BusinessGroupMainRunController.ORES_TOOLFOLDER);
    forumSearchResourceContext.setDocumentType(TYPE);
    forumSearchResourceContext.setParentContextType(GroupDocument.TYPE);
    forumSearchResourceContext.setParentContextName(businessGroup.getName());
    doIndexVFSContainer(forumSearchResourceContext,rootContainer,indexWriter,"", FolderIndexerAccess.FULL_ACCESS);
  }
View Full Code Here

  }
 
  public void doIndex(SearchResourceContext repositoryResourceContext, ICourse course, CourseNode courseNode, OlatFullIndexer indexWriter) throws IOException,InterruptedException  {
    if (Tracing.isDebugEnabled(CPCourseNodeIndexer.class)) Tracing.logDebug("Index Content Package... courseNodeCounter=" + courseNodeCounter++ , CPCourseNodeIndexer.class);

    SearchResourceContext courseNodeResourceContext = new SearchResourceContext(repositoryResourceContext);
    courseNodeResourceContext.setBusinessControlFor(courseNode);
    courseNodeResourceContext.setDocumentType(TYPE);
   
    RepositoryEntry re = CPEditController.getCPReference(courseNode.getModuleConfiguration(), true);
    if (re == null) throw new AssertException("configurationkey 'CONFIG_KEY_REPOSITORY_SOFTKEY' of BB CP was missing");
    File cpRoot = FileResourceManager.getInstance().unzipFileResource(re.getOlatResource());
    if (cpRoot == null) throw new AssertException("file of repository entry " + re.getKey() + "was missing");
View Full Code Here

 
  public ProjectBrokerCourseNodeIndexer() {
  }
 
  public void doIndex(SearchResourceContext repositoryResourceContext, ICourse course, CourseNode courseNode, OlatFullIndexer indexWriter) throws IOException,InterruptedException  {
    SearchResourceContext courseNodeResourceContext = new SearchResourceContext(repositoryResourceContext);
    courseNodeResourceContext.setBusinessControlFor(courseNode);
    courseNodeResourceContext.setTitle(courseNode.getShortTitle());
    courseNodeResourceContext.setDescription(courseNode.getLongTitle());
      
    // go further, index my projects
    CoursePropertyManager cpm = course.getCourseEnvironment().getCoursePropertyManager();
    Long projectBrokerId = ProjectBrokerManagerFactory.getProjectBrokerManager().getProjectBrokerId(cpm, courseNode);
    List<Project> projects = ProjectBrokerManagerFactory.getProjectBrokerManager().getProjectListBy(projectBrokerId);
View Full Code Here

  @Override
  public void doIndex(SearchResourceContext repositoryResourceContext, ICourse course, CourseNode courseNode, OlatFullIndexer indexWriter)
      throws IOException, InterruptedException {

    SearchResourceContext courseNodeResourceContext = new SearchResourceContext(repositoryResourceContext);
    courseNodeResourceContext.setBusinessControlFor(courseNode);
    courseNodeResourceContext.setDocumentType(NODE_TYPE);
    courseNodeResourceContext.setTitle(courseNode.getShortTitle());
    courseNodeResourceContext.setDescription(courseNode.getLongTitle());
   
    ScormCourseNode scormNode = (ScormCourseNode)courseNode;
    RepositoryEntry repoEntry = scormNode.getReferencedRepositoryEntry();
    OLATResource ores = repoEntry.getOlatResource();
    File cpRoot = FileResourceManager.getInstance().unzipFileResource(ores);
View Full Code Here

    courseNodeIndexer = new CourseIndexer();
  }
 
  public void doIndex(SearchResourceContext repositoryResourceContext, ICourse course, CourseNode courseNode, OlatFullIndexer indexWriter) {
    try {
      SearchResourceContext courseNodeResourceContext = new SearchResourceContext(repositoryResourceContext);
      courseNodeResourceContext.setBusinessControlFor(courseNode);
      courseNodeResourceContext.setTitle(courseNode.getShortTitle());
      courseNodeResourceContext.setDescription(courseNode.getLongTitle());
      doIndexForum(courseNodeResourceContext, course, courseNode, indexWriter);
      // go further, index my child nodes
      courseNodeIndexer.doIndexCourse(repositoryResourceContext, course, courseNode, indexWriter);
    } catch(Exception ex) {
      log.error("Exception indexing courseNode=" + courseNode, ex);
View Full Code Here

    courseNodeIndexer = new CourseIndexer();
  }
 
  public void doIndex(SearchResourceContext repositoryResourceContext, ICourse course, CourseNode courseNode, OlatFullIndexer indexWriter) throws IOException,InterruptedException {
    if (log.isDebug()) log.debug("Index StructureNode...");
    SearchResourceContext courseNodeResourceContext = new SearchResourceContext(repositoryResourceContext);
    courseNodeResourceContext.setBusinessControlFor(courseNode);
    courseNodeResourceContext.setDocumentType(TYPE);
    Document document = CourseNodeDocument.createDocument(courseNodeResourceContext, courseNode);
    indexWriter.addDocument(document);
    //   go further, index my child nodes
    courseNodeIndexer.doIndexCourse(repositoryResourceContext, course, courseNode, indexWriter);
  }
View Full Code Here

      Wiki wiki = WikiManager.getInstance().getOrLoadWiki(courseNode.getReferencedRepositoryEntry().getOlatResource());
      // loop over all wiki pages
      List<WikiPage> wikiPageList = wiki.getAllPagesWithContent();
      for (WikiPage wikiPage : wikiPageList) {
        try {
          SearchResourceContext courseNodeResourceContext = new SearchResourceContext(repositoryResourceContext);
          courseNodeResourceContext.setBusinessControlFor(courseNode);
          courseNodeResourceContext.setDocumentType(TYPE);
          courseNodeResourceContext.setDocumentContext(course.getResourceableId() + " " + courseNode.getIdent());
          courseNodeResourceContext.setFilePath(wikiPage.getPageName());

          Document document = WikiPageDocument.createDocument(courseNodeResourceContext, wikiPage);
          indexWriter.addDocument(document);
        } catch (Exception e) {
          log.error("Error indexing wiki page:" + (wikiPage == null ? "null" : wikiPage.getPageName()), e);
View Full Code Here

TOP

Related Classes of org.olat.search.service.SearchResourceContext

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.