You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by di...@apache.org on 2011/05/01 20:23:06 UTC

[Lucene.Net] svn commit: r1098382 - in /incubator/lucene.net/branches/Lucene.Net_2_9_4g: src/core/Index/ test/core/Index/

Author: digy
Date: Sun May  1 18:23:05 2011
New Revision: 1098382

URL: http://svn.apache.org/viewvc?rev=1098382&view=rev
Log:
[LUCENENET-412]

Modified:
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldProcessor.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocumentsWriter.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FormatPostingsDocsWriter.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FormatPostingsFieldsWriter.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FormatPostingsPositionsWriter.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/MultiReader.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/NormsWriter.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/PositionBasedTermVectorMapper.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentWriteState.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/StoredFieldsWriter.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/TermVectorsTermsWriter.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Index/TestPositionBasedTermVectorMapper.cs

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldProcessor.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldProcessor.cs?rev=1098382&r1=1098381&r2=1098382&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldProcessor.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldProcessor.cs Sun May  1 18:23:05 2011
@@ -68,7 +68,7 @@ namespace Lucene.Net.Index
 			// FieldInfo.storePayload.
 			System.String fileName = state.SegmentFileName(IndexFileNames.FIELD_INFOS_EXTENSION);
 			fieldInfos.Write(state.directory, fileName);
-			SupportClass.CollectionsHelper.AddIfNotContains(state.flushedFiles, fileName);
+            state.flushedFiles.Add(fileName);
 		}
 		
 		public override void  Abort()

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocumentsWriter.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocumentsWriter.cs?rev=1098382&r1=1098381&r2=1098382&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocumentsWriter.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocumentsWriter.cs Sun May  1 18:23:05 2011
@@ -832,7 +832,7 @@ namespace Lucene.Net.Index
 			}
 		}
 
-        internal System.Collections.ICollection GetFlushedFiles()
+        internal IList<string> GetFlushedFiles()
         {
             return flushState.flushedFiles;
         }
@@ -842,10 +842,9 @@ namespace Lucene.Net.Index
 		{
 			
 			CompoundFileWriter cfsWriter = new CompoundFileWriter(directory, segment + "." + IndexFileNames.COMPOUND_FILE_EXTENSION);
-			System.Collections.IEnumerator it = flushState.flushedFiles.GetEnumerator();
-			while (it.MoveNext())
+            foreach(string s in flushState.flushedFiles)
 			{
-				cfsWriter.AddFile((System.String) ((System.Collections.DictionaryEntry) it.Current).Key);
+				cfsWriter.AddFile(s);
 			}
 			
 			// Perform the merge

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FormatPostingsDocsWriter.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FormatPostingsDocsWriter.cs?rev=1098382&r1=1098381&r2=1098382&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FormatPostingsDocsWriter.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FormatPostingsDocsWriter.cs Sun May  1 18:23:05 2011
@@ -46,7 +46,7 @@ namespace Lucene.Net.Index
 		{
 			this.parent = parent;
 			System.String fileName = IndexFileNames.SegmentFileName(parent.parent.segment, IndexFileNames.FREQ_EXTENSION);
-			SupportClass.CollectionsHelper.AddIfNotContains(state.flushedFiles, fileName);
+			state.flushedFiles.Add(fileName);
 			out_Renamed = parent.parent.dir.CreateOutput(fileName);
 			totalNumDocs = parent.parent.totalNumDocs;
 			

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FormatPostingsFieldsWriter.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FormatPostingsFieldsWriter.cs?rev=1098382&r1=1098381&r2=1098382&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FormatPostingsFieldsWriter.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FormatPostingsFieldsWriter.cs Sun May  1 18:23:05 2011
@@ -48,8 +48,8 @@ namespace Lucene.Net.Index
 			// can provide skip data or not
 			skipListWriter = new DefaultSkipListWriter(termsOut.skipInterval, termsOut.maxSkipLevels, totalNumDocs, null, null);
 			
-			SupportClass.CollectionsHelper.AddIfNotContains(state.flushedFiles, state.SegmentFileName(IndexFileNames.TERMS_EXTENSION));
-			SupportClass.CollectionsHelper.AddIfNotContains(state.flushedFiles, state.SegmentFileName(IndexFileNames.TERMS_INDEX_EXTENSION));
+			state.flushedFiles.Add(state.SegmentFileName(IndexFileNames.TERMS_EXTENSION));
+			state.flushedFiles.Add(state.SegmentFileName(IndexFileNames.TERMS_INDEX_EXTENSION));
 			
 			termsWriter = new FormatPostingsTermsWriter(state, this);
 		}

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FormatPostingsPositionsWriter.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FormatPostingsPositionsWriter.cs?rev=1098382&r1=1098381&r2=1098382&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FormatPostingsPositionsWriter.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FormatPostingsPositionsWriter.cs Sun May  1 18:23:05 2011
@@ -42,7 +42,7 @@ namespace Lucene.Net.Index
 				// At least one field does not omit TF, so create the
 				// prox file
 				System.String fileName = IndexFileNames.SegmentFileName(parent.parent.parent.segment, IndexFileNames.PROX_EXTENSION);
-				SupportClass.CollectionsHelper.AddIfNotContains(state.flushedFiles, fileName);
+				state.flushedFiles.Add(fileName);
 				out_Renamed = parent.parent.parent.dir.CreateOutput(fileName);
 				parent.skipListWriter.SetProxOutput(out_Renamed);
 			}

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/MultiReader.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/MultiReader.cs?rev=1098382&r1=1098381&r2=1098382&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/MultiReader.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/MultiReader.cs Sun May  1 18:23:05 2011
@@ -38,7 +38,7 @@ namespace Lucene.Net.Index
 		protected internal IndexReader[] subReaders;
 		private int[] starts; // 1st docno for each segment
 		private bool[] decrefOnClose; // remember which subreaders to decRef on close
