You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by si...@apache.org on 2011/03/30 11:17:42 UTC

svn commit: r1086876 [3/18] - in /lucene/dev/branches/realtime_search: ./ dev-tools/eclipse/ dev-tools/idea/ dev-tools/idea/.idea/libraries/ dev-tools/idea/lucene/ dev-tools/idea/solr/ dev-tools/idea/solr/contrib/analysis-extras/ dev-tools/idea/solr/co...

Modified: lucene/dev/branches/realtime_search/lucene/common-build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/common-build.xml?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/common-build.xml (original)
+++ lucene/dev/branches/realtime_search/lucene/common-build.xml Wed Mar 30 09:17:25 2011
@@ -24,9 +24,10 @@
   </description>
 
   <dirname file="${ant.file.common}" property="common.dir"/>
-
+  <import file="${common.dir}/../common-build.xml"/>
   <property name="dev-tools.dir" value="${common.dir}/../dev-tools"/>
-  <property name="prettify.dir" value="${dev-tools.dir}/prettify"/>
+  <property name="prettify.dir" value="${common.dir}/src/tools/prettify"/>
+  <property name="maven.build.dir" value="${common.dir}/build/maven"/>
 
   <!-- Give user a chance to override without editing this file
       (and without typing -D each time it compiles it -->
@@ -115,6 +116,8 @@
   <property name="tests.src.dir" location="src/test"/>
   <property name="tests-framework.src.dir" location="${common.dir}/src/test-framework"/>
   <property name="build.dir" location="build"/>
+  <!-- Needed in case a contrib needs the original build, also for compile-tools to be called from contrib -->
+  <property name="common.build.dir" location="${common.dir}/build"/>
   <property name="dist.dir" location="dist"/>
   <property name="maven.dist.dir" location="dist/maven"/>
   <property name="m2.repository.url" value="file://${maven.dist.dir}"/>
@@ -303,7 +306,7 @@
     </copy>
   </target>
 
-  <target name="compile" depends="compile-core">
+  <target name="compile" depends="compile-core, validate-lucene">
     <!-- convenience target to compile core -->
   </target>
 
@@ -313,13 +316,17 @@
   </target>
 
   <target name="maven.ant.tasks-check">
-	<fail unless="maven.ant.tasks.present">
-	  ##################################################################
+    <fail unless="maven.ant.tasks.present">#
+    ##########################################################################
       Maven ant tasks not found.
-      Please make sure the maven-ant-tasks jar is in ANT_HOME/lib, or made 
-      available to Ant using other mechanisms like -lib or CLASSPATH.
-      ##################################################################
-  	</fail>
+
+      Please download the Maven ant tasks JAR (maven-ant-tasks-2.1.1.jar)
+      from http://maven.apache.org/ant-tasks/download.html and add it to your
+      $$HOME/.ant/lib/ directory, or to your $$ANT_HOME/lib/ directory, or
+      to your $$CLASSPATH, or add "-lib /path/to/maven-ant-tasks-2.1.1.jar"
+      to the ant command.
+    ##########################################################################
+    </fail>
   </target>
 
   <macrodef name="m2-deploy" description="Builds a Maven artifact">
@@ -336,7 +343,27 @@
         <pom refid="maven.project"/>
       </artifact:deploy>
     </sequential>
-  </macrodef>  	
+  </macrodef>
+  
+  <macrodef name="m2-deploy-with-pom-template" description="Builds a Maven artifact given a POM template">
+    <attribute name="pom.xml"/>
+    <attribute name="jar.file"/>
+    <sequential>
+      <copy file="@{pom.xml}" tofile="${maven.build.dir}/@{pom.xml}">
+        <filterset begintoken="@" endtoken="@">
+          <filter token="version" value="${version}"/>
+        </filterset>
+      </copy>
+      <artifact:install-provider artifactId="wagon-ssh" version="1.0-beta-7"/>
+      <artifact:pom id="maven.project" file="${maven.build.dir}/@{pom.xml}" />
+      <artifact:deploy file="@{jar.file}">
+        <remoteRepository url="${m2.repository.url}">
+          <authentication username="${m2.repository.username}" privateKey="${m2.repository.private.key}"/>
+        </remoteRepository>
+        <pom refid="maven.project"/>
+      </artifact:deploy>
+    </sequential>
+  </macrodef>
 	
   <macrodef name="build-manifest" description="Builds a manifest file">
   	<attribute name="title" default="Lucene Search Engine: ${ant.project.name}" />
@@ -399,6 +426,14 @@
   						test.classpath="test.classpath"/>
   </target>
 
+  <target name="compile-tools">
+    <compile
+      srcdir="${common.dir}/src/tools/java"
+      destdir="${common.build.dir}/classes/tools">
+      <classpath refid="classpath"/>
+    </compile>
+  </target>
+
   <target name="compile-test" depends="compile-test-framework">
   	<compile-test-macro srcdir="${tests.src.dir}" destdir="${build.dir}/classes/test"
   						test.classpath="test.classpath"/>
@@ -476,6 +511,8 @@
               <sysproperty key="tests.seed" value="${tests.seed}"/>
               <!-- set the Version that tests should run against -->
               <sysproperty key="tests.luceneMatchVersion" value="${tests.luceneMatchVersion}"/>
+              <!-- for lucene we can be strict, and we don't want false fails even across methods -->
+              <sysproperty key="tests.cleanthreads" value="perMethod"/>
               <!-- logging config file -->
               <sysproperty key="java.util.logging.config.file" value="${tests.loggingfile}"/>
           <!-- set whether or not nightly tests should run -->
@@ -717,7 +754,7 @@
           javacchome="${javacc.home}"
           jdkversion="${javac.source}"
       />
-      <fixcrlf srcdir="@{outputDir}" includes="*.java">
+      <fixcrlf srcdir="@{outputDir}" includes="*.java" encoding="UTF-8">
         <containsregexp expression="Generated.*By.*JavaCC"/>
       </fixcrlf>
     </sequential>
@@ -727,12 +764,13 @@
     <element name="sources" optional="yes"/>
     <attribute name="destdir"/>
   	<attribute name="title" default="${Name} ${version} API"/>
+    <attribute name="overview" default="${src.dir}/overview.html"/>
     <sequential>
       <copy todir="@{destdir}/../prettify" overwrite="false">
         <fileset dir="${prettify.dir}"/>
       </copy>
       <javadoc
-          overview="${src.dir}/overview.html"
+          overview="@{overview}"
           packagenames="org.apache.lucene.*"
           destdir="@{destdir}"
           access="${javadoc.access}"
@@ -767,4 +805,41 @@
   </macrodef>
 
 
+  <!-- VALIDATION work -->
+
+  <target name="check-legal-lucene" depends="compile-tools">
+    <java classname="org.apache.lucene.validation.DependencyChecker" failonerror="true" fork="true">
+      <classpath>
+        <path refid="tools.runtime.classpath" />
+      </classpath>
+      <!-- TODO: it might be better to just automatically find all directories that contain jar files, but that could take a
+       long time.  This should be faster, but we could miss a directory
+       -->
+      <!-- Lucene  -->
+      <arg value="-c" />
+      <arg value="${basedir}/lib" />
+      <arg value="-c" />
+      <arg value="${basedir}/contrib/ant/lib" />
+      <!-- BDB libs are downloaded, don't check them -->
+      <!--<arg value="-c" />
+      <arg value="${toplevel.dir}/lucene/contrib/db/bdb/lib" />
+      <arg value="-c" />
+      <arg value="${toplevel.dir}/lucene/contrib/db/bdb-je/lib" />-->
+      <arg value="-c" />
+      <arg value="${basedir}/contrib/lucli/lib" />
+      <arg value="-c" />
+      <arg value="${basedir}/contrib/queries/lib" />
+    </java>
+  </target>
+
+  <target name="check-legal" depends="check-legal-lucene"/>
+
+  <target name="validate-lucene" depends="check-legal-lucene" unless="validated-lucene"/>
+
+
+  <!-- Generic placeholder target for if we add other validation tasks -->
+  <target name="validate" depends="validate-lucene"/>
+
+
+
 </project>

Modified: lucene/dev/branches/realtime_search/lucene/contrib/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/CHANGES.txt?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/CHANGES.txt (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/CHANGES.txt Wed Mar 30 09:17:25 2011
@@ -45,6 +45,10 @@ API Changes
 
 ======================= Lucene 3.x (not yet released) =======================
 
+(No changes)
+
+======================= Lucene 3.1 (not yet released) =======================
+
 Changes in backwards compatibility policy
 
  * LUCENE-2100: All Analyzers in Lucene-contrib have been marked as final.
@@ -148,6 +152,9 @@ Bug fixes
 
  * LUCENE-2874: Highlighting overlapping tokens outputted doubled words.
    (Pierre Gossé via Robert Muir)
+
+ * LUCENE-2943: Fix thread-safety issues with ICUCollationKeyFilter. 
+   (Robert Muir)
    
 API Changes
 

Modified: lucene/dev/branches/realtime_search/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/Highlighter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/Highlighter.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/Highlighter.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/Highlighter.java Wed Mar 30 09:17:25 2011
@@ -524,7 +524,7 @@ class FragmentQueue extends PriorityQueu
 {
 	public FragmentQueue(int size)
 	{
-		initialize(size);
+		super(size);
 	}
 
 	@Override

Modified: lucene/dev/branches/realtime_search/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/package.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/package.html?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/package.html (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/package.html Wed Mar 30 09:17:25 2011
@@ -26,7 +26,7 @@ Fragmenter, fragment Scorer, and Formatt
 
 <h2>Example Usage</h2>
 
-<pre>
+<pre class="prettyprint">
   //... Above, create documents with two fields, one with term vectors (tv) and one without (notv)
   IndexSearcher searcher = new IndexSearcher(directory);
   QueryParser parser = new QueryParser("notv", analyzer);

Modified: lucene/dev/branches/realtime_search/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java Wed Mar 30 09:17:25 2011
@@ -828,7 +828,7 @@ public class HighlighterTest extends Bas
       @Override
       public void run() throws Exception {
         numHighlights = 0;
-        TermRangeFilter rf = new TermRangeFilter("contents", "john", "john", true, true);
+        TermRangeFilter rf = TermRangeFilter.newStringRange("contents", "john", "john", true, true);
         SpanQuery clauses[] = { new SpanTermQuery(new Term("contents", "john")),
             new SpanTermQuery(new Term("contents", "kennedy")), };
         SpanNearQuery snq = new SpanNearQuery(clauses, 1, true);
@@ -851,7 +851,7 @@ public class HighlighterTest extends Bas
       @Override
       public void run() throws Exception {
         numHighlights = 0;
-        TermRangeFilter rf = new TermRangeFilter("contents", "john", "john", true, true);
+        TermRangeFilter rf = TermRangeFilter.newStringRange("contents", "john", "john", true, true);
         PhraseQuery pq = new PhraseQuery();
         pq.add(new Term("contents", "john"));
         pq.add(new Term("contents", "kennedy"));

Modified: lucene/dev/branches/realtime_search/lucene/contrib/lucli/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/lucli/build.xml?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/lucli/build.xml (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/lucli/build.xml Wed Mar 30 09:17:25 2011
@@ -33,9 +33,6 @@
                refid="additional.dependencies"
   />
 
-  <property name="src.dir" location="src"/>
-
-
   <import file="../contrib-build.xml"/>
 
   <module-uptodate name="analysis/common" jarfile="${common.dir}/../modules/analysis/build/common/lucene-analyzers-common-${version}.jar"

Modified: lucene/dev/branches/realtime_search/lucene/contrib/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java Wed Mar 30 09:17:25 2011
@@ -353,10 +353,10 @@ public class MemoryIndex {
       TermToBytesRefAttribute termAtt = stream.getAttribute(TermToBytesRefAttribute.class);
       PositionIncrementAttribute posIncrAttribute = stream.addAttribute(PositionIncrementAttribute.class);
       OffsetAttribute offsetAtt = stream.addAttribute(OffsetAttribute.class);
-      BytesRef ref = new BytesRef(10);
+      BytesRef ref = termAtt.getBytesRef();
       stream.reset();
       while (stream.incrementToken()) {
-        termAtt.toBytesRef(ref);
+        termAtt.fillBytesRef();
         if (ref.length == 0) continue; // nothing to do
 //        if (DEBUG) System.err.println("token='" + term + "'");
         numTokens++;

Modified: lucene/dev/branches/realtime_search/lucene/contrib/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java Wed Mar 30 09:17:25 2011
@@ -255,7 +255,7 @@ final class TotalTermFreqComparatorSortD
  **/
 final class TermStatsQueue extends PriorityQueue<TermStats> {
   TermStatsQueue(int size) {
-    initialize(size);
+    super(size);
   }
   
   @Override

Modified: lucene/dev/branches/realtime_search/lucene/contrib/misc/src/java/org/apache/lucene/store/WindowsDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/misc/src/java/org/apache/lucene/store/WindowsDirectory.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/misc/src/java/org/apache/lucene/store/WindowsDirectory.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/misc/src/java/org/apache/lucene/store/WindowsDirectory.java Wed Mar 30 09:17:25 2011
@@ -19,6 +19,8 @@ package org.apache.lucene.store;
 
 import java.io.File;
 import java.io.IOException;
+import org.apache.lucene.store.Directory; // javadoc
+import org.apache.lucene.store.NativeFSLockFactory; // javadoc
 
 /**
  * Native {@link Directory} implementation for Microsoft Windows.

Modified: lucene/dev/branches/realtime_search/lucene/contrib/misc/src/test/org/apache/lucene/index/TestFieldNormModifier.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/misc/src/test/org/apache/lucene/index/TestFieldNormModifier.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/misc/src/test/org/apache/lucene/index/TestFieldNormModifier.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/misc/src/test/org/apache/lucene/index/TestFieldNormModifier.java Wed Mar 30 09:17:25 2011
@@ -26,8 +26,10 @@ import org.apache.lucene.document.Field;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.search.Collector;
 import org.apache.lucene.search.DefaultSimilarity;
+import org.apache.lucene.search.DefaultSimilarityProvider;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.Scorer;
+import org.apache.lucene.search.Similarity;
 import org.apache.lucene.search.SimilarityProvider;
 import org.apache.lucene.search.TermQuery;
 import org.apache.lucene.store.Directory;
@@ -42,10 +44,15 @@ public class TestFieldNormModifier exten
   public Directory store;
   
   /** inverts the normal notion of lengthNorm */
-  public static SimilarityProvider s = new DefaultSimilarity() {
+  public static SimilarityProvider s = new DefaultSimilarityProvider() {
     @Override
-    public float computeNorm(FieldInvertState state) {
-      return state.getBoost() * (discountOverlaps ? state.getLength() - state.getNumOverlap() : state.getLength());
+    public Similarity get(String field) {
+      return new DefaultSimilarity() {
+        @Override
+        public float computeNorm(FieldInvertState state) {
+          return state.getBoost() * (discountOverlaps ? state.getLength() - state.getNumOverlap() : state.getLength());
+        }
+      };
     }
   };
   

Modified: lucene/dev/branches/realtime_search/lucene/contrib/misc/src/test/org/apache/lucene/misc/SweetSpotSimilarityTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/misc/src/test/org/apache/lucene/misc/SweetSpotSimilarityTest.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/misc/src/test/org/apache/lucene/misc/SweetSpotSimilarityTest.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/misc/src/test/org/apache/lucene/misc/SweetSpotSimilarityTest.java Wed Mar 30 09:17:25 2011
@@ -19,6 +19,7 @@
 package org.apache.lucene.misc;
 
 import org.apache.lucene.search.DefaultSimilarity;
+import org.apache.lucene.search.DefaultSimilarityProvider;
 import org.apache.lucene.search.Similarity;
 import org.apache.lucene.search.SimilarityProvider;
 import org.apache.lucene.util.LuceneTestCase;
@@ -84,7 +85,7 @@ public class SweetSpotSimilarityTest ext
     final SweetSpotSimilarity ssB = new SweetSpotSimilarity();
     ssB.setLengthNormFactors(5,8,0.1f, false);
     
-    SimilarityProvider sp = new SweetSpotSimilarity() {
+    SimilarityProvider sp = new DefaultSimilarityProvider() {
       public Similarity get(String field) {
         if (field.equals("bar"))
           return ssBar;

Modified: lucene/dev/branches/realtime_search/lucene/contrib/misc/src/test/org/apache/lucene/misc/TestLengthNormModifier.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/misc/src/test/org/apache/lucene/misc/TestLengthNormModifier.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/misc/src/test/org/apache/lucene/misc/TestLengthNormModifier.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/misc/src/test/org/apache/lucene/misc/TestLengthNormModifier.java Wed Mar 30 09:17:25 2011
@@ -31,8 +31,10 @@ import org.apache.lucene.index.MultiNorm
 import org.apache.lucene.index.Term;
 import org.apache.lucene.search.Collector;
 import org.apache.lucene.search.DefaultSimilarity;
+import org.apache.lucene.search.DefaultSimilarityProvider;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.Scorer;
+import org.apache.lucene.search.Similarity;
 import org.apache.lucene.search.SimilarityProvider;
 import org.apache.lucene.search.TermQuery;
 import org.apache.lucene.store.Directory;
@@ -47,12 +49,17 @@ public class TestLengthNormModifier exte
     public Directory store;
 
     /** inverts the normal notion of lengthNorm */
-    public static SimilarityProvider s = new DefaultSimilarity() {
-        @Override
-        public float computeNorm(FieldInvertState state) {
-          return state.getBoost() * (discountOverlaps ? state.getLength() - state.getNumOverlap() : state.getLength());
-        }
-      };
+    public static SimilarityProvider s = new DefaultSimilarityProvider() {
+      @Override
+      public Similarity get(String field) {
+        return new DefaultSimilarity() {
+          @Override
+          public float computeNorm(FieldInvertState state) {
+            return state.getBoost() * (discountOverlaps ? state.getLength() - state.getNumOverlap() : state.getLength());
+          }
+        };
+      }
+    };
     
     @Override
     public void setUp() throws Exception {
@@ -163,12 +170,18 @@ public class TestLengthNormModifier exte
 	}
 
 	// override the norms to be inverted
-	SimilarityProvider s = new DefaultSimilarity() {
-            @Override
-            public float computeNorm(FieldInvertState state) {
-              return state.getBoost() * (discountOverlaps ? state.getLength() - state.getNumOverlap() : state.getLength());
-            }
-          };
+  SimilarityProvider s = new DefaultSimilarityProvider() {
+    @Override
+    public Similarity get(String field) {
+      return new DefaultSimilarity() {
+        @Override
+        public float computeNorm(FieldInvertState state) {
+          return state.getBoost() * (discountOverlaps ? state.getLength() - state.getNumOverlap() : state.getLength());
+        }
+      };
+    }
+  };
+
 	FieldNormModifier fnm = new FieldNormModifier(store, s);
 	fnm.reSetNorms("field");
 

Modified: lucene/dev/branches/realtime_search/lucene/contrib/queries/src/java/org/apache/lucene/search/FuzzyLikeThisQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/queries/src/java/org/apache/lucene/search/FuzzyLikeThisQuery.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/queries/src/java/org/apache/lucene/search/FuzzyLikeThisQuery.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/queries/src/java/org/apache/lucene/search/FuzzyLikeThisQuery.java Wed Mar 30 09:17:25 2011
@@ -335,7 +335,7 @@ public class FuzzyLikeThisQuery extends 
       
       private static class ScoreTermQueue extends PriorityQueue<ScoreTerm> {        
         public ScoreTermQueue(int size){
-          initialize(size);
+          super(size);
         }
         
         /* (non-Javadoc)

Modified: lucene/dev/branches/realtime_search/lucene/contrib/queries/src/java/org/apache/lucene/search/similar/MoreLikeThis.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/queries/src/java/org/apache/lucene/search/similar/MoreLikeThis.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/queries/src/java/org/apache/lucene/search/similar/MoreLikeThis.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/queries/src/java/org/apache/lucene/search/similar/MoreLikeThis.java Wed Mar 30 09:17:25 2011
@@ -1006,7 +1006,7 @@ public final class MoreLikeThis {
      */
     private static class FreqQ extends PriorityQueue<Object[]> {
         FreqQ (int s) {
-            initialize(s);
+            super(s);
         }
 
         @Override

Modified: lucene/dev/branches/realtime_search/lucene/contrib/queries/src/test/org/apache/lucene/search/BooleanFilterTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/queries/src/test/org/apache/lucene/search/BooleanFilterTest.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/queries/src/test/org/apache/lucene/search/BooleanFilterTest.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/queries/src/test/org/apache/lucene/search/BooleanFilterTest.java Wed Mar 30 09:17:25 2011
@@ -70,7 +70,7 @@ public class BooleanFilterTest extends L
 	
   private Filter getRangeFilter(String field,String lowerPrice, String upperPrice)
 	{
-    Filter f = new TermRangeFilter(field,lowerPrice,upperPrice,true,true);
+    Filter f = TermRangeFilter.newStringRange(field,lowerPrice,upperPrice,true,true);
     return f;
 	}
   private Filter getTermsFilter(String field,String text)

Modified: lucene/dev/branches/realtime_search/lucene/contrib/queries/src/test/org/apache/lucene/search/ChainedFilterTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/queries/src/test/org/apache/lucene/search/ChainedFilterTest.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/queries/src/test/org/apache/lucene/search/ChainedFilterTest.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/queries/src/test/org/apache/lucene/search/ChainedFilterTest.java Wed Mar 30 09:17:25 2011
@@ -84,7 +84,7 @@ public class ChainedFilterTest extends L
     //Date pastTheEnd = parseDate("2099 Jan 1");
     // dateFilter = DateFilter.Before("date", pastTheEnd);
     // just treat dates as strings and select the whole range for now...
-    dateFilter = new TermRangeFilter("date","","ZZZZ",true,true);
+    dateFilter = TermRangeFilter.newStringRange("date","","ZZZZ",true,true);
 
     bobFilter = new QueryWrapperFilter(
         new TermQuery(new Term("owner", "bob")));

Modified: lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/complexPhrase/ComplexPhraseQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/complexPhrase/ComplexPhraseQueryParser.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/complexPhrase/ComplexPhraseQueryParser.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/complexPhrase/ComplexPhraseQueryParser.java Wed Mar 30 09:17:25 2011
@@ -174,8 +174,7 @@ public class ComplexPhraseQueryParser ex
     if (isPass2ResolvingPhrases) {
       // Must use old-style RangeQuery in order to produce a BooleanQuery
       // that can be turned into SpanOr clause
-      TermRangeQuery rangeQuery = new TermRangeQuery(field, part1, part2, startInclusive, endInclusive,
-          getRangeCollator());
+      TermRangeQuery rangeQuery = TermRangeQuery.newStringRange(field, part1, part2, startInclusive, endInclusive);
       rangeQuery.setRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE);
       return rangeQuery;
     }

Modified: lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/StandardQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/StandardQueryParser.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/StandardQueryParser.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/StandardQueryParser.java Wed Mar 30 09:17:25 2011
@@ -17,7 +17,6 @@ package org.apache.lucene.queryParser.st
  * limitations under the License.
  */
 
-import java.text.Collator;
 import java.util.Locale;
 import java.util.Map;
 import java.util.TooManyListenersException;
@@ -41,10 +40,8 @@ import org.apache.lucene.queryParser.sta
 import org.apache.lucene.queryParser.standard.config.MultiFieldAttribute;
 import org.apache.lucene.queryParser.standard.config.MultiTermRewriteMethodAttribute;
 import org.apache.lucene.queryParser.standard.config.PositionIncrementsAttribute;
-import org.apache.lucene.queryParser.standard.config.RangeCollatorAttribute;
 import org.apache.lucene.queryParser.standard.config.StandardQueryConfigHandler;
 import org.apache.lucene.queryParser.standard.config.DefaultOperatorAttribute.Operator;
-import org.apache.lucene.queryParser.standard.nodes.RangeQueryNode;
 import org.apache.lucene.queryParser.standard.parser.StandardSyntaxParser;
 import org.apache.lucene.queryParser.standard.processors.StandardQueryNodeProcessorPipeline;
 import org.apache.lucene.search.FuzzyQuery;
@@ -188,32 +185,6 @@ public class StandardQueryParser extends
   }
 
   /**
-   * Sets the collator used to determine index term inclusion in ranges for
-   * RangeQuerys.
-   * <p/>
-   * <strong>WARNING:</strong> Setting the rangeCollator to a non-null collator
-   * using this method will cause every single index Term in the Field
-   * referenced by lowerTerm and/or upperTerm to be examined. Depending on the
-   * number of index Terms in this Field, the operation could be very slow.
-   * 
-   * @param collator
-   *          the collator to use when constructing {@link RangeQueryNode}s
-   */
-  public void setRangeCollator(Collator collator) {
-    RangeCollatorAttribute attr = getQueryConfigHandler().getAttribute(RangeCollatorAttribute.class);
-    attr.setDateResolution(collator);
-  }
-
-  /**
-   * @return the collator used to determine index term inclusion in ranges for
-   *         RangeQuerys.
-   */
-  public Collator getRangeCollator() {
-    RangeCollatorAttribute attr = getQueryConfigHandler().getAttribute(RangeCollatorAttribute.class);
-    return attr.getRangeCollator();
-  }
-
-  /**
    * Sets the boolean operator of the QueryParser. In default mode (
    * {@link Operator#OR}) terms without any modifiers are considered optional:
    * for example <code>capital of Hungary</code> is equal to

Modified: lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/builders/RangeQueryNodeBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/builders/RangeQueryNodeBuilder.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/builders/RangeQueryNodeBuilder.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/builders/RangeQueryNodeBuilder.java Wed Mar 30 09:17:25 2011
@@ -53,9 +53,7 @@ public class RangeQueryNodeBuilder imple
 
     String field = rangeNode.getField().toString();
 
-    TermRangeQuery rangeQuery = new TermRangeQuery(field, lower
-        .getTextAsString(), upper.getTextAsString(), lowerInclusive,
-        upperInclusive, rangeNode.getCollator());
+    TermRangeQuery rangeQuery = TermRangeQuery.newStringRange(field, lower.getTextAsString(), upper.getTextAsString(), lowerInclusive, upperInclusive);
     
     MultiTermQuery.RewriteMethod method = (MultiTermQuery.RewriteMethod)queryNode.getTag(MultiTermRewriteMethodAttribute.TAG_ID);
     if (method != null) {

Modified: lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/config/StandardQueryConfigHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/config/StandardQueryConfigHandler.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/config/StandardQueryConfigHandler.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/config/StandardQueryConfigHandler.java Wed Mar 30 09:17:25 2011
@@ -38,7 +38,6 @@ public class StandardQueryConfigHandler 
     addFieldConfigListener(new FieldDateResolutionFCListener(this));
 
     // Default Values
-    addAttribute(RangeCollatorAttribute.class);
     addAttribute(DefaultOperatorAttribute.class);
     addAttribute(AnalyzerAttribute.class);
     addAttribute(FuzzyAttribute.class);

Modified: lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/nodes/RangeQueryNode.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/nodes/RangeQueryNode.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/nodes/RangeQueryNode.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/nodes/RangeQueryNode.java Wed Mar 30 09:17:25 2011
@@ -17,34 +17,24 @@ package org.apache.lucene.queryParser.st
  * limitations under the License.
  */
 
-import java.text.Collator;
-
 import org.apache.lucene.queryParser.core.nodes.ParametricQueryNode;
 import org.apache.lucene.queryParser.core.nodes.ParametricRangeQueryNode;
-import org.apache.lucene.queryParser.standard.config.RangeCollatorAttribute;
 import org.apache.lucene.queryParser.standard.processors.ParametricRangeQueryNodeProcessor;
 
 /**
- * This query node represents a range query. It also holds which collator will
- * be used by the range query and if the constant score rewrite is enabled. <br/>
+ * This query node represents a range query. 
  * 
  * @see ParametricRangeQueryNodeProcessor
- * @see RangeCollatorAttribute
  * @see org.apache.lucene.search.TermRangeQuery
  */
 public class RangeQueryNode extends ParametricRangeQueryNode {
 
-  private Collator collator;
-
   /**
    * @param lower
    * @param upper
    */
-  public RangeQueryNode(ParametricQueryNode lower, ParametricQueryNode upper, Collator collator) {
+  public RangeQueryNode(ParametricQueryNode lower, ParametricQueryNode upper) {
     super(lower, upper);
-
-    this.collator = collator;
-
   }
 
   @Override
@@ -57,12 +47,4 @@ public class RangeQueryNode extends Para
     return sb.toString();
 
   }
-
-  /**
-   * @return the collator
-   */
-  public Collator getCollator() {
-    return this.collator;
-  }
-
 }

Modified: lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/processors/ParametricRangeQueryNodeProcessor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/processors/ParametricRangeQueryNodeProcessor.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/processors/ParametricRangeQueryNodeProcessor.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/processors/ParametricRangeQueryNodeProcessor.java Wed Mar 30 09:17:25 2011
@@ -17,7 +17,6 @@ package org.apache.lucene.queryParser.st
  * limitations under the License.
  */
 
-import java.text.Collator;
 import java.text.DateFormat;
 import java.util.Calendar;
 import java.util.Date;
@@ -36,7 +35,6 @@ import org.apache.lucene.queryParser.cor
 import org.apache.lucene.queryParser.core.processors.QueryNodeProcessorImpl;
 import org.apache.lucene.queryParser.standard.config.DateResolutionAttribute;
 import org.apache.lucene.queryParser.standard.config.LocaleAttribute;
-import org.apache.lucene.queryParser.standard.config.RangeCollatorAttribute;
 import org.apache.lucene.queryParser.standard.nodes.RangeQueryNode;
 
 /**
@@ -54,12 +52,7 @@ import org.apache.lucene.queryParser.sta
  * If a {@link DateResolutionAttribute} is defined and the {@link Resolution} is
  * not <code>null</code> it will also be used to parse the date value. <br/>
  * <br/>
- * This processor will also try to retrieve a {@link RangeCollatorAttribute}
- * from the {@link QueryConfigHandler}. If a {@link RangeCollatorAttribute} is
- * found and the {@link Collator} is not <code>null</code>, it's set on the
- * {@link RangeQueryNode}. <br/>
  * 
- * @see RangeCollatorAttribute
  * @see DateResolutionAttribute
  * @see LocaleAttribute
  * @see RangeQueryNode
@@ -79,17 +72,9 @@ public class ParametricRangeQueryNodePro
       ParametricQueryNode upper = parametricRangeNode.getUpperBound();
       ParametricQueryNode lower = parametricRangeNode.getLowerBound();
       Locale locale = Locale.getDefault();
-      Collator collator = null;
       DateTools.Resolution dateRes = null;
       boolean inclusive = false;
 
-      if (getQueryConfigHandler().hasAttribute(RangeCollatorAttribute.class)) {
-
-        collator = getQueryConfigHandler().getAttribute(
-            RangeCollatorAttribute.class).getRangeCollator();
-
-      }
-
       if (getQueryConfigHandler().hasAttribute(LocaleAttribute.class)) {
 
         locale = getQueryConfigHandler().getAttribute(LocaleAttribute.class)
@@ -155,7 +140,7 @@ public class ParametricRangeQueryNodePro
       lower.setText(part1);
       upper.setText(part2);
 
-      return new RangeQueryNode(lower, upper, collator);
+      return new RangeQueryNode(lower, upper);
 
     }
 

Modified: lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/overview.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/overview.html?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/overview.html (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/java/overview.html Wed Mar 30 09:17:25 2011
@@ -131,7 +131,7 @@ you don't need to worry about dealing wi
 
 {@link org.apache.lucene.queryParser.standard.StandardQueryParser} usage:
 
-<pre>
+<pre class="prettyprint">
       StandardQueryParser qpHelper = new StandardQueryParser();
       StandardQueryConfigHandler config =  qpHelper.getQueryConfigHandler();
       config.setAllowLeadingWildcard(true);

Modified: lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/TestQPHelper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/TestQPHelper.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/TestQPHelper.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/TestQPHelper.java Wed Mar 30 09:17:25 2011
@@ -642,55 +642,6 @@ public class TestQPHelper extends Lucene
         "gack (bar blar {a TO z})");
   }
 
-  public void testFarsiRangeCollating() throws Exception {
-    Directory ramDir = newDirectory();
-    IndexWriter iw = new IndexWriter(ramDir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.WHITESPACE, false)));
-    Document doc = new Document();
-    doc.add(newField("content", "\u0633\u0627\u0628", Field.Store.YES,
-        Field.Index.NOT_ANALYZED));
-    iw.addDocument(doc);
-    iw.close();
-    IndexSearcher is = new IndexSearcher(ramDir, true);
-
-    StandardQueryParser qp = new StandardQueryParser();
-    qp.setAnalyzer(new MockAnalyzer(MockTokenizer.WHITESPACE, false));
-
-    // Neither Java 1.4.2 nor 1.5.0 has Farsi Locale collation available in
-    // RuleBasedCollator. However, the Arabic Locale seems to order the
-    // Farsi
-    // characters properly.
-    Collator c = Collator.getInstance(new Locale("ar"));
-    qp.setRangeCollator(c);
-
-    // Unicode order would include U+0633 in [ U+062F - U+0698 ], but Farsi
-    // orders the U+0698 character before the U+0633 character, so the
-    // single
-    // index Term below should NOT be returned by a ConstantScoreRangeQuery
-    // with a Farsi Collator (or an Arabic one for the case when Farsi is
-    // not
-    // supported).
-
-    // Test ConstantScoreRangeQuery
-    qp.setMultiTermRewriteMethod(MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE);
-    ScoreDoc[] result = is.search(qp.parse("[ \u062F TO \u0698 ]", "content"),
-        null, 1000).scoreDocs;
-    assertEquals("The index Term should not be included.", 0, result.length);
-
-    result = is.search(qp.parse("[ \u0633 TO \u0638 ]", "content"), null, 1000).scoreDocs;
-    assertEquals("The index Term should be included.", 1, result.length);
-
-    // Test RangeQuery
-    qp.setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE);
-    result = is.search(qp.parse("[ \u062F TO \u0698 ]", "content"), null, 1000).scoreDocs;
-    assertEquals("The index Term should not be included.", 0, result.length);
-
-    result = is.search(qp.parse("[ \u0633 TO \u0638 ]", "content"), null, 1000).scoreDocs;
-    assertEquals("The index Term should be included.", 1, result.length);
-
-    is.close();
-    ramDir.close();
-  }
-
   /** for testing DateTools support */
   private String getDate(String s, DateTools.Resolution resolution)
       throws Exception {

Modified: lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/config/TestAttributes.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/config/TestAttributes.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/config/TestAttributes.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/config/TestAttributes.java Wed Mar 30 09:17:25 2011
@@ -60,8 +60,6 @@ public class TestAttributes extends Luce
       Collections.singletonMap(MultiTermRewriteMethodAttribute.class.getName()+"#multiTermRewriteMethod", MultiTermQuery.CONSTANT_SCORE_AUTO_REWRITE_DEFAULT));
     _TestUtil.assertAttributeReflection(new PositionIncrementsAttributeImpl(),
       Collections.singletonMap(PositionIncrementsAttribute.class.getName()+"#positionIncrementsEnabled", false));
-    _TestUtil.assertAttributeReflection(new RangeCollatorAttributeImpl(),
-      Collections.singletonMap(RangeCollatorAttribute.class.getName()+"#rangeCollator", null));
   }
 
 }

Modified: lucene/dev/branches/realtime_search/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/spell/SuggestWordQueue.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/spell/SuggestWordQueue.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/spell/SuggestWordQueue.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/spell/SuggestWordQueue.java Wed Mar 30 09:17:25 2011
@@ -41,7 +41,7 @@ public final class SuggestWordQueue exte
    * @param size The size of the queue
    */
   public SuggestWordQueue (int size) {
-    initialize(size);
+    super(size);
     comparator = DEFAULT_COMPARATOR;
   }
 
@@ -51,7 +51,7 @@ public final class SuggestWordQueue exte
    * @param comparator The comparator.
    */
   public SuggestWordQueue(int size, Comparator<SuggestWord> comparator){
-    initialize(size);
+    super(size);
     this.comparator = comparator;
   }
 

Modified: lucene/dev/branches/realtime_search/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/RangeFilterBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/RangeFilterBuilder.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/RangeFilterBuilder.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/RangeFilterBuilder.java Wed Mar 30 09:17:25 2011
@@ -41,7 +41,7 @@ public class RangeFilterBuilder implemen
 		String upperTerm=e.getAttribute("upperTerm");
 		boolean includeLower=DOMUtils.getAttribute(e,"includeLower",true);
 		boolean includeUpper=DOMUtils.getAttribute(e,"includeUpper",true);
-		return new TermRangeFilter(fieldName,lowerTerm,upperTerm,includeLower,includeUpper);
+		return TermRangeFilter.newStringRange(fieldName,lowerTerm,upperTerm,includeLower,includeUpper);
 	}
 
 }

Modified: lucene/dev/branches/realtime_search/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/SpanOrTermsBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/SpanOrTermsBuilder.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/SpanOrTermsBuilder.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/SpanOrTermsBuilder.java Wed Mar 30 09:17:25 2011
@@ -58,11 +58,10 @@ public class SpanOrTermsBuilder extends 
 			ArrayList<SpanQuery> clausesList=new ArrayList<SpanQuery>();
 			TokenStream ts=analyzer.tokenStream(fieldName,new StringReader(value));
 			TermToBytesRefAttribute termAtt = ts.addAttribute(TermToBytesRefAttribute.class);
-			
+      BytesRef bytes = termAtt.getBytesRef();
 	    while (ts.incrementToken()) {
-	        BytesRef term = new BytesRef();
-	        termAtt.toBytesRef(term);
-			    SpanTermQuery stq=new SpanTermQuery(new Term(fieldName, term));
+	        termAtt.fillBytesRef();
+			    SpanTermQuery stq=new SpanTermQuery(new Term(fieldName, new BytesRef(bytes)));
 			    clausesList.add(stq);
 			}
 			SpanOrQuery soq=new SpanOrQuery(clausesList.toArray(new SpanQuery[clausesList.size()]));

Modified: lucene/dev/branches/realtime_search/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/TermsFilterBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/TermsFilterBuilder.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/TermsFilterBuilder.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/TermsFilterBuilder.java Wed Mar 30 09:17:25 2011
@@ -63,16 +63,16 @@ public class TermsFilterBuilder implemen
 		try
 		{
 			Term term = null;
+      BytesRef bytes = termAtt.getBytesRef();
 	      while (ts.incrementToken()) {
-	        BytesRef bytes = new BytesRef();
-	        termAtt.toBytesRef(bytes);
+	        termAtt.fillBytesRef();
 				if (term == null)
 				{
-					term = new Term(fieldName, bytes);
+					term = new Term(fieldName, new BytesRef(bytes));
 				} else
 				{
 //					 create from previous to save fieldName.intern overhead
-					term = term.createTerm(bytes); 
+					term = term.createTerm(new BytesRef(bytes)); 
 				}
 				tf.addTerm(term);
 			}

Modified: lucene/dev/branches/realtime_search/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/TermsQueryBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/TermsQueryBuilder.java?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/TermsQueryBuilder.java (original)
+++ lucene/dev/branches/realtime_search/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/TermsQueryBuilder.java Wed Mar 30 09:17:25 2011
@@ -60,16 +60,16 @@ public class TermsQueryBuilder implement
 		{
 		  TermToBytesRefAttribute termAtt = ts.addAttribute(TermToBytesRefAttribute.class);
 			Term term = null;
+      BytesRef bytes = termAtt.getBytesRef();
 			while (ts.incrementToken()) {
-        BytesRef bytes = new BytesRef();
-        termAtt.toBytesRef(bytes);
+        termAtt.fillBytesRef();
 				if (term == null)
 				{
-					term = new Term(fieldName, bytes);
+					term = new Term(fieldName, new BytesRef(bytes));
 				} else
 				{
 //					 create from previous to save fieldName.intern overhead
-					term = term.createTerm(bytes); 
+					term = term.createTerm(new BytesRef(bytes)); 
 				}
 				bq.add(new BooleanClause(new TermQuery(term),BooleanClause.Occur.SHOULD));
 			}

Modified: lucene/dev/branches/realtime_search/lucene/docs/contributions.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/docs/contributions.html?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/docs/contributions.html (original)
+++ lucene/dev/branches/realtime_search/lucene/docs/contributions.html Wed Mar 30 09:17:25 2011
@@ -129,8 +129,11 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/core/index.html">Core</a>
 </div>
-<div onclick="SwitchMenu('menu_1.1.3.3', 'skin/')" id="menu_1.1.3.3Title" class="menutitle">Contrib</div>
-<div id="menu_1.1.3.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.3.4', 'skin/')" id="menu_1.1.3.4Title" class="menutitle">Contrib</div>
+<div id="menu_1.1.3.4" class="menuitemgroup">
 <div class="menuitem">
 <a href="api/contrib-ant/index.html">Ant</a>
 </div>

Modified: lucene/dev/branches/realtime_search/lucene/docs/demo.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/docs/demo.html?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/docs/demo.html (original)
+++ lucene/dev/branches/realtime_search/lucene/docs/demo.html Wed Mar 30 09:17:25 2011
@@ -129,8 +129,11 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/core/index.html">Core</a>
 </div>
-<div onclick="SwitchMenu('menu_1.1.3.3', 'skin/')" id="menu_1.1.3.3Title" class="menutitle">Contrib</div>
-<div id="menu_1.1.3.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.3.4', 'skin/')" id="menu_1.1.3.4Title" class="menutitle">Contrib</div>
+<div id="menu_1.1.3.4" class="menuitemgroup">
 <div class="menuitem">
 <a href="api/contrib-ant/index.html">Ant</a>
 </div>
@@ -284,39 +287,21 @@ functionalities of Lucene and how you ca
 <div class="section">
 <p>
 First, you should <a href="http://www.apache.org/dyn/closer.cgi/lucene/java/">download</a> the
-latest Lucene distribution and then extract it to a working directory.  Alternatively, you can <a href="http://wiki.apache.org/lucene-java/SourceRepository">check out the sources from
-Subversion</a>, and then run <span class="codefrag">ant</span> in the <span class="codefrag">lucene/contrib/demo/</span>
-directory to generate the JARs.
+latest Lucene distribution and then extract it to a working directory.
 </p>
 <p>
 You need three JARs: the Lucene JAR, the common analysis JAR, and the Lucene demo JAR.  You should
 see the Lucene JAR file in the directory you created when you extracted the archive -- it
 should be named something like <span class="codefrag">lucene-core-{version}.jar</span>.  You should also see files
-called <span class="codefrag">lucene-analysis-common-{version}.jar</span> and <span class="codefrag">lucene-demos-{version}.jar</span>.
-If you checked out the sources from Subversion then the JARs are located at:
+called <span class="codefrag">lucene-analyzers-common-{version}.jar</span> and <span class="codefrag">lucene-demo-{version}.jar</span>.
 </p>
-<ul>
-  
-<li>
-<span class="codefrag">lucene/build/lucene-core-4.0-SNAPSHOT.jar</span>
-</li>
-  
-<li>
-<span class="codefrag">modules/analysis/build/common/lucene-analyzers-common-4.0-SNAPSHOT.jar</span>
-</li>
-  
-<li>
-<span class="codefrag">lucene/build/contrib/demo/lucene-demo-4.0-SNAPSHOT.jar</span>
-</li>
-
-</ul>
 <p>
 Put all three of these files in your Java CLASSPATH.
 </p>
 </div>
 
 
-<a name="N1005A"></a><a name="Indexing Files"></a>
+<a name="N10041"></a><a name="Indexing Files"></a>
 <h2 class="boxed">Indexing Files</h2>
 <div class="section">
 <p>
@@ -345,7 +330,7 @@ you whether you want more results.
 </div>
 
 
-<a name="N10075"></a><a name="About the code..."></a>
+<a name="N1005C"></a><a name="About the code..."></a>
 <h2 class="boxed">About the code...</h2>
 <div class="section">
 <p>

Modified: lucene/dev/branches/realtime_search/lucene/docs/demo.pdf
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/docs/demo.pdf?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/docs/demo.pdf (original)
+++ lucene/dev/branches/realtime_search/lucene/docs/demo.pdf Wed Mar 30 09:17:25 2011
@@ -5,10 +5,10 @@
 /Producer (FOP 0.20.5) >>
 endobj
 5 0 obj
-<< /Length 620 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 617 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gaua<9l...@r9cX>rr^526HS!<li_onK1^]#n3'lr*JmJC680[JEN^Noc=%tXM!/p\f&kr%.eX,5IcEX!a%d5"KN!`b9?t0&f'Ma%>'VnCe*&p%L!a4rLs+5'5'H=-<NGC^jj9_$"^lY8)Z~>
+Gaua<9lHd\&;KZO$6PI!?%2rHOuD$s.WnhOf'\*@P9:IL$`;bZqsn17:0K7:-%uGMbqLs"fObn5E4M]n0Si!*#uLZC!sH%5#,o-gM#03K&>UKOkoSX+P,BkgaZ6jR@FVu[h6sjnT"]0]79`e]WO?[k;oKaS!U7po!1:=t2l\T8<?6L#r.p94.<?l?jBc&gQR`Iu).AO,E6]SdQmGQt/RP$#-$81ZWdL-*_-I=#qoBdh:f&mX9=)ZRaH$"uApWLW\Q20LdiA:*JC1VdN;@pI2][[K5O;UH^u40mh`?&4X`4rtY&'W>dWrIn&t";;_K0!g#$;.%q[:Wh,X.+m$nW$Y`:pCkiHm(0DN+1Mq\?nkXFU(F#snj,Kqd$Bn>t6i(jf@SmT85q:+^CJp%haQr]!h*H?'pQ@I8?L;(N'D#5>3;<$D8^Ofuo"2W(q'(7nWOp*k5)6#:Q91q[K"^Q"lO64V+b9-K&-s)%pDVnq8aZOB&pN'\BPDDccl+Q8uZ?k`GJ(4A[sLM@tLOcXRd+^rZ)/3&IMi;bG%dq`6,GK0U$*sfn^&VPg9WS^?D]@gA+bY(u`1Fq:]+u?&r?COKcb)%9bj([2fqH4T\Tt^V8FGq+~>
 endstream
 endobj
 6 0 obj
@@ -80,10 +80,10 @@ endobj
 >>
 endobj
 18 0 obj
-<< /Length 2293 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 2057 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gatm=99Yi)&AJ$CY]ECE.[EAN_7@f94*adTREbMig>)i8fd;?6,K)Ru<;ud'Gd];HB!SD8nfU1q5JI-.>?ia-Ik2sS-8l/HU$Z%K^ZRTA^Mbblb7Yc;r:&_sCU11$D9[J>IQ_%D:E?&eY%J&QXX8NmY*P:)F^R5pL#mVi>FPr#!.U#/:\@t;I;UW\emD2no"-cUeM9oR=1jdr:i=aV+2-`T\RRW^s2S<WX`\T_V-c(m\K2(?o2[1Tkn<fX6YhO#BrFD3TGD.=m?huW[Wh5i1m]ah=OQ)`d*nr.]\"nedsTX%.:a\L9.p'&Rkd\Td[^'`AYIA.EjVSio3?Vl[qM%NA^#2GfLsiL%LHuo:=tRCa9cdH^5",K6V8AEM74,1gh`*RI"sUe77A,)COso:(<Mg(#%_88YL?2pWcn_loDaKD+,7`"JT2I,R[O'r+EO%'G,"/MMA1OHp,$7.T.c#dd`5hHpO0>\,A&suj5,U(*E[HQV>+q+aje(hBJ]3'/L5?m?XjV?lhs"?j+.U"2Nmo+i+_[(6OVa@,3<AjL.'po,\T&>Q[,Z5O0V`^bTP;0@gte0IPAPpehfr2o7Ass?jSQ&JDumsPYuHRr<\!([*6GAH7f9_m>u@17:*X=]Y2"h>eW)ueTOLa68g#bgEH0D+Ou*OY76oc<#"nk_'-d`QPjg2_@Lq3UVm^ER=^Y[HS#7,Mf_sj+W+;l4^qb!VD0EA3K=,.jTdF+.^P]Jf`SCMXl;o%==h!B@a<%?'01U+Sn1EU;)FNW>8H+i+>?\g!R?[E]W;:o+Y].]HR9(Rbd.OW#-pjriTtl1ib%*A#V`9]E7F"20kC'$6(Hnu1`nU8*,scK;CQ;o`3FlakFOj`X'dXa;H%7r.6a2kOc2UAF0\9u]l?/N?iri:#%tT^r7I-aXr:,Bf^A89HTc"8F,"(Toq)1+_kVFJ).$="6'$sQ3u5?!d3fIpE@18QKW",D?LP0I/<42udlAU#R)u]
 [l6=HM)1%P0L,DGjX%/gji*.JP6&Q3>h1e8GgEYuFo:?7G&L%g*JHblhe*/h"%5"nQF7O""V,YDMeB=6MZh3ZjppefuMh()5f&8EE\R<m)%;C2;T-J>.]'YW6L<^jF%qM&f%#13?=htQ':jtm4NM3B=*&+6;V)D2-$uaarfuCh7%ZUd0m"Ng%%$n!S`@+-NZ)`<Y,#m+eK/]Zb5kT8=jh<W]=sXf?Q=#_GL<8K*_/:sqq<in[EB)l5cXT-9,5Jl-Lh!ZiYL6(MdGL2bB9Pg;ba8o=`i;_=A;10d;Sr)"rT2;klOQY50d\nCW6ub8LPJ3.a-../4_mpJ85s)?L*?FI\=gh-UP3f`i-q2XmRcJ]U7j,r!,WLo:c5fo6M(]k-UbEu1ZGP;n5YiI,1RPN<Pi[LHW8mFFn)Z:mOA&pI4>-alCJ3[=nHI0GW=(AKRMC\rjp\4:s@D(JMt@1,Z"^l%k6Y?Y:?WN^%d]09XE^lSAI0h8u@^P/hPY:d&5lbh[@/U<Z+NNWJpLLVNkL.=lLHc:XD9?/B=73<8$Us</qb`\MMb+e:YKJeU+6/_5%B2W3,@./tqP>XlB@ci^QBYpC,SrT/AlSYp%LY!Wj`lHk@*#U]LPi\LtV^&DE"+9mDUJoPG\lm8WXj^"i?b+j_ZtIf=I\EU\OKOqL+^M-6(DOh0h5WS)p.%mj&.\8p*0jQeBm-QTX0]JW9`BIXp=2lID`%J0s3`i2G&U]C^gCXkJN@\FDmg*Sce8=Q_P9<AP!Kqi(gJ\42LWnV:eCRmJZG^G&8?0QpPgM=oWc%Un5&ac65l6taeag;h/#uZhJ2TFI%@5`\&>`8@[bK#LW?n[g52r5)6fTDPd*crZiWH^JkN1eecHcXd5V?lO[A[EWe8h:ZG#DQgC76.`IbbXh7ZVun2"1BU6M%=pij0LLtGH?a55$-<0I\G%mo$%@3ULp7/[NDaSjHhKP"d>c"GPP[jEGr<9EuYEE"PY0u6Bd
 .pR))=6d0;BHdXp^YJRg.;_ds9@M$e?^EuaY'*(W)5cXtPI0eo'F8K?\b&j%^@eKZ)a;Ca#ahY)ZALZTn%TSK5!HGdp`%Fd/[?n?mi`E;PG9srB6b-_[L\sn]9h=s]mlp#kl%Q:q658J?bL8X8#,>rA,4!9+3PVP.j^+*[ED'@pJeb)4&2fu/*PWV7,m7lX%DDR0oV(0mXWtbqTi;)TkQ(niJkIq[W?oY&jl36&e7Cq/Q%LH+B$oPH]oHS,*o7#1SYoY$_=6!N!QA:2"l9!V1b`haA82mZjCH\Wi0$kH8?uaL*<58D;54,?=~>
+Gatm<h34<d&:aF]616,a9WWd>F<<8ZQh8^:12WKO9;_(Y"rYKjj9TacS&t]e'c:%]FLe38S+.Y`<r:YMm>#ek?MqB@HsG;L>",l8WW/RMW;jTFMC_D2QMKRQQe#VW'AEkA%t6ZK4YIhJ33Hm#Ao/<50!<c`Vq7X(W!VeW_R?`R8:WqFlBZ`K9Fn5tcMHk36[lJ0Zk`3-El/hV%V8trj6-YBRN8Heq`i[.FbdeI7DCs!jE`'YJmKfAko0A`6T^9LD5]h7YZ#/9m?eAFp2BHPU6;TM=ZX9RdFWVj]Z?J)7?rjNC)IE$dYmWieeBQ#aSGVdeCrWd69C(%WjJrb7oJ2#$*2_#?92[[,4pOKANO3C-bMcj%rllQ5TP-&[h??qEeK>=d,ph-/eVtP!*tnq/9k_+PON<kA;t9c&FAQZ8QA!4Lc5t,?F"<Xo#$Ol2XTj!mis:`rW;G#jJX0%M!NK-jf%YFACX2oHHsR+&U-=@lEVu1gU,LFS<I\<Wk,,TE\lT^&#&1b^+>G($Y:API3\5<plHYMGHiQ@;pR2GpF$>pAD<tRPk;I:AAJZm9bD.\b5&k=f0huhVIkB=pcsM"2*h+-#tcYVQ[T0*'jH9gZ_!'\H8A8U3frNC/oPXa?ESc6'@h7t#YOe?d1ls/_Gh%p]fou0$W5(p#)C\gDbB)FPTQoga/L5`8jt1Cp0%eC(<*/]-c(<qoSIttRO1#)bBXSj<.<cb[PdA2OZgc#Zj30<JgHS<,FP+f#K6&.^;i.2(t8*l$mC"Hq6'_Y/#aT7I:ASD15'P>\3/?PZK[:F-G7A&A*2816B"Dt?4`-AqYiZJe/8/9i/WG,;5-iTAWSYAaHS@]"3Md0%N9c&\L0#/fe`+tm.Bd)'k3<d`>s90>gCf<C7,N7;oLi"V5hDZ38rLCMqbrRG^@%aMd)NoA//!Jca'tJ1?!g:5Mn1m6Wea[+(?r13_oai4X4Y*ll#[[_3d!T8E7#<#"C"*,M"3
 g?47=2_b$h%<(=d[SRAl\n1UG>G1#hfa=?#V':E^Q(q&QM6[#:>*E;YnG[DA\M4%'qDFDNEo+q'O?nGlc_;uF<>FUUYkRiA<bj5$6--i4Br5c2.#*_*G7Qn7t]"S8PR+GK[_n@][oUiMC\aJr*Wh^"M)*@<l%Fb^F+]Zrj&^o:u5H9BN<d]R!6H5j4=q8HLH5d6?WBa,NJoBXCH,M]hd8L.MEu@K6Gf/Se[*PTu[&C&["i+_7U#*;^S"66D\ggI$gf("+P9r&YIUt'?6KR\,Le?3Q#'U@D\7_aHIaAAB77Q9bSE,WNnOHRVOd6""kIUL>hKnj]E'-N(qRhl#^6F#uM>QkN(?kOg+"Rp+%R+i1g0b712="j1;l@?ul9**6@H?Y[[uS$QQ[,Y'7>JNHEg,X)FHEb"!U$>SlF.RM7MisF"3[:s+EQqRJLQH,hkY'H(BPorod[)OWhKj*@CqB1ha=E5<rTLu3M@9R_K\"ci9p;Bn$1t@j2VQh3$Jh]j^Z3^hK,>3BK_up1"QmDB+sKO[>7V`I]T[]p0s:t8BNMG&i8`CLDQH*eE<Cb*@pq,C?;NGT\g`p9T1bO<*'c'#DRAP@roTl1L\RJG,c+#^_TWnnI<Y0p^eqFNid<F(H/kH0@YQMatBn?2&#YrdYn@&^'l/9Qu'^Rb7?VR^%)BQh^AtR#kiIN[AFBp1P7F(`>Qs?#R/\J!l[ps;m?P!`:`Mn+eLImPT5%oB$_JQ0j->H*94ZF*>do.IUr?8X9*@(p[.@+'D^_=]_E#MP\QC++i[!kJ^^[[p8UrEd"et_:>h;>n"\gNKNuEqB@!.Y`J.QYdMST:,2t\H'fmsekc0hcfqqLj"123b!QBUS]NT'F/(L#W,&2@J,0;NfeQk@6Vod%m=8eEGn7I!5Vlm<ejE='\s(!dP:g]W+gRHBS_Y!r,)nFN,qSVfUp?a:QL<V,%QXb7%#1h/Jo?e#YUTOY#hhjNMSC<=@cM'h+A9m
 M>0N.WES,1DiU:))$UJork"(_%II)EGaE(ZSTRqpk[Bn%Qn/F.o")mjtDBFIB8EQ:tq\,QGXNPl\~>
 endstream
 endobj
 19 0 obj
@@ -94,95 +94,80 @@ endobj
 /Contents 18 0 R
 >>
 endobj
-20 0 obj
-<< /Length 471 /Filter [ /ASCII85Decode /FlateDecode ]
- >>
-stream
-GarnSbAMqd&A7ljp6Zo\fZ(pMM%nYjC=PZngtEehE!R)m.?IU/qjL$.8R!?HAsqJGSTPXAgDG>]JqGa"*jd;mZonR!"+VkRs*m4N!/1Ohn--:>0&#bS'ps:e.LfVSKVB;8ee2XhLj+Y?L27%j;!:igBB_Uu#C)dGHj+TBQ'nb_k1#?og$94q-Iir;niOear<0JX]G^?d*!a3-<l?Cu'0QCFlh*rZ=<a*FPY.uuChUuQE]LL2X;M/.s2pYW:;Xk3I<AL\Y?4C:8tWrdiKWPH)OaGuFNTLu0=+5HQ0AG/Q$&jZif_kt1lG>(-^2W24rDnUFq^Ea8gK^3n;:U#>,ugZX6?1^L=T]lN;BKYBlD<PMNVE:3+.mWBDYX6*;T^<DI'#cWG?SQY4?Ddm9Kpuo5@=L&MZWM&]MZ7*H3"en;GsW?`J,jCNCt(e`<UG:0LMRT^,lF=P(.\e>[N<IK0A:[F"~>
-endstream
-endobj
 21 0 obj
-<< /Type /Page
-/Parent 1 0 R
-/MediaBox [ 0 0 612 792 ]
-/Resources 3 0 R
-/Contents 20 0 R
->>
-endobj
-23 0 obj
 <<
  /Title (\376\377\0\61\0\40\0\101\0\142\0\157\0\165\0\164\0\40\0\164\0\150\0\151\0\163\0\40\0\104\0\157\0\143\0\165\0\155\0\145\0\156\0\164)
- /Parent 22 0 R
- /Next 24 0 R
+ /Parent 20 0 R
+ /Next 22 0 R
  /A 9 0 R
 >> endobj
-24 0 obj
+22 0 obj
 <<
  /Title (\376\377\0\62\0\40\0\101\0\142\0\157\0\165\0\164\0\40\0\164\0\150\0\145\0\40\0\104\0\145\0\155\0\157)
- /Parent 22 0 R
- /Prev 23 0 R
- /Next 25 0 R
+ /Parent 20 0 R
+ /Prev 21 0 R
+ /Next 23 0 R
  /A 11 0 R
 >> endobj
-25 0 obj
+23 0 obj
 <<
  /Title (\376\377\0\63\0\40\0\123\0\145\0\164\0\164\0\151\0\156\0\147\0\40\0\171\0\157\0\165\0\162\0\40\0\103\0\114\0\101\0\123\0\123\0\120\0\101\0\124\0\110)
- /Parent 22 0 R
- /Prev 24 0 R
- /Next 26 0 R
+ /Parent 20 0 R
+ /Prev 22 0 R
+ /Next 24 0 R
  /A 13 0 R
 >> endobj
-26 0 obj
+24 0 obj
 <<
  /Title (\376\377\0\64\0\40\0\111\0\156\0\144\0\145\0\170\0\151\0\156\0\147\0\40\0\106\0\151\0\154\0\145\0\163)
- /Parent 22 0 R
- /Prev 25 0 R
- /Next 27 0 R
+ /Parent 20 0 R
+ /Prev 23 0 R
+ /Next 25 0 R
  /A 15 0 R
 >> endobj
-27 0 obj
+25 0 obj
 <<
  /Title (\376\377\0\65\0\40\0\101\0\142\0\157\0\165\0\164\0\40\0\164\0\150\0\145\0\40\0\143\0\157\0\144\0\145\0\56\0\56\0\56)
- /Parent 22 0 R
- /Prev 26 0 R
+ /Parent 20 0 R
+ /Prev 24 0 R
  /A 17 0 R
 >> endobj
-28 0 obj
+26 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F3
 /BaseFont /Helvetica-Bold
 /Encoding /WinAnsiEncoding >>
 endobj
-29 0 obj
+27 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F5
 /BaseFont /Times-Roman
 /Encoding /WinAnsiEncoding >>
 endobj
-30 0 obj
+28 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F1
 /BaseFont /Helvetica
 /Encoding /WinAnsiEncoding >>
 endobj
-31 0 obj
+29 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F9
 /BaseFont /Courier
 /Encoding /WinAnsiEncoding >>
 endobj
-32 0 obj
+30 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F2
 /BaseFont /Helvetica-Oblique
 /Encoding /WinAnsiEncoding >>
 endobj
-33 0 obj
+31 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F7
@@ -191,19 +176,19 @@ endobj
 endobj
 1 0 obj
 << /Type /Pages
-/Count 3
-/Kids [6 0 R 19 0 R 21 0 R ] >>
+/Count 2
+/Kids [6 0 R 19 0 R ] >>
 endobj
 2 0 obj
 << /Type /Catalog
 /Pages 1 0 R
- /Outlines 22 0 R
+ /Outlines 20 0 R
  /PageMode /UseOutlines
  >>
 endobj
 3 0 obj
 << 
-/Font << /F3 28 0 R /F5 29 0 R /F1 30 0 R /F9 31 0 R /F2 32 0 R /F7 33 0 R >> 
+/Font << /F3 26 0 R /F5 27 0 R /F1 28 0 R /F9 29 0 R /F2 30 0 R /F7 31 0 R >> 
 /ProcSet [ /PDF /ImageC /Text ] >> 
 endobj
 9 0 obj
@@ -227,62 +212,60 @@ endobj
 15 0 obj
 <<
 /S /GoTo
-/D [19 0 R /XYZ 85.0 295.198 null]
+/D [19 0 R /XYZ 85.0 367.198 null]
 >>
 endobj
 17 0 obj
 <<
 /S /GoTo
-/D [21 0 R /XYZ 85.0 659.0 null]
+/D [19 0 R /XYZ 85.0 201.264 null]
 >>
 endobj
-22 0 obj
+20 0 obj
 <<
- /First 23 0 R
- /Last 27 0 R
+ /First 21 0 R
+ /Last 25 0 R
 >> endobj
 xref
-0 34
+0 32
 0000000000 65535 f 
-0000006466 00000 n 
-0000006538 00000 n 
-0000006630 00000 n 
+0000005556 00000 n 
+0000005621 00000 n 
+0000005713 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
-0000000782 00000 n 
-0000000902 00000 n 
-0000000955 00000 n 
-0000006764 00000 n 
-0000001090 00000 n 
-0000006827 00000 n 
-0000001227 00000 n 
-0000006893 00000 n 
-0000001363 00000 n 
-0000006959 00000 n 
-0000001498 00000 n 
-0000007025 00000 n 
-0000001634 00000 n 
-0000004020 00000 n 
-0000004128 00000 n 
-0000004691 00000 n 
-0000007089 00000 n 
-0000004799 00000 n 
-0000005002 00000 n 
-0000005190 00000 n 
-0000005426 00000 n 
-0000005615 00000 n 
-0000005804 00000 n 
-0000005917 00000 n 
-0000006027 00000 n 
-0000006135 00000 n 
-0000006241 00000 n 
-0000006357 00000 n 
+0000000779 00000 n 
+0000000899 00000 n 
+0000000952 00000 n 
+0000005847 00000 n 
+0000001087 00000 n 
+0000005910 00000 n 
+0000001224 00000 n 
+0000005976 00000 n 
+0000001360 00000 n 
+0000006042 00000 n 
+0000001495 00000 n 
+0000006108 00000 n 
+0000001631 00000 n 
+0000003781 00000 n 
+0000006174 00000 n 
+0000003889 00000 n 
+0000004092 00000 n 
+0000004280 00000 n 
+0000004516 00000 n 
+0000004705 00000 n 
+0000004894 00000 n 
+0000005007 00000 n 
+0000005117 00000 n 
+0000005225 00000 n 
+0000005331 00000 n 
+0000005447 00000 n 
 trailer
 <<
-/Size 34
+/Size 32
 /Root 2 0 R
 /Info 4 0 R
 >>
 startxref
-7140
+6225
 %%EOF

Modified: lucene/dev/branches/realtime_search/lucene/docs/demo2.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/docs/demo2.html?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/docs/demo2.html (original)
+++ lucene/dev/branches/realtime_search/lucene/docs/demo2.html Wed Mar 30 09:17:25 2011
@@ -129,8 +129,11 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/core/index.html">Core</a>
 </div>
-<div onclick="SwitchMenu('menu_1.1.3.3', 'skin/')" id="menu_1.1.3.3Title" class="menutitle">Contrib</div>
-<div id="menu_1.1.3.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.3.4', 'skin/')" id="menu_1.1.3.4Title" class="menutitle">Contrib</div>
+<div id="menu_1.1.3.4" class="menuitemgroup">
 <div class="menuitem">
 <a href="api/contrib-ant/index.html">Ant</a>
 </div>
@@ -271,7 +274,11 @@ how to use Lucene in their applications.
 <h2 class="boxed">Location of the source</h2>
 <div class="section">
 <p>
-Relative to the directory created when you extracted Lucene or retrieved it from Subversion, you
+NOTE: to examine the sources, you need to download and extract a source checkout of 
+Lucene: (lucene-{version}-src.zip).
+</p>
+<p>
+Relative to the directory created when you extracted Lucene, you
 should see a directory called <span class="codefrag">lucene/contrib/demo/</span>.  This is the root for the Lucene
 demo.  Under this directory is <span class="codefrag">src/java/org/apache/lucene/demo/</span>.  This is where all
 the Java sources for the demo live.
@@ -283,7 +290,7 @@ Bring it up in <span class="codefrag">vi
 </div>
 
 
-<a name="N10034"></a><a name="IndexFiles"></a>
+<a name="N10037"></a><a name="IndexFiles"></a>
 <h2 class="boxed">IndexFiles</h2>
 <div class="section">
 <p>
@@ -318,7 +325,7 @@ first wipe the slate clean before indexi
 <p>
 Lucene <a href="api/core/org/apache/lucene/store/Directory.html">Directory</a>s are used by the
 <span class="codefrag">IndexWriter</span> to store information in the index.  In addition to the 
-<a href="api/core/org/apache/lucen/store/FSDirectory.html">FSDirectory</a> implementation we are using,
+<a href="api/core/org/apache/lucene/store/FSDirectory.html">FSDirectory</a> implementation we are using,
 there are several other <span class="codefrag">Directory</span> subclasses that can write to RAM, to databases, etc.
 </p>
 <p>
@@ -331,8 +338,8 @@ Standard Annex #29</a>; converts tokens 
 common language words such as articles (a, an, the, etc.) and other tokens that may have less value for
 searching.  It should be noted that there are different rules for every language, and you should use the
 proper analyzer for each.  Lucene currently provides Analyzers for a number of different languages (see
-the <span class="codefrag">*Analyzer.java</span> sources under 
-<a href="http://svn.apache.org/repos/asf/lucene/dev/trunk/modules/analysis/common/src/java/org/apache/lucene/analysis/">modules/analysis/common/src/java/org/apache/lucene/analysis</a>).
+the javadocs under 
+<a href="api/module-analysis-common/org/apache/lucene/analysis/package-summary.html">modules/analysis/common/src/java/org/apache/lucene/analysis</a>).
 </p>
 <p>
 The <span class="codefrag">IndexWriterConfig</span> instance holds all configuration for <span class="codefrag">IndexWriter</span>.  For

Modified: lucene/dev/branches/realtime_search/lucene/docs/demo2.pdf
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/docs/demo2.pdf?rev=1086876&r1=1086875&r2=1086876&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/docs/demo2.pdf (original)
+++ lucene/dev/branches/realtime_search/lucene/docs/demo2.pdf Wed Mar 30 09:17:25 2011
@@ -69,10 +69,10 @@ endobj
 >>
 endobj
 16 0 obj
-<< /Length 2391 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 2336 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gatm=h/D%+&:aF]+m`bld*NEu]sjkEMA?B(2'2=mm"(I9S#n5fPiO+elZ`30FHe6-7>Ck7.-ln;^UsC!OhP*QIU+Q)=kG!W,MTWk^RjK8IsjD=/5'i^kmtOVYSOK<Cb...@DnRE>Y6Ar)%PTXn@X1bKH2<!U+Y9R?%"+`TY@=*t]<%Q^:R_Qa4R4TkhgGUc>`.IIYe:5T1P*q#sE07V"'cb>g8/<^^+<NO,
 hr1Atto-+GgrVjh$\Il*!W!1=4Pr^2@A4Q9B-:9J^gQVbd7b>"8&'1G_eo)p60,6oR'nt5$nqduC."2l9_O=l&^$2EH2\T*A_`m:1/[QP-0SXaEdu?D0>l_F_PJ<`>3-2H@%bF]1\^lp3@5Q#a+=JUY<jQo.37&]J?"2,JrqPdKoir4uh*tm/?LB'G-4Ji:TB`*31BWFe:]mJJ*n&i6,*3PIKKf>lIDC@>n3qFS<TNiN>RD%]'\3E^5m]4Fm10kWDGH;fkA<KEOC9)e_gO\Z1R5]!=n_D>mduLC_0"Q^_9$e0j#`ZI`7CFZ/t/)-)#,?!.Qeo8BBAAOJO..qW35tdeE4t#$?\\pO/4H3s,$h.LGuCRpc!?_^D%taZRtIu#2J.,h&#Y;ACC9:/0XESUJ)Y'!Gd&s!=O.0fm#<*]h9fJEM/eF`o#p(+?Z"?:U!@b9fmC2jC?DWeK8W:\A:JE-\;H<)R^bD;88G1c6Y*&FPU"D*)-'9W='#fM]HHfe[=@*!K$#a>3`XNZ0@dPk;YC@GeeU5?ugWaBqg.U9NY;.gc([h2lt.o;sYk=5`b_:F'-C6M*0UXMbq5017%_Bfe1N<<l&`02&kI*FbjIH%a:pM,VTD[S^%`5bhOq1C2Gpl9_)7_.E-?BLF9(8Bjif2Hdi[PH@4*1K4Wt,C?.biS[553r[`rtnMMMnh_=(^9Zm[^R@4nL$Sa?ud%7pUM)D.Em>bV]iAu?U[#-?dR0,BfQD`)jHS1!l;g@*PBb9nU2NSeU6!O9$8PPDY8S'ZtrXN$bQFXU&N[BJ%?CY;N!GB";Oa.9)VO#^NI:P:o%9%!PA?[+f<RY0uKq(+DMYem922RgfO@&B[+WgDtg<uh#7_Ieb2KtMJJk9k<l.W<["/%rN8SSBY3Afi:qAnHq9MI\qXta<*Tu19a1FJTF:^Y,g&'_UK*>W<1cn]aGQfCEGJ:qF;MqrD7'%"!Q(i)!O=%:%iQdctt7]6B0^,S
 g*U<"13;j)-d)ab12oBD\G.?=S2eK;t3J:M+/4g:m\W9O*@"?8S!pZEdV%+V:B,EdNo\N+^G$r_#=DiP;sF7?drnOA[$op`Mi_H]<N9-LkSK&Jh+KZlk4;3n(Gf09"Y_;2f`]IEQ0N7[#se)1(_+GWeZ%9ZE=>OWk=$tZ<;hsSmg((:Bc\=Q('4"GDXim>3Irb8O%CE6hSi\7&#@\nQrUTJE:+VO1aqsFs'IrIX-s7Xb[d%-8Aok&'qq^fbt8a(BM=Z2t&I@7K'?"Q*,Isg_flIDoTcEMBQGIH$RV[*gRDR0d5'+I)HI@]`?bRb#n'mY=ge#I^A%kgOkG>52p;)=2.h\fJE[Y&#=*TPlX6FBtRb>%f^"g<>p-`]@@rE#JZ=N`MfU=m.DCC[\pETipCh1&TmEB4~>
