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/04/25 18:17:38 UTC

[Lucene.Net] svn commit: r1096507 [1/3] - in /incubator/lucene.net/branches/Lucene.Net_2_9_4g: src/core/ src/core/Document/ src/core/Index/ src/core/Search/ src/core/Search/Function/ src/core/Search/Payloads/ src/core/Search/Spans/ src/core/Store/ src/core/Util/ te...

Author: digy
Date: Mon Apr 25 16:17:36 2011
New Revision: 1096507

URL: http://svn.apache.org/viewvc?rev=1096507&view=rev
Log:
[LUCENENET-412] Since there will be too much changes, I think it is better to work on a branch rather than on trunk.

Modified:
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/AssemblyInfo.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Document/Document.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Document/MapFieldSelector.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/BufferedDeletes.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/CheckIndex.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/CompoundFileWriter.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/ConcurrentMergeScheduler.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DirectoryReader.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldConsumer.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldConsumers.cs
    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/DocFieldProcessorPerThread.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocInverter.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/FieldInfo.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FieldInfos.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FieldSortedTermVectorMapper.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FilterIndexReader.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FreqProxTermsWriter.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexCommit.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexFileDeleter.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexReader.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexWriter.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/InvertedDocConsumer.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/InvertedDocEndConsumer.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/ParallelReader.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentInfo.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentInfos.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentMerger.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentReader.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SnapshotDeletionPolicy.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SortedTermVectorMapper.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/TermVectorEntryFreqSortedComparator.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/TermVectorsTermsWriter.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/TermsHash.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/TermsHashConsumer.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/BooleanQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/ConstantScoreQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/DisjunctionMaxQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FilteredQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Function/CustomScoreQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Function/ValueSourceQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/MatchAllDocsQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/MultiPhraseQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/MultiSearcher.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Payloads/PayloadSpanUtil.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/PhraseQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Query.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Similarity.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/FieldMaskingSpanQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/NearSpansOrdered.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/NearSpansUnordered.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/SpanFirstQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/SpanNearQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/SpanNotQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/SpanOrQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/SpanTermQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/SpanWeight.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/TermSpans.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TermQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Store/IndexInput.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/SupportClass.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Util/AttributeSource.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Util/IndexableBinaryStringTools.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Util/MapOfSets.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/AssemblyInfo.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Index/TestBackwardsCompatibility.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Index/TestFieldsReader.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Index/TestIndexReader.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Index/TestLazyBug.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Index/TestOmitTf.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Index/TestParallelReader.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Index/TestSegmentReader.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Index/TestStressIndexing2.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/Payloads/TestPayloadNearQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/Spans/TestFieldMaskingSpanQuery.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestSimilarity.cs
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestThreadSafe.cs

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/AssemblyInfo.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/AssemblyInfo.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/AssemblyInfo.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/AssemblyInfo.cs Mon Apr 25 16:17:36 2011
@@ -50,7 +50,7 @@ using System.Runtime.CompilerServices;
 // You can specify all the values or you can default the Revision and Build Numbers 
 // by using the '*' as shown below:
 
-[assembly: AssemblyVersion("2.9.4.001")]
+[assembly: AssemblyVersion("2.9.4.002")]
 
 
 //

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Document/Document.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Document/Document.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Document/Document.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Document/Document.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 // for javadoc
 using IndexReader = Lucene.Net.Index.IndexReader;
@@ -94,7 +95,7 @@ namespace Lucene.Net.Documents
 				return iter.Current;
 			}
 		}
-		internal System.Collections.IList fields = new System.Collections.ArrayList();
+        internal IList<Fieldable> fields = new List<Fieldable>();
 		private float boost = 1.0f;
 		
 		/// <summary>Constructs a new document with no fields. </summary>