-		private System.Collections.IDictionary normsCache = new System.Collections.Hashtable();
+        private IDictionary<string, byte[]> normsCache = new SupportClass.Dictionary<string, byte[]>();
 		private int maxDoc = 0;
 		private int numDocs = - 1;
 		private bool hasDeletions = false;
@@ -344,7 +344,7 @@ namespace Lucene.Net.Index
 			lock (this)
 			{
 				EnsureOpen();
-				byte[] bytes = (byte[]) normsCache[field];
+				byte[] bytes = normsCache[field];
 				if (bytes != null)
 					return bytes; // cache hit
 				if (!HasNorms(field))
@@ -363,7 +363,7 @@ namespace Lucene.Net.Index
 			lock (this)
 			{
 				EnsureOpen();
-				byte[] bytes = (byte[]) normsCache[field];
+				byte[] bytes = normsCache[field];
 				for (int i = 0; i < subReaders.Length; i++)
 				// read from segments
 					subReaders[i].Norms(field, result, offset + starts[i]);
@@ -393,7 +393,7 @@ namespace Lucene.Net.Index
 		
 		protected internal override void  DoSetNorm(int n, System.String field, byte value_Renamed)
 		{
-			lock (normsCache.SyncRoot)
+			lock (normsCache)
 			{
 				normsCache.Remove(field); // clear cache
 			}

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/NormsWriter.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/NormsWriter.cs?rev=1098382&r1=1098381&r2=1098382&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/NormsWriter.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/NormsWriter.cs Sun May  1 18:23:05 2011
@@ -104,7 +104,7 @@ namespace Lucene.Net.Index
 			}
 			
 			System.String normsFileName = state.segmentName + "." + IndexFileNames.NORMS_EXTENSION;
-			state.flushedFiles[normsFileName] = normsFileName;
+			state.flushedFiles.Add(normsFileName);
 			IndexOutput normsOut = state.directory.CreateOutput(normsFileName);
 			
 			try

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/PositionBasedTermVectorMapper.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/PositionBasedTermVectorMapper.cs?rev=1098382&r1=1098381&r2=1098382&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/PositionBasedTermVectorMapper.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/PositionBasedTermVectorMapper.cs Sun May  1 18:23:05 2011
@@ -27,11 +27,11 @@ namespace Lucene.Net.Index
 	/// </summary>
 	public class PositionBasedTermVectorMapper:TermVectorMapper
 	{
-		private System.Collections.IDictionary fieldToTerms;
+		private SupportClass.Dictionary<String, SupportClass.Dictionary<int,TVPositionInfo>> fieldToTerms;
 		
 		private System.String currentField;
 		/// <summary> A Map of Integer and TVPositionInfo</summary>
-		private System.Collections.IDictionary currentPositions;
+		private SupportClass.Dictionary<int,TVPositionInfo> currentPositions;
 		private bool storeOffsets;
 		
 		
@@ -99,10 +99,10 @@ namespace Lucene.Net.Index
 			{
 				//ignoring offsets
 			}
-			fieldToTerms = new System.Collections.Hashtable(numTerms);
+            fieldToTerms = new SupportClass.Dictionary<string, SupportClass.Dictionary<int, TVPositionInfo>>(numTerms);
 			this.storeOffsets = storeOffsets;
 			currentField = field;
-			currentPositions = new System.Collections.Hashtable();
+            currentPositions = new SupportClass.Dictionary<int, TVPositionInfo>();
 			fieldToTerms[currentField] = currentPositions;
 		}
 		
@@ -111,7 +111,7 @@ namespace Lucene.Net.Index
 		/// </summary>
 		/// <returns> A map between field names and a Map.  The sub-Map key is the position as the integer, the value is {@link Lucene.Net.Index.PositionBasedTermVectorMapper.TVPositionInfo}.
 		/// </returns>
-		public virtual System.Collections.IDictionary GetFieldToTerms()
+        public virtual SupportClass.Dictionary<String, SupportClass.Dictionary<int, TVPositionInfo>> GetFieldToTerms()
 		{
 			return fieldToTerms;
 		}

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentWriteState.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentWriteState.cs?rev=1098382&r1=1098381&r2=1098382&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentWriteState.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentWriteState.cs Sun May  1 18:23:05 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using Directory = Lucene.Net.Store.Directory;
 
@@ -31,7 +32,7 @@ namespace Lucene.Net.Index
 		internal int numDocs;
 		internal int termIndexInterval;
 		internal int numDocsInStore;
-		internal System.Collections.Hashtable flushedFiles;
+		internal IList<string> flushedFiles;
 		
 		public SegmentWriteState(DocumentsWriter docWriter, Directory directory, System.String segmentName, System.String docStoreSegmentName, int numDocs, int numDocsInStore, int termIndexInterval)
 		{
@@ -42,7 +43,7 @@ namespace Lucene.Net.Index
 			this.numDocs = numDocs;
 			this.numDocsInStore = numDocsInStore;
 			this.termIndexInterval = termIndexInterval;
-            flushedFiles = new System.Collections.Hashtable();
+            flushedFiles = new SupportClass.Set<string>();
 		}
 		
 		public virtual System.String SegmentFileName(System.String ext)

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/StoredFieldsWriter.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/StoredFieldsWriter.cs?rev=1098382&r1=1098381&r2=1098382&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/StoredFieldsWriter.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/StoredFieldsWriter.cs Sun May  1 18:23:05 2011
@@ -106,8 +106,8 @@ namespace Lucene.Net.Index
 					fieldsWriter = null;
 					lastDocID = 0;
 					System.Diagnostics.Debug.Assert(state.docStoreSegmentName != null);
-                    SupportClass.CollectionsHelper.AddIfNotContains(state.flushedFiles, state.docStoreSegmentName + "." + IndexFileNames.FIELDS_EXTENSION);
-                    SupportClass.CollectionsHelper.AddIfNotContains(state.flushedFiles, state.docStoreSegmentName + "." + IndexFileNames.FIELDS_INDEX_EXTENSION);
+                    state.flushedFiles.Add(state.docStoreSegmentName + "." + IndexFileNames.FIELDS_EXTENSION);
+                    state.flushedFiles.Add(state.docStoreSegmentName + "." + IndexFileNames.FIELDS_INDEX_EXTENSION);
 					
 					state.docWriter.RemoveOpenFile(state.docStoreSegmentName + "." + IndexFileNames.FIELDS_EXTENSION);
 					state.docWriter.RemoveOpenFile(state.docStoreSegmentName + "." + IndexFileNames.FIELDS_INDEX_EXTENSION);

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/TermVectorsTermsWriter.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/TermVectorsTermsWriter.cs?rev=1098382&r1=1098381&r2=1098382&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/TermVectorsTermsWriter.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/TermVectorsTermsWriter.cs Sun May  1 18:23:05 2011
@@ -116,9 +116,9 @@ namespace Lucene.Net.Index
 					if (4 + ((long) state.numDocsInStore) * 16 != state.directory.FileLength(fileName))
 						throw new System.SystemException("after flush: tvx size mismatch: " + state.numDocsInStore + " docs vs " + state.directory.FileLength(fileName) + " length in bytes of " + fileName + " file exists?=" + state.directory.FileExists(fileName));
 					
-					SupportClass.CollectionsHelper.AddIfNotContains(state.flushedFiles, state.docStoreSegmentName + "." + IndexFileNames.VECTORS_INDEX_EXTENSION);
-                    SupportClass.CollectionsHelper.AddIfNotContains(state.flushedFiles, state.docStoreSegmentName + "." + IndexFileNames.VECTORS_FIELDS_EXTENSION);
-					SupportClass.CollectionsHelper.AddIfNotContains(state.flushedFiles, state.docStoreSegmentName + "." + IndexFileNames.VECTORS_DOCUMENTS_EXTENSION);
+					state.flushedFiles.Add(state.docStoreSegmentName + "." + IndexFileNames.VECTORS_INDEX_EXTENSION);
+                    state.flushedFiles.Add(state.docStoreSegmentName + "." + IndexFileNames.VECTORS_FIELDS_EXTENSION);
+					state.flushedFiles.Add(state.docStoreSegmentName + "." + IndexFileNames.VECTORS_DOCUMENTS_EXTENSION);
 					
 					docWriter.RemoveOpenFile(state.docStoreSegmentName + "." + IndexFileNames.VECTORS_INDEX_EXTENSION);
 					docWriter.RemoveOpenFile(state.docStoreSegmentName + "." + IndexFileNames.VECTORS_FIELDS_EXTENSION);

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Index/TestPositionBasedTermVectorMapper.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Index/TestPositionBasedTermVectorMapper.cs?rev=1098382&r1=1098381&r2=1098382&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Index/TestPositionBasedTermVectorMapper.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Index/TestPositionBasedTermVectorMapper.cs Sun May  1 18:23:05 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using NUnit.Framework;
 
@@ -81,20 +82,19 @@ namespace Lucene.Net.Index
 				System.String token = tokens[i];
 				mapper.Map(token, 1, null, thePositions[i]);
 			}
-			System.Collections.IDictionary map = mapper.GetFieldToTerms();
+            SupportClass.Dictionary<String, SupportClass.Dictionary<int, PositionBasedTermVectorMapper.TVPositionInfo>> map = mapper.GetFieldToTerms();
 			Assert.IsTrue(map != null, "map is null and it shouldn't be");
 			Assert.IsTrue(map.Count == 1, "map Size: " + map.Count + " is not: " + 1);
-			System.Collections.IDictionary positions = (System.Collections.IDictionary) map["test"];
+            SupportClass.Dictionary<int, PositionBasedTermVectorMapper.TVPositionInfo> positions = map["test"];
 			Assert.IsTrue(positions != null, "thePositions is null and it shouldn't be");
 			
 			Assert.IsTrue(positions.Count == numPositions, "thePositions Size: " + positions.Count + " is not: " + numPositions);
 			System.Collections.BitArray bits = new System.Collections.BitArray((numPositions % 64 == 0?numPositions / 64:numPositions / 64 + 1) * 64);
-			for (System.Collections.IEnumerator iterator = positions.GetEnumerator(); iterator.MoveNext(); )
-			{
-				System.Collections.DictionaryEntry entry = (System.Collections.DictionaryEntry) iterator.Current;
-				PositionBasedTermVectorMapper.TVPositionInfo info = (PositionBasedTermVectorMapper.TVPositionInfo) entry.Value;
+            foreach(KeyValuePair<int, PositionBasedTermVectorMapper.TVPositionInfo> entry in positions)
+            {
+				PositionBasedTermVectorMapper.TVPositionInfo info = entry.Value;
 				Assert.IsTrue(info != null, "info is null and it shouldn't be");
-				int pos = ((System.Int32) entry.Key);
+				int pos = entry.Key;
 				bits.Set(pos, true);
 				Assert.IsTrue(info.Position == pos, info.Position + " does not equal: " + pos);
 				Assert.IsTrue(info.Offsets != null, "info.getOffsets() is null and it shouldn't be");