+Gatm=997gc&AJ$C#e>$Z`3_qGF3A?O"@:K`0)!ZZJX0u==]ok>Y]j%<^N]=S1mBFn6&GZqV5+t=^R=n0LAQ9WHafOD4YoY@#,Z6:597qII_',.(e1qg`a=1?Dp1P3R"jcbnA"!a^X"Ku=LM^MgfVgMT=nRV(:V"d<?EdD1Xk"#5QgqjN(2=%iH*=ImYjAK/FqS`dot#@X-G5oIT^K4^N^u5=T)e^5;qY.[FY)S0t'FNcT@QTpr$*iE=Iga`i+VgM`?/qa+k@I/Fn7To;E35]fmXHN\#IkJse/KgQ<`AZHOMQ1p?[TV")OXOkf>+)UB(ZU8OX+LuWX%GOd%8B?N+'[ZE(OlESTad.Z,XT`MbAb#2dKEmM#m=jI;8psXARet=2L/h_j7?])5KC!;_9[7&/%Z3.uM*-`\%4@9I9+pVX;]#2.R9?d,!'g*k+&iRu)693Or*`Xc'O7N`3&a:\pCqib6`2]$a"@r&Z-DTn=K_Fqc0ca7N4GPmCD;_).>G#G9B)b9%08B.5DRutUf$M]#)GWq#f:g,IZ,Ei<Qg\8GIDI#Y:.Z%'cCpn[P%DC!3K>kr2O;B?OXqQ1GQ(]T/4*mdc2m/bH-;rfL"Rq,25(?'\>L!!;2*;CJ!8BCk5QDD:r,$hcLWS2ho5To3ROjZ1q-9G^@2:'H/SP:.ZhUnKB/9M'08G!=b2\:Sk2EpD3;YA2eO$"6,&UqK"fMjf><F33^9\Z\p[;0=HZY\f:OX4_m9?LJG;:Z;l(CW(QhCL9WT!EZS"9Zk<V^'pKY`ehr3H-Znj..?mn.8I&A3<[+cZ;I17]o#,]0[iQ52]UH9nVC/@uKlDR;t"rH0IO;B\,/D-O[YV00*Y9@TV54OF)-6Y>sF5ZHue=':/_8-M*E]L2Dj'J[Ee?9KU-uJ60J5hlWG65E3g0JB^0KhL4gID-1",DOqTN^pf!p/rQ,WmI3H>p7ZJ\XG_NtRag7j)=:,EGGCmlAQ(_)"5Bd'@f
 \oK'%RFm!M(&`m?$XQ.^m6?G8KWq[\h*746siX[?>lbO0H`FDd'\%!PM>:D8f/%$S[`@j4Lfn5mS&h-[2aU/Hts4Jt`cjI:],#@VB*7H7+(GnD1-r^#9)JoSVBX5I5G#MR%*`Lbm4+O6,%cu53kf"a,aum_L2sA+T(RsrIO<rH...@KeHa1Mo.ltX8A>VRiG1<SYUk6gZK173D?+E[NTngbd$*_8`]#YYMiBn%9X@O1,mO@aOqK@m#))M;nL\3S<)l'tPrY0L/dpsk;!Nr0-T#3[HoYWX=]`06PS\^+Yp6)rf-g-cL8@%W^P&iG%3ffE"g%3L!uCACZgmknp,8b#L7W/:)1UuL!WQD&*SV+q6(&@Yo?g$SekIA-gjH^]Jj%!i2BXc<^XiP4L<_YQF\`9&R)aqZ<rrjZ4-%%s\RAS'dN>jGZ#*su9872#p<9,IXs?\uB9_*XkaW58F+sJq*V5_b8YPbS8-5_RIs).!cmF==T&_A#0Ot]*Sfujb506E10#i2>]VPrie2409jeKU*J9O&D[@+a<jQ/ui4,i`3<+["DOWTT=HViLpd<;\rmWeW%`!8rn"L4O3TlP>+bo]A\e9;]Vaj6@E,c9Zd`(WUXq%Y"8@q`oS-=Vr`7Cd_HYIP"4(9P6.[X-!e8Zr1^c(7QO`\Q?;D&!>f%7dRJX>'Rg:/-k<a"k6ErYATjPaPd(#G&_F/P`2#3pLU^A6M75W<DltD;"RuiYHKN7g?#&<7SBV,NQC`E_jRl9?bS-%'b!_EVS</852Rdi(7tR0#n0[CsPtd:MU%4X><G%!0h7u%b'n!jm95C)/tQ>Eu,
 :<*RC6dC-p#STA7uarjZ1*I+W&(C;'$Ol?L5hMI!?Mj.7q,i^6qNW12uWqcm#N/8LC0R.J:GoV+HVfM>A]=fQUqNTS\)#>uU(<67@j+pS.fPWN:#DU_qH;Bm<EE[\sPY_V1A2R-rJcMdFL@\q0?8a(L8:Xn3q\[$P+EY0`rhR8bph1Mp0`F&B+%UB8eG:pn4\]D!KTD3;NO'r[d<jrq3dk-;34HBm5!(Rp#6NY"cc>RNo>##YNQJ$L#$3TrA(]EmREa9<(Xq<XDN7FkQ,PP!%fPG=Nqa"MBW,)&VC78JDC?N'<JP`K#?fejYZ4&n,PpOY@h&l2kYpR8T7D3o*ef9S"Tr1T"mQZBQ00f~>
 endstream
 endobj
 17 0 obj
