You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sa...@apache.org on 2011/02/19 17:50:25 UTC

svn commit: r1072386 [1/3] - in /lucene/dev/branches/branch_3x: ./ dev-tools/idea/lucene/contrib/benchmark/ dev-tools/idea/lucene/contrib/demo/ dev-tools/maven/lucene/contrib/benchmark/ dev-tools/maven/lucene/contrib/demo/ lucene/ lucene/contrib/benchm...

Author: sarowe
Date: Sat Feb 19 16:50:23 2011
New Revision: 1072386

URL: http://svn.apache.org/viewvc?rev=1072386&view=rev
Log:
LUCENE-2923: Cleanup contrib/demo

Added:
    lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/
      - copied from r1072254, lucene/dev/branches/branch_3x/lucene/contrib/demo/src/java/org/apache/lucene/demo/html/
    lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/demohtml/
      - copied from r1072254, lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/html/
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/
      - copied from r1072250, lucene/dev/trunk/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/apache1.0.txt
      - copied unchanged from r1072250, lucene/dev/trunk/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/apache1.0.txt
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/apache1.1.txt
      - copied unchanged from r1072250, lucene/dev/trunk/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/apache1.1.txt
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/apache2.0.txt
      - copied unchanged from r1072250, lucene/dev/trunk/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/apache2.0.txt
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/cpl1.0.txt
      - copied unchanged from r1072250, lucene/dev/trunk/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/cpl1.0.txt
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/epl1.0.txt
      - copied unchanged from r1072250, lucene/dev/trunk/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/epl1.0.txt
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/freebsd.txt
      - copied unchanged from r1072250, lucene/dev/trunk/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/freebsd.txt
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/gpl1.0.txt
      - copied unchanged from r1072250, lucene/dev/trunk/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/gpl1.0.txt
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/gpl2.0.txt
      - copied unchanged from r1072250, lucene/dev/trunk/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/gpl2.0.txt
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/gpl3.0.txt
      - copied unchanged from r1072250, lucene/dev/trunk/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/gpl3.0.txt
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/lgpl2.1.txt
      - copied unchanged from r1072250, lucene/dev/trunk/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/lgpl2.1.txt
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/lgpl3.txt
      - copied unchanged from r1072250, lucene/dev/trunk/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/lgpl3.txt
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/lpgl2.0.txt
      - copied unchanged from r1072250, lucene/dev/trunk/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/lpgl2.0.txt
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/mit.txt
      - copied unchanged from r1072250, lucene/dev/trunk/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/mit.txt
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/mozilla1.1.txt
      - copied unchanged from r1072250, lucene/dev/trunk/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/mozilla1.1.txt
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/mozilla_eula_firefox3.txt
      - copied unchanged from r1072250, lucene/dev/trunk/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/mozilla_eula_firefox3.txt
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/mozilla_eula_thunderbird2.txt
      - copied unchanged from r1072250, lucene/dev/trunk/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/docs/mozilla_eula_thunderbird2.txt
Removed:
    lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/Test.java
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/java/demo-build.template
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/java/org/apache/lucene/demo/DeleteFiles.java
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/java/org/apache/lucene/demo/FileDocument.java
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/java/org/apache/lucene/demo/HTMLDocument.java
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/java/org/apache/lucene/demo/IndexHTML.java
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/java/org/apache/lucene/demo/html/
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/jsp/
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/html/
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/html/
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/queries.txt
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/test-files/queries2.txt
    lucene/dev/branches/branch_3x/lucene/docs/demo3.html
    lucene/dev/branches/branch_3x/lucene/docs/demo3.pdf
    lucene/dev/branches/branch_3x/lucene/docs/demo4.html
    lucene/dev/branches/branch_3x/lucene/docs/demo4.pdf
    lucene/dev/branches/branch_3x/lucene/src/site/src/documentation/content/xdocs/demo3.xml
    lucene/dev/branches/branch_3x/lucene/src/site/src/documentation/content/xdocs/demo4.xml
Modified:
    lucene/dev/branches/branch_3x/   (props changed)
    lucene/dev/branches/branch_3x/dev-tools/idea/lucene/contrib/benchmark/benchmark.iml
    lucene/dev/branches/branch_3x/dev-tools/idea/lucene/contrib/demo/demo.iml
    lucene/dev/branches/branch_3x/dev-tools/maven/lucene/contrib/benchmark/pom.xml.template
    lucene/dev/branches/branch_3x/dev-tools/maven/lucene/contrib/demo/pom.xml.template
    lucene/dev/branches/branch_3x/lucene/   (props changed)
    lucene/dev/branches/branch_3x/lucene/build.xml
    lucene/dev/branches/branch_3x/lucene/contrib/benchmark/build.xml
    lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DemoHTMLParser.java   (contents, props changed)
    lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/Entities.java
    lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParser.java
    lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParser.jj
    lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParserConstants.java
    lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParserTokenManager.java
    lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/ParseException.java
    lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/ParserThread.java
    lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/SimpleCharStream.java
    lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/Tags.java
    lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/Token.java
    lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/TokenMgrError.java
    lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/demohtml/TestHtmlParser.java
    lucene/dev/branches/branch_3x/lucene/contrib/demo/build.xml
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/java/org/apache/lucene/demo/IndexFiles.java
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/java/org/apache/lucene/demo/SearchFiles.java
    lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/TestDemo.java
    lucene/dev/branches/branch_3x/lucene/docs/contributions.html
    lucene/dev/branches/branch_3x/lucene/docs/demo.html
    lucene/dev/branches/branch_3x/lucene/docs/demo.pdf
    lucene/dev/branches/branch_3x/lucene/docs/demo2.html
    lucene/dev/branches/branch_3x/lucene/docs/demo2.pdf
    lucene/dev/branches/branch_3x/lucene/docs/fileformats.html
    lucene/dev/branches/branch_3x/lucene/docs/gettingstarted.html
    lucene/dev/branches/branch_3x/lucene/docs/gettingstarted.pdf
    lucene/dev/branches/branch_3x/lucene/docs/index.html
    lucene/dev/branches/branch_3x/lucene/docs/linkmap.html
    lucene/dev/branches/branch_3x/lucene/docs/linkmap.pdf
    lucene/dev/branches/branch_3x/lucene/docs/lucene-contrib/index.html
    lucene/dev/branches/branch_3x/lucene/docs/lucene-contrib/index.pdf
    lucene/dev/branches/branch_3x/lucene/docs/queryparsersyntax.html
    lucene/dev/branches/branch_3x/lucene/docs/scoring.html
    lucene/dev/branches/branch_3x/lucene/docs/systemrequirements.html
    lucene/dev/branches/branch_3x/lucene/src/java/overview.html
    lucene/dev/branches/branch_3x/lucene/src/site/src/documentation/content/xdocs/demo.xml
    lucene/dev/branches/branch_3x/lucene/src/site/src/documentation/content/xdocs/demo2.xml
    lucene/dev/branches/branch_3x/lucene/src/site/src/documentation/content/xdocs/gettingstarted.xml
    lucene/dev/branches/branch_3x/lucene/src/site/src/documentation/content/xdocs/lucene-contrib/index.xml
    lucene/dev/branches/branch_3x/lucene/src/site/src/documentation/content/xdocs/site.xml   (contents, props changed)
    lucene/dev/branches/branch_3x/solr/   (props changed)

Modified: lucene/dev/branches/branch_3x/dev-tools/idea/lucene/contrib/benchmark/benchmark.iml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/dev-tools/idea/lucene/contrib/benchmark/benchmark.iml?rev=1072386&r1=1072385&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/dev-tools/idea/lucene/contrib/benchmark/benchmark.iml (original)
+++ lucene/dev/branches/branch_3x/dev-tools/idea/lucene/contrib/benchmark/benchmark.iml Sat Feb 19 16:50:23 2011
@@ -19,7 +19,6 @@
     <orderEntry type="module" module-name="queries" />
     <orderEntry type="module" module-name="misc" />
     <orderEntry type="module" module-name="memory" />
-    <orderEntry type="module" module-name="demo" />
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
     <orderEntry type="module-library">

