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/05/02 15:51:22 UTC

svn commit: r1098566 [18/22] - in /lucene/dev/branches/docvalues: ./ dev-tools/eclipse/ dev-tools/idea/.idea/ dev-tools/idea/lucene/contrib/ant/ dev-tools/idea/lucene/contrib/db/bdb-je/ dev-tools/idea/lucene/contrib/db/bdb/ dev-tools/idea/lucene/contri...

Modified: lucene/dev/branches/docvalues/solr/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/build.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/build.xml (original)
+++ lucene/dev/branches/docvalues/solr/build.xml Mon May  2 13:50:57 2011
@@ -120,7 +120,7 @@
   <!-- Compile the project. -->
   <target name="compile"
           description="Compile the source code."
-          depends="validate-solr, compile-solrj">
+          depends="compile-solrj">
 
     <solr-javac destdir="${dest}/solr"
                 classpathref="compile.classpath.solrj">
@@ -176,6 +176,24 @@
     </sequential>
   </target>
 
+  <target name="javadoc-test-framework" depends="compileTestFramework,javadoc-dep"
+          description="Generates javadoc documentation for the Solr test-framework.">
+    <sequential>
+      <mkdir dir="${build.javadoc}/test-framework"/>
+
+      <path id="javadoc.classpath">
+        <path refid="testframework.compile.classpath"/>
+      </path>
+
+      <invoke-javadoc
+        destdir="${build.javadoc}/test-framework"
+      	title="${Name} ${version} Test Framework API (${specversion})">
+        <sources>
+          <packageset dir="${src}/test-framework" />
+        </sources>
+      </invoke-javadoc>
+    </sequential>
+  </target>
 
   <target name="javadoc-all" depends="compile,javadoc-dep" description="Generate javadoc for core, client and contrib">
     <sequential>
@@ -187,6 +205,7 @@
           <fileset dir="contrib">
             <include name="**/lib/**/*.jar"/>
             <include name="**/lucene-libs/**/*.jar"/>
+            <exclude name="**/analysis-extras/lib/**/*icu4j*.jar"/> <!-- extraction/lib/ has this one -->
           </fileset>
          <pathelement location="${dest}/client/solrj"/>
       </path>
@@ -220,8 +239,9 @@
                    failonerror="true"/>
   </target>
 
-  <target name="javadoc" depends="javadoc-core, javadoc-contrib, javadoc-solrj, javadoc-all">
+  <target name="javadoc" depends="javadoc-core, javadoc-test-framework, javadoc-contrib, javadoc-solrj, javadoc-all">
   </target>
+  <target name="javadocs" depends="javadoc"/>
 
   <target name="stub-factories" depends="dist-jar"
           description="Generates stub factories as needed">
@@ -318,13 +338,18 @@
 
   <!-- Classpath for unit test compilation. -->
   <!-- For now, it's the same as main classpath.  Later it will have JUnit, Clover, etc. -->
-  <path id="test.compile.classpath">
+  <path id="testframework.compile.classpath">
     <path refid="compile.classpath" />
     <path refid="compile.classpath.solrj" />
     <pathelement location="${dest}/solr"/>
     <pathelement location="${dest}/solrj"/> <!-- include solrj -->
     <pathelement location="${common-solr.dir}/../lucene/build/classes/test-framework" />  <!-- include some lucene test code -->
   </path>
+	
+  <path id="test.compile.classpath">
+    <path refid="testframework.compile.classpath"/>
+    <pathelement location="${dest}/test-framework"/> <!-- include some solr test code -->
+  </path>
 
   <path id="test.run.classpath">
     <path refid="test.compile.classpath" />
@@ -335,10 +360,19 @@
     <pathelement path="${java.class.path}"/>
   </path>
 
+  <target name="compileTestFramework" depends="compile,compile-solrj">
+    <mkdir dir="${dest}/test-framework"/>
+  	<solr-javac
+      destdir="${dest}/test-framework"
+  	  classpathref="testframework.compile.classpath">
+        <src path="${src}/test-framework"/>
+  	</solr-javac>
+  </target>
+
   <!-- Compile unit tests. -->
   <target name="compileTests"
           description="Compile unit tests."
-          depends="compile,compile-solrj">
+          depends="compileTestFramework">
 
     <mkdir dir="${dest}/tests" />
     <solr-javac 
@@ -360,7 +394,7 @@
   <!-- Run contrib unit tests. -->
   <target name="test"
         description="Runs the core unit tests."
-        depends="test-core, test-contrib, test-jsp" />
+        depends="validate-solr, test-core, test-contrib, test-jsp" />
 
   <target name="junit" depends="compileTests,junit-mkdir,junit-sequential,junit-parallel"/>
 
@@ -575,7 +609,7 @@
   <!-- Creates the Solr distribution files. -->
   <target name="dist"
           description="Creates the Solr distribution files."
-          depends="dist-solrj, dist-jar, dist-contrib, dist-war" />
+          depends="dist-solrj, dist-jar, dist-test-framework, dist-contrib, dist-war" />
 
   <!-- Creates the Solr WAR file. -->
   <target name="dist-war"
@@ -623,6 +657,9 @@
       <fileset dir="${src}/webapp/src"/>
     </solr-jar>
   	
+    <solr-jar destfile="${dist}/${fullname}-test-framework-src-${version}.jar"
+              basedir="${src}/test-framework" />
+
     <solr-jar destfile="${dist}/apache-solr-dataimporthandler-src-${version}.jar"
               basedir="contrib/dataimporthandler/src/main/java" />
     <solr-jar destfile="${dist}/apache-solr-dataimporthandler-extras-src-${version}.jar"
@@ -648,6 +685,8 @@
               basedir="${build.javadoc}/solr" />
     <solr-jar destfile="${dist}/${fullname}-solrj-docs-${version}.jar"
               basedir="${build.javadoc}/solrj" />
+    <solr-jar destfile="${dist}/${fullname}-test-framework-docs-${version}.jar"
+              basedir="${build.javadoc}/test-framework" />
     <solr-jar destfile="${dist}/apache-solr-dataimporthandler-docs-${version}.jar"
               basedir="${build.javadoc}/contrib-solr-dataimporthandler" />
     <solr-jar destfile="${dist}/apache-solr-clustering-docs-${version}.jar"
@@ -671,6 +710,16 @@
 
   </target>
 
+  <!-- Creates the test-framework jar -->
+  <target name="dist-test-framework"
+          description="Creates the Solr test-framework JAR."
+          depends="compileTestFramework">
+    <mkdir dir="${dist}" />
+    <solr-jar destfile="${dist}/${fullname}-test-framework-${version}.jar">
+      <fileset dir="${dest}/test-framework" />
+    </solr-jar>
+  </target>
+
   <!-- Creates the solr jar. -->
   <target name="dist-solrj"
           description="Creates the Solr JAR Distribution file."
@@ -912,6 +961,7 @@
     <sign-maven-artifacts artifact.id="solr-dataimporthandler-extras" gpg.passphrase="${gpg.passphrase}"/>
     <sign-maven-artifacts artifact.id="solr-solrj" gpg.passphrase="${gpg.passphrase}"/>
     <sign-maven-artifacts artifact.id="solr-uima" gpg.passphrase="${gpg.passphrase}"/>
+    <sign-maven-artifacts artifact.id="solr-test-framework" gpg.passphrase="${gpg.passphrase}"/>
 
     <!-- These are special since there are no jars, just poms -->
     <sign-artifact input.file="${maven.dist.prefix}/solr-parent/${version}/solr-parent-${version}.pom" gpg.passphrase="${gpg.passphrase}"/>
@@ -934,14 +984,14 @@
 	    keyfile="${keyfile}"
       verbose="true"
         >
-      <fileset dir="dist"/>
+      <fileset dir="package"/>
       <fileset dir="${keys.dir}">
         <include name="KEYS"/>
       </fileset>
     </scp>
   </target>
 
-  <target name="prepare-release" depends="clean, svn-up, package, sign-artifacts"
+  <target name="prepare-release" depends="clean, svn-up, package, generate-maven-artifacts, sign-artifacts"
           description="Prototype helper for Committers.  Assumes gpg is in the path"/>
 
   <target name="stage" depends="prepare-release, copy-to-stage"/>
@@ -1052,6 +1102,14 @@
 
       <m2-deploy pom.xml="src/webapp/pom.xml"
                  jar.file="${dist}/apache-solr-${version}.war"/>
+
+      <m2-deploy pom.xml="${src}/test-framework/pom.xml"
+                 jar.file="${dist}/${fullname}-test-framework-${version}.jar">
+        <artifact-attachments>
+          <attach file="${dist}/${fullname}-test-framework-src-${version}.jar" classifier="sources"/>
+          <attach file="${dist}/${fullname}-test-framework-docs-${version}.jar" classifier="javadoc"/>
+        </artifact-attachments>
+      </m2-deploy>
     </sequential>
   </target>
 

Modified: lucene/dev/branches/docvalues/solr/common-build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/common-build.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/common-build.xml (original)
+++ lucene/dev/branches/docvalues/solr/common-build.xml Mon May  2 13:50:57 2011
@@ -330,6 +330,7 @@
     </sequential>
   </macrodef>
 
+  <property name="failonjavadocwarning" value="true"/>
   <macrodef name="invoke-javadoc">
     <element name="sources" optional="yes"/>
     <attribute name="destdir"/>
@@ -339,6 +340,7 @@
       <copy todir="@{destdir}/prettify" overwrite="false">
         <fileset dir="${prettify.dir}"/>
       </copy>
+      <record name="@{destdir}/log_javadoc.txt" action="start" append="no"/>
       <javadoc
           packagenames="org.apache.solr.*"
           failonerror="true"
@@ -373,6 +375,24 @@
 
         <classpath refid="javadoc.classpath"/>
       </javadoc>
