code: protected void updateResource(I_CmsIndexWriter writer, CmsIndexingThreadManager threadManager, CmsResource resource)
      throws CmsIndexException {
  
          if (resource.isFolder() || resource.isTemporaryFile()) {
              // don't ever index folders or temporary files
              return;
          }
          try {
              // create the index thread for the resource
              threadManager.createIndexingThread(this, writer, resource);
          } catch (Exception e) {
  
              if (m_report != null) {
                  m_report.println(
                      Messages.get().container(Messages.RPT_SEARCH_INDEXING_FAILED_0),
                      I_CmsReport.FORMAT_WARNING);
              }
              if (LOG.isWarnEnabled()) {
                  LOG.warn(
                      Messages.get().getBundle().key(
                          Messages.ERR_INDEX_RESOURCE_FAILED_2,
                          resource.getRootPath(),
                          m_index.getName()),
                      e);
              }
              throw new CmsIndexException(
                  Messages.get().container(
                      Messages.ERR_INDEX_RESOURCE_FAILED_2,
                      resource.getRootPath(),
                      m_index.getName()));
          }
      }
docs: Updates (writes) a single resource in the index.<p>
  
  @param writer the index writer to use
  @param threadManager the thread manager to use when extracting the document text
  @param resource the resource to update
  
  @throws CmsIndexException if something goes wrong