Modified: lucene/dev/branches/branch_3x/dev-tools/idea/lucene/contrib/demo/demo.iml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/dev-tools/idea/lucene/contrib/demo/demo.iml?rev=1072386&r1=1072385&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/dev-tools/idea/lucene/contrib/demo/demo.iml (original)
+++ lucene/dev/branches/branch_3x/dev-tools/idea/lucene/contrib/demo/demo.iml Sat Feb 19 16:50:23 2011
@@ -6,14 +6,11 @@
     <exclude-output />
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/jsp" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />
     </content>
     <orderEntry type="module" module-name="common" />
     <orderEntry type="module" module-name="remote" />
     <orderEntry type="module" module-name="lucene" />
-    <orderEntry type="module" module-name="queries" />
-    <orderEntry type="module" module-name="misc" />
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
     <orderEntry type="module-library">

Modified: lucene/dev/branches/branch_3x/dev-tools/maven/lucene/contrib/benchmark/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/dev-tools/maven/lucene/contrib/benchmark/pom.xml.template?rev=1072386&r1=1072385&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/dev-tools/maven/lucene/contrib/benchmark/pom.xml.template (original)
+++ lucene/dev/branches/branch_3x/dev-tools/maven/lucene/contrib/benchmark/pom.xml.template Sat Feb 19 16:50:23 2011
@@ -55,12 +55,6 @@
     </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
-      <artifactId>lucene-demo</artifactId>
-      <version>${project.version}</version>
-      <classifier>classes</classifier>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
       <artifactId>lucene-highlighter</artifactId>
       <version>${project.version}</version>
     </dependency>

Modified: lucene/dev/branches/branch_3x/dev-tools/maven/lucene/contrib/demo/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/dev-tools/maven/lucene/contrib/demo/pom.xml.template?rev=1072386&r1=1072385&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/dev-tools/maven/lucene/contrib/demo/pom.xml.template (original)
+++ lucene/dev/branches/branch_3x/dev-tools/maven/lucene/contrib/demo/pom.xml.template Sat Feb 19 16:50:23 2011
@@ -28,8 +28,8 @@
   </parent>
   <groupId>org.apache.lucene</groupId>
   <artifactId>lucene-demo</artifactId>
-  <packaging>war</packaging>
-  <name>Lucene Demos</name>
+  <packaging>jar</packaging>
+  <name>Lucene Demo</name>
   <description>This is the demo for Apache Lucene Java</description>
   <properties>
     <module-directory>lucene/contrib/demo</module-directory>
@@ -54,11 +54,6 @@
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>javax.servlet</groupId>
-      <artifactId>servlet-api</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <scope>test</scope>
@@ -80,15 +75,6 @@
     </testResources>
     <plugins>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-war-plugin</artifactId>
-        <configuration>
-          <warSourceDirectory>src/jsp</warSourceDirectory>
-          <attachClasses>true</attachClasses>
-          <classesClassifier/>
-        </configuration>
-      </plugin>
-      <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>appassembler-maven-plugin</artifactId>
         <configuration>
@@ -101,18 +87,10 @@
           </platforms>
           <programs>
             <program>
-              <mainClass>org.apache.lucene.demo.DeleteFiles</mainClass>
-              <name>DeleteFiles</name>
-            </program>
-            <program>
               <mainClass>org.apache.lucene.demo.IndexFiles</mainClass>
               <name>IndexFiles</name>
             </program>
             <program>
-              <mainClass>org.apache.lucene.demo.IndexHTML</mainClass>
-              <name>IndexHTML</name>
-            </program>
-            <program>
               <mainClass>org.apache.lucene.demo.SearchFiles</mainClass>
               <name>SearchFiles</name>
             </program>

Modified: lucene/dev/branches/branch_3x/lucene/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/build.xml?rev=1072386&r1=1072385&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/build.xml (original)
+++ lucene/dev/branches/branch_3x/lucene/build.xml Sat Feb 19 16:50:23 2011
@@ -511,9 +511,6 @@
       <fileset dir="contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/parser" includes="*.java">
         <containsregexp expression="Generated.*By.*JavaCC"/>
       </fileset>