+      <record name="@{destdir}/log_javadoc.txt" action="stop"/>
+
+      <delete>
+        <fileset file="@{destdir}/log_javadoc.txt">
+          <not>
+           <containsregexp expression="\[javadoc\]\s*[1-9][0-9]*[\s]*warning"/>
+          </not>
+        </fileset>
+      </delete>
+
+      <fail message="Javadocs warnings were found!" >
+        <condition>
+          <and>
+            <available file="@{destdir}/log_javadoc.txt"/>
+            <istrue value="${failonjavadocwarning}"/>
+          </and>
+        </condition>
+      </fail>
    </sequential>
   </macrodef>
 
@@ -414,6 +434,8 @@
     </sequential>
   </macrodef>
 
+  <property name="gpg.exe" value="gpg" />
+  <property name="gpg.key" value="CODE SIGNING KEY" />
   <macrodef name="sign-artifact" description="Signs the artifact">
     <attribute name="input.file"/>
     <attribute name="output.file" default="@{input.file}.asc"/>
@@ -421,10 +443,13 @@
     <sequential>
       <echo >Signing @{input.file} Sig File: @{output.file}</echo>
 
-      <exec executable="gpg" >
+      <exec executable="${gpg.exe}" >
+        <arg value="--batch"/>
         <arg value="--armor"/>
         <arg value="--output"/>
         <arg value="@{output.file}"/>
+        <arg value="--default-key"/>
+        <arg value="${gpg.key}"/>
         <arg value="--passphrase"/>
         <arg value="@{gpg.passphrase}"/>
         <arg value="--detach-sig"/>

Modified: lucene/dev/branches/docvalues/solr/contrib/analysis-extras/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/analysis-extras/CHANGES.txt?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/analysis-extras/CHANGES.txt (original)
+++ lucene/dev/branches/docvalues/solr/contrib/analysis-extras/CHANGES.txt Mon May  2 13:50:57 2011
@@ -13,7 +13,9 @@ analyzers for Chinese and Polish.
 $Id$
 ================== Release 4.0-dev ==================
 
-(No Changes)
+* SOLR-2396: Add ICUCollationField, which is much more efficient than
+  the Solr 3.x ICUCollationKeyFilterFactory, and also supports
+  Locale-sensitive range queries.  (rmuir)
 
 ================== Release 3.2-dev ==================
 

Modified: lucene/dev/branches/docvalues/solr/contrib/analysis-extras/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/analysis-extras/build.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/analysis-extras/build.xml (original)
+++ lucene/dev/branches/docvalues/solr/contrib/analysis-extras/build.xml Mon May  2 13:50:57 2011
@@ -72,7 +72,7 @@
     <pathelement path="${dest}/classes"/>
     <pathelement path="${dest}/test-classes"/>
     <pathelement path="${java.class.path}"/>
-    <pathelement location="${common-solr.dir}/build/tests"/> <!-- include solr test code -->
+    <pathelement location="${common-solr.dir}/build/test-framework"/> <!-- include solr test code -->
     <pathelement location="${common-solr.dir}/../lucene/build/classes/test-framework" />  <!-- include some lucene test code -->
     <path refid="common.classpath"/>
   </path>
@@ -92,7 +92,7 @@
     <mkdir dir="${dest}/classes"/>
     
     <mkdir dir="${build.javadoc}"/>
-    <subant target="compileTests">
+    <subant target="compileTestFramework">
       <fileset dir="${solr-path}" includes="build.xml"/>
     </subant>
     <subant target="make-manifest">

Modified: lucene/dev/branches/docvalues/solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUCollationKeyFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUCollationKeyFilterFactory.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUCollationKeyFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUCollationKeyFilterFactory.java Mon May  2 13:50:57 2011
@@ -57,7 +57,9 @@ import com.ibm.icu.util.ULocale;
  * @see Collator
  * @see ULocale
  * @see RuleBasedCollator
+ * @deprecated use {@link org.apache.solr.schema.ICUCollationField} instead.
  */