@@ -84,10 +84,10 @@ endobj
 >>
 endobj
 18 0 obj
-<< /Length 2990 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 3080 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gat%&>EbOK%Xt$WiMq<nbgm1)R-X0=Y,BREF3."dQ%tp4;f1;JSH51$_g&i/IaqhYKE6EMQ"7D'OjqgW:[357](rkIq/PFGG4>7(S(P1971]UkYNMCI+-rL2717'Nl^L+WhQ:Z:5K+#NKdWqgNSR.YnAe\=P($dB[^TB#MgrM;+;@U$W=F-1s"%3cJ>D'oStm>jK[kpHY1H7b[-%4&n_c;t]W"e0oiDGMqMW$"'h<2broYqQJ%HePZ=+JP1\_*!cE"lEC.`>HqNc>'majMY"o@$/Jn9`;EeSUH$9^&-9XrZJfV*YdjI%Enm9;*dT)6^B6ne+4oV*b<;52_4=2)Kd5P"rGaK0$4N>q,nQ?tBmi[Q<b"^4lkQ&oBrG!Hg_[?W4303'H&=GA><`/r*H^uf^_BCt?;c9e!JpI2rX:XL]h:rqXXO4n3dQ@6&5'UgPI$Bj5&$qr!p,\uK']%F?`Re:J94K#5[b.F%%cXM@f6F;)=X]$4aUrkG"/U&>Gk7_i:duY5h7\@[lIdC:dC"][)CcPF`/$s>6hf>\QEm$W]8W",s!kTXrhtV1hm4(OOI?P$*^cRu0Wm:+F>:&ltAc>\c6uMd%T_OZ(_pF9Og/l#3Gu6FbN*MtA,f!35^84JoLonJ/,)VMdG7,KuN?P.VYPmS?h"[M_K<f`QpmlDu6%fj!K")&j9^]HC%,tr/P2kISUiW"H3-B4]kXq.ffG\U8UQ5'qU,.pWNr>?M@TTlVH=J)"CE,f;O.$>CUk:?*3M)=oG^@75Utl]*#H@WC2hc\pfZp!_E'.b=,?+;fliYe"fF,l;oFS5@REh3m;Fh2Vhk.1R;d!a(_tA7fHcmHf$;&'m-uBB_6C!P_DW,;\?6:L8<h2UV*mStTWj3UT4`+4o$:IKZCl.n>;:)%TE8r";W3.[COb\^75,jgPRhS"3?c3-f5=,Rq2d$)i;<M^m+h+da5.Q]lZfXWA>_%&(Z)k^4PdS63(H0=\i[$9
 8,-,:W'!+_8b[]Gcp9KIE>]*6>4>n.SKmmiHi)-Q9d4"N5eaAQbYS$dfC]*)'qK+[=>.b-GQMI9@30"^V<8qOXR(aI;W8>^,.s>uVDAcXO5T[E<TQc!2+dEoG]dtDT%A0TLTS>9819%]p8!^iYepBkrcgZX^-joK?EcfL;!:^Hrb47=*)2fAfk1-j?k^YF>kL%i[.!b>e?].G1mR9Be#'-+'&mV*VAI(JSmU?5_#3^tDES`+i"kF>T<4RdqK^N<pVUj!U@SA*\!"'fA=+C:*.@,&-jRLl0H@89^.ciHp:>8t"8nCQb3$f`^J6Gb<H&H2!g]MHX>;:)"U<Ic=\b%,i)2\c\FYqcO$#o#2WAIg*ra/4g>c5W?VLSFb'E.RCeGj5N$mD=CW8ViOs'nEh$a,a1\GU:2,,$]P.(7Io`3*p:S[?2*95<W-ZN`MV]W!&!T`^t9+bEsKLUHg*h2C:qOSSu`AFR"S9SOMS:_(*/$\0-p?W"3fm5dkd7UsScHXE*HHHBV%9\fk\o`3)KH$?-(0UZp;JhE`+6G47+Itf0eoClk[817F]k7cU?aeX3MmM:Pm;b`^ThJBNlNU6=G(L&VY'4U!EWU<-sl3p*9S_];e1NIep]MMmMW%NTH7-$*74+RJkI3<\6Mijp"Mg(9=K8sDY!9!ZR&-qj>`0I6CY,IFg'Ns:3Z+[rX[iX,e&SD>GO2>013UU\7>+3^S&goiEpKp+u?%)Y:O"Z!rrVZKOmiUZl+W=KsW]'q/6lW<DcN#,e8bLgXiCM8tHClnLpT(d+FdA(8K%Hha>;M(C]15AJE1D--".>&jm4R?Zc9M_1b-Ad(Sj6/*Z+-fY?<2/-K06^[GdGKBA:STf_a?AQ*/Qfh&_'NV8NOj?WcUR;bqN$^1Bqr0.r_"@&TaXa6,3m#E4GAs?sb[jJ`c6O_!=tMme(k:6^*fFcZnct&QcJe<-_bX)Jkm.oG+RF?\PZTFVCBU5*>:KI".`%f-]
 4.au5"b[M?cD]j-s)4i];W6`GkW$aj245Q(*$U-5AU6<S;(`tXOE-,q1m'Tc8M8G9W7eDO*^@h2A;:6QIC,Dg$DdAosd8R1kjBe#/n5d+W1%48U")aZ>$U99brE;XAcVrf[D]^5Qpak92%T_QHqW)OsR8mmC=a=Lh:W@2h`q1`t$J\"lPY3s?if+"D1&#Y0'I8UR;_Ut_h:X)X+1c;kgHO;-t+_-^'4iArPXLUB>AkG!ff/Y(Qf"tA[B^LkLbdtr/M/`oSFm;TL#oUTSH_$`'O1L,g!C7S)#)r9S5X97\k3t@p.\,>$_l,N<KHrs-D5J3b9%k`=2ufNsL#h6bbl?;#2UNhl&`2`n&EOKdQS2lPE+V1j*O3[C-2:TEks.9CccC]BG'f:RMVF!6hh#?ULOhm'%i)-2Rq%m%-And;")Ui)@3<g[$l%fuFusl&:G\DBRR>f>?D=Wj/S$!AJ!]6CQ;!r?F\?=[)Qd49Xi21pBDg:XaW9mC*."E6SksSj8$`-LF=.P[!)pi,$bKp>QQ@'j*+b+]`DfrE5aLlH``9`\CP%B^T#d%'5%8fuF^R+tILfE)#DbcA3Jtq\:S`TX/EJ"@8"F@"inY)DQP75t;L*h:A%?pTHNeJ$hfY6Nmm]^:e3L'om&/E#pVlLOa@lu.K@QWk9]b>4$p\:(MG\&-]XWTkPq:20C9!T\AufMJZ^qoP/m5EG4UqId20_>#kOYH?=;q*`KV/S9\-/)Z^]P\K91@^V%>om*6gFg@[kJClJFP:)/CGUc4FV;ecoI^%=U:Mb\FK)k^,_0,l\(rHLOk@ZL:US"jQ[a"TS2+r!(D[upt?g_FSEMSm.m>IQ)o0Y+j%MZgF]m%/+em5'8VE^W93eA24[TS@LkB]BZoT!!GhGK-1Z_!\(_<BgC6:frEbQFRh;j=J2hORVd8T$/.YA>dO&#4W:@C`48kF[gHg=3%#FTY\[8pH._!t-(_lA.:JGQl``u$=G+d5h1u
 HmJRQ!so#'Ca^"*IW+K)~>
+Gat%&D/\/g')nJ0@Gj>F"WBgmom6A3D;)rMp8-MSd1;_aJsL)>N@_)o'Z]t6D^a;e$r&07'PTm:6d?*QSp<<fLPMp+%p(uu]Yt)(I_&-Wa'D)1"TJ_#rqg:Fq=%&I`Tl`LWt,_B\"CQlV]S('YM;mqKn%sRQOJ9iEeD?KDXl>J?eUI*r9`L`mq-le-PXlFW=JUrN%+Bc>P!4^XUaCKbnaX_cf3p@Y^AJ_Ip1P:A&hC/i]ibiJ,,s0_pokISk1Q$W=p,3N?$QP6!^:Z.+_Aa=<h@5*u]Hc++O^D3<$HNC-l4'<B.,*nm'PpYr6.dchE&Vd?;,Ai&b7'L5pUEl#KX=hN9,6e@RSfk)'o6"0(1LfpCPZ5B?[cI7WJA4n2o='.R%lX/o]Oc"jC0CW95kYdJf3m4S>5rmuAf:NG$j'n[gZkIenVl^kY\j%b=(qiV\Ls)Kt3jctuHYI3981K![/Pgf?.'PC3TgFDh>Iq`lK@ACCF`(AM#-XL6qRIfJnX-$iU3Q[?s>j[>LM'eLQN]'oP-k\&5FKV,;b:!ItUrAG;P%IV:BCt?3#,P?QpLV@'=KW12/.XhCD/h<X]I7QuZmnUi/IF2"m#c+HS(hu0b%B52IINar&$lPMKP6DJWn&VZk27`ji%r=6;]UQ]rEA?<;)fcKI03^!<.9C!5%KFEV3,!U>ENc"i^.$3,jm`Y:9%#Bn=*Bj#<pKS;/LmI>q<ITR-)^mA2<?!5_7'3^sE2*[!TNl+>#*%'&[D\euC6lM7(.8JnrB1qCqHeeJM1Vr\=u`iMZ]B*g@u/E\l`BN<g<KT^W@4<ldF*O?jj\9QD*mL32k4"/dbH%]GiH*k%qhYYiGR'@E5ih%'=e@-+7s)t\k.?+2eP=D]qC%n?n8OQ.2bM8qQ65T6bW7OgX:SO,OJChM$@35/l.,Id"Wfa"N#Z"I+EkX3-`>_nfj[ZD8l>[[SMAQrOhAIiVgOe,HK0I'39Ob-i>fC3L2?8iN
 .X0*niiI$ui.a(,ddq6"`5\t.kXmho9$<k@...@Hc>T32a3b(:ZW5gG5NXO=@UklA8fgO(VaL+duB>1[YWo[(?h0cU2=Oa0>XWjQ\hN?!hunn0$AY0VXaJX'%4r*r)TPG#PM)%]BH'HDV5&-p]qS.46-a>q%c#PpS0o"2_YNOrNu[%("QRnJXu(`pj<;H]HLGiQ0"I]A#@"V\)!SZ-A!H\sMZ!@0f!GUa^?.nsgaY0*f,=8YMXc)_XkWcqPP,'ZG`HD09G)TMF3g9Y+&+!)&-hlTjf*&;m@;.p.`mNEj,Ilo$j'g^u[TSLBK]]#9l3GqQ%W6'=3Y3S@`sfNXb$gZ!%jl2]Gf).39d;K!nJ39f[Tr;,[V_l(8!s8)Ke04-pAFuKX3M.ND1p("0\*f[V<9;d--\GG;W33$TmI7tLIqo)dk3t#f4s8So\?SdLG^ILeNpfo"K3_=//]Gf5t'%ZR].55Ik%A*.oMAhGm9uD0T6ea!0UMGE>Mel)gpm*">LA%;ep3]8)o:_<UN)MRf$&r_TOV3[I5SquQa2o
 P\=17<;h4cUth%',n_]%$04VN(2WnO43O)IlK,j,@"4_\niLR=mIX=tOH-4kUE1[l2X2t^`F))Io+H6qI@BA02=G+u:u9p+`eC#U`]qKLkCqDXXrA?et#`UnpmIp2Jg97Emns*2$6Khu4[Ek)<5'j.cn:V<hKFZp:S?g6&J6"_IjocHYgalSg!8Y,'4j\Z1@X%Zf;;%:Cl$"A!kV&C<i*TC%*=4k^AO-\QrF:=%&FE/iWG"`4dYVK>qCaBg-N\oX4/pC.Dlc@U<>Q"=`jS87ERs.OuUN;?1U,R:[@+FKsmjXcoRZ'tLh%7'nUZLe1KrMXFFe(<tC@-'+\4:=a[%nX@F]6pE"P-^7Wm+)(Cte4Ab^\,2oTBF$&27M!mfro?L777YcUBh*B*YIr]G(\gU2)R8R*ht]UXD:)-S6bm(\a^m^QP^Z/jV,CXEQUf8+<'s-I[Q&qf\sX+uaP:UI@Yq\.DHWJnoQ.%ZecuM<1qW1"U#FOk<%?auJPI_[7(=<4.9e:Kq3Kc]ehPjYj_.of1pZ9Vtke)KkI!0ilL>16CJ08TLq*HGlPg-9\^Sc!/<$(+WX[nZ%k;)rTuW>!8X)LdTIMXLFRg\-%71@ehOdU[sgYlciZm=i"Ps/7(W.mqn&bI*#Cl'6Ba:9/3nX*lS5KRJgheL&(e3LabhS\b2@i&=A_>EnT_Ok;D,`_7Af`0Vh[^6G'L-CY\j6IMp(.3h`/WGu=a85-c8W#JDX#gIAbY\27fM,NVs$?BtR:[]6]$P6X5M"AKE4\g)WI>"a$bX(E9VJWlrpRBW4QBF7/NG^h6hqaZjSA:/qod&V(iJgu0pJM5uYC8S_q;eP1G2*h$Z9S=*fr3L:!N#)f0TD\q`SBld<L/%F?oQYB4h+$URin-i_aN&K`_kS/+q>^[I,>[a#k`?&D:m6qlRc2pY<]o1p>:&%KQB5WbSGebcYnMm_Z3_ooC9"g.;,,AO9H$0p*GtUm]E0*S>TusgDS
 OH3ZMc`gd?h,N:q(\e"iQ8\Hi6ncAT^gYZgD3Z:-+I5Tf8!Zf8[et0d-;nEbRJHQg875%#Y&+kH;0&D6BX9hpCQlh:a_)oBoG@UXR3^!)XY3g]~>
 endstream
 endobj
 19 0 obj
@@ -98,72 +98,87 @@ endobj
 /Contents 18 0 R
 >>
 endobj
+20 0 obj
+<< /Length 337 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gaqcqbt`pG'LqhFMS!C7e@)`k/4H+`EM8dI0%<>-Pb6%DZ%0j'(N:_JFEP=YhVR_^)Vs`t.*OuDLd6YBOQfV535m^O+DHEVb<V]X/\4*7U:*.>R?T[p.>-hu/8Q+lEBq)!Rj(DkmE#OJ_2Z15I?;.2p+mb)n&DBa_$B0ooUsU`EaqT.F<ZiL$K,@tJscUWTgUO^T0(G9Ve[A/ogi$`)95?Ul9(Oc]UW>XR[qfNmjnVm-Fqd-TgIZg'qk>4LAnBfF6?of<;!K^;q#FPc3.F0&X';m0,>AV=C(^[b2LD99sStQG;M\I3kQ>GgD-$hq[M<:qJU`!X1LUa.WP"~>
+endstream
+endobj
 21 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 20 0 R
+>>
+endobj
+23 0 obj
 <<
  /Title (\376\377\0\61\0\40\0\101\0\142\0\157\0\165\0\164\0\40\0\164\0\150\0\145\0\40\0\103\0\157\0\144\0\145)
- /Parent 20 0 R
- /Next 22 0 R
+ /Parent 22 0 R
+ /Next 24 0 R
  /A 9 0 R
 >> endobj
-22 0 obj
+24 0 obj
 <<
  /Title (\376\377\0\62\0\40\0\114\0\157\0\143\0\141\0\164\0\151\0\157\0\156\0\40\0\157\0\146\0\40\0\164\0\150\0\145\0\40\0\163\0\157\0\165\0\162\0\143\0\145)
- /Parent 20 0 R
- /Prev 21 0 R
- /Next 23 0 R
+ /Parent 22 0 R
+ /Prev 23 0 R
+ /Next 25 0 R
  /A 11 0 R
 >> endobj
-23 0 obj
+25 0 obj
 <<
  /Title (\376\377\0\63\0\40\0\111\0\156\0\144\0\145\0\170\0\106\0\151\0\154\0\145\0\163)
- /Parent 20 0 R
- /Prev 22 0 R
- /Next 24 0 R
+ /Parent 22 0 R
+ /Prev 24 0 R
+ /Next 26 0 R
  /A 13 0 R
 >> endobj
-24 0 obj
+26 0 obj
 <<
  /Title (\376\377\0\64\0\40\0\123\0\145\0\141\0\162\0\143\0\150\0\151\0\156\0\147\0\40\0\106\0\151\0\154\0\145\0\163)
- /Parent 20 0 R
- /Prev 23 0 R
+ /Parent 22 0 R
+ /Prev 25 0 R
  /A 15 0 R
 >> endobj
-25 0 obj
+27 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F3
 /BaseFont /Helvetica-Bold
 /Encoding /WinAnsiEncoding >>
 endobj
-26 0 obj
+28 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F5
 /BaseFont /Times-Roman
 /Encoding /WinAnsiEncoding >>
 endobj
-27 0 obj
+29 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F1
 /BaseFont /Helvetica
 /Encoding /WinAnsiEncoding >>
 endobj
-28 0 obj
+30 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F9
 /BaseFont /Courier
 /Encoding /WinAnsiEncoding >>
 endobj
-29 0 obj
+31 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F2
 /BaseFont /Helvetica-Oblique
 /Encoding /WinAnsiEncoding >>
 endobj
-30 0 obj
+32 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F7
@@ -172,19 +187,19 @@ endobj
 endobj
 1 0 obj
 << /Type /Pages
-/Count 3
-/Kids [6 0 R 17 0 R 19 0 R ] >>
+/Count 4
+/Kids [6 0 R 17 0 R 19 0 R 21 0 R ] >>
 endobj
 2 0 obj
 << /Type /Catalog
 /Pages 1 0 R
- /Outlines 20 0 R
+ /Outlines 22 0 R
  /PageMode /UseOutlines
  >>
 endobj
 3 0 obj
 << 
-/Font << /F3 25 0 R /F5 26 0 R /F1 27 0 R /F9 28 0 R /F2 29 0 R /F7 30 0 R >> 
+/Font << /F3 27 0 R /F5 28 0 R /F1 29 0 R /F9 30 0 R /F2 31 0 R /F7 32 0 R >> 
 /ProcSet [ /PDF /ImageC /Text ] >> 
 endobj
 9 0 obj
@@ -202,59 +217,61 @@ endobj
 13 0 obj
 <<
 /S /GoTo
-/D [17 0 R /XYZ 85.0 453.932 null]
+/D [17 0 R /XYZ 85.0 419.532 null]
 >>
 endobj
 15 0 obj
 <<
 /S /GoTo
-/D [19 0 R /XYZ 85.0 314.2 null]
+/D [19 0 R /XYZ 85.0 297.0 null]
 >>
 endobj
-20 0 obj
+22 0 obj
 <<
- /First 21 0 R
- /Last 24 0 R
+ /First 23 0 R
+ /Last 26 0 R
 >> endobj
 xref
-0 31
+0 33
 0000000000 65535 f 
-0000008643 00000 n 
-0000008715 00000 n 
-0000008807 00000 n 
+0000009215 00000 n 
+0000009294 00000 n 
+0000009386 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
 0000000732 00000 n 
 0000000852 00000 n 
 0000000898 00000 n 
-0000008941 00000 n 
+0000009520 00000 n 
 0000001033 00000 n 
-0000009004 00000 n 
+0000009583 00000 n 
 0000001169 00000 n 
-0000009070 00000 n 
+0000009649 00000 n 
 0000001306 00000 n 
-0000009136 00000 n 
+0000009715 00000 n 
 0000001443 00000 n 
-0000003927 00000 n 
-0000004035 00000 n 
-0000007118 00000 n 
-0000009200 00000 n 
-0000007226 00000 n 
-0000007399 00000 n 
-0000007634 00000 n 
-0000007800 00000 n 
-0000007981 00000 n 
-0000008094 00000 n 
-0000008204 00000 n 
-0000008312 00000 n 
-0000008418 00000 n 
-0000008534 00000 n 
+0000003872 00000 n 
+0000003980 00000 n 
+0000007153 00000 n 
+0000007261 00000 n 
+0000007690 00000 n 
+0000009779 00000 n 
+0000007798 00000 n 
+0000007971 00000 n 
+0000008206 00000 n 
+0000008372 00000 n 
+0000008553 00000 n 
+0000008666 00000 n 
+0000008776 00000 n 
+0000008884 00000 n 
+0000008990 00000 n 
+0000009106 00000 n 
 trailer
 <<
-/Size 31
+/Size 33
 /Root 2 0 R
 /Info 4 0 R
 >>
 startxref
-9251
+9830
 %%EOF