Exemple #1
0
 private void  IterateOverResources(bool checkInIndex)
 {
     foreach (IResourceType resType in Core.ResourceStore.ResourceTypes)
     {
         if (IsResTypeIndexingConformant(resType))
         {
             int                   count   = 0;
             IResourceList         resList = Core.ResourceStore.GetAllResources(resType.Name);
             IResourceIdCollection ids     = resList.ResourceIds;
             for (int i = 0; i < ids.Count; ++i)
             {
                 int resID = ids[i];
                 //  Fix for OM-12527 - illegal resource Ids can be met
                 //  during iteration (negative).
                 if (resID >= 0)
                 {
                     if (!checkInIndex || !IsDocumentInIndex(resID))
                     {
                         QueryIndexingImpl(resID, false);
                         count++;
                     }
                 }
             }
             Trace.WriteLine("-- TextIndexManager -- Finished requeuing " + count + " of " + ids.Count +
                             " <" + resType.Name + "> resources in REBUILD phase.");
             if (count > 0)
             {
                 QueueProcessingPendingDocs();
             }
         }
     }
 }
Exemple #2
0
        public void AddResources(IResourceList resources)
        {
            IResourceIdCollection ids = resources.ResourceIds;

            _ids = new IntHashSet(ids.Count / 2);
            foreach (int id in ids)
            {
                _ids.Add(id);
            }
        }