-      <fileset dir="contrib/demo/src/java/org/apache/lucene/demo/html" includes="*.java">
-        <containsregexp expression="Generated.*By.*JavaCC"/>
-      </fileset>
     </delete>
   </target>
 

Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/build.xml?rev=1072386&r1=1072385&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/build.xml (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/build.xml Sat Feb 19 16:50:23 2011
@@ -17,7 +17,6 @@
     <contrib-uptodate name="analyzers/common" jarfile="${common.dir}/build/contrib/analyzers/common/lucene-analyzers-${version}.jar"
       property="analyzers-common.uptodate" classpath.property="analyzers-common.jar"/>
     <contrib-uptodate name="memory" property="memory.uptodate" classpath.property="memory.jar"/>
-	<contrib-uptodate name="demo" property="demo.uptodate" classpath.property="demo.jar"/>
 
     <target name="check-files">
         <available file="temp/news20.tar.gz" property="news20.exists"/>
@@ -138,7 +137,6 @@
       <pathelement path="${memory.jar}"/>
       <pathelement path="${highlighter.jar}"/>
       <pathelement path="${analyzers-common.jar}"/>
-      <pathelement path="${demo.jar}"/>
       <path refid="base.classpath"/>
     	<fileset dir="lib">
     		<include name="**/*.jar"/>
@@ -227,11 +225,6 @@
       <echo>Benchmark output in JIRA table format is in file: ${shingle.jira.output.file}</echo>
     </target>
 
-    <target name="compile-demo" unless="demo.uptodate">
-      <subant target="default">
-         <fileset dir="${common.dir}/contrib/demo" includes="build.xml"/>
-      </subant>
-    </target>
     <target name="compile-highlighter" unless="highlighter.uptodate">
       <subant target="default">
          <fileset dir="${common.dir}/contrib/highlighter" includes="build.xml"/>
@@ -253,6 +246,18 @@
       </subant>
     </target>
 
-    <target name="init" depends="contrib-build.init,compile-demo,compile-memory,compile-highlighter,compile-analyzers-common"/>
+    <target name="init" depends="contrib-build.init,compile-memory,compile-highlighter,compile-analyzers-common"/>
+  
+    <target name="clean-javacc">
+      <fileset dir="src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml" includes="*.java">
+	<containsregexp expression="Generated.*By.*JavaCC"/>
+      </fileset>
+    </target>
     
+    <target name="javacc" depends="init,javacc-check" if="javacc.present">
+      <invoke-javacc target="src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParser.jj"
+                     outputDir="src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml"
+		     />
+    </target>
+
 </project>

Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DemoHTMLParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DemoHTMLParser.java?rev=1072386&r1=1072385&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DemoHTMLParser.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DemoHTMLParser.java Sat Feb 19 16:50:23 2011
@@ -30,7 +30,7 @@ import java.util.Properties;
 public class DemoHTMLParser implements org.apache.lucene.benchmark.byTask.feeds.HTMLParser {
 
   public DocData parse(DocData docData, String name, Date date, String title, Reader reader, DateFormat dateFormat) throws IOException, InterruptedException {
-    org.apache.lucene.demo.html.HTMLParser p = new org.apache.lucene.demo.html.HTMLParser(reader);
+    org.apache.lucene.benchmark.byTask.feeds.demohtml.HTMLParser p = new org.apache.lucene.benchmark.byTask.feeds.demohtml.HTMLParser(reader);
     
     // title
     if (title==null) {

Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/Entities.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/Entities.java?rev=1072386&r1=1072254&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/Entities.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/Entities.java Sat Feb 19 16:50:23 2011
@@ -1,4 +1,4 @@
-package org.apache.lucene.demo.html;
+package org.apache.lucene.benchmark.byTask.feeds.demohtml;
 
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more

Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParser.java?rev=1072386&r1=1072254&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParser.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParser.java Sat Feb 19 16:50:23 2011
@@ -1,5 +1,5 @@
 /* Generated By:JavaCC: Do not edit this line. HTMLParser.java */
-package org.apache.lucene.demo.html;
+package org.apache.lucene.benchmark.byTask.feeds.demohtml;
 
 import java.io.*;
 import java.util.Locale;

Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParser.jj
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParser.jj?rev=1072386&r1=1072254&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParser.jj (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParser.jj Sat Feb 19 16:50:23 2011
@@ -26,7 +26,7 @@ options {
 
 PARSER_BEGIN(HTMLParser)
 
-package org.apache.lucene.demo.html;
+package org.apache.lucene.benchmark.byTask.feeds.demohtml;
 
 import java.io.*;
 import java.util.Locale;

Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParserConstants.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParserConstants.java?rev=1072386&r1=1072254&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParserConstants.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParserConstants.java Sat Feb 19 16:50:23 2011
@@ -1,5 +1,5 @@
 /* Generated By:JavaCC: Do not edit this line. HTMLParserConstants.java */
-package org.apache.lucene.demo.html;
+package org.apache.lucene.benchmark.byTask.feeds.demohtml;
 
 
 /**

Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParserTokenManager.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParserTokenManager.java?rev=1072386&r1=1072254&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParserTokenManager.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/HTMLParserTokenManager.java Sat Feb 19 16:50:23 2011
@@ -1,5 +1,5 @@
 /* Generated By:JavaCC: Do not edit this line. HTMLParserTokenManager.java */
-package org.apache.lucene.demo.html;
+package org.apache.lucene.benchmark.byTask.feeds.demohtml;
 import java.io.*;
 import java.util.Locale;
 import java.util.Properties;

Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/ParseException.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/ParseException.java?rev=1072386&r1=1072254&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/ParseException.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/ParseException.java Sat Feb 19 16:50:23 2011
@@ -1,6 +1,6 @@
 /* Generated By:JavaCC: Do not edit this line. ParseException.java Version 4.1 */
 /* JavaCCOptions:KEEP_LINE_COL=null */
-package org.apache.lucene.demo.html;
+package org.apache.lucene.benchmark.byTask.feeds.demohtml;
 
 /**
  * This exception is thrown when parse errors are encountered.
@@ -195,4 +195,4 @@ public class ParseException extends Exce
    }
 
 }
-/* JavaCC - OriginalChecksum=63b2008c66e199b79536447c26bee2ab (do not edit this line) */
+/* JavaCC - OriginalChecksum=e449d0e43f3d85deb1260a88b7e90fcd (do not edit this line) */

Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/ParserThread.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/ParserThread.java?rev=1072386&r1=1072254&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/ParserThread.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/ParserThread.java Sat Feb 19 16:50:23 2011
@@ -1,4 +1,4 @@
-package org.apache.lucene.demo.html;
+package org.apache.lucene.benchmark.byTask.feeds.demohtml;
 
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more

Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/SimpleCharStream.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/SimpleCharStream.java?rev=1072386&r1=1072254&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/SimpleCharStream.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/SimpleCharStream.java Sat Feb 19 16:50:23 2011
@@ -1,6 +1,6 @@
 /* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 4.1 */
 /* JavaCCOptions:STATIC=false */
-package org.apache.lucene.demo.html;
+package org.apache.lucene.benchmark.byTask.feeds.demohtml;
 
 /**
  * An implementation of interface CharStream, where the stream is assumed to
@@ -469,4 +469,4 @@ public class SimpleCharStream
   }
 
 }
-/* JavaCC - OriginalChecksum=7393ed4ac2709e2de22d164f9db78b65 (do not edit this line) */
+/* JavaCC - OriginalChecksum=bbd7b39acd802e39d8ea5411a6821eb2 (do not edit this line) */

Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/Tags.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/Tags.java?rev=1072386&r1=1072254&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/Tags.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/Tags.java Sat Feb 19 16:50:23 2011
@@ -1,4 +1,4 @@
-package org.apache.lucene.demo.html;
+package org.apache.lucene.benchmark.byTask.feeds.demohtml;
 
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more

Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/Token.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/Token.java?rev=1072386&r1=1072254&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/Token.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/Token.java Sat Feb 19 16:50:23 2011
@@ -1,6 +1,6 @@
 /* Generated By:JavaCC: Do not edit this line. Token.java Version 4.1 */
 /* JavaCCOptions:TOKEN_EXTENDS=,KEEP_LINE_COL=null */
-package org.apache.lucene.demo.html;
+package org.apache.lucene.benchmark.byTask.feeds.demohtml;
 
 /**
  * Describes the input token stream.
@@ -121,4 +121,4 @@ public class Token {
   }
 
 }
-/* JavaCC - OriginalChecksum=7bf8bdbb1c45bccd8162cdd48316d5e0 (do not edit this line) */
+/* JavaCC - OriginalChecksum=24643dc85fd6daeec42ceba20b46ee61 (do not edit this line) */

Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/TokenMgrError.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/TokenMgrError.java?rev=1072386&r1=1072254&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/TokenMgrError.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml/TokenMgrError.java Sat Feb 19 16:50:23 2011
@@ -1,6 +1,6 @@
 /* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 4.1 */
 /* JavaCCOptions: */
-package org.apache.lucene.demo.html;
+package org.apache.lucene.benchmark.byTask.feeds.demohtml;
 
 /** Token Manager Error. */
 @SuppressWarnings("serial")
@@ -138,4 +138,4 @@ public class TokenMgrError extends Error
       this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
    }
 }
-/* JavaCC - OriginalChecksum=5ffb7e46d5ae93d8d59e6f4ae7eb36d1 (do not edit this line) */
+/* JavaCC - OriginalChecksum=538f0da130356fcc0bc7db621ab0389d (do not edit this line) */

Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/demohtml/TestHtmlParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/demohtml/TestHtmlParser.java?rev=1072386&r1=1072254&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/demohtml/TestHtmlParser.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/demohtml/TestHtmlParser.java Sat Feb 19 16:50:23 2011
@@ -1,4 +1,4 @@
-package org.apache.lucene.demo.html;
+package org.apache.lucene.benchmark.byTask.feeds.demohtml;
 
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
@@ -22,7 +22,6 @@ import java.io.Reader;
 import java.io.StringReader;
 import java.util.Properties;
 
-import org.apache.lucene.demo.html.HTMLParser;
 import org.apache.lucene.util.LuceneTestCase;
 
 public class TestHtmlParser extends LuceneTestCase {

Modified: lucene/dev/branches/branch_3x/lucene/contrib/demo/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/demo/build.xml?rev=1072386&r1=1072385&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/demo/build.xml (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/demo/build.xml Sat Feb 19 16:50:23 2011
@@ -17,66 +17,40 @@
     limitations under the License.
  -->
 
-<project name="demo" default="default" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
+<project name="demo" default="jar-core">
 
   <description>
     Lucene Demo
   </description>
 
-  <property name="build.demo.template" value="src/java/demo-build.template"/> 
-
   <property name="demo.name" value="lucene-demos-${version}"/>
-  <property name="demo.war.name" value="luceneweb"/>
 
   <import file="../contrib-build.xml"/>
 
-  <target name="compile-core" depends="common.compile-core, war-demo" />
-
-  <target name="war-demo">
-    <sequential>
-      <build-manifest title="Lucene Search Engine: demos"/>
-  	  <war destfile="${build.dir}/${demo.war.name}.war"
-           webxml="src/jsp/WEB-INF/web.xml"
-      	   manifest="${manifest.file}">
-        <fileset dir="src/jsp" excludes="WEB-INF/web.xml"/>
-        <lib dir="${build.dir}/../.." includes="lucene-core-${version}.jar"/>
-        <lib dir="${build.dir}" includes="${final.name}.jar"/>
-        <metainf dir="${common.dir}">
-          <include name="LICENSE.txt"/>
-          <include name="NOTICE.txt"/>
-        </metainf>
-      </war>
-    </sequential>
+  <contrib-uptodate name="analyzers/common" jarfile="${common.dir}/build/contrib/analyzers/common/lucene-analyzers-${version}.jar"
+      property="analyzers.uptodate" classpath.property="analyzers.jar"/>
+  
+  <property name="lucene.jar" value="${common.dir}/build/lucene-core-${version}.jar"/>
+  <target name="lucene-jar-uptodate" unless="lucene.jar.uptodate">
+    <uptodate property="lucene.jar.uptodate" targetfile="${lucene.jar}">
+     	<srcfiles dir="${common.dir}/src/java" includes="**/*.java"/>
+    </uptodate>
   </target>
-	
-  <target name="clean-javacc">
-    <fileset dir="src/java/org/apache/lucene/demo/html" includes="*.java">
-      <containsregexp expression="Generated.*By.*JavaCC"/>
-    </fileset>
+  <target name="jar-lucene" depends="build-lucene" unless="lucene.jar.uptodate">
+    <ant dir="${common.dir}" target="jar-core" inheritAll="false"/>
   </target>
-	
-  <target name="javacc" depends="init,javacc-check" if="javacc.present">
-    <invoke-javacc target="src/java/org/apache/lucene/demo/html/HTMLParser.jj"
-                     outputDir="src/java/org/apache/lucene/demo/html"
-    />
+  <target name="init" depends="contrib-build.init,lucene-jar-uptodate,jar-lucene"/>
+  
+  <path id="classpath">
+	 <pathelement path="${analyzers.jar}"/>
+     <pathelement path="${lucene.jar}"/>
+  </path>
+
+  <target name="compile-core" depends="jar-analyzers,common.compile-core" />
+
+  <target name="jar-analyzers" unless="analyzers.uptodate">
+    <subant target="jar-core">
+      <fileset dir="${common.dir}/contrib/analyzers/common" includes="build.xml"/>
+    </subant>
   </target>
-
-  <target name="dist-maven" if="pom.xml.present" depends="compile-core,jar-src">
-    <sequential>
-      <artifact:install-provider artifactId="wagon-ssh" version="1.0-beta-7"/>
-      <artifact:pom id="maven.project" file="pom.xml"/>
-      <artifact:deploy file="${build.dir}/${demo.war.name}.war">
-        <attach file="${build.dir}/${maven.project.build.finalName}.jar"
-                classifier="classes"/>
-        <attach file="${build.dir}/${final.name}-src.jar"
-                classifier="sources"/>
-        <attach file="${build.dir}/${final.name}-javadoc.jar"
-                classifier="javadoc"/>
-        <remoteRepository url="${m2.repository.url}">
-          <authentication username="${m2.repository.username}" privateKey="${m2.repository.private.key}"/>
-        </remoteRepository>
-        <pom refid="maven.project"/>
-      </artifact:deploy>
-    </sequential>
-  </target>  	
 </project>

Modified: lucene/dev/branches/branch_3x/lucene/contrib/demo/src/java/org/apache/lucene/demo/IndexFiles.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/demo/src/java/org/apache/lucene/demo/IndexFiles.java?rev=1072386&r1=1072385&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/demo/src/java/org/apache/lucene/demo/IndexFiles.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/demo/src/java/org/apache/lucene/demo/IndexFiles.java Sat Feb 19 16:50:23 2011
@@ -17,39 +17,59 @@ package org.apache.lucene.demo;
  * limitations under the License.
  */
 
+import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.standard.StandardAnalyzer;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.document.NumericField;
 import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.IndexWriterConfig.OpenMode;
+import org.apache.lucene.index.IndexWriterConfig;
+import org.apache.lucene.index.Term;
+import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.FSDirectory;
 import org.apache.lucene.util.Version;
 
+import java.io.BufferedReader;
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.io.InputStreamReader;
 import java.util.Date;
 
-/** Index all text files under a directory. */
+/** Index all text files under a directory. See http://lucene.apache.org/java/3_1/demo.html. */
 public class IndexFiles {
   
   private IndexFiles() {}
 
-  static final File INDEX_DIR = new File("index");
-  
   /** Index all text files under a directory. */
   public static void main(String[] args) {
-    String usage = "java org.apache.lucene.demo.IndexFiles <root_directory>";
-    if (args.length == 0) {
-      System.err.println("Usage: " + usage);
-      System.exit(1);
+    String usage = "java org.apache.lucene.demo.IndexFiles <root_directory>"
+                 + " [-index INDEX_PATH] [-docs DOCS_PATH] [-update]\n\n"
+                   // TODO: Change the link with every release (or: fill in some less error-prone alternative here...)
+                 + "See http://lucene.apache.org/java/3_1/demo.html for details.";
+    String indexPath = "index";
+    String docsPath = null;
+    boolean create = true;
+    for(int i=0;i<args.length;i++) {
+      if ("-index".equals(args[i])) {
+        indexPath = args[i+1];
+        i++;
+      } else if ("-docs".equals(args[i])) {
+        docsPath = args[i+1];
+        i++;
+      } else if ("-update".equals(args[i])) {
+        create = false;
+      }
     }
 
-    if (INDEX_DIR.exists()) {
-      System.out.println("Cannot save index to '" +INDEX_DIR+ "' directory, please delete it first");
+    if (docsPath == null) {
+      System.err.println("Usage: " + usage);
       System.exit(1);
     }
-    
-    final File docDir = new File(args[0]);
+
+    final File docDir = new File(docsPath);
     if (!docDir.exists() || !docDir.canRead()) {
       System.out.println("Document directory '" +docDir.getAbsolutePath()+ "' does not exist or is not readable, please check the path");
       System.exit(1);
@@ -57,13 +77,39 @@ public class IndexFiles {
     
     Date start = new Date();
     try {
-      IndexWriter writer = new IndexWriter(FSDirectory.open(INDEX_DIR),
-          new IndexWriterConfig(Version.LUCENE_CURRENT, new StandardAnalyzer(
-              Version.LUCENE_CURRENT)).setOpenMode(OpenMode.CREATE));
-      System.out.println("Indexing to directory '" +INDEX_DIR+ "'...");
+      System.out.println("Indexing to directory '" + indexPath + "'...");
+
+      Directory dir = FSDirectory.open(new File(indexPath));
+      Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_31);
+      IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_31, analyzer);
+
+      if (create) {
+        // Create a new index in the directory, removing any
+        // previously indexed documents:
+        iwc.setOpenMode(OpenMode.CREATE);
+      } else {
+        // Add new documents to an existing index:
+        iwc.setOpenMode(OpenMode.CREATE_OR_APPEND);
+      }
+
+      // Optional: for better indexing performance, if you
+      // are indexing many documents, increase the RAM
+      // buffer.  But if you do this, increase the max heap
+      // size to the JVM (eg add -Xmx512m or -Xmx1g):
+      //
+      // iwc.setRAMBufferSizeMB(256.0);
+
+      IndexWriter writer = new IndexWriter(dir, iwc);
       indexDocs(writer, docDir);
-      System.out.println("Optimizing...");
-      writer.optimize();
+
+      // NOTE: if you want to maximize search performance,
+      // you can optionally call optimize here.  This can be
+      // a costly operation, so generally it's only worth
+      // it when your index is relatively static (ie you're
+      // done adding documents to it):
+      //
+      // writer.optimize();
+
       writer.close();
 
       Date end = new Date();
@@ -75,6 +121,21 @@ public class IndexFiles {
     }
   }
 
+  /**
+   * Indexes the given file using the given writer, or if a directory is given,
+   * recurses over files and directories found under the given directory.
+   * 
+   * NOTE: This method indexes one document per input file.  This is slow.  For good
+   * throughput, put multiple documents into your input file(s).  An example of this is
+   * in the benchmark module, which can create "line doc" files, one document per line,
+   * using the
+   * <a href="../../../../../contrib-benchmark/org/apache/lucene/benchmark/byTask/tasks/WriteLineDocTask.html"
+   * >WriteLineDocTask</a>.
+   *  
+   * @param writer Writer to the index where the given file/dir info will be stored
+   * @param file The file to index, or the directory to recurse into to find files to index
+   * @throws IOException
+   */
   static void indexDocs(IndexWriter writer, File file)
     throws IOException {
     // do not try to index files that cannot be read
@@ -88,16 +149,62 @@ public class IndexFiles {
           }
         }
       } else {
-        System.out.println("adding " + file);
+
+        FileInputStream fis;
         try {
-          writer.addDocument(FileDocument.Document(file));
+          fis = new FileInputStream(file);
+        } catch (FileNotFoundException fnfe) {
+          // at least on windows, some temporary files raise this exception with an "access denied" message
+          // checking if the file can be read doesn't help
+          return;
         }
-        // at least on windows, some temporary files raise this exception with an "access denied" message
-        // checking if the file can be read doesn't help
-        catch (FileNotFoundException fnfe) {
+
+        try {
+
+          // make a new, empty document
+          Document doc = new Document();
+
+          // Add the path of the file as a field named "path".  Use a
+          // field that is indexed (i.e. searchable), but don't tokenize 
+          // the field into separate words and don't index term frequency
+          // or positional information:
+          Field pathField = new Field("path", file.getPath(), Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS);
+          pathField.setOmitTermFreqAndPositions(true);
+          doc.add(pathField);
+
+          // Add the last modified date of the file a field named "modified".
+          // Use a NumericField that is indexed (i.e. efficiently filterable with
+          // NumericRangeFilter).  This indexes to milli-second resolution, which
+          // is often too fine.  You could instead create a number based on
+          // year/month/day/hour/minutes/seconds, down the resolution you require.
+          // For example the long value 2011021714 would mean
+          // February 17, 2011, 2-3 PM.
+          NumericField modifiedField = new NumericField("modified");
+          modifiedField.setLongValue(file.lastModified());
+          doc.add(modifiedField);
+
+          // Add the contents of the file to a field named "contents".  Specify a Reader,
+          // so that the text of the file is tokenized and indexed, but not stored.
+          // Note that FileReader expects the file to be in UTF-8 encoding.
+          // If that's not the case searching for special characters will fail.
+          doc.add(new Field("contents", new BufferedReader(new InputStreamReader(fis, "UTF-8"))));
+
+          if (writer.getConfig().getOpenMode() == OpenMode.CREATE) {
+            // New index, so we just add the document (no old document can be there):
+            System.out.println("adding " + file);
+            writer.addDocument(doc);
+          } else {
+            // Existing index (an old copy of this document may have been indexed) so 
+            // we use updateDocument instead to replace the old one matching the exact 
+            // path, if present:
+            System.out.println("updating " + file);
+            writer.updateDocument(new Term("path", file.getPath()), doc);
+          }
+          
+        } finally {
+          fis.close();
         }
       }
     }
   }
-  
 }

Modified: lucene/dev/branches/branch_3x/lucene/contrib/demo/src/java/org/apache/lucene/demo/SearchFiles.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/demo/src/java/org/apache/lucene/demo/SearchFiles.java?rev=1072386&r1=1072385&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/demo/src/java/org/apache/lucene/demo/SearchFiles.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/demo/src/java/org/apache/lucene/demo/SearchFiles.java Sat Feb 19 16:50:23 2011
@@ -27,7 +27,6 @@ import java.util.Date;
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.standard.StandardAnalyzer;
 import org.apache.lucene.document.Document;
-import org.apache.lucene.index.FilterIndexReader;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.queryParser.QueryParser;
 import org.apache.lucene.search.Collector;
@@ -35,39 +34,19 @@ import org.apache.lucene.search.IndexSea
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.ScoreDoc;
 import org.apache.lucene.search.Scorer;
-import org.apache.lucene.search.Searcher;
-import org.apache.lucene.search.TopScoreDocCollector;
+import org.apache.lucene.search.TopDocs;
 import org.apache.lucene.store.FSDirectory;
 import org.apache.lucene.util.Version;
 
 /** Simple command-line based search demo. */
 public class SearchFiles {
 
-  /** Use the norms from one field for all fields.  Norms are read into memory,
-   * using a byte of memory per document per searched field.  This can cause
-   * search of large collections with a large number of fields to run out of
-   * memory.  If all of the fields contain only a single token, then the norms
-   * are all identical, then single norm vector may be shared. */
-  private static class OneNormsReader extends FilterIndexReader {
-    private String field;
-
-    public OneNormsReader(IndexReader in, String field) {
-      super(in);
-      this.field = field;
-    }
-
-    @Override
-    public byte[] norms(String field) throws IOException {
-      return in.norms(this.field);
-    }
-  }
-
   private SearchFiles() {}
 
   /** Simple command-line based search demo. */
   public static void main(String[] args) throws Exception {
     String usage =
-      "Usage:\tjava org.apache.lucene.demo.SearchFiles [-index dir] [-field f] [-repeat n] [-queries file] [-raw] [-norms field] [-paging hitsPerPage]";
+      "Usage:\tjava org.apache.lucene.demo.SearchFiles [-index dir] [-field f] [-repeat n] [-queries file] [-query string] [-raw] [-paging hitsPerPage]\n\nSee http://lucene.apache.org/java/4_0/demo.html for details.";
     usage += "\n\tSpecify 'false' for hitsPerPage to use streaming instead of paging search.";
     if (args.length > 0 && ("-h".equals(args[0]) || "-help".equals(args[0]))) {
       System.out.println(usage);
@@ -79,11 +58,11 @@ public class SearchFiles {
     String queries = null;
     int repeat = 0;
     boolean raw = false;
-    String normsField = null;
     boolean paging = true;
+    String queryString = null;
     int hitsPerPage = 10;
     
-    for (int i = 0; i < args.length; i++) {
+    for(int i = 0;i < args.length;i++) {
       if ("-index".equals(args[i])) {
         index = args[i+1];
         i++;
@@ -93,14 +72,14 @@ public class SearchFiles {
       } else if ("-queries".equals(args[i])) {
         queries = args[i+1];
         i++;
+      } else if ("-query".equals(args[i])) {
+        queryString = args[i+1];
+        i++;
       } else if ("-repeat".equals(args[i])) {
         repeat = Integer.parseInt(args[i+1]);
         i++;
       } else if ("-raw".equals(args[i])) {
         raw = true;
-      } else if ("-norms".equals(args[i])) {
-        normsField = args[i+1];
-        i++;
       } else if ("-paging".equals(args[i])) {
         if (args[i+1].equals("false")) {
           paging = false;
@@ -114,13 +93,8 @@ public class SearchFiles {
       }
     }
     
-    IndexReader reader = IndexReader.open(FSDirectory.open(new File(index)), true); // only searching, so read-only=true
-
-    if (normsField != null)
-      reader = new OneNormsReader(reader, normsField);
-
-    Searcher searcher = new IndexSearcher(reader);
-    Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);
+    IndexSearcher searcher = new IndexSearcher(FSDirectory.open(new File(index)));
+    Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_31);
 
     BufferedReader in = null;
     if (queries != null) {
@@ -128,23 +102,25 @@ public class SearchFiles {
     } else {
       in = new BufferedReader(new InputStreamReader(System.in, "UTF-8"));
     }
-    QueryParser parser = new QueryParser(Version.LUCENE_CURRENT, field, analyzer);
+    QueryParser parser = new QueryParser(Version.LUCENE_31, field, analyzer);
     while (true) {
-      if (queries == null)                        // prompt the user
+      if (queries == null && queryString == null) {                        // prompt the user
         System.out.println("Enter query: ");
+      }
 
-      String line = in.readLine();
+      String line = queryString != null ? queryString : in.readLine();
 
-      if (line == null || line.length() == -1)
+      if (line == null || line.length() == -1) {
         break;
+      }
 
       line = line.trim();
-      if (line.length() == 0)
+      if (line.length() == 0) {
         break;
+      }
       
       Query query = parser.parse(line);
       System.out.println("Searching for: " + query.toString(field));
-
             
       if (repeat > 0) {                           // repeat & time as benchmark
         Date start = new Date();
@@ -156,22 +132,26 @@ public class SearchFiles {
       }
 
       if (paging) {
-        doPagingSearch(in, searcher, query, hitsPerPage, raw, queries == null);
+        doPagingSearch(in, searcher, query, hitsPerPage, raw, queries == null && queryString == null);
       } else {
         doStreamingSearch(searcher, query);
       }
+
+      if (queryString != null) {
+        break;
+      }
     }
-    reader.close();
+    searcher.close();
   }
   
   /**
-   * This method uses a custom HitCollector implementation which simply prints out
+   * This method uses a custom Collector implementation which simply prints out
    * the docId and score of every matching document. 
    * 
    *  This simulates the streaming search use case, where all hits are supposed to
    *  be processed, regardless of their relevance.
    */
-  public static void doStreamingSearch(final Searcher searcher, Query query) throws IOException {
+  public static void doStreamingSearch(final IndexSearcher searcher, Query query) throws IOException {
     Collector streamingHitCollector = new Collector() {
       private Scorer scorer;
       private int docBase;
@@ -213,16 +193,14 @@ public class SearchFiles {
    * is executed another time and all hits are collected.
    * 
    */
-  public static void doPagingSearch(BufferedReader in, Searcher searcher, Query query, 
+  public static void doPagingSearch(BufferedReader in, IndexSearcher searcher, Query query, 
                                      int hitsPerPage, boolean raw, boolean interactive) throws IOException {
  
     // Collect enough docs to show 5 pages
-    TopScoreDocCollector collector = TopScoreDocCollector.create(
-        5 * hitsPerPage, false);
-    searcher.search(query, collector);
-    ScoreDoc[] hits = collector.topDocs().scoreDocs;
+    TopDocs results = searcher.search(query, 5 * hitsPerPage);
+    ScoreDoc[] hits = results.scoreDocs;
     
-    int numTotalHits = collector.getTotalHits();
+    int numTotalHits = results.totalHits;
     System.out.println(numTotalHits + " total matching documents");
 
     int start = 0;
@@ -237,9 +215,7 @@ public class SearchFiles {
           break;
         }
 
-        collector = TopScoreDocCollector.create(numTotalHits, false);
-        searcher.search(query, collector);
-        hits = collector.topDocs().scoreDocs;
+        hits = searcher.search(query, numTotalHits).scoreDocs;
       }
       
       end = Math.min(hits.length, start + hitsPerPage);
@@ -306,8 +282,6 @@ public class SearchFiles {
         if (quit) break;
         end = Math.min(numTotalHits, start + hitsPerPage);
       }
-      
     }
-
   }
 }

Modified: lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/TestDemo.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/TestDemo.java?rev=1072386&r1=1072385&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/TestDemo.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/demo/src/test/org/apache/lucene/demo/TestDemo.java Sat Feb 19 16:50:23 2011
@@ -24,43 +24,30 @@ import java.io.PrintStream;
 import org.apache.lucene.util.LuceneTestCase;
 
 public class TestDemo extends LuceneTestCase {
-  // LUCENE-589
-  public void testUnicodeHtml() throws Exception {
-    File dir = getDataFile("test-files/html");
-    File indexDir = new File(TEMP_DIR, "demoIndex");
-    IndexHTML.main(new String[] { "-create", "-index", indexDir.getPath(), dir.getPath() });
-    File queries = getDataFile("test-files/queries.txt");
+
+  private void testOneSearch(String query, int expectedHitCount) throws Exception {
     PrintStream outSave = System.out;
     try {
       ByteArrayOutputStream bytes = new ByteArrayOutputStream();
       PrintStream fakeSystemOut = new PrintStream(bytes);
       System.setOut(fakeSystemOut);
-      SearchFiles.main(new String[] { "-index", indexDir.getPath(), "-queries", queries.getPath()});
+      SearchFiles.main(new String[] {"-query", query});
       fakeSystemOut.flush();
       String output = bytes.toString(); // intentionally use default encoding
-      assertTrue(output.contains("1 total matching documents"));
+      assertTrue("output=" + output, output.contains(expectedHitCount + " total matching documents"));
     } finally {
       System.setOut(outSave);
     }
   }
-  
-  // LUCENE-591
-  public void testIndexKeywords() throws Exception {
-    File dir = getDataFile("test-files/html");
-    File indexDir = new File(TEMP_DIR, "demoIndex2");
-    IndexHTML.main(new String[] { "-create", "-index", indexDir.getPath(), dir.getPath() });
-    File queries = getDataFile("test-files/queries2.txt");
-    PrintStream outSave = System.out;
-    try {
-      ByteArrayOutputStream bytes = new ByteArrayOutputStream();
-      PrintStream fakeSystemOut = new PrintStream(bytes);
-      System.setOut(fakeSystemOut);
-      SearchFiles.main(new String[] { "-index", indexDir.getPath(), "-queries", queries.getPath()});
-      fakeSystemOut.flush();
-      String output = bytes.toString(); // intentionally use default encoding
-      assertTrue(output.contains("1 total matching documents"));
-    } finally {
-      System.setOut(outSave);
-    }
+
+  public void testIndexSearch() throws Exception {
+    File dir = getDataFile("test-files/docs");
+    IndexFiles.main(new String[] { "-create", "-docs", dir.getPath() });
+    testOneSearch("apache", 3);
+    testOneSearch("patent", 8);
+    testOneSearch("lucene", 0);
+    testOneSearch("gnu", 6);
+    testOneSearch("derivative", 8);
+    testOneSearch("license", 13);
   }
 }

Modified: lucene/dev/branches/branch_3x/lucene/docs/contributions.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/docs/contributions.html?rev=1072386&r1=1072385&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/docs/contributions.html (original)
+++ lucene/dev/branches/branch_3x/lucene/docs/contributions.html Sat Feb 19 16:50:23 2011
@@ -129,11 +129,8 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/core/index.html">Core</a>
 </div>
-<div class="menuitem">
-<a href="api/demo/index.html">Demo</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 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/contrib-analyzers/index.html">Analyzers</a>
 </div>
@@ -156,6 +153,9 @@ document.write("Last Published: " + docu
 <a href="api/contrib-benchmark/index.html">Benchmark</a>
 </div>
 <div class="menuitem">
+<a href="api/contrib-demo/index.html">Demo</a>
+</div>
+<div class="menuitem">
 <a href="api/contrib-highlighter/index.html">Highlighter</a>
 </div>
 <div class="menuitem">

Modified: lucene/dev/branches/branch_3x/lucene/docs/demo.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/docs/demo.html?rev=1072386&r1=1072385&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/docs/demo.html (original)
+++ lucene/dev/branches/branch_3x/lucene/docs/demo.html Sat Feb 19 16:50:23 2011
@@ -129,11 +129,8 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/core/index.html">Core</a>
 </div>
-<div class="menuitem">
-<a href="api/demo/index.html">Demo</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 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/contrib-analyzers/index.html">Analyzers</a>
 </div>
@@ -156,6 +153,9 @@ document.write("Last Published: " + docu
 <a href="api/contrib-benchmark/index.html">Benchmark</a>
 </div>
 <div class="menuitem">
+<a href="api/contrib-demo/index.html">Demo</a>
+</div>
+<div class="menuitem">
 <a href="api/contrib-highlighter/index.html">Highlighter</a>
 </div>
 <div class="menuitem">
@@ -255,7 +255,7 @@ document.write("Last Published: " + docu
 <a href="#About this Document">About this Document</a>
 </li>
 <li>
-<a href="#About the Demos">About the Demos</a>
+<a href="#About the Demo">About the Demo</a>
 </li>
 <li>
 <a href="#Setting your CLASSPATH">Setting your CLASSPATH</a>
@@ -281,12 +281,12 @@ It walks you through some basic installa
 
 
 
-<a name="N1001C"></a><a name="About the Demos"></a>
-<h2 class="boxed">About the Demos</h2>
+<a name="N1001C"></a><a name="About the Demo"></a>
+<h2 class="boxed">About the Demo</h2>
 <div class="section">
 <p>
-The Lucene command-line demo code consists of two applications that demonstrate various
-functionalities of Lucene and how one should go about adding Lucene to their applications.
+The Lucene command-line demo code consists of an application that demonstrates various
+functionalities of Lucene and how you can add Lucene to your applications.
 </p>
 </div>
 
@@ -297,19 +297,38 @@ functionalities of Lucene and how one sh
 <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 war-demo</span> to generate the JARs and WARs.
+Subversion</a>, and then run <span class="codefrag">ant</span> in the <span class="codefrag">lucene/contrib/demo/</span>
+directory to generate the JARs.
 </p>
 <p>
-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 a file
-called <span class="codefrag">lucene-demos-{version}.jar</span>.  If you checked out the sources from Subversion then
-the JARs are located under the <span class="codefrag">build</span> subdirectory (after running <span class="codefrag">ant</span>
-successfully).  Put both of these files in your Java CLASSPATH.
+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:
+</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="N10048"></a><a name="Indexing Files"></a>
+<a name="N1005A"></a><a name="Indexing Files"></a>
 <h2 class="boxed">Indexing Files</h2>
 <div class="section">
 <p>
@@ -338,7 +357,7 @@ you whether you want more results.
 </div>
 
 
-<a name="N10063"></a><a name="About the code..."></a>
+<a name="N10075"></a><a name="About the code..."></a>
 <h2 class="boxed">About the code...</h2>
 <div class="section">
 <p>

Modified: lucene/dev/branches/branch_3x/lucene/docs/demo.pdf
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/docs/demo.pdf?rev=1072386&r1=1072385&r2=1072386&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/docs/demo.pdf (original)
+++ lucene/dev/branches/branch_3x/lucene/docs/demo.pdf Sat Feb 19 16:50:23 2011
@@ -5,10 +5,10 @@
 /Producer (FOP 0.20.5) >>
 endobj
 5 0 obj
-<< /Length 615 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 620 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gaua<9lHd\&;KZO$6PI!?%6<CP-iV[<N3S;[rr8rS-4]$>qk[>h\QrZS[;SS9*tq%RUKg"Z-=iJi,V6e@1\!3'-R1n!sH%5#,o-gM!\Hg&>W_;dQP+4,u7[XPB1\/7+Ao>h6sjnT"]0]79`e]WO?[k;oKaS!U7po!1:=t2l\T8<?6L#r.p94.<?l?jB`?l038uuEe$.W^c@$,@KV02CAHj//>4$?<TUQg7s>#Bp5qGZ?qA1f]/4l9qWt_?2:EL'cF#E*R:c*3!Ck-/0XCNFDE8O<J(V4oJ\h<J^30"F>N6or?.h2[V=Slf,qoS;K]fqX$ud%MC+h7cPP?[U:^fU"'&U0IL[V?uh&+DIdDl;"6G?7r_&sh]k]?hfla8Q]3%>0u=5DG&/T6jGqH&jZ3)^jab#@g6E8GGq!JO7#He(-UOT1?^=(N\mBt[#]19e)\_:&\L!JaIgHe/5Op:2edT?ObYU-JMC2SaGRr9aARs80`*5f((_ZiWP15qTo"p`1o%59aUF&<)EQghTEIEu9ZP`,n*A9E"KdQeS'N5OeuqYu:e!d&GO`,cA=lXZ,AgX1apdDH2ge;CeqB,ZWqo+1q'MCh3Jq$g>sp!2=LlrV~>
+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~>
 endstream
 endobj
 6 0 obj
@@ -42,7 +42,7 @@ endobj
 10 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 102.0 500.966 194.66 488.966 ]
+/Rect [ 102.0 500.966 189.992 488.966 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 11 0 R
@@ -80,10 +80,10 @@ endobj
 >>
 endobj
 18 0 obj
-<< /Length 2210 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 2291 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gatm=gQ(#H&:O:SW;D_\L`''6pE@=idS1AXBppnU'MTZ_M7/\77>IVg0nT=M8,&].\o&DhfNh)n3HO?,n-jBESGfa`I@f+;>"#f7<PL[hX5CY)Lb)2:/G%$qYH6Eo-FOZa*rP[.lL-b+$$AC(EbdQ0I<Mre4hD.T>(*V[cYRAQK,*;d[@4(d$_I[TEbG@DR$&iJgo6WcI(^/h)MW!r(;o@4Ls$gbiVhZbnkJ-HXd=Le>3'uT$A-PM)!Mh3(3LORFDDjg]Wa,&WU6)F4*FEhgGDto:O"WW@H]9^rk-s(V:'`I4=Lu.MC2KCP>.Gl*-j/k^WSs5bAstb/G!+nX0u],[q3d)hVtC/Ce)EXI89Q4'IX6jOhV-eh'8hXU;U8-;/Wh`/$VI2Y?6q,(bK\fbEtmjDK$p<q)[>rZMoU:0`OqKqGBYnJJ`%AWkmbO+UMt__9"]-<93ht$;Vm<rEqorfD2TqomNG`\s->m"aN@Q[f]aq=c/hP6,qe-g5N[8$\dRkf#Y<&R`P4"/</rq("dr3oW97g&4X%I"-]]4M^^:TSjUB?[<7nXe`n\Y<QYatNEt+;ZkWg&$\)2n7@Bi&2qTiJTI`[AZl8Cho+Q_Jb%ZZ\.#ArL(uTcHM(:mr;1l'18:3?K99A#OOV_r>n*]%>07Pj#flfpm7Wp+E+Up%IZNi_.0!0"i=fA6Q)D_k++qAlF=COfa-ni50k---sF.'2R1IVT#6a-8$i,O\d!&[IP<:18`hUf!';VctOicL2.WT:;snqcU(VRXj$4:aP9RQu]IZ7t/+p`:%(=I':"DN$Ad/]A3^Tj0a"=TC-O01#k<T%:el[u6G(qmK"flKSkcrp83%$%TG>2[:\m9s&0^5,Aeo!s3ldNl2,GY1F^(L,[^+$A3t\^ah0S+]PD=g[!1,r%,?lh_>k^%MXdW6a+qnYXZqU'/:a;a,r@e/S*SE/[P74PpX.f(;h<:A@r(d)W\aPNYO<5B03b/,o/c
 'iUW2/p\YGtSAg(2_EbRXX'qR>6Lss(QGDD!-RR.Na9s@266=YhT"om]6e**%b-F>NBY[;]N^41UOI/1S4;)o8`i[.dBY3&08kCjC#`!A9,#hQIE7@Y+b61RZ.eG`NERceoR<-J#ETn:EcM\B_\XYEu$>DF#H0'=_mAi"eP&mQgGYTS#j_>u65<`[p`T7e=DY:?*h<T?]V:;ngrMWF0.dM2moP3K\9e"4%i_ll$/3A<.K#mF&LNk*Z')7nHh"$'_bgq(bPH&lF*`,2q)WO=;,r`1;7C(u`V<%K<2YS,?4IdP0V(Z#S\o%@&#U@s!+M#/AJuUQ=6l<HeoGa?#q^ml>L>ns51u8M7oK9t'l'b1l.Sc8B'J$W7&3Wr,l_R]F:^'2F/Q\"[5&H/ca!mkc@.k7s2FUL2%(aN69_(6Za.=&ORE1%,lHmbr.f2'qoVod':`]<.BCo(HUlZP4p'_9MBdt^6.P7V+J7GaO&*;@+bl:kCe9oTlG-8cr=le>D6D@dg^L]C#=f)?M.HB[QA%K,HlS/GeT6PgXRotO0>]KB!l(l3TNOL7XToE#&c)1P^(=CK\S<.9m^bEFpW:H<e<HI#)UCobil'sFM;.n<T41d#&A(Y[0n+TZCY$V-/YEp@l*asP"HFiP<g<m>E;WGfNGC_giP0YH+RZ&Op4^G'Bf+&eP&85gc4AW20E/ke)ijlp]n3&uKZdU/hbY4SO8QWs+>7u;0&X-&,7t#7%,QfG*PXYn<D:u06g'DTeH%Tm1Nn=G9PaTD?C%(P>KYfh%i0\HOFNCYcc8FKaiAbQ`Fc(8B!B=*U'UE!hE]W9:XhaLL<T^RFnF%u!$dBT=!e[c!YmmjTa:#-U"cbPn5al6n0jt7NK9+J"^/EJS:sGX8iGpcS\!Z-4hjok,meo](i]tQN+N\T-BV>g#[$&DCn:n5$MM)i.$]V1B4&[+Y!%nj:1o)D`e.Zqu\8B<Z5C_N32NAMP(*iM>7)Z!c'iL
 ApB@3f"?'iiONA.Hf2$YLXs(JQpDCRZpAlSf7,tU=Mh:tDZ5?"?%DS#`2rlN@B?D<99@+KR?LEuLr]PQU&'jU&7/in1-#<1J[[2,DB_q*T:D+=/e3=%6P2fJk7SC$lTJ#CZY=uc#Ra91@6Zd]Af5K\)SXeQt-(&f9qT+3*d[Y&#<k%un>T\&3cYuZXgBJrY("Z099%=LIC8a^1emp2S@1^`f)-\u^@!6c9H('~>
+Gatm=99[ga&AI=/Ge(Uj&]L'.iALd"4Gj3+abAI)K4?Eg)93)i4COQ8^Mh<AQ...@cAX6_>J^SfbbD[5AAJ/<cZ>CoQG6iB`s+IBo7Dp-qE>GXERJ\`aJP@(Fd;qQAMSB.<)DUL^9B*PTTc!HNT.IU1=\\^:0]INl<h8Ck^73\/%I^+HN2"NgM;6<6fL+m!E6,@rj?gD8V7mOd)LTWQK"&#+GZ@K^dJ#$q43]Z`Of6gj4HgX=82Sn"_pFDc%<,#u:"%P(+:^S;6;/;jr1sCi'\l?2!h]lP6.B#_70("B;i\$%o=#Off,lVGYKT8>>nVaNX[prb88oZHHLU6C+`ip*;EcrtUtkJi7rClnZ,h3\)T!t*OHO4ZV1<!:XfF5\"7)XNlmok._;m5H0n?5#aMgkjel*]<^_O4T4O""%,StZl1NLT*!T:M"q45VU)G62695[Q;(b)?ck9`/p2M1B0(om6\'."LXl+JVM=f'YfEO@oKZYt0n(faWsmdou`146YYc?Mr^9U[[9S9M0d8f@kQCgcGAe#27a//CKc$4RB^7uK0d;5dr!f''e+NJB*%TErj$N&MOpHZIJ5"0.9j4[*;X(Q<(R&8\`1ZQE_&o^5YqX"#jfOV-c#,q`m'a^]^gM7b"jl2$"`qs4WIUKI;5NX/6h1@9b
 +#kM2Z*bC%6N="e5&L\Lk(5[+^@RGLOV%E=nK_eFt0VKg[/<V$...@SodO>q]AWtAiZ\2lBM6t]G+&sp3[N!?c1JkZcf>#c0&k]UQ=PpM-Y5<j;U,Q=jpmBD<$DsCc^/RdAN)q.p1f\%e*?!uNBZ.;<:U,;K/.M;^"n^`jn:oa2ZdPU4,W:o]Vu70Kq"t+PHI<M$4`H<[qESJC_W](F/Glr-VN[EihI950&:2,-<A*h3mQ5e_-Lm,(EQk?&]#c%ne!=J?#l@IT;-2.@=9,X!+2WWO8kckp\Dt)o>?:ug!uupK6%,_(_bS
 E`,e8/X)%LAsFJhB]PIp@j#+rg[3kMqlmXZ?K2"n^sd(qFkRaatMisu`K/l'qA4b$?[,+dZX7DstI-$5f$U!%&cMjb+)1=0&Q_gl2IpUB;=kYc!E(*rk'<ptM8\iK+!^EuI??$;hGqE*`DF7ndr0pE]Acu0:/Ro!IW0:T+lEQ7;?TV`[=ee/=\YgrG7lf<LNMThp^ch^i\M.l,Kk_k_$NnslqMEES_dk(0^+7;P*h:2uA<K.EP[-nDJC>6QYC8'8gOO<Ca2;cJbb6-"[.p`s)pCX3nf&3qRe9dNq%(3:KALXW_rrXq'W&O~>
 endstream
 endobj
 19 0 obj
@@ -94,80 +94,95 @@ 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 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\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\0\163)
- /Parent 20 0 R
- /Prev 21 0 R
- /Next 23 0 R
+ /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
  /A 11 0 R
 >> endobj
-23 0 obj
+25 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 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\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 20 0 R
- /Prev 23 0 R
- /Next 25 0 R
+ /Parent 22 0 R
+ /Prev 25 0 R
+ /Next 27 0 R
  /A 15 0 R
 >> endobj
-25 0 obj
+27 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 20 0 R
- /Prev 24 0 R
+ /Parent 22 0 R
+ /Prev 26 0 R
  /A 17 0 R
 >> endobj
-26 0 obj
+28 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F3
 /BaseFont /Helvetica-Bold
 /Encoding /WinAnsiEncoding >>
 endobj
-27 0 obj
+29 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F5
 /BaseFont /Times-Roman
 /Encoding /WinAnsiEncoding >>
 endobj
-28 0 obj
+30 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F1
 /BaseFont /Helvetica
 /Encoding /WinAnsiEncoding >>
 endobj
-29 0 obj
+31 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F9
 /BaseFont /Courier
 /Encoding /WinAnsiEncoding >>
 endobj
-30 0 obj
+32 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F2
 /BaseFont /Helvetica-Oblique
 /Encoding /WinAnsiEncoding >>
 endobj
-31 0 obj
+33 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F7
@@ -176,19 +191,19 @@ endobj
 endobj
 1 0 obj
 << /Type /Pages
-/Count 2
-/Kids [6 0 R 19 0 R ] >>
+/Count 3
+/Kids [6 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 26 0 R /F5 27 0 R /F1 28 0 R /F9 29 0 R /F2 30 0 R /F7 31 0 R >> 
+/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 >> 
 /ProcSet [ /PDF /ImageC /Text ] >> 
 endobj
 9 0 obj
@@ -212,60 +227,62 @@ endobj
 15 0 obj
 <<
 /S /GoTo
-/D [19 0 R /XYZ 85.0 375.198 null]
+/D [19 0 R /XYZ 85.0 295.198 null]
 >>
 endobj
 17 0 obj
 <<
 /S /GoTo
-/D [19 0 R /XYZ 85.0 209.264 null]
+/D [21 0 R /XYZ 85.0 659.0 null]
 >>
 endobj
-20 0 obj
+22 0 obj
 <<
- /First 21 0 R
- /Last 25 0 R
+ /First 23 0 R
+ /Last 27 0 R
 >> endobj
 xref
-0 32
+0 34
 0000000000 65535 f 
-0000005712 00000 n 
-0000005777 00000 n 
-0000005869 00000 n 
+0000006464 00000 n 
+0000006536 00000 n 
+0000006628 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
-0000000777 00000 n 
-0000000897 00000 n 
-0000000950 00000 n 
-0000006003 00000 n 
-0000001085 00000 n 
-0000006066 00000 n 
-0000001221 00000 n 
-0000006132 00000 n 
-0000001357 00000 n 
-0000006198 00000 n 
-0000001492 00000 n 
-0000006264 00000 n 
-0000001628 00000 n 
-0000003931 00000 n 
-0000006330 00000 n 
-0000004039 00000 n 
-0000004242 00000 n 
-0000004436 00000 n 
-0000004672 00000 n 
-0000004861 00000 n 
-0000005050 00000 n 
-0000005163 00000 n 
-0000005273 00000 n 
-0000005381 00000 n 
-0000005487 00000 n 
-0000005603 00000 n 
+0000000782 00000 n 
+0000000902 00000 n 
+0000000955 00000 n 
+0000006762 00000 n 
+0000001090 00000 n 
+0000006825 00000 n 
+0000001227 00000 n 
+0000006891 00000 n 
+0000001363 00000 n 
+0000006957 00000 n 
+0000001498 00000 n 
+0000007023 00000 n 
+0000001634 00000 n 
+0000004018 00000 n 
+0000004126 00000 n 
+0000004689 00000 n 
+0000007087 00000 n 
+0000004797 00000 n 
+0000005000 00000 n 
+0000005188 00000 n 
+0000005424 00000 n 
+0000005613 00000 n 
+0000005802 00000 n 
+0000005915 00000 n 
+0000006025 00000 n 
+0000006133 00000 n 
+0000006239 00000 n 
+0000006355 00000 n 
 trailer
 <<
-/Size 32
+/Size 34
 /Root 2 0 R
 /Info 4 0 R
 >>
 startxref
-6381
+7138
 %%EOF