@@ -163,10 +164,10 @@ namespace Lucene.Net.Documents
 		/// </summary>
 		public void  RemoveField(System.String name)
 		{
-			System.Collections.IEnumerator it = fields.GetEnumerator();
+			IEnumerator<Fieldable> it = fields.GetEnumerator();
 			while (it.MoveNext())
 			{
-				Fieldable field = (Fieldable) it.Current;
+				Fieldable field = it.Current;
 				if (field.Name().Equals(name))
 				{
                     fields.Remove(field);
@@ -187,7 +188,7 @@ namespace Lucene.Net.Documents
 		{
             for (int i = fields.Count - 1; i >= 0; i--)
             {
-                Fieldable field = (Fieldable) fields[i];
+                Fieldable field = fields[i];
                 if (field.Name().Equals(name))
                 {
                     fields.RemoveAt(i);
@@ -220,7 +221,7 @@ namespace Lucene.Net.Documents
 		{
 			for (int i = 0; i < fields.Count; i++)
 			{
-				Fieldable field = (Fieldable) fields[i];
+				Fieldable field = fields[i];
 				if (field.Name().Equals(name))
 					return field;
 			}
@@ -236,7 +237,7 @@ namespace Lucene.Net.Documents
 		{
 			for (int i = 0; i < fields.Count; i++)
 			{
-				Fieldable field = (Fieldable) fields[i];
+				Fieldable field = fields[i];
 				if (field.Name().Equals(name) && (!field.IsBinary()))
 					return field.StringValue();
 			}
@@ -258,7 +259,7 @@ namespace Lucene.Net.Documents
 		/// index, e.g. {@link Searcher#Doc(int)} or {@link
 		/// IndexReader#Document(int)}.
 		/// </summary>
-		public System.Collections.IList GetFields()
+		public IList<Fieldable> GetFields()
 		{
 			return fields;
 		}
@@ -277,7 +278,7 @@ namespace Lucene.Net.Documents
 		/// </returns>
 		public Field[] GetFields(System.String name)
 		{
-			System.Collections.ArrayList result = new System.Collections.ArrayList();
+            List<Field> result = new List<Field>();
 			for (int i = 0; i < fields.Count; i++)
 			{
 				Field field = (Field) fields[i];
@@ -290,7 +291,7 @@ namespace Lucene.Net.Documents
 			if (result.Count == 0)
 				return NO_FIELDS;
 			
-			return (Field[]) result.ToArray(typeof(Field));
+			return result.ToArray();
 		}
 		
 		
@@ -307,10 +308,10 @@ namespace Lucene.Net.Documents
 		/// </returns>
 		public Fieldable[] GetFieldables(System.String name)
 		{
-			System.Collections.ArrayList result = new System.Collections.ArrayList();
+            List<Fieldable> result = new List<Fieldable>();
 			for (int i = 0; i < fields.Count; i++)
 			{
-				Fieldable field = (Fieldable) fields[i];
+				Fieldable field = fields[i];
 				if (field.Name().Equals(name))
 				{
 					result.Add(field);
@@ -319,8 +320,8 @@ namespace Lucene.Net.Documents
 			
 			if (result.Count == 0)
 				return NO_FIELDABLES;
-			
-			return (Fieldable[]) result.ToArray(typeof(Fieldable));
+
+            return result.ToArray();
 		}
 		
 		
@@ -334,12 +335,12 @@ namespace Lucene.Net.Documents
 		/// </param>
 		/// <returns> a <code>String[]</code> of field values
 		/// </returns>
-		public System.String[] GetValues(System.String name)
+		public string[] GetValues(System.String name)
 		{
-			System.Collections.ArrayList result = new System.Collections.ArrayList();
+            List<string> result = new List<string>();
 			for (int i = 0; i < fields.Count; i++)
 			{
-				Fieldable field = (Fieldable) fields[i];
+				Fieldable field = fields[i];
 				if (field.Name().Equals(name) && (!field.IsBinary()))
 					result.Add(field.StringValue());
 			}
@@ -347,7 +348,7 @@ namespace Lucene.Net.Documents
 			if (result.Count == 0)
 				return NO_STRINGS;
 			
-			return (System.String[]) result.ToArray(typeof(System.String));
+			return result.ToArray();
 		}
 		
 		private static readonly byte[][] NO_BYTES = new byte[0][];
@@ -364,34 +365,18 @@ namespace Lucene.Net.Documents
 		/// </returns>
 		public byte[][] GetBinaryValues(System.String name)
 		{
-			System.Collections.IList result = new System.Collections.ArrayList();
+            List<byte[]> result = new List<byte[]>();
 			for (int i = 0; i < fields.Count; i++)
 			{
-				Fieldable field = (Fieldable) fields[i];
+				Fieldable field = fields[i];
 				if (field.Name().Equals(name) && (field.IsBinary()))
 					result.Add(field.BinaryValue());
 			}
 			
 			if (result.Count == 0)
 				return NO_BYTES;
-			
-            System.Collections.ICollection c = result;
-            object[] objects = new byte[result.Count][];
-
-            System.Type type = objects.GetType().GetElementType();
-            object[] objs = (object[])Array.CreateInstance(type, c.Count);
-
-            System.Collections.IEnumerator e = c.GetEnumerator();
-            int ii = 0;
-
-            while (e.MoveNext())
-                objs[ii++] = e.Current;
-
-            // If objects is smaller than c then do not return the new array in the parameter
-            if (objects.Length >= c.Count)
-                objs.CopyTo(objects, 0);
 
-            return (byte[][])objs;
+            return result.ToArray();
         }
 		
 		/// <summary> Returns an array of bytes for the first (or only) field that has the name
@@ -408,7 +393,7 @@ namespace Lucene.Net.Documents
 		{
 			for (int i = 0; i < fields.Count; i++)
 			{
-				Fieldable field = (Fieldable) fields[i];
+				Fieldable field = fields[i];
 				if (field.Name().Equals(name) && (field.IsBinary()))
 					return field.BinaryValue();
 			}
@@ -422,7 +407,7 @@ namespace Lucene.Net.Documents
 			buffer.Append("Document<");
 			for (int i = 0; i < fields.Count; i++)
 			{
-				Fieldable field = (Fieldable) fields[i];
+				Fieldable field = fields[i];
 				buffer.Append(field.ToString());
 				if (i != fields.Count - 1)
 					buffer.Append(" ");
@@ -431,7 +416,7 @@ namespace Lucene.Net.Documents
 			return buffer.ToString();
 		}
 
-        public System.Collections.IList fields_ForNUnit
+        public IList<Fieldable> fields_ForNUnit
         {
             get { return fields; }
         }

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Document/MapFieldSelector.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Document/MapFieldSelector.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Document/MapFieldSelector.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Document/MapFieldSelector.cs Mon Apr 25 16:17:36 2011
@@ -26,13 +26,13 @@ namespace Lucene.Net.Documents
 	[Serializable]
 	public class MapFieldSelector : FieldSelector
 	{
-		
-		internal System.Collections.IDictionary fieldSelections;
+
+        internal SupportClass.Dictionary<string, FieldSelectorResult> fieldSelections;
 		
 		/// <summary>Create a a MapFieldSelector</summary>
 		/// <param name="fieldSelections">maps from field names (String) to {@link FieldSelectorResult}s
 		/// </param>
-		public MapFieldSelector(System.Collections.IDictionary fieldSelections)
+        public MapFieldSelector(SupportClass.Dictionary<string, FieldSelectorResult> fieldSelections)
 		{
 			this.fieldSelections = fieldSelections;
 		}
@@ -40,9 +40,9 @@ namespace Lucene.Net.Documents
 		/// <summary>Create a a MapFieldSelector</summary>
 		/// <param name="fields">fields to LOAD.  List of Strings.  All other fields are NO_LOAD.
 		/// </param>
-		public MapFieldSelector(System.Collections.IList fields)
+		public MapFieldSelector(System.Collections.Generic.IList<string> fields)
 		{
-			fieldSelections = new System.Collections.Hashtable(fields.Count * 5 / 3);
+			fieldSelections = new SupportClass.Dictionary<string, FieldSelectorResult>(fields.Count * 5 / 3);
 			for (int i = 0; i < fields.Count; i++)
 				fieldSelections[fields[i]] = FieldSelectorResult.LOAD;
 		}
@@ -52,7 +52,7 @@ namespace Lucene.Net.Documents
 		/// </param>
 		public MapFieldSelector(System.String[] fields)
 		{
-			fieldSelections = new System.Collections.Hashtable(fields.Length * 5 / 3);
+            fieldSelections = new SupportClass.Dictionary<string, FieldSelectorResult>(fields.Length * 5 / 3);
 			for (int i = 0; i < fields.Length; i++)
 				fieldSelections[fields[i]] = FieldSelectorResult.LOAD;
 		}

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/BufferedDeletes.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/BufferedDeletes.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/BufferedDeletes.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/BufferedDeletes.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 namespace Lucene.Net.Index
 {
@@ -42,7 +43,7 @@ namespace Lucene.Net.Index
             this.doTermSort = doTermSort;
             if (doTermSort)
             {
-                terms = new System.Collections.Generic.SortedDictionary<object, object>();
+                terms = new SortedDictionary<object, object>();
             }
             else
             {
@@ -140,7 +141,7 @@ namespace Lucene.Net.Index
 				{
                     if (doTermSort)
                     {
-                        newDeleteTerms = new System.Collections.Generic.SortedDictionary<object, object>();
+                        newDeleteTerms = new SortedDictionary<object, object>();
                     }
                     else
                     {

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/CheckIndex.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/CheckIndex.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/CheckIndex.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/CheckIndex.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using AbstractField = Lucene.Net.Documents.AbstractField;
 using Document = Lucene.Net.Documents.Document;
@@ -115,7 +116,7 @@ namespace Lucene.Net.Index
 			public bool partial;
 			
 			/// <summary>Holds the userData of the last commit in the index </summary>
-            public System.Collections.Generic.IDictionary<string, string> userData;
+            public IDictionary<string, string> userData;
 			
 			/// <summary>Holds the status of each segment in the index.
 			/// See {@link #segmentInfos}.
@@ -186,7 +187,7 @@ namespace Lucene.Net.Index
 				/// debugging details that IndexWriter records into
 				/// each segment it creates 
 				/// </summary>
-                public System.Collections.Generic.IDictionary<string, string> diagnostics;
+                public IDictionary<string, string> diagnostics;
 				
 				/// <summary>Status for testing of field norms (null if field norms could not be tested). </summary>
 				public FieldNormStatus fieldNormStatus;
@@ -510,7 +511,7 @@ namespace Lucene.Net.Index
 					segInfoStat.numFiles = info.Files().Count;
 					Msg(System.String.Format(nf, "    size (MB)={0:f}", new System.Object[] { (info.SizeInBytes() / (1024.0 * 1024.0)) }));
 					segInfoStat.sizeMB = info.SizeInBytes() / (1024.0 * 1024.0);
-                    System.Collections.Generic.IDictionary<string, string> diagnostics = info.GetDiagnostics();
+                    IDictionary<string, string> diagnostics = info.GetDiagnostics();
 					segInfoStat.diagnostics = diagnostics;
 					if (diagnostics.Count > 0)
 					{
@@ -580,7 +581,7 @@ namespace Lucene.Net.Index
 					{
 						infoStream.Write("    test: fields..............");
 					}
-                    System.Collections.Generic.ICollection<string> fieldNames = reader.GetFieldNames(IndexReader.FieldOption.ALL);
+                    ICollection<string> fieldNames = reader.GetFieldNames(IndexReader.FieldOption.ALL);
 					Msg("OK [" + fieldNames.Count + " fields]");
 					segInfoStat.numFields = fieldNames.Count;
 					
@@ -637,7 +638,7 @@ namespace Lucene.Net.Index
 				}
 				
 				// Keeper
-				result.newSegments.Add(info.Clone());
+                result.newSegments.Add((SegmentInfo)info.Clone());
 			}
 			
 			if (0 == result.numBadSegments)
@@ -652,7 +653,7 @@ namespace Lucene.Net.Index
 		}
 		
 		/// <summary> Test field norms.</summary>
-        private Status.FieldNormStatus TestFieldNorms(System.Collections.Generic.ICollection<string> fieldNames, SegmentReader reader)
+        private Status.FieldNormStatus TestFieldNorms(ICollection<string> fieldNames, SegmentReader reader)
 		{
 			Status.FieldNormStatus status = new Status.FieldNormStatus();
 			

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/CompoundFileWriter.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/CompoundFileWriter.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/CompoundFileWriter.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/CompoundFileWriter.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using Directory = Lucene.Net.Store.Directory;
 using IndexInput = Lucene.Net.Store.IndexInput;
@@ -66,8 +67,8 @@ namespace Lucene.Net.Index
 		
 		private Directory directory;
 		private System.String fileName;
-        private System.Collections.Hashtable ids;
-		private System.Collections.ArrayList entries;
+        private Dictionary<string,string> ids;
+		private List<FileEntry> entries;
 		private bool merged = false;
 		private SegmentMerger.CheckAbort checkAbort;
 		
@@ -88,8 +89,8 @@ namespace Lucene.Net.Index
 			this.checkAbort = checkAbort;
 			directory = dir;
 			fileName = name;
-            ids = new System.Collections.Hashtable();
-			entries = new System.Collections.ArrayList();
+            ids = new Dictionary<string, string>();
+            entries = new List<FileEntry>();
 		}
 		
 		/// <summary>Returns the directory of the compound file. </summary>
@@ -165,11 +166,11 @@ namespace Lucene.Net.Index
 				// Write the directory with all offsets at 0.
 				// Remember the positions of directory entries so that we can
 				// adjust the offsets later
-				System.Collections.IEnumerator it = entries.GetEnumerator();
+				IEnumerator<FileEntry> it = entries.GetEnumerator();
 				long totalSize = 0;
 				while (it.MoveNext())
 				{
-					FileEntry fe = (FileEntry) it.Current;
+					FileEntry fe = it.Current;
 					fe.directoryOffset = os.GetFilePointer();
 					os.WriteLong(0); // for now
 					os.WriteString(fe.file);
@@ -191,7 +192,7 @@ namespace Lucene.Net.Index
 				it = entries.GetEnumerator();
 				while (it.MoveNext())
 				{
-					FileEntry fe = (FileEntry) it.Current;
+					FileEntry fe = it.Current;
 					fe.dataOffset = os.GetFilePointer();
 					CopyFile(fe, os, buffer);
 				}
@@ -200,7 +201,7 @@ namespace Lucene.Net.Index
 				it = entries.GetEnumerator();
 				while (it.MoveNext())
 				{
-					FileEntry fe = (FileEntry) it.Current;
+					FileEntry fe = it.Current;
 					os.Seek(fe.directoryOffset);
 					os.WriteLong(fe.dataOffset);
 				}

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/ConcurrentMergeScheduler.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/ConcurrentMergeScheduler.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/ConcurrentMergeScheduler.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/ConcurrentMergeScheduler.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using Directory = Lucene.Net.Store.Directory;
 
@@ -36,8 +37,8 @@ namespace Lucene.Net.Index
 	{
 		
 		private int mergeThreadPriority = - 1;
-		
-		protected internal System.Collections.IList mergeThreads = new System.Collections.ArrayList();
+
+        protected internal IList<MergeThread> mergeThreads = new List<MergeThread>();
 		
 		// Max number of threads allowed to be merging at once
 		private int maxThreadCount = 1;
@@ -153,7 +154,7 @@ namespace Lucene.Net.Index
 					if (Verbose())
 					{
 						for (int i = 0; i < count; i++)
-							Message("    " + i + ": " + ((MergeThread) mergeThreads[i]));
+							Message("    " + i + ": " + mergeThreads[i]);
 					}
 					
 					try
@@ -187,7 +188,7 @@ namespace Lucene.Net.Index
                 int numThreads = mergeThreads.Count;
                 for (int i = 0; i < numThreads; i++)
                 {
-                    MergeThread t = (MergeThread)mergeThreads[i];
+                    MergeThread t = mergeThreads[i];
                     if (t.IsAlive)
                     {
                         MergePolicy.OneMerge runningMerge = t.GetRunningMerge();

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DirectoryReader.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DirectoryReader.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DirectoryReader.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DirectoryReader.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using Document = Lucene.Net.Documents.Document;
 using FieldSelector = Lucene.Net.Documents.FieldSelector;
@@ -90,7 +91,7 @@ namespace Lucene.Net.Index
 		internal IndexWriter writer;
 		
 		private IndexDeletionPolicy deletionPolicy;
-        private System.Collections.Generic.Dictionary<string, string> synced = new System.Collections.Generic.Dictionary<string, string>();
+        private Dictionary<string, string> synced = new Dictionary<string, string>();
 		private Lock writeLock;
 		private SegmentInfos segmentInfos;
 		private SegmentInfos segmentInfosStart;
@@ -925,7 +926,7 @@ namespace Lucene.Net.Index
 		/// 
 		/// </summary>
 		/// <throws>  IOException if there is a low-level IO error </throws>
-        protected internal override void DoCommit(System.Collections.Generic.IDictionary<string, string> commitUserData)
+        protected internal override void DoCommit(IDictionary<string, string> commitUserData)
 		{
 			if (hasChanges)
 			{
@@ -1014,7 +1015,7 @@ namespace Lucene.Net.Index
             }
 		}
 
-        public override System.Collections.Generic.IDictionary<string, string> GetCommitUserData()
+        public override IDictionary<string, string> GetCommitUserData()
 		{
 			EnsureOpen();
 			return segmentInfos.GetUserData();
@@ -1065,20 +1066,20 @@ namespace Lucene.Net.Index
 			}
 		}
 
-        public override System.Collections.Generic.ICollection<string> GetFieldNames(IndexReader.FieldOption fieldNames)
+        public override ICollection<string> GetFieldNames(IndexReader.FieldOption fieldNames)
 		{
 			EnsureOpen();
 			return GetFieldNames(fieldNames, this.subReaders);
 		}
 
-        internal static System.Collections.Generic.ICollection<string> GetFieldNames(IndexReader.FieldOption fieldNames, IndexReader[] subReaders)
+        internal static ICollection<string> GetFieldNames(IndexReader.FieldOption fieldNames, IndexReader[] subReaders)
 		{
 			// maintain a unique set of field names
-            System.Collections.Generic.Dictionary<string,string> fieldSet = new System.Collections.Generic.Dictionary<string,string>();
+            Dictionary<string,string> fieldSet = new Dictionary<string,string>();
 			for (int i = 0; i < subReaders.Length; i++)
 			{
 				IndexReader reader = subReaders[i];
-                System.Collections.Generic.ICollection<string> names = reader.GetFieldNames(fieldNames);
+                ICollection<string> names = reader.GetFieldNames(fieldNames);
 				SupportClass.CollectionsHelper.AddAllIfNotContains(fieldSet, names);
 			}
 			return fieldSet.Keys;
@@ -1172,12 +1173,12 @@ namespace Lucene.Net.Index
 		private sealed class ReaderCommit:IndexCommit
 		{
 			private System.String segmentsFileName;
-			internal System.Collections.Generic.ICollection<string> files;
+			internal ICollection<string> files;
 			internal Directory dir;
 			internal long generation;
 			internal long version;
 			internal bool isOptimized;
-            internal System.Collections.Generic.IDictionary<string, string> userData;
+            internal IDictionary<string, string> userData;
 			
 			internal ReaderCommit(SegmentInfos infos, Directory dir)
 			{
@@ -1204,7 +1205,7 @@ namespace Lucene.Net.Index
 				return segmentsFileName;
 			}
 
-            public override System.Collections.Generic.ICollection<string> GetFileNames()
+            public override ICollection<string> GetFileNames()
 			{
 				return files;
 			}
@@ -1229,7 +1230,7 @@ namespace Lucene.Net.Index
 				return false;
 			}
 
-            public override System.Collections.Generic.IDictionary<string, string> GetUserData()
+            public override IDictionary<string, string> GetUserData()
 			{
 				return userData;
 			}

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldConsumer.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldConsumer.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldConsumer.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldConsumer.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 namespace Lucene.Net.Index
 {
@@ -28,7 +29,7 @@ namespace Lucene.Net.Index
 		/// <summary>Called when DocumentsWriter decides to create a new
 		/// segment 
 		/// </summary>
-		public abstract void  Flush(System.Collections.IDictionary threadsAndFields, SegmentWriteState state);
+        public abstract void Flush(SupportClass.Dictionary<DocFieldConsumerPerThread, IList<DocFieldConsumerPerField>> threadsAndFields, SegmentWriteState state);
 		
 		/// <summary>Called when DocumentsWriter decides to close the doc
 		/// stores 

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldConsumers.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldConsumers.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldConsumers.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldConsumers.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using ArrayUtil = Lucene.Net.Util.ArrayUtil;
 
@@ -48,12 +49,12 @@ namespace Lucene.Net.Index
 			one.SetFieldInfos(fieldInfos);
 			two.SetFieldInfos(fieldInfos);
 		}
-		
-		public override void  Flush(System.Collections.IDictionary threadsAndFields, SegmentWriteState state)
+
+        public override void Flush(SupportClass.Dictionary<DocFieldConsumerPerThread, IList<DocFieldConsumerPerField>> threadsAndFields, SegmentWriteState state)
 		{
-			
-			System.Collections.IDictionary oneThreadsAndFields = new System.Collections.Hashtable();
-			System.Collections.IDictionary twoThreadsAndFields = new System.Collections.Hashtable();
+
+            SupportClass.Dictionary<DocFieldConsumerPerThread, IList<DocFieldConsumerPerField>> oneThreadsAndFields = new SupportClass.Dictionary<DocFieldConsumerPerThread, IList<DocFieldConsumerPerField>>();
+            SupportClass.Dictionary<DocFieldConsumerPerThread, IList<DocFieldConsumerPerField>> twoThreadsAndFields = new SupportClass.Dictionary<DocFieldConsumerPerThread, IList<DocFieldConsumerPerField>>();
 			
 			System.Collections.IEnumerator it = new System.Collections.Hashtable(threadsAndFields).GetEnumerator();
 			while (it.MoveNext())
@@ -66,20 +67,18 @@ namespace Lucene.Net.Index
 				System.Collections.ICollection fields = (System.Collections.ICollection) entry.Value;
 				
 				System.Collections.IEnumerator fieldsIt = fields.GetEnumerator();
-				System.Collections.Hashtable oneFields = new System.Collections.Hashtable();
-				System.Collections.Hashtable twoFields = new System.Collections.Hashtable();
-				while (fieldsIt.MoveNext())
-				{
-					DocFieldConsumersPerField perField = (DocFieldConsumersPerField) fieldsIt.Current;
-					SupportClass.CollectionsHelper.AddIfNotContains(oneFields, perField.one);
-					SupportClass.CollectionsHelper.AddIfNotContains(twoFields, perField.two);
-				}
-				
+                IList<DocFieldConsumerPerField> oneFields = new List<DocFieldConsumerPerField>();
+                IList<DocFieldConsumerPerField> twoFields = new List<DocFieldConsumerPerField>();
+                foreach (DocFieldConsumersPerField perField in fields)
+                {
+                    oneFields.Add(perField.one);
+                    twoFields.Add(perField.two);
+                }
+                				
 				oneThreadsAndFields[perThread.one] = oneFields;
 				twoThreadsAndFields[perThread.two] = twoFields;
 			}
-			
-			
+						
 			one.Flush(oneThreadsAndFields, state);
 			two.Flush(twoThreadsAndFields, state);
 		}

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=1096507&r1=1096506&r2=1096507&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 Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 namespace Lucene.Net.Index
 {
@@ -51,8 +52,8 @@ namespace Lucene.Net.Index
 		
 		public override void  Flush(System.Collections.ICollection threads, SegmentWriteState state)
 		{
-			
-			System.Collections.IDictionary childThreadsAndFields = new System.Collections.Hashtable();
+
+            SupportClass.Dictionary<DocFieldConsumerPerThread, IList<DocFieldConsumerPerField>> childThreadsAndFields = new SupportClass.Dictionary<DocFieldConsumerPerThread, IList<DocFieldConsumerPerField>>();
 			System.Collections.IEnumerator it = threads.GetEnumerator();
 			while (it.MoveNext())
 			{

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldProcessorPerThread.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldProcessorPerThread.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldProcessorPerThread.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocFieldProcessorPerThread.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using Document = Lucene.Net.Documents.Document;
 using Fieldable = Lucene.Net.Documents.Fieldable;
@@ -84,15 +85,15 @@ namespace Lucene.Net.Index
 			consumer.Abort();
 		}
 		
-		public System.Collections.ICollection Fields()
+		public IList<DocFieldConsumerPerField> Fields()
 		{
-			System.Collections.Hashtable fields = new System.Collections.Hashtable();
+            List<DocFieldConsumerPerField> fields = new List<DocFieldConsumerPerField>();
 			for (int i = 0; i < fieldHash.Length; i++)
 			{
 				DocFieldProcessorPerField field = fieldHash[i];
 				while (field != null)
 				{
-					fields[field.consumer] = field.consumer;
+					fields.Add(field.consumer);
 					field = field.next;
 				}
 			}
@@ -184,7 +185,7 @@ namespace Lucene.Net.Index
 			
 			int thisFieldGen = fieldGen++;
 			
-			System.Collections.IList docFields = doc.GetFields();
+			IList<Fieldable> docFields = doc.GetFields();
 			int numDocFields = docFields.Count;
 			
 			// Absorb any new fields first seen in this document.

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocInverter.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocInverter.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocInverter.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/DocInverter.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using AttributeSource = Lucene.Net.Util.AttributeSource;
 
@@ -45,36 +46,29 @@ namespace Lucene.Net.Index
 			consumer.SetFieldInfos(fieldInfos);
 			endConsumer.SetFieldInfos(fieldInfos);
 		}
-		
-		public override void  Flush(System.Collections.IDictionary threadsAndFields, SegmentWriteState state)
+
+        public override void Flush(SupportClass.Dictionary<DocFieldConsumerPerThread, IList<DocFieldConsumerPerField>> threadsAndFields, SegmentWriteState state)
 		{
-			
-			System.Collections.IDictionary childThreadsAndFields = new System.Collections.Hashtable();
-			System.Collections.IDictionary endChildThreadsAndFields = new System.Collections.Hashtable();
-			
-			System.Collections.IEnumerator it = new System.Collections.Hashtable(threadsAndFields).GetEnumerator();
-			while (it.MoveNext())
-			{
-				
-				System.Collections.DictionaryEntry entry = (System.Collections.DictionaryEntry) it.Current;
-				
-				DocInverterPerThread perThread = (DocInverterPerThread) entry.Key;
-				
-				System.Collections.ICollection fields = (System.Collections.ICollection) entry.Value;
-				
-				System.Collections.IEnumerator fieldsIt = fields.GetEnumerator();
-				System.Collections.Hashtable childFields = new System.Collections.Hashtable();
-				System.Collections.Hashtable endChildFields = new System.Collections.Hashtable();
-				while (fieldsIt.MoveNext())
-				{
-					DocInverterPerField perField = (DocInverterPerField) ((System.Collections.DictionaryEntry) fieldsIt.Current).Key;
-					childFields[perField.consumer] = perField.consumer;
-					endChildFields[perField.endConsumer] = perField.endConsumer;
-				}
-				
-				childThreadsAndFields[perThread.consumer] = childFields;
-				endChildThreadsAndFields[perThread.endConsumer] = endChildFields;
-			}
+
+            SupportClass.Dictionary<InvertedDocConsumerPerThread, IList<InvertedDocConsumerPerField>> childThreadsAndFields = new SupportClass.Dictionary<InvertedDocConsumerPerThread, IList<InvertedDocConsumerPerField>>();
+            SupportClass.Dictionary<InvertedDocEndConsumerPerThread, IList<InvertedDocEndConsumerPerField>> endChildThreadsAndFields = new SupportClass.Dictionary<InvertedDocEndConsumerPerThread, IList<InvertedDocEndConsumerPerField>>();
+
+            foreach (KeyValuePair<DocFieldConsumerPerThread, IList<DocFieldConsumerPerField>> entry in new SupportClass.Dictionary<DocFieldConsumerPerThread, IList<DocFieldConsumerPerField>>(threadsAndFields))
+            {
+                DocInverterPerThread perThread = (DocInverterPerThread)entry.Key;
+                                
+                List<InvertedDocConsumerPerField> childFields = new List<InvertedDocConsumerPerField>();
+                List<InvertedDocEndConsumerPerField> endChildFields = new List<InvertedDocEndConsumerPerField>();
+                foreach (DocFieldConsumerPerField field in entry.Value)
+                {
+                    DocInverterPerField perField = (DocInverterPerField)field;
+                    childFields.Add(perField.consumer);
+                    endChildFields.Add(perField.endConsumer);
+                }
+
+                childThreadsAndFields[perThread.consumer] = childFields;
+                endChildThreadsAndFields[perThread.endConsumer] = endChildFields;
+            }
 			
 			consumer.Flush(childThreadsAndFields, state);
 			endConsumer.Flush(endChildThreadsAndFields, state);

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=1096507&r1=1096506&r2=1096507&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 Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using Analyzer = Lucene.Net.Analysis.Analyzer;
 using Document = Lucene.Net.Documents.Document;
@@ -532,11 +533,11 @@ namespace Lucene.Net.Index
 			}
 		}
 		
-		private System.Collections.Generic.ICollection<string> abortedFiles; // List of files that were written before last abort()
+		private ICollection<string> abortedFiles; // List of files that were written before last abort()
 		
 		private SegmentWriteState flushState;
 
-        internal System.Collections.Generic.ICollection<string> AbortedFiles()
+        internal ICollection<string> AbortedFiles()
 		{
 			return abortedFiles;
 		}
@@ -547,12 +548,12 @@ namespace Lucene.Net.Index
 				writer.Message("DW: " + message);
 		}
 
-        internal System.Collections.Generic.IList<string> openFiles = new System.Collections.Generic.List<string>();
-        internal System.Collections.Generic.IList<string> closedFiles = new System.Collections.Generic.List<string>();
+        internal IList<string> openFiles = new List<string>();
+        internal IList<string> closedFiles = new List<string>();
 		
 		/* Returns Collection of files in use by this instance,
 		* including any flushed segments. */
-		internal System.Collections.Generic.IList<string> OpenFiles()
+		internal IList<string> OpenFiles()
 		{
 			lock (this)
 			{
@@ -562,7 +563,7 @@ namespace Lucene.Net.Index
 			}
 		}
 		
-		internal System.Collections.Generic.IList<string> ClosedFiles()
+		internal IList<string> ClosedFiles()
 		{
             lock (this)
             {

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FieldInfo.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FieldInfo.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FieldInfo.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FieldInfo.cs Mon Apr 25 16:17:36 2011
@@ -20,7 +20,7 @@ using System;
 namespace Lucene.Net.Index
 {
 	
-	public sealed class FieldInfo : System.ICloneable
+	public sealed class FieldInfo : System.ICloneable<FieldInfo>
 	{
 		internal System.String name;
 		internal bool isIndexed;
@@ -62,7 +62,7 @@ namespace Lucene.Net.Index
 			}
 		}
 		
-		public System.Object Clone()
+		public FieldInfo Clone()
 		{
 			return new FieldInfo(name, isIndexed, number, storeTermVector, storePositionWithTermVector, storeOffsetWithTermVector, omitNorms, storePayloads, omitTermFreqAndPositions);
 		}

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FieldInfos.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FieldInfos.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FieldInfos.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FieldInfos.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using Document = Lucene.Net.Documents.Document;
 using Fieldable = Lucene.Net.Documents.Fieldable;
@@ -33,7 +34,7 @@ namespace Lucene.Net.Index
 	/// be adding documents at a time, with no other reader or writer threads
 	/// accessing this object.
 	/// </summary>
-	public sealed class FieldInfos : System.ICloneable
+	public sealed class FieldInfos : System.ICloneable<FieldInfos>
 	{
 		
 		// Used internally (ie not written to *.fnm files) for pre-2.9 files
@@ -51,9 +52,9 @@ namespace Lucene.Net.Index
 		internal const byte OMIT_NORMS = (byte) (0x10);
 		internal const byte STORE_PAYLOADS = (byte) (0x20);
 		internal const byte OMIT_TERM_FREQ_AND_POSITIONS = (byte) (0x40);
-		
-		private System.Collections.ArrayList byNumber = new System.Collections.ArrayList();
-		private System.Collections.Hashtable byName = new System.Collections.Hashtable();
+
+        private List<FieldInfo> byNumber = new List<FieldInfo>();
+        private SupportClass.Dictionary<string, FieldInfo> byName = new SupportClass.Dictionary<string, FieldInfo>();
 		private int format;
 		
 		public /*internal*/ FieldInfos()
@@ -113,7 +114,7 @@ namespace Lucene.Net.Index
 		}
 		
 		/// <summary> Returns a deep clone of this FieldInfos instance.</summary>
-		public System.Object Clone()
+		public FieldInfos Clone()
 		{
             lock (this)
             {
@@ -121,7 +122,7 @@ namespace Lucene.Net.Index
                 int numField = byNumber.Count;
                 for (int i = 0; i < numField; i++)
                 {
-                    FieldInfo fi = (FieldInfo)((FieldInfo)byNumber[i]).Clone();
+                    FieldInfo fi = byNumber[i].Clone();
                     fis.byNumber.Add(fi);
                     fis.byName[fi.name] = fi;
                 }
@@ -134,7 +135,7 @@ namespace Lucene.Net.Index
 		{
 			lock (this)
 			{
-				System.Collections.IList fields = doc.GetFields();
+				IList<Fieldable> fields = doc.GetFields();
 				System.Collections.IEnumerator fieldIterator = fields.GetEnumerator();
 				while (fieldIterator.MoveNext())
 				{
@@ -192,7 +193,7 @@ namespace Lucene.Net.Index
 		/// </param>
 		/// <seealso cref="Add(String, boolean)">
 		/// </seealso>
-        public void Add(System.Collections.Generic.ICollection<string> names, bool isIndexed)
+        public void Add(ICollection<string> names, bool isIndexed)
 		{
 			lock (this)
 			{
@@ -345,7 +346,7 @@ namespace Lucene.Net.Index
 		
 		public FieldInfo FieldInfo(System.String fieldName)
 		{
-			return (FieldInfo) byName[fieldName];
+			return byName[fieldName];
 		}
 		
 		/// <summary> Return the fieldName identified by its number.

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FieldSortedTermVectorMapper.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FieldSortedTermVectorMapper.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FieldSortedTermVectorMapper.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FieldSortedTermVectorMapper.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 namespace Lucene.Net.Index
 {
@@ -27,19 +28,19 @@ namespace Lucene.Net.Index
 	public class FieldSortedTermVectorMapper:TermVectorMapper
 	{
 		private System.Collections.IDictionary fieldToTerms = new System.Collections.Hashtable();
-		private System.Collections.Generic.SortedDictionary<object, object> currentSet;
+		private SortedDictionary<object, object> currentSet;
 		private System.String currentField;
-		private System.Collections.Generic.IComparer<object> comparator;
+		private IComparer<object> comparator;
 		
 		/// <summary> </summary>
 		/// <param name="comparator">A Comparator for sorting {@link TermVectorEntry}s
 		/// </param>
-		public FieldSortedTermVectorMapper(System.Collections.Generic.IComparer<object> comparator):this(false, false, comparator)
+		public FieldSortedTermVectorMapper(IComparer<object> comparator):this(false, false, comparator)
 		{
 		}
 		
 		
-		public FieldSortedTermVectorMapper(bool ignoringPositions, bool ignoringOffsets, System.Collections.Generic.IComparer<object> comparator):base(ignoringPositions, ignoringOffsets)
+		public FieldSortedTermVectorMapper(bool ignoringPositions, bool ignoringOffsets, IComparer<object> comparator):base(ignoringPositions, ignoringOffsets)
 		{
 			this.comparator = comparator;
 		}
@@ -52,7 +53,7 @@ namespace Lucene.Net.Index
 		
 		public override void  SetExpectations(System.String field, int numTerms, bool storeOffsets, bool storePositions)
 		{
-			currentSet = new System.Collections.Generic.SortedDictionary<object, object>(comparator);
+			currentSet = new SortedDictionary<object, object>(comparator);
 			currentField = field;
 			fieldToTerms[field] = currentSet;
 		}
@@ -68,7 +69,7 @@ namespace Lucene.Net.Index
 		}
 		
 		
-		public virtual System.Collections.Generic.IComparer<object> GetComparator()
+		public virtual IComparer<object> GetComparator()
 		{
 			return comparator;
 		}

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FilterIndexReader.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FilterIndexReader.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FilterIndexReader.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FilterIndexReader.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using Document = Lucene.Net.Documents.Document;
 using FieldSelector = Lucene.Net.Documents.FieldSelector;
@@ -290,7 +291,7 @@ namespace Lucene.Net.Index
 			DoCommit(null);
 		}
 
-        protected internal override void DoCommit(System.Collections.Generic.IDictionary<string, string> commitUserData)
+        protected internal override void DoCommit(IDictionary<string, string> commitUserData)
 		{
 			in_Renamed.Commit(commitUserData);
 		}
@@ -305,7 +306,7 @@ namespace Lucene.Net.Index
 		}
 
 
-        public override System.Collections.Generic.ICollection<string> GetFieldNames(IndexReader.FieldOption fieldNames)
+        public override ICollection<string> GetFieldNames(IndexReader.FieldOption fieldNames)
 		{
 			EnsureOpen();
 			return in_Renamed.GetFieldNames(fieldNames);

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FreqProxTermsWriter.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FreqProxTermsWriter.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FreqProxTermsWriter.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/FreqProxTermsWriter.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using IndexInput = Lucene.Net.Store.IndexInput;
 using IndexOutput = Lucene.Net.Store.IndexOutput;
@@ -71,30 +72,23 @@ namespace Lucene.Net.Index
 		// FreqProxFieldMergeState, and code to visit all Fields
 		// under the same FieldInfo together, up into TermsHash*.
 		// Other writers would presumably share alot of this...
-		
-		public override void  Flush(System.Collections.IDictionary threadsAndFields, SegmentWriteState state)
+
+        public override void Flush(SupportClass.Dictionary<TermsHashConsumerPerThread, IList<TermsHashConsumerPerField>> threadsAndFields, SegmentWriteState state)
 		{
 			
 			// Gather all FieldData's that have postings, across all
 			// ThreadStates
-			System.Collections.ArrayList allFields = new System.Collections.ArrayList();
+            List<FreqProxTermsWriterPerField> allFields = new List<FreqProxTermsWriterPerField>();
 
-            System.Collections.IEnumerator it = new System.Collections.Hashtable(threadsAndFields).GetEnumerator();
-			while (it.MoveNext())
-			{
-				
-				System.Collections.DictionaryEntry entry = (System.Collections.DictionaryEntry) it.Current;
-				
-				System.Collections.ICollection fields = (System.Collections.ICollection) entry.Value;
-				
-				System.Collections.IEnumerator fieldsIt = fields.GetEnumerator();
-				
-				while (fieldsIt.MoveNext())
-				{
-					FreqProxTermsWriterPerField perField = (FreqProxTermsWriterPerField) ((System.Collections.DictionaryEntry) fieldsIt.Current).Key;
-					if (perField.termsHashPerField.numPostings > 0)
-						allFields.Add(perField);
-				}
+            foreach (KeyValuePair<TermsHashConsumerPerThread,IList<TermsHashConsumerPerField>> entry in threadsAndFields) 
+            {
+				IList<TermsHashConsumerPerField> fields = entry.Value;
+                foreach (TermsHashConsumerPerField i in fields)
+                {
+                    FreqProxTermsWriterPerField perField = (FreqProxTermsWriterPerField) i;
+                    if (perField.termsHashPerField.numPostings > 0)
+                        allFields.Add(perField);
+                }
 			}
 			
 			// Sort by field name
@@ -151,13 +145,11 @@ namespace Lucene.Net.Index
 				start = end;
 			}
 
-            it = new System.Collections.Hashtable(threadsAndFields).GetEnumerator();
-			while (it.MoveNext())
-			{
-				System.Collections.DictionaryEntry entry = (System.Collections.DictionaryEntry) it.Current;
-				FreqProxTermsWriterPerThread perThread = (FreqProxTermsWriterPerThread) entry.Key;
-				perThread.termsHashPerThread.Reset(true);
-			}
+            foreach (KeyValuePair<TermsHashConsumerPerThread, IList<TermsHashConsumerPerField>> entry in threadsAndFields)
+            {
+                FreqProxTermsWriterPerThread perThread = (FreqProxTermsWriterPerThread)entry.Key;
+                perThread.termsHashPerThread.Reset(true);
+            }
 			
 			consumer.Finish();
 		}

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexCommit.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexCommit.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexCommit.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexCommit.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using Directory = Lucene.Net.Store.Directory;
 
@@ -49,7 +50,7 @@ namespace Lucene.Net.Index
 		public abstract System.String GetSegmentsFileName();
 		
 		/// <summary> Returns all index files referenced by this commit point.</summary>
-		public abstract System.Collections.Generic.ICollection<string> GetFileNames();
+		public abstract ICollection<string> GetFileNames();
 		
 		/// <summary> Returns the {@link Directory} for the index.</summary>
 		public abstract Directory GetDirectory();
@@ -114,6 +115,6 @@ namespace Lucene.Net.Index
 		/// IndexWriter#Commit(Map)} for this commit.  Map is
 		/// String -> String. 
 		/// </summary>
-        public abstract System.Collections.Generic.IDictionary<string, string> GetUserData();
+        public abstract IDictionary<string, string> GetUserData();
 	}
 }
\ No newline at end of file

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexFileDeleter.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexFileDeleter.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexFileDeleter.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexFileDeleter.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using Directory = Lucene.Net.Store.Directory;
 
@@ -72,12 +73,12 @@ namespace Lucene.Net.Index
 		/* Files that we tried to delete but failed (likely
 		* because they are open and we are running on Windows),
 		* so we will retry them again later: */
-		private System.Collections.Generic.IList<string> deletable;
+		private IList<string> deletable;
 		
 		/* Reference count for all files in the index.  
 		* Counts how many existing commits reference a file.
 		* Maps String to RefCount (class below) instances: */
-		private System.Collections.Generic.Dictionary<System.String, RefCount> refCounts = new System.Collections.Generic.Dictionary<System.String, RefCount>();
+		private Dictionary<System.String, RefCount> refCounts = new Dictionary<System.String, RefCount>();
 		
 		/* Holds all commits (segments_N) currently in the index.
 		* This will have just 1 commit if you are using the
@@ -88,7 +89,7 @@ namespace Lucene.Net.Index
 		
 		/* Holds files we had incref'd from the previous
 		* non-commit checkpoint: */
-        private System.Collections.Generic.IList<string> lastFiles = new System.Collections.Generic.List<string>();
+        private IList<string> lastFiles = new List<string>();
 		
 		/* Commits that the IndexDeletionPolicy have decided to delete: */
 		private System.Collections.ArrayList commitsToDelete = new System.Collections.ArrayList();
@@ -101,7 +102,7 @@ namespace Lucene.Net.Index
 		internal bool startingCommitDeleted;
         private SegmentInfos lastSegmentInfos;
 
-        private System.Collections.Generic.Dictionary<string, string> synced;
+        private Dictionary<string, string> synced;
 		
 		/// <summary>Change to true to see details of reference counts when
 		/// infoStream != null 
@@ -129,7 +130,7 @@ namespace Lucene.Net.Index
 		/// </summary>
 		/// <throws>  CorruptIndexException if the index is corrupt </throws>
 		/// <throws>  IOException if there is a low-level IO error </throws>
-        public IndexFileDeleter(Directory directory, IndexDeletionPolicy policy, SegmentInfos segmentInfos, System.IO.StreamWriter infoStream, DocumentsWriter docWriter, System.Collections.Generic.Dictionary<string, string> synced)
+        public IndexFileDeleter(Directory directory, IndexDeletionPolicy policy, SegmentInfos segmentInfos, System.IO.StreamWriter infoStream, DocumentsWriter docWriter, Dictionary<string, string> synced)
 		{
 			
 			this.docWriter = docWriter;
@@ -258,7 +259,7 @@ namespace Lucene.Net.Index
 			// Now delete anything with ref count at 0.  These are
 			// presumably abandoned files eg due to crash of
 			// IndexWriter.
-			System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<System.String, RefCount>> it = refCounts.GetEnumerator();
+			IEnumerator<KeyValuePair<System.String, RefCount>> it = refCounts.GetEnumerator();
 			while (it.MoveNext())
 			{
 				System.String fileName = (System.String) it.Current.Key;
@@ -311,7 +312,7 @@ namespace Lucene.Net.Index
 					{
 						Message("deleteCommits: now decRef commit \"" + commit.GetSegmentsFileName() + "\"");
 					}
-					System.Collections.Generic.IEnumerator<string> it = commit.files.GetEnumerator();
+					IEnumerator<string> it = commit.files.GetEnumerator();
 					while (it.MoveNext())
 					{
 						DecRef(it.Current);
@@ -407,7 +408,7 @@ namespace Lucene.Net.Index
 		{
 			if (deletable != null)
 			{
-				System.Collections.Generic.IList<string> oldDeletable = deletable;
+				IList<string> oldDeletable = deletable;
 				deletable = null;
 				int size = oldDeletable.Count;
 				for (int i = 0; i < size; i++)
@@ -469,7 +470,7 @@ namespace Lucene.Net.Index
 			else
 			{
 				
-				System.Collections.Generic.IList<string> docWriterFiles;
+				IList<string> docWriterFiles;
 				if (docWriter != null)
 				{
 					docWriterFiles = docWriter.OpenFiles();
@@ -511,14 +512,14 @@ namespace Lucene.Net.Index
 		{
 			// If this is a commit point, also incRef the
 			// segments_N file:
-			System.Collections.Generic.IEnumerator<string> it = segmentInfos.Files(directory, isCommit).GetEnumerator();
+			IEnumerator<string> it = segmentInfos.Files(directory, isCommit).GetEnumerator();
 			while (it.MoveNext())
 			{
 				IncRef(it.Current);
 			}
 		}
 		
-		internal void  IncRef(System.Collections.Generic.IList<string> files)
+		internal void  IncRef(IList<string> files)
 		{
 			int size = files.Count;
 			for (int i = 0; i < size; i++)
@@ -537,9 +538,9 @@ namespace Lucene.Net.Index
 			rc.IncRef();
 		}
 		
-		internal void  DecRef(System.Collections.Generic.ICollection<string> files)
+		internal void  DecRef(ICollection<string> files)
 		{
-            System.Collections.Generic.IEnumerator<string> it = files.GetEnumerator();
+            IEnumerator<string> it = files.GetEnumerator();
             while (it.MoveNext())
             {
                 DecRef(it.Current);
@@ -571,7 +572,7 @@ namespace Lucene.Net.Index
 		
 		internal void  DecRef(SegmentInfos segmentInfos)
 		{
-			System.Collections.Generic.IEnumerator<string> it = segmentInfos.Files(directory, false).GetEnumerator();
+			IEnumerator<string> it = segmentInfos.Files(directory, false).GetEnumerator();
 			while (it.MoveNext())
 			{
 				DecRef(it.Current);
@@ -615,7 +616,7 @@ namespace Lucene.Net.Index
 		/// <summary>Deletes the specified files, but only if they are new
 		/// (have not yet been incref'd). 
 		/// </summary>
-        internal void DeleteNewFiles(System.Collections.Generic.ICollection<string> files)
+        internal void DeleteNewFiles(ICollection<string> files)
 		{
 			System.Collections.IEnumerator it = files.GetEnumerator();
 			while (it.MoveNext())
@@ -661,7 +662,7 @@ namespace Lucene.Net.Index
 					}
 					if (deletable == null)
 					{
-                        deletable = new System.Collections.Generic.List<string>();
+                        deletable = new List<string>();
 					}
 					deletable.Add(fileName); // add to deletable
 				}
@@ -725,7 +726,7 @@ namespace Lucene.Net.Index
             }
 			
 			internal long gen;
-            internal System.Collections.Generic.ICollection<string> files;
+            internal ICollection<string> files;
 			internal System.String segmentsFileName;
 			internal bool deleted;
 			internal Directory directory;
@@ -733,7 +734,7 @@ namespace Lucene.Net.Index
 			internal long version;
 			internal long generation;
 			internal bool isOptimized;
-            internal System.Collections.Generic.IDictionary<string, string> userData;
+            internal IDictionary<string, string> userData;
 			
 			public CommitPoint(IndexFileDeleter enclosingInstance, System.Collections.ICollection commitsToDelete, Directory directory, SegmentInfos segmentInfos)
 			{
@@ -766,7 +767,7 @@ namespace Lucene.Net.Index
 				return segmentsFileName;
 			}
 
-            public override System.Collections.Generic.ICollection<string> GetFileNames()
+            public override ICollection<string> GetFileNames()
 			{
 				return files;
 			}
@@ -786,7 +787,7 @@ namespace Lucene.Net.Index
 				return generation;
 			}
 
-            public override System.Collections.Generic.IDictionary<string, string> GetUserData()
+            public override IDictionary<string, string> GetUserData()
 			{
 				return userData;
 			}

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexReader.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexReader.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexReader.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexReader.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using Document = Lucene.Net.Documents.Document;
 using FieldSelector = Lucene.Net.Documents.FieldSelector;
@@ -846,7 +847,7 @@ namespace Lucene.Net.Index
 		/// </summary>
 		/// <seealso cref="GetCommitUserData()">
 		/// </seealso>
-        public static System.Collections.Generic.IDictionary<string, string> GetCommitUserData(Directory directory)
+        public static IDictionary<string, string> GetCommitUserData(Directory directory)
 		{
 			return SegmentInfos.ReadCurrentUserData(directory);
 		}
@@ -889,7 +890,7 @@ namespace Lucene.Net.Index
 		/// </summary>
 		/// <seealso cref="GetCommitUserData(Directory)">
 		/// </seealso>
-        public virtual System.Collections.Generic.IDictionary<string, string> GetCommitUserData()
+        public virtual IDictionary<string, string> GetCommitUserData()
 		{
 			throw new System.NotSupportedException("This reader does not support this method.");
 		}
@@ -1470,7 +1471,7 @@ namespace Lucene.Net.Index
 		/// IndexReader#getCommitUserData}.
 		/// </param>
 		/// <throws>  IOException </throws>
-        public void Flush(System.Collections.Generic.IDictionary<string, string> commitUserData)
+        public void Flush(IDictionary<string, string> commitUserData)
 		{
 			lock (this)
 			{
@@ -1503,7 +1504,7 @@ namespace Lucene.Net.Index
 		/// (transactional semantics).
 		/// </summary>
 		/// <throws>  IOException if there is a low-level IO error </throws>
-        public void Commit(System.Collections.Generic.IDictionary<string, string> commitUserData)
+        public void Commit(IDictionary<string, string> commitUserData)
 		{
 			lock (this)
 			{
@@ -1525,7 +1526,7 @@ namespace Lucene.Net.Index
 		/// <summary>Implements commit.  NOTE: subclasses should override
 		/// this.  In 3.0 this will become an abstract method. 
 		/// </summary>
-        protected internal virtual void DoCommit(System.Collections.Generic.IDictionary<string, string> commitUserData)
+        protected internal virtual void DoCommit(IDictionary<string, string> commitUserData)
 		{
 			// Default impl discards commitUserData; all Lucene
 			// subclasses override this (do not discard it).
@@ -1570,7 +1571,7 @@ namespace Lucene.Net.Index
 		/// </returns>
 		/// <seealso cref="IndexReader.FieldOption">
 		/// </seealso>
-		public abstract System.Collections.Generic.ICollection<string> GetFieldNames(FieldOption fldOption);
+		public abstract ICollection<string> GetFieldNames(FieldOption fldOption);
 		
 		/// <summary> Returns <code>true</code> iff the index in the named directory is
 		/// currently locked.

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexWriter.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexWriter.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexWriter.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/IndexWriter.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using Analyzer = Lucene.Net.Analysis.Analyzer;
 using Document = Lucene.Net.Documents.Document;
@@ -325,8 +326,8 @@ namespace Lucene.Net.Index
 		
 		private MergePolicy mergePolicy;
 		private MergeScheduler mergeScheduler = new ConcurrentMergeScheduler();
-        private System.Collections.Generic.LinkedList<MergePolicy.OneMerge> pendingMerges = new System.Collections.Generic.LinkedList<MergePolicy.OneMerge>();
-		private System.Collections.Generic.List<MergePolicy.OneMerge> runningMerges = new System.Collections.Generic.List<MergePolicy.OneMerge>();
+        private LinkedList<MergePolicy.OneMerge> pendingMerges = new LinkedList<MergePolicy.OneMerge>();
+		private List<MergePolicy.OneMerge> runningMerges = new List<MergePolicy.OneMerge>();
 		private System.Collections.IList mergeExceptions = new System.Collections.ArrayList();
 		private long mergeGen;
 		private bool stopMerges;
@@ -2930,7 +2931,7 @@ namespace Lucene.Net.Index
 							// never incref'd, then we clean them up here
 							if (docWriter != null)
 							{
-                                System.Collections.Generic.ICollection<string> files = docWriter.AbortedFiles();
+                                ICollection<string> files = docWriter.AbortedFiles();
 								if (files != null)
 									deleter.DeleteNewFiles(files);
 							}
@@ -3108,7 +3109,7 @@ namespace Lucene.Net.Index
 						{
 							// If docWriter has some aborted files that were
 							// never incref'd, then we clean them up here
-                            System.Collections.Generic.ICollection<string> files = docWriter.AbortedFiles();
+                            ICollection<string> files = docWriter.AbortedFiles();
 							if (files != null)
 								deleter.DeleteNewFiles(files);
 						}
@@ -3401,13 +3402,13 @@ namespace Lucene.Net.Index
 		{
 			lock (this)
 			{
-                System.Collections.Generic.LinkedList<MergePolicy.OneMerge>.Enumerator it =  pendingMerges.GetEnumerator();
+                LinkedList<MergePolicy.OneMerge>.Enumerator it =  pendingMerges.GetEnumerator();
                 while (it.MoveNext())
                 {
                     if (it.Current.optimize) return true;
                 }
 
-                System.Collections.Generic.List<MergePolicy.OneMerge>.Enumerator it2 = runningMerges.GetEnumerator();
+                List<MergePolicy.OneMerge>.Enumerator it2 = runningMerges.GetEnumerator();
                 while (it2.MoveNext())
                 {
                     if (it2.Current.optimize) return true;
@@ -3630,7 +3631,7 @@ namespace Lucene.Net.Index
 					return null;
 				else
 				{
-                    System.Collections.Generic.IEnumerator<MergePolicy.OneMerge> it = pendingMerges.GetEnumerator();
+                    IEnumerator<MergePolicy.OneMerge> it = pendingMerges.GetEnumerator();
 					while (it.MoveNext())
 					{
                         MergePolicy.OneMerge merge = (MergePolicy.OneMerge) it.Current;
@@ -4260,7 +4261,7 @@ namespace Lucene.Net.Index
 		
 		private void  NoDupDirs(Directory[] dirs)
 		{
-            System.Collections.Generic.Dictionary<Directory, Directory> dups = new System.Collections.Generic.Dictionary<Directory, Directory>();
+            Dictionary<Directory, Directory> dups = new Dictionary<Directory, Directory>();
 			for (int i = 0; i < dirs.Length; i++)
 			{
                 if (dups.ContainsKey(dirs[i]))
@@ -4631,7 +4632,7 @@ namespace Lucene.Net.Index
 				if (mergePolicy is LogMergePolicy && GetUseCompoundFile())
 				{
 					
-					System.Collections.Generic.IList<string> files = null;
+					IList<string> files = null;
 					
 					lock (this)
 					{
@@ -4791,12 +4792,12 @@ namespace Lucene.Net.Index
 		/// index to commit.  Therefore it's best to use this
 		/// feature only when autoCommit is false.
 		/// </param>
-        public void PrepareCommit(System.Collections.Generic.IDictionary<string, string> commitUserData)
+        public void PrepareCommit(IDictionary<string, string> commitUserData)
 		{
 			PrepareCommit(commitUserData, false);
 		}
 
-        private void PrepareCommit(System.Collections.Generic.IDictionary<string, string> commitUserData, bool internal_Renamed)
+        private void PrepareCommit(IDictionary<string, string> commitUserData, bool internal_Renamed)
 		{
 			
 			if (hitOOM)
@@ -4874,7 +4875,7 @@ namespace Lucene.Net.Index
 		/// you should immediately close the writer.  See <a
 		/// href="#OOME">above</a> for details.<p/>
 		/// </summary>
-        public void Commit(System.Collections.Generic.IDictionary<string, string> commitUserData)
+        public void Commit(IDictionary<string, string> commitUserData)
 		{
 			
 			EnsureOpen();
@@ -5370,7 +5371,7 @@ namespace Lucene.Net.Index
 				
 				merge.info.SetHasProx(merger.HasProx());
 				
-				((System.Collections.IList) ((System.Collections.ArrayList) segmentInfos).GetRange(start, start + merge.segments.Count - start)).Clear();
+                segmentInfos.GetRange(start, start + merge.segments.Count - start).Clear();
 				System.Diagnostics.Debug.Assert(!segmentInfos.Contains(merge.info));
 				segmentInfos.Insert(start, merge.info);
 
@@ -5734,7 +5735,7 @@ namespace Lucene.Net.Index
 				merge.info = new SegmentInfo(NewSegmentName(), 0, directory, false, true, docStoreOffset, docStoreSegment2, docStoreIsCompoundFile, false);
 
 
-                System.Collections.Generic.IDictionary<string, string> details = new System.Collections.Generic.Dictionary<string, string>();
+                IDictionary<string, string> details = new Dictionary<string, string>();
 				details["optimize"] = merge.optimize + "";
 				details["mergeFactor"] = end + "";
 				details["mergeDocStores"] = mergeDocStores + "";
@@ -5753,9 +5754,9 @@ namespace Lucene.Net.Index
 			SetDiagnostics(info, source, null);
 		}
 
-        private void SetDiagnostics(SegmentInfo info, System.String source, System.Collections.Generic.IDictionary<string, string> details)
+        private void SetDiagnostics(SegmentInfo info, System.String source, IDictionary<string, string> details)
 		{
-            System.Collections.Generic.IDictionary<string, string> diagnostics = new System.Collections.Generic.Dictionary<string,string>();
+            IDictionary<string, string> diagnostics = new Dictionary<string,string>();
 			diagnostics["source"] = source;
 			diagnostics["lucene.version"] = Constants.LUCENE_VERSION;
 			diagnostics["os"] = Constants.OS_NAME + "";
@@ -6303,12 +6304,12 @@ namespace Lucene.Net.Index
 		}
 		
 		// Files that have been sync'd already
-        private System.Collections.Generic.Dictionary<string, string> synced = new System.Collections.Generic.Dictionary<string, string>();
+        private Dictionary<string, string> synced = new Dictionary<string, string>();
 		
 		// Files that are now being sync'd
         private System.Collections.Hashtable syncing = new System.Collections.Hashtable();
 		
-		private bool StartSync(System.String fileName, System.Collections.Generic.ICollection<System.String> pending)
+		private bool StartSync(System.String fileName, ICollection<System.String> pending)
 		{
 			lock (synced)
 			{
@@ -6343,11 +6344,11 @@ namespace Lucene.Net.Index
 		}
 		
 		/// <summary>Blocks until all files in syncing are sync'd </summary>
-		private bool WaitForAllSynced(System.Collections.Generic.ICollection<System.String> syncing)
+		private bool WaitForAllSynced(ICollection<System.String> syncing)
 		{
 			lock (synced)
 			{
-				System.Collections.Generic.IEnumerator<System.String> it = syncing.GetEnumerator();
+				IEnumerator<System.String> it = syncing.GetEnumerator();
 				while (it.MoveNext())
 				{
 					System.String fileName = (System.String) it.Current;
@@ -6447,7 +6448,7 @@ namespace Lucene.Net.Index
 		/// prepare a new segments_N file but do not fully commit
 		/// it. 
 		/// </summary>
-        private void StartCommit(long sizeInBytes, System.Collections.Generic.IDictionary<string, string> commitUserData)
+        private void StartCommit(long sizeInBytes, IDictionary<string, string> commitUserData)
 		{
 			
 			System.Diagnostics.Debug.Assert(TestPoint("startStartCommit"));
@@ -6543,7 +6544,7 @@ namespace Lucene.Net.Index
 						
 						deleter.IncRef(toSync, false);
 												
-						System.Collections.Generic.IEnumerator<string> it = toSync.Files(directory, false).GetEnumerator();
+						IEnumerator<string> it = toSync.Files(directory, false).GetEnumerator();
 						while (it.MoveNext())
 						{
 							System.String fileName = it.Current;
@@ -6573,9 +6574,9 @@ namespace Lucene.Net.Index
 					while (true)
 					{
 						
-						System.Collections.Generic.ICollection<System.String> pending = new System.Collections.Generic.List<System.String>();
+						ICollection<System.String> pending = new List<System.String>();
 						
-						System.Collections.Generic.IEnumerator<string> it = toSync.Files(directory, false).GetEnumerator();
+						IEnumerator<string> it = toSync.Files(directory, false).GetEnumerator();
 						while (it.MoveNext())
 						{
 							System.String fileName = it.Current;

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/InvertedDocConsumer.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/InvertedDocConsumer.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/InvertedDocConsumer.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/InvertedDocConsumer.cs Mon Apr 25 16:17:36 2011
@@ -30,7 +30,7 @@ namespace Lucene.Net.Index
 		public abstract void  Abort();
 		
 		/// <summary>Flush a new segment </summary>
-		internal abstract void  Flush(System.Collections.IDictionary threadsAndFields, SegmentWriteState state);
+		internal abstract void  Flush(SupportClass.Dictionary<InvertedDocConsumerPerThread,System.Collections.Generic.IList<InvertedDocConsumerPerField>> threadsAndFields, SegmentWriteState state);
 		
 		/// <summary>Close doc stores </summary>
 		internal abstract void  CloseDocStore(SegmentWriteState state);

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/InvertedDocEndConsumer.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/InvertedDocEndConsumer.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/InvertedDocEndConsumer.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/InvertedDocEndConsumer.cs Mon Apr 25 16:17:36 2011
@@ -23,7 +23,7 @@ namespace Lucene.Net.Index
 	abstract class InvertedDocEndConsumer
 	{
 		public abstract InvertedDocEndConsumerPerThread AddThread(DocInverterPerThread docInverterPerThread);
-		public abstract void  Flush(System.Collections.IDictionary threadsAndFields, SegmentWriteState state);
+        public abstract void Flush(SupportClass.Dictionary<InvertedDocEndConsumerPerThread, System.Collections.Generic.IList<InvertedDocEndConsumerPerField>> threadsAndFields, SegmentWriteState state);
 		internal abstract void  CloseDocStore(SegmentWriteState state);
 		public abstract void  Abort();
 		internal abstract void  SetFieldInfos(FieldInfos fieldInfos);

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=1096507&r1=1096506&r2=1096507&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 Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using Document = Lucene.Net.Documents.Document;
 using FieldSelector = Lucene.Net.Documents.FieldSelector;
@@ -441,7 +442,7 @@ namespace Lucene.Net.Index
 			DoCommit(null);
 		}
 
-        protected internal override void DoCommit(System.Collections.Generic.IDictionary<string, string> commitUserData)
+        protected internal override void DoCommit(IDictionary<string, string> commitUserData)
 		{
 			for (int i = 0; i < subReaders.Length; i++)
 				subReaders[i].Commit(commitUserData);
@@ -470,7 +471,7 @@ namespace Lucene.Net.Index
             Lucene.Net.Search.FieldCache_Fields.DEFAULT.Purge(this);
 		}
 
-        public override System.Collections.Generic.ICollection<string> GetFieldNames(IndexReader.FieldOption fieldNames)
+        public override ICollection<string> GetFieldNames(IndexReader.FieldOption fieldNames)
 		{
 			EnsureOpen();
 			return DirectoryReader.GetFieldNames(fieldNames, this.subReaders);

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=1096507&r1=1096506&r2=1096507&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 Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using IndexOutput = Lucene.Net.Store.IndexOutput;
 using Similarity = Lucene.Net.Search.Similarity;
@@ -57,35 +58,32 @@ namespace Lucene.Net.Index
 		/// <summary>Produce _X.nrm if any document had a field with norms
 		/// not disabled 
 		/// </summary>
-		public override void  Flush(System.Collections.IDictionary threadsAndFields, SegmentWriteState state)
+        public override void Flush(SupportClass.Dictionary<InvertedDocEndConsumerPerThread, IList<InvertedDocEndConsumerPerField>> threadsAndFields, SegmentWriteState state)
 		{
-			
-			System.Collections.IDictionary byField = new System.Collections.Hashtable();
+
+            SupportClass.Dictionary<FieldInfo, IList<NormsWriterPerField>> byField = new SupportClass.Dictionary<FieldInfo, IList<NormsWriterPerField>>();
 			
 			// Typically, each thread will have encountered the same
 			// field.  So first we collate by field, ie, all
 			// per-thread field instances that correspond to the
 			// same FieldInfo
-			System.Collections.IEnumerator it = new System.Collections.Hashtable(threadsAndFields).GetEnumerator();
-			while (it.MoveNext())
-			{
-				System.Collections.DictionaryEntry entry = (System.Collections.DictionaryEntry) it.Current;
-				
-				System.Collections.ICollection fields = (System.Collections.ICollection) entry.Value;
-				System.Collections.IEnumerator fieldsIt = fields.GetEnumerator();
-                System.Collections.ArrayList fieldsToRemove = new System.Collections.ArrayList();
+			foreach(KeyValuePair<InvertedDocEndConsumerPerThread,IList<InvertedDocEndConsumerPerField>> entry in threadsAndFields) {
+
+                IList<InvertedDocEndConsumerPerField> fields = entry.Value;
+                IEnumerator<InvertedDocEndConsumerPerField> fieldsIt = fields.GetEnumerator();
+                List<NormsWriterPerField> fieldsToRemove = new List<NormsWriterPerField>();
 				
 				while (fieldsIt.MoveNext())
 				{
-					NormsWriterPerField perField = (NormsWriterPerField) ((System.Collections.DictionaryEntry) fieldsIt.Current).Key;
+                    NormsWriterPerField perField = (NormsWriterPerField)fieldsIt.Current;
 					
 					if (perField.upto > 0)
 					{
 						// It has some norms
-						System.Collections.IList l = (System.Collections.IList) byField[perField.fieldInfo];
+                        IList<NormsWriterPerField> l = byField[perField.fieldInfo];
 						if (l == null)
 						{
-							l = new System.Collections.ArrayList();
+                            l = new List<NormsWriterPerField>();
 							byField[perField.fieldInfo] = l;
 						}
 						l.Add(perField);
@@ -98,7 +96,7 @@ namespace Lucene.Net.Index
 					}
 				}
 
-                System.Collections.Hashtable fieldsHT = (System.Collections.Hashtable)fields;
+                var fieldsHT = fields;
                 for (int i = 0; i < fieldsToRemove.Count; i++)
                 {
                     fieldsHT.Remove(fieldsToRemove[i]);    

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/ParallelReader.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/ParallelReader.cs?rev=1096507&r1=1096506&r2=1096507&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/ParallelReader.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/ParallelReader.cs Mon Apr 25 16:17:36 2011
@@ -16,6 +16,7 @@
  */
 
 using System;
+using System.Collections.Generic;
 
 using Document = Lucene.Net.Documents.Document;
 using FieldSelector = Lucene.Net.Documents.FieldSelector;
@@ -109,7 +110,7 @@ namespace Lucene.Net.Index
 			if (reader.NumDocs() != numDocs)
 				throw new System.ArgumentException("All readers must have same numDocs: " + numDocs + "!=" + reader.NumDocs());
 			
-			System.Collections.Generic.ICollection<string> fields = reader.GetFieldNames(IndexReader.FieldOption.ALL);
+			ICollection<string> fields = reader.GetFieldNames(IndexReader.FieldOption.ALL);
 			readerToFields[reader] = fields;
 			System.Collections.IEnumerator i = fields.GetEnumerator();
 			while (i.MoveNext())
@@ -512,7 +513,7 @@ namespace Lucene.Net.Index
 			DoCommit(null);
 		}
 
-        protected internal override void DoCommit(System.Collections.Generic.IDictionary<string, string> commitUserData)
+        protected internal override void DoCommit(IDictionary<string, string> commitUserData)
 		{
 			for (int i = 0; i < readers.Count; i++)
 				((IndexReader) readers[i]).Commit(commitUserData);
@@ -538,14 +539,14 @@ namespace Lucene.Net.Index
             Lucene.Net.Search.FieldCache_Fields.DEFAULT.Purge(this);
 		}
 
-        public override System.Collections.Generic.ICollection<string> GetFieldNames(IndexReader.FieldOption fieldNames)
+        public override ICollection<string> GetFieldNames(IndexReader.FieldOption fieldNames)
 		{
 			EnsureOpen();
-            System.Collections.Generic.List<string> fieldSet = new System.Collections.Generic.List<string>();
+            List<string> fieldSet = new List<string>();
 			for (int i = 0; i < readers.Count; i++)
 			{
 				IndexReader reader = ((IndexReader) readers[i]);
-				System.Collections.Generic.ICollection<string> names = reader.GetFieldNames(fieldNames);
+				ICollection<string> names = reader.GetFieldNames(fieldNames);
                 fieldSet.AddRange(names);
 			}
 			return fieldSet;