+@Deprecated
 public class ICUCollationKeyFilterFactory extends BaseTokenFilterFactory implements ResourceLoaderAware {
   private Collator collator;
 

Modified: lucene/dev/branches/docvalues/solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestICUCollationKeyFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestICUCollationKeyFilterFactory.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestICUCollationKeyFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestICUCollationKeyFilterFactory.java Mon May  2 13:50:57 2011
@@ -34,6 +34,7 @@ import com.ibm.icu.text.Collator;
 import com.ibm.icu.text.RuleBasedCollator;
 import com.ibm.icu.util.ULocale;
 
+@Deprecated
 public class TestICUCollationKeyFilterFactory extends BaseTokenTestCase {
 
   /*

Modified: lucene/dev/branches/docvalues/solr/contrib/clustering/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/clustering/build.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/clustering/build.xml (original)
+++ lucene/dev/branches/docvalues/solr/contrib/clustering/build.xml Mon May  2 13:50:57 2011
@@ -41,8 +41,8 @@
     <pathelement path="${dest}/classes"/>
     <pathelement path="${dest}/test-classes"/>
     <pathelement path="${java.class.path}"/>
-    <pathelement location="${common-solr.dir}/build/tests"/> <!-- include solr test code -->
-    <pathelement location="${common-solr.dir}/../lucene/build/classes/test-framework" />  <!-- include some lucene test code -->
+    <pathelement location="${solr-path}/build/test-framework"/> <!-- include solr test code -->
+    <pathelement location="${solr-path}/../lucene/build/classes/test-framework" />  <!-- include some lucene test code -->
     <path refid="common.classpath"/>
     <!-- DistributedClusteringComponentTest uses Jetty -->
     <fileset dir="${solr-path}/example/lib">
@@ -64,7 +64,7 @@
     <mkdir dir="${dest}/classes"/>
     
     <mkdir dir="${build.javadoc}"/>
-    <subant target="compileTests">
+    <subant target="compileTestFramework">
       <fileset dir="${solr-path}" includes="build.xml"/>
     </subant>
     <subant target="make-manifest">

Modified: lucene/dev/branches/docvalues/solr/contrib/dataimporthandler/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/dataimporthandler/build.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/dataimporthandler/build.xml (original)
+++ lucene/dev/branches/docvalues/solr/contrib/dataimporthandler/build.xml Mon May  2 13:50:57 2011
@@ -55,7 +55,7 @@
   	<path refid="classpath.jetty" />
 	  <pathelement path="target/classes" />
   	<pathelement path="target/test-classes" />
-    <pathelement location="${solr-path}/build/tests"/> <!-- include solr test code -->
+    <pathelement location="${solr-path}/build/test-framework"/> <!-- include solr test code -->
     <pathelement location="${solr-path}/../lucene/build/classes/test-framework" />  <!-- include some lucene test code -->
     <pathelement path="${java.class.path}"/>
   </path>
@@ -67,7 +67,7 @@
 	  <pathelement path="target/extras/classes" />
   	<pathelement path="target/test-classes" />
   	<pathelement path="target/extras/test-classes" />
-    <pathelement location="${solr-path}/build/tests"/> <!-- include solr test code -->
+    <pathelement location="${solr-path}/build/test-framework"/> <!-- include solr test code -->
     <pathelement location="${solr-path}/../lucene/build/classes/test-framework" />  <!-- include some lucene test code -->
     <pathelement path="${java.class.path}"/>
   </path>
@@ -89,7 +89,7 @@
   <target name="init">
   	<mkdir dir="target/classes"/>
     <mkdir dir="${build.javadoc}" />
-    <subant target="compileTests">
+    <subant target="compileTestFramework">
       <fileset dir="${solr-path}" includes="build.xml"/>
     </subant>
     <subant target="make-manifest">

Modified: lucene/dev/branches/docvalues/solr/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImportHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImportHandler.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImportHandler.java (original)
+++ lucene/dev/branches/docvalues/solr/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImportHandler.java Mon May  2 13:50:57 2011
@@ -194,7 +194,7 @@ public class DataImportHandler extends R
               IMPORT_CMD.equals(command)) {
 
         UpdateRequestProcessorChain processorChain =
-                req.getCore().getUpdateProcessingChain(params.get(UpdateParams.UPDATE_PROCESSOR));
+                req.getCore().getUpdateProcessingChain(params.get(UpdateParams.UPDATE_CHAIN));
         UpdateRequestProcessor processor = processorChain.createProcessor(req, rsp);
         SolrResourceLoader loader = req.getCore().getResourceLoader();
         SolrWriter sw = getSolrWriter(processor, loader, requestParams, req);

Modified: lucene/dev/branches/docvalues/solr/contrib/extraction/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/extraction/build.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/extraction/build.xml (original)
+++ lucene/dev/branches/docvalues/solr/contrib/extraction/build.xml Mon May  2 13:50:57 2011
@@ -39,7 +39,7 @@
     <path refid="common.classpath" />
     <pathelement path="${dest}/classes" />
     <pathelement path="${dest}/test-classes" />
-    <pathelement location="${solr-path}/build/tests"/> <!-- include solr test code -->
+    <pathelement location="${solr-path}/build/test-framework"/> <!-- include solr test code -->
     <pathelement location="${solr-path}/../lucene/build/classes/test-framework" />  <!-- include some lucene test code -->
     <pathelement path="${java.class.path}"/>
   </path>
@@ -51,7 +51,7 @@
   <target name="init">
     <mkdir dir="${dest}/classes"/>
     <mkdir dir="${build.javadoc}" />
-    <subant target="compileTests">
+    <subant target="compileTestFramework">
       <fileset dir="${solr-path}" includes="build.xml"/>
     </subant>
     <subant target="make-manifest">

Modified: lucene/dev/branches/docvalues/solr/contrib/uima/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/CHANGES.txt?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/CHANGES.txt (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/CHANGES.txt Mon May  2 13:50:57 2011
@@ -21,11 +21,25 @@ $Id$
 
 ==================  3.2.0-dev ==================
 
+Upgrading from Solr 3.1
+----------------------
+
+* <uimaConfig/> just beneath <config> ... </config> is no longer supported.
+  It should move to UIMAUpdateRequestProcessorFactory setting.
+  See contrib/uima/README.txt for more details. (SOLR-2436)
+
 Test Cases:
+----------------------
+
+* SOLR-2387: add mock annotators for improved testing,
+  (Tommaso Teofili via rmuir)
+
+Other Changes
+----------------------
 
- * SOLR-2387: add mock annotators for improved testing,
-   (Tommaso Teofili via rmuir)
+* SOLR-2436: move uimaConfig to under the uima's update processor in solrconfig.xml.
+  (Tommaso Teofili, koji)
 
-==================  3.1.0-dev ==================
+==================  3.1.0 ==================
 
 Initial Release

Modified: lucene/dev/branches/docvalues/solr/contrib/uima/README.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/README.txt?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/README.txt (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/README.txt Mon May  2 13:50:57 2011
@@ -3,38 +3,61 @@ Getting Started
 To start using Solr UIMA Metadata Extraction Library you should go through the following configuration steps:
 
 1. copy generated solr-uima jar and its libs (under contrib/uima/lib) inside a Solr libraries directory.
+   or set <lib/> tags in solrconfig.xml appropriately to point those jar files.
+
+   <lib dir="../../contrib/uima/lib" />
+   <lib dir="../../dist/" regex="apache-solr-uima-\d.*\.jar" />
 
 2. modify your schema.xml adding the fields you want to be hold metadata specifying proper values for type, indexed, stored and multiValued options:
 
-3. for example you could specify the following
+   for example you could specify the following
+
   <field name="language" type="string" indexed="true" stored="true" required="false"/>
   <field name="concept" type="string" indexed="true" stored="true" multiValued="true" required="false"/>
   <field name="sentence" type="text" indexed="true" stored="true" multiValued="true" required="false" />
 
-4. modify your solrconfig.xml adding the following snippet:
-  <uimaConfig>
-    <runtimeParameters>
-      <keyword_apikey>VALID_ALCHEMYAPI_KEY</keyword_apikey>
-      <concept_apikey>VALID_ALCHEMYAPI_KEY</concept_apikey>
-      <lang_apikey>VALID_ALCHEMYAPI_KEY</lang_apikey>
-      <cat_apikey>VALID_ALCHEMYAPI_KEY</cat_apikey>
-      <entities_apikey>VALID_ALCHEMYAPI_KEY</entities_apikey>
-      <oc_licenseID>VALID_OPENCALAIS_KEY</oc_licenseID>
-    </runtimeParameters>
-    <analysisEngine>/org/apache/uima/desc/OverridingParamsExtServicesAE.xml</analysisEngine>
-    <analyzeFields merge="false">text</analyzeFields>
-    <fieldMapping>
-      <type name="org.apache.uima.alchemy.ts.concept.ConceptFS">
-       <map feature="text" field="concept"/>
-      </type>
-      <type name="org.apache.uima.alchemy.ts.language.LanguageFS">
-       <map feature="language" field="language"/>
-      </type>
-      <type name="org.apache.uima.SentenceAnnotation">
-        <map feature="coveredText" field="sentence"/>
-      </type>
-    </fieldMapping>
-  </uimaConfig>
+3. modify your solrconfig.xml adding the following snippet:
+
+  <updateRequestProcessorChain name="uima">
+    <processor class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory">
+      <lst name="uimaConfig">
+        <lst name="runtimeParameters">
+          <str name="keyword_apikey">VALID_ALCHEMYAPI_KEY</str>
+          <str name="concept_apikey">VALID_ALCHEMYAPI_KEY</str>
+          <str name="lang_apikey">VALID_ALCHEMYAPI_KEY</str>
+          <str name="cat_apikey">VALID_ALCHEMYAPI_KEY</str>
+          <str name="entities_apikey">VALID_ALCHEMYAPI_KEY</str>
+          <str name="oc_licenseID">VALID_OPENCALAIS_KEY</str>
+        </lst>
+        <str name="analysisEngine">/org/apache/uima/desc/OverridingParamsExtServicesAE.xml</str>
+        <lst name="analyzeFields">
+          <bool name="merge">false</bool>
+          <arr name="fields">
+            <str>text</str>
+          </arr>
+        </lst>
+        <lst name="fieldMappings">
+          <lst name="mapping">
+            <str name="type">org.apache.uima.alchemy.ts.concept.ConceptFS</str>
+            <str name="feature">text</str>
+            <str name="field">concept</str>
+          </lst>
+          <lst name="mapping">
+            <str name="type">org.apache.uima.alchemy.ts.language.LanguageFS</str>
+            <str name="feature">language</str>
+            <str name="field">language</str>
+          </lst>
+          <lst name="mapping">
+            <str name="type">org.apache.uima.SentenceAnnotation</str>
+            <str name="feature">coveredText</str>
+            <str name="field">sentence</str>
+          </lst>
+        </lst>
+      </lst>
+    </processor>
+    <processor class="solr.LogUpdateProcessorFactory" />
+    <processor class="solr.RunUpdateProcessorFactory" />
+  </updateRequestProcessorChain>
 
    where VALID_ALCHEMYAPI_KEY is your AlchemyAPI Access Key. You need to register AlchemyAPI Access
    key to exploit the AlchemyAPI services: http://www.alchemyapi.com/api/register.html
@@ -42,21 +65,14 @@ To start using Solr UIMA Metadata Extrac
    where VALID_OPENCALAIS_KEY is your Calais Service Key. You need to register Calais Service
    key to exploit the Calais services: http://www.opencalais.com/apikey
   
-5. the analysisEngine tag must contain an AE descriptor inside the specified path in the classpath
+   the analysisEngine must contain an AE descriptor inside the specified path in the classpath
 
-6. the analyzeFields tag must contain the input fields that need to be analyzed by UIMA,
+   the analyzeFields must contain the input fields that need to be analyzed by UIMA,
    if merge=true then their content will be merged and analyzed only once
 
-7. field mapping describes which features of which types should go in a field
-
-8. define in your solrconfig.xml an UpdateRequestProcessorChain as following:
-  <updateRequestProcessorChain name="uima">
-    <processor class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory"/>
-    <processor class="solr.LogUpdateProcessorFactory" />
-    <processor class="solr.RunUpdateProcessorFactory" />
-  </updateRequestProcessorChain>
+   field mapping describes which features of which types should go in a field
 
-9. in your solrconfig.xml replace the existing default (<requestHandler name="/update"...)  or create a new UpdateRequestHandler with the following:
+4. in your solrconfig.xml replace the existing default (<requestHandler name="/update"...)  or create a new UpdateRequestHandler with the following:
   <requestHandler name="/update" class="solr.XmlUpdateRequestHandler">
     <lst name="defaults">
       <str name="update.processor">uima</str>

Modified: lucene/dev/branches/docvalues/solr/contrib/uima/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/build.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/build.xml (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/build.xml Mon May  2 13:50:57 2011
@@ -40,7 +40,7 @@
     <path refid="common.classpath" />
     <pathelement path="${dest}/classes" />
     <pathelement path="${dest}/test-classes" />
-    <pathelement location="${solr-path}/build/tests"/> <!-- include solr test code -->
+    <pathelement location="${solr-path}/build/test-framework"/> <!-- include solr test code -->
     <pathelement location="${solr-path}/../lucene/build/classes/test-framework" />  <!-- include some lucene test code -->
     <pathelement path="${java.class.path}"/>
   </path>
@@ -52,7 +52,7 @@
   <target name="init">
     <mkdir dir="${dest}/classes"/>
     <mkdir dir="${build.javadoc}" />
-    <subant target="compileTests">
+    <subant target="compileTestFramework">
       <fileset dir="${solr-path}" includes="build.xml"/>
     </subant>
     <subant target="make-manifest">

Modified: lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfiguration.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfiguration.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfiguration.java (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfiguration.java Mon May  2 13:50:57 2011
@@ -21,7 +21,7 @@ import java.util.Map;
 
 /**
  * Configuration holding all the configurable parameters for calling UIMA inside Solr
- * 
+ *
  * @version $Id$
  */
 public class SolrUIMAConfiguration {
@@ -65,5 +65,4 @@ public class SolrUIMAConfiguration {
   public Map<String, Object> getRuntimeParameters() {
     return runtimeParameters;
   }
-
 }

Modified: lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfigurationReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfigurationReader.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfigurationReader.java (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfigurationReader.java Mon May  2 13:50:57 2011
@@ -18,11 +18,10 @@ package org.apache.solr.uima.processor;
  */
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
-import org.apache.solr.core.SolrConfig;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
+import org.apache.solr.common.util.NamedList;
 
 /**
  * Read configuration for Solr-UIMA integration
@@ -32,18 +31,10 @@ import org.w3c.dom.NodeList;
  */
 public class SolrUIMAConfigurationReader {
 
-  private static final String AE_RUNTIME_PARAMETERS_NODE_PATH = "/config/uimaConfig/runtimeParameters";
+  private NamedList<Object> args;
 
-  private static final String FIELD_MAPPING_NODE_PATH = "/config/uimaConfig/fieldMapping";
-
-  private static final String ANALYZE_FIELDS_NODE_PATH = "/config/uimaConfig/analyzeFields";
-
-  private static final String ANALYSIS_ENGINE_NODE_PATH = "/config/uimaConfig/analysisEngine";
-
-  private SolrConfig solrConfig;
-
-  public SolrUIMAConfigurationReader(SolrConfig solrConfig) {
-    this.solrConfig = solrConfig;
+  public SolrUIMAConfigurationReader(NamedList<Object> args) {
+    this.args = args;
   }
 
   public SolrUIMAConfiguration readSolrUIMAConfiguration() {
@@ -52,73 +43,51 @@ public class SolrUIMAConfigurationReader
   }
 
   private String readAEPath() {
-    return solrConfig.getNode(ANALYSIS_ENGINE_NODE_PATH, true).getTextContent();
+    return (String) args.get("analysisEngine");
   }
 
+  @SuppressWarnings("rawtypes")
+  private NamedList getAnalyzeFields() {
+    return (NamedList) args.get("analyzeFields");
+  }
+
+  @SuppressWarnings("unchecked")
   private String[] readFieldsToAnalyze() {
-    Node analyzeFieldsNode = solrConfig.getNode(ANALYZE_FIELDS_NODE_PATH, true);
-    return analyzeFieldsNode.getTextContent().split(",");
+    List<String> fields = (List<String>) getAnalyzeFields().get("fields");
+    return fields.toArray(new String[fields.size()]);
   }
 
   private boolean readFieldsMerging() {
-    Node analyzeFieldsNode = solrConfig.getNode(ANALYZE_FIELDS_NODE_PATH, true);
-    Node mergeNode = analyzeFieldsNode.getAttributes().getNamedItem("merge");
-    return Boolean.valueOf(mergeNode.getNodeValue());
+    return (Boolean) getAnalyzeFields().get("merge");
   }
 
+  @SuppressWarnings("rawtypes")
   private Map<String, Map<String, String>> readTypesFeaturesFieldsMapping() {
     Map<String, Map<String, String>> map = new HashMap<String, Map<String, String>>();
 
-    Node fieldMappingNode = solrConfig.getNode(FIELD_MAPPING_NODE_PATH, true);
+    NamedList fieldMappings = (NamedList) args.get("fieldMappings");
     /* iterate over UIMA types */
-    if (fieldMappingNode.hasChildNodes()) {
-      NodeList typeNodes = fieldMappingNode.getChildNodes();
-      for (int i = 0; i < typeNodes.getLength(); i++) {
-        /* <type> node */
-        Node typeNode = typeNodes.item(i);
-        if (typeNode.getNodeType() != Node.TEXT_NODE) {
-          Node typeNameAttribute = typeNode.getAttributes().getNamedItem("name");
-          /* get a UIMA typename */
-          String typeName = typeNameAttribute.getNodeValue();
-          /* create entry for UIMA type */
-          map.put(typeName, new HashMap<String, String>());
-          if (typeNode.hasChildNodes()) {
-            /* iterate over features */
-            NodeList featuresNodeList = typeNode.getChildNodes();
-            for (int j = 0; j < featuresNodeList.getLength(); j++) {
-              Node mappingNode = featuresNodeList.item(j);
-              if (mappingNode.getNodeType() != Node.TEXT_NODE) {
-                /* get field name */
-                Node fieldNameNode = mappingNode.getAttributes().getNamedItem("field");
-                String mappedFieldName = fieldNameNode.getNodeValue();
-                /* get feature name */
-                Node featureNameNode = mappingNode.getAttributes().getNamedItem("feature");
-                String featureName = featureNameNode.getNodeValue();
-                /* map the feature to the field for the specified type */
-                map.get(typeName).put(featureName, mappedFieldName);
-              }
-            }
-          }
-        }
-      }
+    for (int i = 0; i < fieldMappings.size(); i++) {
+      NamedList mapping = (NamedList) fieldMappings.get("mapping", i);
+      String typeName = (String) mapping.get("type");
+      String featureName = (String) mapping.get("feature");
+      String mappedFieldName = (String) mapping.get("field");
+      Map<String, String> subMap = new HashMap<String, String>();
+      subMap.put(featureName, mappedFieldName);
+      map.put(typeName, subMap);
     }
     return map;
   }
 
+  @SuppressWarnings("rawtypes")
   private Map<String, Object> readAEOverridingParameters() {
     Map<String, Object> runtimeParameters = new HashMap<String, Object>();
-    Node uimaConfigNode = solrConfig.getNode(AE_RUNTIME_PARAMETERS_NODE_PATH, true);
-
-    if (uimaConfigNode.hasChildNodes()) {
-      NodeList overridingNodes = uimaConfigNode.getChildNodes();
-      for (int i = 0; i < overridingNodes.getLength(); i++) {
-        Node overridingNode = overridingNodes.item(i);
-        if (overridingNode.getNodeType() != Node.TEXT_NODE && overridingNode.getNodeType() != Node.COMMENT_NODE) {
-          runtimeParameters.put(overridingNode.getNodeName(), overridingNode.getTextContent());
-        }
-      }
+    NamedList runtimeParams = (NamedList) args.get("runtimeParameters");
+    for (int i = 0; i < runtimeParams.size(); i++) {
+      String name = runtimeParams.getName(i);
+      Object value = runtimeParams.getVal(i);
+      runtimeParameters.put(name, value);
     }
-
     return runtimeParameters;
   }
 

Modified: lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessor.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessor.java (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessor.java Mon May  2 13:50:57 2011
@@ -34,7 +34,7 @@ import org.apache.uima.resource.Resource
 
 /**
  * Update document(s) to be indexed with UIMA extracted information
- * 
+ *
  * @version $Id$
  */
 public class UIMAUpdateRequestProcessor extends UpdateRequestProcessor {
@@ -43,15 +43,14 @@ public class UIMAUpdateRequestProcessor 
 
   private AEProvider aeProvider;
 
-  public UIMAUpdateRequestProcessor(UpdateRequestProcessor next, SolrCore solrCore) {
+  public UIMAUpdateRequestProcessor(UpdateRequestProcessor next, SolrCore solrCore,
+      SolrUIMAConfiguration config) {
     super(next);
-    initialize(solrCore);
+    initialize(solrCore, config);
   }
 
-  private void initialize(SolrCore solrCore) {
-    SolrUIMAConfigurationReader uimaConfigurationReader = new SolrUIMAConfigurationReader(solrCore
-            .getSolrConfig());
-    solrUIMAConfiguration = uimaConfigurationReader.readSolrUIMAConfiguration();
+  private void initialize(SolrCore solrCore, SolrUIMAConfiguration config) {
+    solrUIMAConfiguration = config;
     aeProvider = AEProviderFactory.getInstance().getAEProvider(solrCore.getName(),
             solrUIMAConfiguration.getAePath(), solrUIMAConfiguration.getRuntimeParameters());
   }

Modified: lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorFactory.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorFactory.java Mon May  2 13:50:57 2011
@@ -17,6 +17,7 @@ package org.apache.solr.uima.processor;
  * limitations under the License.
  */
 
+import org.apache.solr.common.util.NamedList;
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.response.SolrQueryResponse;
 import org.apache.solr.update.processor.UpdateRequestProcessor;
@@ -29,10 +30,19 @@ import org.apache.solr.update.processor.
  */
 public class UIMAUpdateRequestProcessorFactory extends UpdateRequestProcessorFactory {
 
+  private NamedList<Object> args;
+
+  @SuppressWarnings("unchecked")
+  @Override
+  public void init(@SuppressWarnings("rawtypes") NamedList args) {
+    this.args = (NamedList<Object>) args.get("uimaConfig");
+  }
+
   @Override
   public UpdateRequestProcessor getInstance(SolrQueryRequest req, SolrQueryResponse rsp,
           UpdateRequestProcessor next) {
-    return new UIMAUpdateRequestProcessor(next, req.getCore());
+    return new UIMAUpdateRequestProcessor(next, req.getCore(),
+            new SolrUIMAConfigurationReader(args).readSolrUIMAConfiguration());
   }
 
 }

Modified: lucene/dev/branches/docvalues/solr/contrib/uima/src/main/resources/solr/conf/aggregate-uima-config.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/src/main/resources/solr/conf/aggregate-uima-config.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/src/main/resources/solr/conf/aggregate-uima-config.xml (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/src/main/resources/solr/conf/aggregate-uima-config.xml Mon May  2 13:50:57 2011
@@ -15,19 +15,34 @@
     limitations under the License.
   -->
 
-<uimaConfig>
-  <runtimeParameters>
-    <keyword_apikey>VALID_ALCHEMYAPI_KEY</keyword_apikey>
-    <concept_apikey>VALID_ALCHEMYAPI_KEY</concept_apikey>
-    <lang_apikey>VALID_ALCHEMYAPI_KEY</lang_apikey>
-    <cat_apikey>VALID_ALCHEMYAPI_KEY</cat_apikey>
-    <oc_licenseID>VALID_OPENCALAIS_KEY</oc_licenseID>
-  </runtimeParameters>
-  <analysisEngine>/org/apache/uima/desc/OverridingParamsExtServicesAE.xml</analysisEngine>
-  <analyzeFields merge="false">text,title</analyzeFields>
-  <fieldMapping>
-    <type name="org.apache.uima.jcas.tcas.Annotation">
-      <map feature="coveredText" field="tag"/>
-    </type>
-  </fieldMapping>
-</uimaConfig>
\ No newline at end of file
+  <updateRequestProcessorChain name="uima">
+    <processor class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory">
+      <lst name="uimaConfig">
+        <lst name="runtimeParameters">
+          <str name="keyword_apikey">VALID_ALCHEMYAPI_KEY</str>
+          <str name="concept_apikey">VALID_ALCHEMYAPI_KEY</str>
+          <str name="lang_apikey">VALID_ALCHEMYAPI_KEY</str>
+          <str name="cat_apikey">VALID_ALCHEMYAPI_KEY</str>
+          <str name="entities_apikey">VALID_ALCHEMYAPI_KEY</str>
+          <str name="oc_licenseID">VALID_OPENCALAIS_KEY</str>
+        </lst>
+        <str name="analysisEngine">/org/apache/uima/desc/OverridingParamsExtServicesAE.xml</str>
+        <lst name="analyzeFields">
+          <bool name="merge">false</bool>
+          <arr name="fields">
+            <str>text</str>
+            <str>title</str>
+          </arr>
+        </lst>
+        <lst name="fieldMappings">
+          <lst name="mapping">
+            <str name="type">org.apache.uima.jcas.tcas.Annotation</str>
+            <str name="feature">convertText</str>
+            <str name="field">tag</str>
+          </lst>
+        </lst>
+      </lst>
+    </processor>
+    <processor class="solr.LogUpdateProcessorFactory" />
+    <processor class="solr.RunUpdateProcessorFactory" />
+  </updateRequestProcessorChain>

Modified: lucene/dev/branches/docvalues/solr/contrib/uima/src/test/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/src/test/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorTest.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/src/test/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorTest.java (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/src/test/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorTest.java Mon May  2 13:50:57 2011
@@ -108,7 +108,7 @@ public class UIMAUpdateRequestProcessorT
 
   private void addDoc(String doc) throws Exception {
     Map<String, String[]> params = new HashMap<String, String[]>();
-    params.put(UpdateParams.UPDATE_PROCESSOR, new String[] { "uima" });
+    params.put(UpdateParams.UPDATE_CHAIN, new String[] { "uima" });
     MultiMapSolrParams mmparams = new MultiMapSolrParams(params);
     SolrQueryRequestBase req = new SolrQueryRequestBase(h.getCore(), (SolrParams) mmparams) {
     };

Modified: lucene/dev/branches/docvalues/solr/contrib/uima/src/test/resources/solr-uima/conf/solrconfig.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/src/test/resources/solr-uima/conf/solrconfig.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/src/test/resources/solr-uima/conf/solrconfig.xml (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/src/test/resources/solr-uima/conf/solrconfig.xml Mon May  2 13:50:57 2011
@@ -295,7 +295,7 @@
   <!--
     <indexReaderFactory name="IndexReaderFactory"
     class="org.apache.solr.core.StandardIndexReaderFactory"> <int
-    name="termInfosIndexDivisor">12</int> </indexReaderFactory >
+    name="setTermIndexDivisor">12</int> </indexReaderFactory >
   -->
 
 
@@ -855,7 +855,7 @@
   -->
   <requestHandler name="/update" class="solr.XmlUpdateRequestHandler">
     <lst name="defaults">
-      <str name="update.processor">uima</str>
+      <str name="update.chain">uima</str>
     </lst>
   </requestHandler>
 
@@ -953,42 +953,6 @@
     </lst>
   </requestHandler>
 
-  <highlighting>
-    <!-- Configure the standard fragmenter -->
-    <!-- This could most likely be commented out in the "default" case -->
-    <fragmenter name="gap"
-      class="org.apache.solr.highlight.GapFragmenter" default="true">
-      <lst name="defaults">
-        <int name="hl.fragsize">100</int>
-      </lst>
-    </fragmenter>
-
-    <!--
-      A regular-expression-based fragmenter (f.i., for sentence
-      extraction)
-    -->
-    <fragmenter name="regex"
-      class="org.apache.solr.highlight.RegexFragmenter">
-      <lst name="defaults">
-        <!-- slightly smaller fragsizes work better because of slop -->
-        <int name="hl.fragsize">70</int>
-        <!-- allow 50% slop on fragment sizes -->
-        <float name="hl.regex.slop">0.5</float>
-        <!-- a basic sentence pattern -->
-        <str name="hl.regex.pattern">[-\w ,/\n\"']{20,200}</str>
-      </lst>
-    </fragmenter>
-
-    <!-- Configure the standard formatter -->
-    <formatter name="html" class="org.apache.solr.highlight.HtmlFormatter"
-      default="true">
-      <lst name="defaults">
-        <str name="hl.simple.pre"><![CDATA[<em>]]></str>
-        <str name="hl.simple.post"><![CDATA[</em>]]></str>
-      </lst>
-    </formatter>
-  </highlighting>
-
   <!--
     An example dedup update processor that creates the "id" field on the
     fly based on the hash code of some other fields. This example has
@@ -997,17 +961,45 @@
     anyway. You have to link the chain to an update handler above to use
     it ie: <requestHandler name="/update
     "class="solr.XmlUpdateRequestHandler"> <lst name="defaults"> <str
-    name="update.processor">dedupe</str> </lst> </requestHandler>
+    name="update.chain">dedupe</str> </lst> </requestHandler>
   -->
 
   <updateRequestProcessorChain name="uima">
-    <processor class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory"/>
+    <processor class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory">
+      <lst name="uimaConfig">
+        <lst name="runtimeParameters">
+          <int name="ngramsize">3</int>
+        </lst>
+        <str name="analysisEngine">/TestAE.xml</str>
+        <lst name="analyzeFields">
+          <bool name="merge">false</bool>
+          <arr name="fields">
+            <str>text</str>
+          </arr>
+        </lst>
+        <lst name="fieldMappings">
+          <lst name="mapping">
+            <str name="type">org.apache.uima.SentenceAnnotation</str>
+            <str name="feature">coveredText</str>
+            <str name="field">sentence</str>
+          </lst>
+          <lst name="mapping">
+            <str name="type">org.apache.solr.uima.ts.SentimentAnnotation</str>
+            <str name="feature">mood</str>
+            <str name="field">sentiment</str>
+          </lst>
+          <lst name="mapping">
+            <str name="type">org.apache.solr.uima.ts.EntityAnnotation</str>
+            <str name="feature">coveredText</str>
+            <str name="field">entity</str>
+          </lst>
+        </lst>
+      </lst>
+    </processor>
     <processor class="solr.LogUpdateProcessorFactory" />
     <processor class="solr.RunUpdateProcessorFactory" />
   </updateRequestProcessorChain>
 
-
-
   <!--
     queryResponseWriter plugins... query responses will be written using
     the writer specified by the 'wt' request parameter matching the name
@@ -1062,23 +1054,4 @@
     -->
   </admin>
 
-<uimaConfig>
-   <runtimeParameters>
-     <ngramsize>3</ngramsize>
-  </runtimeParameters>
-  <analysisEngine>/TestAE.xml</analysisEngine>
-  <analyzeFields merge="false">text</analyzeFields>
-  <fieldMapping>
-    <type name="org.apache.uima.SentenceAnnotation">
-      <map feature="coveredText" field="sentence"/>
-    </type>
-    <type name="org.apache.solr.uima.ts.SentimentAnnotation">
-      <map feature="mood" field="sentiment"/>
-    </type>
-    <type name="org.apache.solr.uima.ts.EntityAnnotation">
-      <map feature="coveredText" field="entity"/>
-    </type>
-  </fieldMapping>
-</uimaConfig>
-
 </config>

Modified: lucene/dev/branches/docvalues/solr/example/solr/conf/solrconfig.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/example/solr/conf/solrconfig.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/example/solr/conf/solrconfig.xml (original)
+++ lucene/dev/branches/docvalues/solr/example/solr/conf/solrconfig.xml Mon May  2 13:50:57 2011
@@ -774,6 +774,7 @@
        <str name="q.alt">*:*</str>
        <str name="rows">10</str>
        <str name="fl">*,score</str>
+
        <str name="mlt.qf">
          text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4
        </str>
@@ -792,6 +793,8 @@
        <int name="facet.range.start">0</int>
        <int name="facet.range.end">600</int>
        <int name="facet.range.gap">50</int>
+       <str name="facet.range">popularity</str>
+       <int name="f.popularity.facet.range.gap">3</int>
        <str name="facet.range.other">after</str>
        <str name="facet.date">manufacturedate_dt</str>
        <str name="facet.date.start">NOW/YEAR-10YEARS</str>
@@ -841,7 +844,7 @@
       -->
     <!--
        <lst name="defaults">
-         <str name="update.processor">dedupe</str>
+         <str name="update.chain">dedupe</str>
        </lst>
        -->
     </requestHandler>

Modified: lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/VM_global_library.vm
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/VM_global_library.vm?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/VM_global_library.vm (original)
+++ lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/VM_global_library.vm Mon May  2 13:50:57 2011
@@ -88,13 +88,13 @@
     <ul>
     #foreach ($facet in $field)
       #set($theDate = $date.toDate("yyyy-MM-dd'T'HH:mm:ss'Z'", $facet.key))
-      #set($value = '["' + $facet.key + '" TO "' + $facet.key + $gap + '"]')
+      #set($value = '["' + $facet.key + '" TO "' + $facet.key + $gap + '"}')
 
       #set($facetURL = "#url_for_facet_date_filter($fieldName, $value)")
       #if ($facetURL != '')
         #if ($facet.key != "gap" && $facet.key != "start" && $facet.key != "end" && $facet.key != "before" && $facet.key != "after")
 
-          <li><a href="$facetURL">$date.format('MMM yyyy', $theDate)</a> ($facet.value)</li>
+          <li><a href="$facetURL">$date.format('MMM yyyy', $theDate) $gap</a> ($facet.value)</li>
         #end
         #if ($facet.key == "before" && $facet.value > 0)
           <li><a href="$facetURL">Before</a> ($facet.value)</li>
@@ -113,20 +113,20 @@
   <span class="facet-field">$display</span>
     <ul>
     #if($before && $before != "")
-      #set($value = "[* TO " + $start + "]")
+      #set($value = "[* TO " + $start + "}")
       #set($facetURL = "#url_for_facet_range_filter($fieldName, $value)")
       <li><a href="$facetURL">Less than $start</a> ($before)</li>
     #end
     #foreach ($facet in $field)
       #set($rangeEnd = $math.add($facet.key, $gap))
-      #set($value = "[" + $facet.key + " TO " + $rangeEnd + "]")
+      #set($value = "[" + $facet.key + " TO " + $rangeEnd + "}")
       #set($facetURL = "#url_for_facet_range_filter($fieldName, $value)")
       #if ($facetURL != '')
-        <li><a href="$facetURL">$facet.key</a> ($facet.value)</li>
+        <li><a href="$facetURL">$facet.key - $rangeEnd</a> ($facet.value)</li>
       #end
     #end
-    #if($end && $end != "")
-      #set($value = "[" + $end + " TO *]")
+    #if($end && $end != "" && $after > 0)
+      #set($value = "[" + $end + " TO *}")
       #set($facetURL = "#url_for_facet_range_filter($fieldName, $value)")
       <li><a href="$facetURL">More than $math.toNumber($end)</a> ($after)</li>
     #end
@@ -180,4 +180,8 @@
       $v
     #end
   #end
-#end  
\ No newline at end of file
+#end  
+
+#macro(capitalize $name)
+  ${name.substring(0,1).toUpperCase()}${name.substring(1)}
+#end
\ No newline at end of file

Modified: lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/facet_dates.vm
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/facet_dates.vm?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/facet_dates.vm (original)
+++ lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/facet_dates.vm Mon May  2 13:50:57 2011
@@ -1,5 +1,9 @@
 ##TODO: Generically deal with all dates
 <h2 #annTitle("Facets generated by adding &facet.date= to the request")>Date Facets</h2>        
-#set($field = $response.response.facet_counts.facet_dates.manufacturedate_dt)
-#set($gap = $response.response.facet_counts.facet_dates.manufacturedate_dt.gap)
-#display_facet_date($field, "Manufacture Date", "manufacturedate_dt", $gap)
+#foreach ($field in $response.response.facet_counts.facet_dates)
+	#set($name = $field.key)
+	#set($display = "#capitalize($name)")
+	#set($f = $field.value)
+	#set($gap = $field.value.gap)
+    #display_facet_date($f, $display, $name, $gap)
+#end
\ No newline at end of file

Modified: lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/facet_ranges.vm
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/facet_ranges.vm?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/facet_ranges.vm (original)
+++ lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/facet_ranges.vm Mon May  2 13:50:57 2011
@@ -1,10 +1,12 @@
 <h2 #annTitle("Facets generated by adding &facet.range= to the request")>Range Facets</h2>
-#set($field = $response.response.facet_counts.facet_ranges.price.counts)
-#set($start = $response.response.facet_counts.facet_ranges.price.start)
-#set($end = $response.response.facet_counts.facet_ranges.price.end)
-#set($gap = $response.response.facet_counts.facet_ranges.price.gap)
-#set($before = $response.response.facet_counts.facet_ranges.price.before)
-#set($after = $response.response.facet_counts.facet_ranges.price.after)
-##TODO: Make this display the "range", not just the lower value
-##TODO: Have a generic way to deal with ranges
-#display_facet_range($field, "Price (in $)", "price", $start, $end, $gap, $before, $after)
+#foreach ($field in $response.response.facet_counts.facet_ranges)
+	#set($name = $field.key)
+	#set($display = "#capitalize($name)")
+	#set($f = $field.value.counts)
+	#set($start = $field.value.start)
+	#set($end = $field.value.end)
+	#set($gap = $field.value.gap)
+	#set($before = $field.value.before)
+	#set($after = $field.value.after)
+	#display_facet_range($f, $display, $name, $start, $end, $gap, $before, $after)
+#end
\ No newline at end of file

Modified: lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/main.css
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/main.css?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/main.css (original)
+++ lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/main.css Mon May  2 13:50:57 2011
@@ -18,6 +18,18 @@
   margin-left: 20px;
 }
 
+.parsed_query_header {
+  font-family: Helvetica, Arial, sans-serif;
+  font-size: 10pt;
+  font-weight: bold;
+}
+
+.parsed_query {
+  font-family: Courier, Courier New, monospaced;
+  font-size: 10pt;
+  font-weight: normal;
+}
+
 body {
   font-family: Helvetica, Arial, sans-serif;
   font-size: 10pt;

Modified: lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/query.vm
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/query.vm?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/query.vm (original)
+++ lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/query.vm Mon May  2 13:50:57 2011
@@ -27,14 +27,16 @@
         #end
       #end
     </div>
+    <div class="parsed_query_header">
      #if($request.params.get('debugQuery'))
-        <a href="#" onclick='jQuery(this).siblings("pre").toggle(); return false;'>toggle parsed query</a>
-        <pre style="display:none">$response.response.debug.parsedquery</pre>
+        <a href="#" onclick='jQuery(this).siblings("div").toggle(); return false;'>toggle parsed query</a>
+        <div class="parsed_query" style="display:none">$response.response.debug.parsedquery</div>
       #end
       #set($queryOpts = $request.params.get("queryOpts"))
       #if($queryOpts && $queryOpts != "")
         <input type="hidden" name="queryOpts" value="$queryOpts"/>
       #end
+    </div>
   </form>
 
 </div>

Modified: lucene/dev/branches/docvalues/solr/site/features.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/features.html?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/features.html (original)
+++ lucene/dev/branches/docvalues/solr/site/features.html Mon May  2 13:50:57 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/solrj/index.html">SolrJ Javadoc</a>
 </div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
 </div>
 <div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Resources</div>
 <div id="menu_1.3" class="menuitemgroup">

Modified: lucene/dev/branches/docvalues/solr/site/index.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/index.html?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/index.html (original)
+++ lucene/dev/branches/docvalues/solr/site/index.html Mon May  2 13:50:57 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/solrj/index.html">SolrJ Javadoc</a>
 </div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
 </div>
 <div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Resources</div>
 <div id="menu_1.3" class="menuitemgroup">
@@ -229,6 +232,9 @@ document.write("Last Published: " + docu
 <a href="#news">News</a>
 <ul class="minitoc">
 <li>
+<a href="#March+2011+-+Solr+3.1+Released">March 2011 - Solr 3.1 Released</a>
+</li>
+<li>
 <a href="#25+June+2010+-+Solr+1.4.1+Released">25 June 2010 - Solr 1.4.1 Released</a>
 </li>
 <li>
@@ -343,7 +349,55 @@ customization is required.
 <a name="N10059"></a><a name="news"></a>
 <h2 class="boxed">News</h2>
 <div class="section">
-<a name="N1005F"></a><a name="25+June+2010+-+Solr+1.4.1+Released"></a>
+<a name="N1005F"></a><a name="March+2011+-+Solr+3.1+Released"></a>
+<h3 class="boxed">March 2011 - Solr 3.1 Released</h3>
+<p>The Lucene PMC is pleased to announce the release of <a href="http://www.apache.org/dyn/closer.cgi/lucene/solr">Apache Solr 3.1</a>!
+  </p>
+<p>
+    Solr's version number was synced with Lucene following the Lucene/Solr merge, so Solr 3.1 contains Lucene 3.1.
+    Solr 3.1 is the first release after Solr 1.4.1.
+   </p>
+<p>
+   Solr 3.1 release highlights include
+ </p>
+<ul>
+    
+<li>
+<a href="http://wiki.apache.org/solr/SimpleFacetParameters#Facet_by_Range">Numeric range facets</a> (similar to date faceting).</li>
+    
+<li>New <a href="http://wiki.apache.org/solr/SpatialSearch">spatial search</a>, including spatial filtering, boosting and sorting capabilities.</li>
+    
+<li>Example Velocity driven search UI at <a href="http://localhost:8983/solr/browse">http://localhost:8983/solr/browse</a>
+</li>
+    
+<li>A new faster <a href="http://wiki.apache.org/solr/HighlightingParameters">termvector-based highlighter</a>.</li>
+    
+<li>Extended dismax (edismax) query parser with support for fielded queries, enhanced relevancy, and full lucene syntax support.</li>
+    
+<li>Distributed search support for the <a href="http://wiki.apache.org/solr/SpellCheckComponent">Spell check</a>
+ and <a href="http://wiki.apache.org/solr/TermsComponent">Terms</a> components.</li>
+    
+<li>
+<a href="http://wiki.apache.org/solr/Suggester">Suggester</a>, a fast trie-based autocomplete component.</li>
+    
+<li>Sort results by any <a href="http://wiki.apache.org/solr/FunctionQuery#Sort_By_Function any function">function query</a>.</li>
+    
+<li>
+<a href="http://wiki.apache.org/solr/UpdateJSON">JSON document indexing</a>.</li>
+    
+<li>
+<a href="http://wiki.apache.org/solr/CSVResponseWriter">CSV response format</a>
+</li>
+    
+<li>
+<a href="http://wiki.apache.org/solr/SolrUIMA">Apache UIMA integration</a> for metadata extraction.</li>
+    
+<li>Tons of optimizations, bugfixes, and new analysis capabilities via <a href="http://lucene.apache.org/java/docs/index.html">Apache Lucene 3.1</a>.</li>
+  
+</ul>
+<p>See the <a href="http://svn.apache.org/repos/asf/lucene/dev/tags/lucene_solr_3_1/solr/CHANGES.txt">release notes</a> for a more complete list of all the new features, improvements, and bugfixes.
+ </p>
+<a name="N100CA"></a><a name="25+June+2010+-+Solr+1.4.1+Released"></a>
 <h3 class="boxed">25 June 2010 - Solr 1.4.1 Released</h3>
 <p>
            Solr 1.4.1 has been released and is now available for public
@@ -356,7 +410,7 @@ customization is required.
           See the <a href="http://svn.apache.org/repos/asf/lucene/solr/tags/release-1.4.1/CHANGES.txt">release notes</a>
           for more details.
           </p>
-<a name="N10074"></a><a name="7+May+2010+-+Apache+Lucene+Eurocon+2010+Coming+to+Prague+May+18-21"></a>
+<a name="N100DF"></a><a name="7+May+2010+-+Apache+Lucene+Eurocon+2010+Coming+to+Prague+May+18-21"></a>
 <h3 class="boxed">7 May 2010 - Apache Lucene Eurocon 2010 Coming to Prague May 18-21</h3>
 <p>
           On May 18th to the 21st Prague will play host to the first
@@ -428,7 +482,7 @@ customization is required.
 </li>
         
 </ul>
-<a name="N100C0"></a><a name="10+November+2009+-+Solr+1.4+Released"></a>
+<a name="N1012B"></a><a name="10+November+2009+-+Solr+1.4+Released"></a>
 <h3 class="boxed">10 November 2009 - Solr 1.4 Released</h3>
 <p>
      Solr 1.4 has been released and is now available for public <a href="http://www.apache.org/dyn/closer.cgi/lucene/solr/">download</a>!
@@ -460,7 +514,7 @@ customization is required.
 </ul>
 <p>See the <a href="http://svn.apache.org/repos/asf/lucene/solr/tags/release-1.4.0/CHANGES.txt">release notes</a> for more details.
  </p>
-<a name="N100F0"></a><a name="20+August+2009+-+Solr%27s+first+book+is+published%21"></a>
+<a name="N1015B"></a><a name="20+August+2009+-+Solr%27s+first+book+is+published%21"></a>
 <h3 class="boxed">20 August 2009 - Solr's first book is published!</h3>
 <p>
    
@@ -475,7 +529,7 @@ customization is required.
    </p>
 <p>Finally, this book covers various deployment considerations to include indexing strategies and performance-oriented configuration that will enable you to scale Solr to meet the needs of a high-volume site.
    </p>
-<a name="N10110"></a><a name="18+August+2009+-+Lucene+at+US+ApacheCon"></a>
+<a name="N1017B"></a><a name="18+August+2009+-+Lucene+at+US+ApacheCon"></a>
 <h3 class="boxed">18 August 2009 - Lucene at US ApacheCon</h3>
 <p>
  
@@ -551,7 +605,7 @@ Be sure not to miss:
     Search</a> - Jason Rutherglen @ 15:00</li>
 
 </ul>
-<a name="N10184"></a><a name="09+February+2009+-+Lucene+at+ApacheCon+Europe+2009+in+Amsterdam"></a>
+<a name="N101EF"></a><a name="09+February+2009+-+Lucene+at+ApacheCon+Europe+2009+in+Amsterdam"></a>
 <h3 class="boxed">09 February 2009 - Lucene at ApacheCon Europe 2009 in Amsterdam</h3>
 <p>
                
@@ -589,23 +643,23 @@ Be sure not to miss:
 
 							              
 </ul>
-<a name="N101CD"></a><a name="19+December+2008+-+Solr+Logo+Contest+Results"></a>
+<a name="N10238"></a><a name="19+December+2008+-+Solr+Logo+Contest+Results"></a>
 <h3 class="boxed">19 December 2008 - Solr Logo Contest Results</h3>
 <p>Many great logos were submitted, but only one could be chosen.  Congratulations Michiel,
 	the creator of the winning logo that is proudly displayed at the top of this page.  
 	</p>
-<a name="N101D6"></a><a name="03+October+2008+-+Solr+Logo+Contest"></a>
+<a name="N10241"></a><a name="03+October+2008+-+Solr+Logo+Contest"></a>
 <h3 class="boxed">03 October 2008 - Solr Logo Contest</h3>
 <p>By popular demand, Solr is holding a contest to pick a new Solr logo.  Details about how to submit an entry can be found <a href="http://wiki.apache.org/solr/LogoContest">on the wiki</a>.  The Deadline for submissions is November 20th, 2008 @ 11:59PM GMT.
 	</p>
-<a name="N101E3"></a><a name="15+September+2008+-+Solr+1.3.0+Available"></a>
+<a name="N1024E"></a><a name="15+September+2008+-+Solr+1.3.0+Available"></a>
 <h3 class="boxed">15 September 2008 - Solr 1.3.0 Available</h3>
 <p>Solr 1.3.0 is available for public download.  This version contains many enhancements and bug fixes, including distributed search capabilities,
 			Lucene 2.3.x performance improvements and many others.
 		</p>
 <p>See the <a href="http://svn.apache.org/repos/asf/lucene/solr/tags/release-1.3.0/CHANGES.txt">release notes</a> for more details.  Download is
     available from a <a href="http://www.apache.org/dyn/closer.cgi/lucene/solr/">Apache Mirror</a>.</p>
-<a name="N101F7"></a><a name="28+August+2008+-+Lucene%2FSolr+at+ApacheCon+New+Orleans"></a>
+<a name="N10262"></a><a name="28+August+2008+-+Lucene%2FSolr+at+ApacheCon+New+Orleans"></a>
 <h3 class="boxed">28 August 2008 - Lucene/Solr at ApacheCon New Orleans</h3>
 <p>
 	         
@@ -627,7 +681,7 @@ Be sure not to miss:
 <li>An <a href="http://us.apachecon.com/c/acus2008/schedule/2008/11/05">entire day of Lucene sessions</a> on November 5th</li>
 	        
 </ul>
-<a name="N10225"></a><a name="03+September+2007+-+Lucene+at+ApacheCon+Atlanta"></a>
+<a name="N10290"></a><a name="03+September+2007+-+Lucene+at+ApacheCon+Atlanta"></a>
 <h3 class="boxed">03 September 2007 - Lucene at ApacheCon Atlanta</h3>
 <p>
 <a href="http://www.us.apachecon.com"><img alt="ApacheCon US logo" class="float-right" src="http://www.apache.org/ads/ApacheCon/2007-usa-125x125.png"></a>
@@ -647,7 +701,7 @@ Be sure not to miss:
 <li>November 16, 4:00 pm: <a href="http://us.apachecon.com/us2007/program/talk/2017"> Advanced Indexing Techniques with Apache Lucene</a> by Michael Busch. Information on payloads and advanced indexing techniques.</li>
               
 </ul>
-<a name="N1025E"></a><a name="06+June+2007%3A+Release+1.2+available"></a>
+<a name="N102C9"></a><a name="06+June+2007%3A+Release+1.2+available"></a>
 <h3 class="boxed">06 June 2007: Release 1.2 available</h3>
 <p>
         This is the first release since Solr graduated from the Incubator,
@@ -657,40 +711,40 @@ Be sure not to miss:
         and more flexible plugins.
       </p>
 <p>See the <a href="http://svn.apache.org/repos/asf/lucene/solr/tags/release-1.2.0/CHANGES.txt">release notes</a> for more details.</p>
-<a name="N1026F"></a><a name="17+January+2007%3A+Solr+graduates+from+Incubator"></a>
+<a name="N102DA"></a><a name="17+January+2007%3A+Solr+graduates+from+Incubator"></a>
 <h3 class="boxed">17 January 2007: Solr graduates from Incubator</h3>
 <p>
         Solr has graduated from the Apache Incubator, and is now a sub-project of Lucene.
       </p>
-<a name="N10279"></a><a name="22+December+2006%3A+Release+1.1.0+available"></a>
+<a name="N102E4"></a><a name="22+December+2006%3A+Release+1.1.0+available"></a>
 <h3 class="boxed">22 December 2006: Release 1.1.0 available</h3>
 <p>
         This is the first release since Solr joined the Incubator, and brings
         many new features and performance optimizations including highlighting,
         faceted search, and JSON/Python/Ruby response formats.
       </p>
-<a name="N10283"></a><a name="15+August+2006%3A+Solr+at+ApacheCon+US"></a>
+<a name="N102EE"></a><a name="15+August+2006%3A+Solr+at+ApacheCon+US"></a>
 <h3 class="boxed">15 August 2006: Solr at ApacheCon US</h3>
 <p>Chris Hostetter will be presenting
         <strong><a href="http://www.apachecon.com/2006/US/html/sessions.html#FR26">"Faceted Searching With Apache Solr"</a></strong>  
         at ApacheCon US 2006, on October 13th at 4:30pm.
         See the <a href="http://www.us.apachecon.com/">ApacheCon</a> website for more details.
       </p>
-<a name="N10296"></a><a name="21+April+2006%3A+Solr+at+ApacheCon"></a>
+<a name="N10301"></a><a name="21+April+2006%3A+Solr+at+ApacheCon"></a>
 <h3 class="boxed">21 April 2006: Solr at ApacheCon</h3>
 <p>Yonik Seeley will be presenting
         <strong>"Apache Solr, a Full-Text Search Server based on Lucene"</strong>  
         at ApacheCon Europe 2006, on June 29th at 5:30pm.
         See the <a href="http://www.eu.apachecon.com/">ApacheCon</a> website for more details.
       </p>
-<a name="N102A7"></a><a name="21+February+2006%3A+nightly+builds"></a>
+<a name="N10312"></a><a name="21+February+2006%3A+nightly+builds"></a>
 <h3 class="boxed">21 February 2006: nightly builds</h3>
 <p>Solr now has nightly builds.  This automatically creates a
       <a href="http://people.apache.org/builds/lucene/solr/nightly/">downloadable version of Solr every
       night</a>.  All unit tests must pass, or a message is sent to
       the developers mailing list and no new version is created.  This
       also updates the <a href="api/index.html">javadoc</a>.</p>
-<a name="N102B9"></a><a name="17+January+2006%3A+Solr+Joins+Apache+Incubator"></a>
+<a name="N10324"></a><a name="17+January+2006%3A+Solr+Joins+Apache+Incubator"></a>
 <h3 class="boxed">17 January 2006: Solr Joins Apache Incubator</h3>
 <p>Solr, a search server based on Lucene, has been accepted into the Apache Incubator.
             Solr was originally developed by CNET Networks, and is widely used within CNET

Modified: lucene/dev/branches/docvalues/solr/site/index.pdf
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/index.pdf?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
Binary files - no diff available.

Modified: lucene/dev/branches/docvalues/solr/site/issue_tracking.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/issue_tracking.html?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/issue_tracking.html (original)
+++ lucene/dev/branches/docvalues/solr/site/issue_tracking.html Mon May  2 13:50:57 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/solrj/index.html">SolrJ Javadoc</a>
 </div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
 </div>
 <div onclick="SwitchMenu('menu_selected_1.3', 'skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Resources</div>
 <div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">

Modified: lucene/dev/branches/docvalues/solr/site/linkmap.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/linkmap.html?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/linkmap.html (original)
+++ lucene/dev/branches/docvalues/solr/site/linkmap.html Mon May  2 13:50:57 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/solrj/index.html">SolrJ Javadoc</a>
 </div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
 </div>
 <div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Resources</div>
 <div id="menu_1.3" class="menuitemgroup">
@@ -285,6 +288,12 @@ document.write("Last Published: " + docu
 <a href="api/solrj/index.html">SolrJ Javadoc</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>apidocs</em>
 </li>
 </ul>
+    
+<ul>
+<li>
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>apidocs</em>
+</li>
+</ul>
   
 </ul>
 </ul>

Modified: lucene/dev/branches/docvalues/solr/site/linkmap.pdf
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/linkmap.pdf?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
Binary files - no diff available.

Modified: lucene/dev/branches/docvalues/solr/site/mailing_lists.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/mailing_lists.html?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/mailing_lists.html (original)
+++ lucene/dev/branches/docvalues/solr/site/mailing_lists.html Mon May  2 13:50:57 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/solrj/index.html">SolrJ Javadoc</a>
 </div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
 </div>
 <div onclick="SwitchMenu('menu_selected_1.3', 'skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Resources</div>
 <div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">

Modified: lucene/dev/branches/docvalues/solr/site/skin/basic.css
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/skin/basic.css?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/skin/basic.css (original)
+++ lucene/dev/branches/docvalues/solr/site/skin/basic.css Mon May  2 13:50:57 2011
@@ -163,4 +163,4 @@ p {
 .codefrag {
   font-family: "Courier New", Courier, monospace;
   font-size: 110%;
-}
\ No newline at end of file
+}

Modified: lucene/dev/branches/docvalues/solr/site/skin/print.css
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/skin/print.css?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/skin/print.css (original)
+++ lucene/dev/branches/docvalues/solr/site/skin/print.css Mon May  2 13:50:57 2011
@@ -51,4 +51,4 @@ a:link, a:visited {
 
 acronym {
   border: 0;
-}
\ No newline at end of file
+}

Modified: lucene/dev/branches/docvalues/solr/site/skin/profile.css
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/skin/profile.css?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/skin/profile.css (original)
+++ lucene/dev/branches/docvalues/solr/site/skin/profile.css Mon May  2 13:50:57 2011
@@ -172,4 +172,4 @@ a:hover { color:#6587ff} 
     }
       
     
-  
\ No newline at end of file
+  

Modified: lucene/dev/branches/docvalues/solr/site/skin/screen.css
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/skin/screen.css?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/skin/screen.css (original)
+++ lucene/dev/branches/docvalues/solr/site/skin/screen.css Mon May  2 13:50:57 2011
@@ -584,4 +584,4 @@ p.instruction {
   list-style-image: url('../images/instruction_arrow.png');
   list-style-position: outside;
   margin-left: 2em;
-} 
\ No newline at end of file
+} 

Modified: lucene/dev/branches/docvalues/solr/site/tutorial.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/tutorial.html?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/tutorial.html (original)
+++ lucene/dev/branches/docvalues/solr/site/tutorial.html Mon May  2 13:50:57 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/solrj/index.html">SolrJ Javadoc</a>
 </div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
 </div>
 <div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Resources</div>
 <div id="menu_1.3" class="menuitemgroup">

Modified: lucene/dev/branches/docvalues/solr/site/version_control.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/version_control.html?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/version_control.html (original)
+++ lucene/dev/branches/docvalues/solr/site/version_control.html Mon May  2 13:50:57 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/solrj/index.html">SolrJ Javadoc</a>
 </div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
 </div>
 <div onclick="SwitchMenu('menu_selected_1.3', 'skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Resources</div>
 <div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">

Modified: lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/SolrDocumentList.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/SolrDocumentList.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/SolrDocumentList.java (original)
+++ lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/SolrDocumentList.java Mon May  2 13:50:57 2011
@@ -61,7 +61,7 @@ public class SolrDocumentList extends Ar
   public String toString() {
     return "{numFound="+numFound
             +",start="+start
-            + (maxScore!=null ? ""+maxScore : "")
+            + (maxScore!=null ? ",maxScore="+maxScore : "")
             +",docs="+super.toString()
             +"}";
   }

Modified: lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/params/UpdateParams.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/params/UpdateParams.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/params/UpdateParams.java (original)
+++ lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/params/UpdateParams.java Mon May  2 13:50:57 2011
@@ -43,8 +43,11 @@ public interface UpdateParams 
   /** Rollback update commands */
   public static String ROLLBACK = "rollback";
 
-  /** Select the update processor to use.  A RequestHandler may or may not respect this parameter */
-  public static final String UPDATE_PROCESSOR = "update.processor";
+  /** Select the update processor chain to use.  A RequestHandler may or may not respect this parameter */
+  public static final String UPDATE_CHAIN = "update.chain";
+  // TODO: Include the old deprecated param, for removal in Solr 4.0
+  public static final String UPDATE_CHAIN_DEPRECATED = "update.processor";
+
   /**
    * If optimizing, set the maximum number of segments left in the index after optimization.  1 is the default (and is equivalent to calling IndexWriter.optimize() in Lucene).
    */

Modified: lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/util/NamedList.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/util/NamedList.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/util/NamedList.java (original)
+++ lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/util/NamedList.java Mon May  2 13:50:57 2011
@@ -43,7 +43,7 @@ import java.io.Serializable;
  * by key, so ResponseWriters that output to a format such as JSON will normally
  * choose a data structure that allows order to be easily preserved in various
  * clients (i.e. not a straight map).
- * If access by key is more important, see {@link SimpleOrderedMap},
+ * If access by key is more important for serialization, see {@link SimpleOrderedMap},
  * or simply use a regular {@link Map}
  * </p>
  *
@@ -200,10 +200,14 @@ public class NamedList<T> implements Clo
   /**
    * Gets the value for the first instance of the specified name
    * found.
-   *
+   * <p>
+   * NOTE: this runs in linear time (it scans starting at the
+   * beginning of the list until it finds the first pair with
+   * the specified name).
    * @return null if not found or if the value stored was null.
    * @see #indexOf
    * @see #get(String,int)
+   * 
    */
   public T get(String name) {
     return get(name,0);
@@ -212,7 +216,10 @@ public class NamedList<T> implements Clo
   /**
    * Gets the value for the first instance of the specified name
    * found starting at the specified index.
-   *
+   * <p>
+   * NOTE: this runs in linear time (it scans starting at the
+   * specified position until it finds the first pair with
+   * the specified name).
    * @return null if not found or if the value stored was null.
    * @see #indexOf
    */
@@ -377,6 +384,11 @@ public class NamedList<T> implements Clo
     return iter;
   }
 
+  /** 
+   * NOTE: this runs in linear time (it scans starting at the
+   * beginning of the list until it finds the first pair with
+   * the specified name).
+   */
   public T remove(String name) {
     int idx = indexOf(name, 0);
     if(idx != -1) return remove(idx);

Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/CollationKeyFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/CollationKeyFilterFactory.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/CollationKeyFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/CollationKeyFilterFactory.java Mon May  2 13:50:57 2011
@@ -69,7 +69,9 @@ import org.apache.solr.util.plugin.Resou
  * @see Locale
  * @see RuleBasedCollator
  * @since solr 3.1
+ * @deprecated use {@link org.apache.solr.schema.CollationField} instead.
  */
+@Deprecated
 public class CollationKeyFilterFactory extends BaseTokenFilterFactory implements ResourceLoaderAware {
   private Collator collator;
 

Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/AbstractSolrEventListener.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/AbstractSolrEventListener.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/AbstractSolrEventListener.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/AbstractSolrEventListener.java Mon May  2 13:50:57 2011
@@ -23,7 +23,7 @@ import org.apache.solr.search.SolrIndexS
 
 /**
  */
-class AbstractSolrEventListener implements SolrEventListener {
+public class AbstractSolrEventListener implements SolrEventListener {
   protected final SolrCore core;
   public AbstractSolrEventListener(SolrCore core) {
     this.core = core;

Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/CoreContainer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/CoreContainer.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/CoreContainer.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/CoreContainer.java Mon May  2 13:50:57 2011
@@ -79,6 +79,7 @@ public class CoreContainer 
   protected Map<String ,IndexSchema> indexSchemaCache;
   protected String adminHandler;
   protected boolean shareSchema;
+  protected Integer zkClientTimeout;
   protected String solrHome;
   protected String defaultCoreName = "";
   private ZkController zkController;
@@ -313,7 +314,7 @@ public class CoreContainer 
     zkHost = cfg.get("solr/@zkHost" , null);
     adminPath = cfg.get("solr/cores/@adminPath", null);
     shareSchema = cfg.getBool("solr/cores/@shareSchema", false);
-    int zkClientTimeout = cfg.getInt("solr/cores/@zkClientTimeout", 10000);
+    zkClientTimeout = cfg.getInt("solr/cores/@zkClientTimeout", 10000);
 
     hostPort = System.getProperty("hostPort");
     if (hostPort == null) {
@@ -500,7 +501,12 @@ public class CoreContainer 
     SolrCore old = null;
     synchronized (cores) {
       old = cores.put(name, core);
+      /*
+      * set both the name of the descriptor and the name of the
+      * core, since the descriptors name is used for persisting.
+      */
       core.setName(name);
+      core.getCoreDescriptor().name = name;
     }
 
     if (zkController != null) {
@@ -884,6 +890,7 @@ public class CoreContainer 
     if (this.libDir != null) {
       writeAttribute(w,"sharedLib",libDir);
     }
+    if(zkHost != null) writeAttribute(w, "zkHost", zkHost);
     writeAttribute(w,"persistent",isPersistent());
     w.write(">\n");
 
@@ -892,9 +899,13 @@ public class CoreContainer 
     }
     w.write("  <cores");
     writeAttribute(w, "adminPath",adminPath);
-    if(adminHandler != null) writeAttribute(w, "adminHandler",adminHandler);
-    if(shareSchema) writeAttribute(w, "shareSchema","true");
-    if(!defaultCoreName.equals("")) writeAttribute(w, "defaultCoreName",defaultCoreName);
+    if(adminHandler != null) writeAttribute(w, "adminHandler", adminHandler);
+    if(shareSchema) writeAttribute(w, "shareSchema", "true");
+    if(!defaultCoreName.equals("")) writeAttribute(w, "defaultCoreName", defaultCoreName);
+    if(host != null) writeAttribute(w, "host", host);
+    if(hostPort != null) writeAttribute(w, "hostPort", hostPort);
+    if(zkClientTimeout != null) writeAttribute(w, "zkClientTimeout", zkClientTimeout);
+    if(hostContext != null) writeAttribute(w, "hostContext", hostContext);
     w.write(">\n");
 
     synchronized(cores) {