You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by ry...@apache.org on 2008/11/17 23:42:49 UTC

svn commit: r718422 [1/9] - in /lucene/solr/trunk: ./ contrib/javascript/ contrib/javascript/example/ contrib/javascript/example/reuters/ contrib/javascript/example/reuters/images/ contrib/javascript/example/testsolr/ contrib/javascript/example/testsol...

Author: ryan
Date: Mon Nov 17 14:42:45 2008
New Revision: 718422

URL: http://svn.apache.org/viewvc?rev=718422&view=rev
Log:
SOLR-868: Adding solrjs as a contrib package: contrib/javascript.
    (Matthias Epheser via ryan)

Added:
    lucene/solr/trunk/contrib/javascript/
    lucene/solr/trunk/contrib/javascript/NOTICE.txt
    lucene/solr/trunk/contrib/javascript/build.xml
    lucene/solr/trunk/contrib/javascript/example/
    lucene/solr/trunk/contrib/javascript/example/reuters/
    lucene/solr/trunk/contrib/javascript/example/reuters/images/
    lucene/solr/trunk/contrib/javascript/example/reuters/images/contenth2.gif   (with props)
    lucene/solr/trunk/contrib/javascript/example/reuters/images/header.gif   (with props)
    lucene/solr/trunk/contrib/javascript/example/reuters/images/sidebarh2.gif   (with props)
    lucene/solr/trunk/contrib/javascript/example/reuters/index.html
    lucene/solr/trunk/contrib/javascript/example/reuters/style.css
    lucene/solr/trunk/contrib/javascript/example/testClientside.html
    lucene/solr/trunk/contrib/javascript/example/testServerside.html
    lucene/solr/trunk/contrib/javascript/example/testsolr/
    lucene/solr/trunk/contrib/javascript/example/testsolr/solr/
    lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/
    lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/admin-extra.html
    lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/elevate.xml
    lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/protwords.txt
    lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/schema.xml   (with props)
    lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/scripts.conf
    lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/solrconfig.xml   (with props)
    lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/spellings.txt
    lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/stopwords.txt
    lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/synonyms.txt
    lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/velocity/
    lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/velocity/VM_global_library.vm
    lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/velocity/browse.vm
    lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/velocity/header.vm
    lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/velocity/hit.vm
    lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/velocity/main.css
    lucene/solr/trunk/contrib/javascript/lib/
    lucene/solr/trunk/contrib/javascript/lib/jquery/
    lucene/solr/trunk/contrib/javascript/lib/jquery-autocomplete/
    lucene/solr/trunk/contrib/javascript/lib/jquery-autocomplete/jquery.autocomplete.css
    lucene/solr/trunk/contrib/javascript/lib/jquery-autocomplete/jquery.autocomplete.js
    lucene/solr/trunk/contrib/javascript/lib/jquery-jcalendar/
    lucene/solr/trunk/contrib/javascript/lib/jquery-jcalendar/jquery-jcalendar.css
    lucene/solr/trunk/contrib/javascript/lib/jquery-jcalendar/jquery-jcalendar.js
    lucene/solr/trunk/contrib/javascript/lib/jquery/jquery-1.2.6.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/README.txt
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/frame/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/frame.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/frame/Chain.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/frame/Dumper.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/frame/Hash.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/frame/Link.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/frame/Namespace.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/frame/Opt.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/frame/Reflection.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/frame/String.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/frame/Testrun.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/handlers/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/handlers/FOODOC.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/handlers/XMLDOC/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/handlers/XMLDOC.js   (with props)
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/handlers/XMLDOC/DomReader.js   (with props)
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/handlers/XMLDOC/XMLDoc.js   (with props)
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/handlers/XMLDOC/XMLParse.js   (with props)
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/JSDOC/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/JSDOC.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/JSDOC/DocComment.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/JSDOC/DocTag.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/JSDOC/JsDoc.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/JSDOC/JsPlate.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/JSDOC/Lang.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/JSDOC/Parser.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/JSDOC/PluginManager.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/JSDOC/Symbol.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/JSDOC/SymbolSet.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/JSDOC/TextStream.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/JSDOC/Token.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/JSDOC/TokenReader.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/JSDOC/TokenStream.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/JSDOC/Util.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/lib/JSDOC/Walker.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/main.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/plugins/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/plugins/commentSrcJson.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/plugins/frameworkPrototype.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/plugins/functionCall.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/plugins/publishSrcHilite.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/plugins/symbolLink.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/plugins/tagParamConfig.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/plugins/tagSynonyms.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/run.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/t/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/t/TestDoc.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/t/runner.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/addon.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/anon_inner.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/augments.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/augments2.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/borrows.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/borrows2.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/config.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/constructs.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/encoding.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/encoding_other.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/functions_anon.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/functions_nested.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/global.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/globals.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/ignore.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/inner.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/jsdoc_test.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/lend.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/memberof.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/memberof_constructor.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/name.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/namespace_nested.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/nocode.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/oblit_anon.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/overview.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/param_inline.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/params_optional.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/prototype.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/prototype_nested.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/prototype_oblit.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/prototype_oblit_constructor.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/public.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/shared.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/shared2.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/shortcuts.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/static_this.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/synonyms.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/tosource.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/app/test/variable_redefine.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/changes.txt
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/conf/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/conf/sample.conf
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/java/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/java/build.xml
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/java/build_1.4.xml
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/java/classes/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/java/classes/js.jar   (with props)
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/java/src/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/java/src/JsDebugRun.java   (with props)
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/java/src/JsRun.java
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/jsdebug.jar   (with props)
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/jsrun.jar   (with props)
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/jsdoc/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/jsdoc/allclasses.tmpl
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/jsdoc/allfiles.tmpl
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/jsdoc/class.tmpl
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/jsdoc/index.tmpl
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/jsdoc/publish.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/jsdoc/static/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/jsdoc/static/default.css
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/jsdoc/static/header.html
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/jsdoc/static/index.html
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/jsdoc/symbol.tmpl
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/solrjs/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/solrjs/allclasses.tmpl
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/solrjs/allfiles.tmpl
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/solrjs/class.tmpl
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/solrjs/index.tmpl
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/solrjs/publish.js
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/solrjs/static/
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/solrjs/static/default.css
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/solrjs/static/header.html
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/solrjs/static/index.html
    lucene/solr/trunk/contrib/javascript/lib/jsdoc/jsdoc-toolkit/templates/solrjs/symbol.tmpl
    lucene/solr/trunk/contrib/javascript/src/
    lucene/solr/trunk/contrib/javascript/src/clientside/
    lucene/solr/trunk/contrib/javascript/src/clientside/AutocompleteWidget.js   (with props)
    lucene/solr/trunk/contrib/javascript/src/clientside/CalendarWidget.js   (with props)
    lucene/solr/trunk/contrib/javascript/src/clientside/CountryCodeWidget.js   (with props)
    lucene/solr/trunk/contrib/javascript/src/clientside/ExtensibleResultWidget.js
    lucene/solr/trunk/contrib/javascript/src/clientside/FacetWidget.js
    lucene/solr/trunk/contrib/javascript/src/clientside/TagcloudWidget.js   (with props)
    lucene/solr/trunk/contrib/javascript/src/core/
    lucene/solr/trunk/contrib/javascript/src/core/AbstractClientSideWidget.js
    lucene/solr/trunk/contrib/javascript/src/core/AbstractSelectionView.js   (with props)
    lucene/solr/trunk/contrib/javascript/src/core/AbstractServerSideWidget.js
    lucene/solr/trunk/contrib/javascript/src/core/AbstractWidget.js
    lucene/solr/trunk/contrib/javascript/src/core/Core.js
    lucene/solr/trunk/contrib/javascript/src/core/Manager.js
    lucene/solr/trunk/contrib/javascript/src/core/QueryItem.js
    lucene/solr/trunk/contrib/javascript/src/css/
    lucene/solr/trunk/contrib/javascript/src/css/solrjs.css
    lucene/solr/trunk/contrib/javascript/src/resources/
    lucene/solr/trunk/contrib/javascript/src/resources/img/
    lucene/solr/trunk/contrib/javascript/src/resources/img/ajax-loader.gif   (with props)
    lucene/solr/trunk/contrib/javascript/src/serverside/
    lucene/solr/trunk/contrib/javascript/src/serverside/FacetServerSideWidget.js   (with props)
    lucene/solr/trunk/contrib/javascript/src/serverside/SimpleServerSideWidget.js
    lucene/solr/trunk/contrib/javascript/src/templates/
    lucene/solr/trunk/contrib/javascript/src/templates/facets.vm   (with props)
    lucene/solr/trunk/contrib/javascript/src/templates/result.vm
Modified:
    lucene/solr/trunk/CHANGES.txt

Modified: lucene/solr/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/CHANGES.txt?rev=718422&r1=718421&r2=718422&view=diff
==============================================================================
--- lucene/solr/trunk/CHANGES.txt (original)
+++ lucene/solr/trunk/CHANGES.txt Mon Nov 17 14:42:45 2008
@@ -84,6 +84,10 @@
 
 15. SOLR-822: Add CharFilter so that characters can be filtered (e.g. character normalization)
     before Tokenizer/TokenFilters. (koji)
+    
+16. SOLR-868: Adding solrjs as a contrib package: contrib/javascript.
+    (Matthias Epheser via ryan)    
+    
 
 Optimizations
 ----------------------

Added: lucene/solr/trunk/contrib/javascript/NOTICE.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/javascript/NOTICE.txt?rev=718422&view=auto
==============================================================================
--- lucene/solr/trunk/contrib/javascript/NOTICE.txt (added)
+++ lucene/solr/trunk/contrib/javascript/NOTICE.txt Mon Nov 17 14:42:45 2008
@@ -0,0 +1,64 @@
+==============================================================
+ Apache Solr / Contrib Javascript
+ Copyright 2006-2008 The Apache Software Foundation
+==============================================================
+
+
+=========================================================================
+==  jQuery -- http://www.jquery.com/                                   ==
+=========================================================================
+
+Copyright (c) 2008 John Resig, http://jquery.com/
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+
+=========================================================================
+==  JsDoc Toolkit -- http://www.jsdoctoolkit.org/                      ==
+=========================================================================
+
+JsDoc Toolkit
+
+All code specific to JsDoc Toolkit are free, open source and licensed
+for use under the X11/MIT License.
+
+JsDoc Toolkit is Copyright (c)2008 Michael Mathews <mi...@gmail.com>
+
+This program is free software; you can redistribute it and/or
+modify it under the terms below.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions: The above copyright notice and this
+permission notice must be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Added: lucene/solr/trunk/contrib/javascript/build.xml
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/javascript/build.xml?rev=718422&view=auto
==============================================================================
--- lucene/solr/trunk/contrib/javascript/build.xml (added)
+++ lucene/solr/trunk/contrib/javascript/build.xml Mon Nov 17 14:42:45 2008
@@ -0,0 +1,111 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project name="solrjs" default="dist" basedir=".">
+
+	<!-- our current version -->
+	<property name="version" value="1.4-dev"/>
+	
+  <!-- a filelist for the core js files in correct order -->
+	<filelist id="src_core" dir="src/core" >
+		<file name="Core.js"/>
+		<file name="QueryItem.js"/>
+		<file name="Manager.js"/>
+		<file name="AbstractWidget.js"/>
+		<file name="AbstractServerSideWidget.js"/>
+		<file name="AbstractClientSideWidget.js"/>
+	</filelist>
+
+	<!-- a fileset for the server side widget files  -->
+	<fileset id="src_serverside" dir="src/serverside" >
+		<include name="*.js"/>
+	</fileset>
+
+	<!-- a fileset for the client side widget files  -->
+	<fileset id="src_clientside" dir="src/clientside" >
+		<include name="*.js"/>
+	</fileset>
+
+	
+	<!-- create dist -->
+	<target name="clean">
+		<delete dir="dist" quiet="true"/>
+    <delete dir="doc" quiet="true"/>
+	</target>
+
+	<target name="create-dist-folder" depends="clean">
+		<mkdir dir="dist" />
+	</target>
+
+	<!-- create a single js file -->
+	<target name="concat" depends="create-dist-folder">
+		<concat destfile="dist/solrjs-${version}.js" fixlastline="true">
+			<filelist refid="src_core"/>
+			<fileset refid="src_serverside"/>
+			<fileset refid="src_clientside"/>
+		</concat>
+	</target>
+
+	<target name="dist" depends="concat,docs">
+		 <jar destfile="dist/solrjs-${version}-templates.jar">
+		    <fileset dir="src/templates" >
+          <include name="*.vm"/>
+		    </fileset>
+		 </jar>
+	</target>
+
+	<!-- create docs -->
+	<target name="docs">
+		<delete dir="dist/doc"/>
+		<mkdir dir="dist/doc"/>
+		<java jar="lib/jsdoc/jsdoc-toolkit/jsrun.jar" fork="true" failonerror="true">
+			<arg value="lib/jsdoc/jsdoc-toolkit/app/run.js"/>
+			<arg value="-r=4" />
+			<arg value="src/" />
+			<arg value="-t=lib/jsdoc/jsdoc-toolkit/templates/jsdoc"/>
+			<arg value="-d=dist/doc"/>
+			<arg value="-p"/>
+		</java>
+	</target>
+		
+  <!-- import current solr.war to example -->
+	<target name="example-init" depends="dist">
+	  <copy file="../../dist/apache-solr-${version}.war" tofile="example/testsolr/webapps/solr.war"/>
+		<copy todir="example/testsolr/solr/lib" overwrite="true">
+			<fileset dir="../velocity/src/main/solr/lib/"/>
+		</copy>
+		<copy file="dist/solrjs-${version}-templates.jar" todir="example/testsolr/solr/lib"/>
+	</target>  
+
+	<!-- start server
+	<target name="example-start">
+	  <java jar="example/testsolr/start.jar" fork="true" failonerror="true" dir="example/testsolr/" />
+	</target>
+	 -->
+	
+	<!-- import testdata (server has to be online) 
+	  <target name="example-import">
+	    <java jar="example/testdata/reutersimporter.jar" fork="true" failonerror="true" dir="example/testdata/">
+	    	<arg value="http://localhost:8983/solr/"/>
+	    	<arg value="." />
+	    </java>
+	  </target>
+	-->
+
+
+</project>
+
+

Added: lucene/solr/trunk/contrib/javascript/example/reuters/images/contenth2.gif
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/javascript/example/reuters/images/contenth2.gif?rev=718422&view=auto
==============================================================================
Binary file - no diff available.

Propchange: lucene/solr/trunk/contrib/javascript/example/reuters/images/contenth2.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: lucene/solr/trunk/contrib/javascript/example/reuters/images/header.gif
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/javascript/example/reuters/images/header.gif?rev=718422&view=auto
==============================================================================
Binary file - no diff available.

Propchange: lucene/solr/trunk/contrib/javascript/example/reuters/images/header.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: lucene/solr/trunk/contrib/javascript/example/reuters/images/sidebarh2.gif
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/javascript/example/reuters/images/sidebarh2.gif?rev=718422&view=auto
==============================================================================
Binary file - no diff available.

Propchange: lucene/solr/trunk/contrib/javascript/example/reuters/images/sidebarh2.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: lucene/solr/trunk/contrib/javascript/example/reuters/index.html
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/javascript/example/reuters/index.html?rev=718422&view=auto
==============================================================================
--- lucene/solr/trunk/contrib/javascript/example/reuters/index.html (added)
+++ lucene/solr/trunk/contrib/javascript/example/reuters/index.html Mon Nov 17 14:42:45 2008
@@ -0,0 +1,199 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>SolrJS</title>
+    <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
+    
+    <link rel="stylesheet" type="text/css" href="../../src/css/solrjs.css" />
+    <link rel="stylesheet" type="text/css" href="../../lib/jquery-autocomplete/jquery.autocomplete.css" />
+
+    <script src="../../lib/jquery/jquery-1.2.6.js"></script>
+    <script src="../../lib/jquery-autocomplete/jquery.autocomplete.js"</script>
+    <script src="../../src/core/Core.js"></script>
+    <script src="../../src/core/QueryItem.js"></script>
+    <script src="../../src/core/Manager.js"></script>
+    <script src="../../src/core/AbstractSelectionView.js"></script> 
+    <script src="../../src/core/AbstractWidget.js"></script>
+    <script src="../../src/core/AbstractServerSideWidget.js"></script>
+    <script src="../../src/core/AbstractClientSideWidget.js"></script>
+    <script src="../../src/clientside/ExtensibleResultWidget.js"/></script>
+    <script src="../../src/clientside/AutocompleteWidget.js"/></script>
+    <script src="../../src/clientside/CalendarWidget.js"/></script>
+    <script src="../../src/clientside/TagcloudWidget.js"/></script>
+    <script src="../../src/clientside/CountryCodeWidget.js"/></script>
+    
+    <link rel="stylesheet" type="text/css" media="all" href="../../lib/jscalendar/aqua/theme.css" title="Aqua" />
+    <script type="text/javascript" src="../../lib/jscalendar/calendar.js"></script>
+    <script type="text/javascript" src="../../lib/jscalendar/lang/calendar-en.js"></script>
+    
+    <script>
+      var $sj = jQuery.noConflict();
+      
+      var solrjsManager;
+      $sj(document).ready(function(){
+        solrjsManager = new $sj.solrjs.Manager({solrUrl:"http://localhost:8983/solr/select", resourcesBase: "../../src/resources"});
+        
+        var resultWidget = new $sj.solrjs.ExtensibleResultWidget({
+          id:"result", 
+          target:"#result", 
+          rows:10,
+          showLoadingDiv: true,
+          renderResult : function(docs, pageSize, offset, numFound) { 
+            var container = jQuery("<div/>");
+            
+            // paging
+            jQuery("<a/>").html("<<").attr("href", "javascript:solrjsManager.doRequest(0, true)").appendTo(container);
+            jQuery("<a/>").html("<").attr("href", "javascript:solrjsManager.doRequest(" + Math.max(0, (parseInt(offset) - parseInt(pageSize))) + ", true)").appendTo(container);
+            jQuery("<a/>").html(">").attr("href", "javascript:solrjsManager.doRequest(" + Math.min((parseInt(numFound) - parseInt(pageSize)), (parseInt(offset) + parseInt(pageSize))) + ", true)").appendTo(container);
+            jQuery("<a/>").html(">>").attr("href", "javascript:solrjsManager.doRequest(" + (parseInt(numFound) - parseInt(pageSize)) + ", true)").appendTo(container);
+            jQuery("<span/>").html("displaying " + (parseInt(offset) + 1) + " to " + Math.min(numFound, (parseInt(offset) + parseInt(pageSize))) + " of " + numFound ).appendTo(container);
+            jQuery("<hr/>").appendTo(container);
+            
+            // result
+            $sj.each(docs, function(i, item) {
+              jQuery("<h2/>").html(item["title"]).appendTo(container);
+              var topics = jQuery("<p/>").appendTo(container);
+              if (item["topics"] != null) {
+                $sj.each(item["topics"], function(i, topic) {
+                  var items =  "[new jQuery.solrjs.QueryItem({field:'topics',value:'" +  topic + "'})]";
+                  jQuery("<a/>").html(topic).attr("href", "javascript:solrjsManager.clearSelection();solrjsManager.selectItems('result'," + items + ")").appendTo(topics);
+                }); 
+              }
+              if (item["organisations"] != null) {
+                $sj.each(item["organisations"], function(i, topic) {
+                  var items =  "[new jQuery.solrjs.QueryItem({field:'organisations' ,value:'" +  topic + "'})]";
+                  jQuery("<a/>").html(topic).attr("href", "javascript:solrjsManager.clearSelection();solrjsManager.selectItems('result'," + items + ")").appendTo(topics);
+                }); 
+              }
+              if (item["exchanges"] != null) {
+                $sj.each(item["exchanges"], function(i, topic) {
+                  var items =  "[new jQuery.solrjs.QueryItem({field:'exchanges' ,value:'" +  topic + "'})]";
+                  jQuery("<a/>").html(topic).attr("href", "javascript:solrjsManager.clearSelection();solrjsManager.selectItems('result'," + items + ")").appendTo(topics);
+                }); 
+              }
+              if (item["text"].length > 300) {
+                var short = jQuery("<p/>").attr("id", "short_" + item["id"]).html(item["dateline"] + " " + item["text"].substring(0,Math.min(300,item["text"].length))).appendTo(container).css("display", "block");
+                jQuery("<p/>").attr("id", "long_" + item["id"]).html(item["dateline"] + " " + item["text"]).appendTo(container).css("display", "none");
+                jQuery("<a/>").html(" more").attr("href", "javascript:toggle('#short_" + item['id'] + "', '#long_" + item['id'] + "');").appendTo(short);
+              } else {
+                jQuery("<p/>").attr("id", "long_" + item["id"]).html(item["dateline"] + " " + item["text"]).appendTo(container);
+              }
+            });
+            container.appendTo(this.target);
+          }
+        });     
+        solrjsManager.addWidget(resultWidget);  
+        
+        solrjsManager.addWidget(new $sj.solrjs.AutocompleteWidget({id:"search", target:"#search", fulltextFieldName:"allText", fieldNames:["topics", "organisations", "exchanges"]}));
+        solrjsManager.addWidget(new $sj.solrjs.TagcloudWidget({id:"topics", target:"#topics", fieldName:"topics", size:50})); 
+        solrjsManager.addWidget(new $sj.solrjs.TagcloudWidget({id:"organisations", target:"#organisations", fieldName:"organisations", size:20}));
+        solrjsManager.addWidget(new $sj.solrjs.TagcloudWidget({id:"exchanges", target:"#exchanges", fieldName:"exchanges", size:20}));
+        solrjsManager.addWidget(new $sj.solrjs.CountryCodeWidget({id:"countries", target:"#countries", fieldName:"countryCodes"}));  
+        solrjsManager.addWidget(new $sj.solrjs.CalendarWidget({id:"calendar", target:"#calendar", fieldName:"date", startDate: new Date(1987,01,01), endDate: new Date(1987,10,31)}));
+        
+        var selectionView = new $sj.solrjs.AbstractSelectionView({
+          id:"selectionView", 
+          target:"#selection", 
+          displaySelection : function(selectedItems) { 
+            jQuery(this.target).empty();
+            if(selectedItems.length == 0) {
+              jQuery("<div/>").html("Viewing all documents!").appendTo(this.target);
+              return;
+            } else if(selectedItems.length > 1) {
+              jQuery("<a/>").html("remove all").attr("href", "javascript:solrjsManager.doRequestAll()").appendTo(this.target);
+            }
+            
+            for (var i = 0; i < selectedItems.length; ++i) {
+              var item = selectedItems[i];
+              jQuery("<a/>").html("(x) " + item.field + ":" + item.value).attr("href", "javascript:solrjsManager.deselectItem('" + item.toSolrQuery() + "')").appendTo(this.target);
+            }
+          }
+        });     
+        solrjsManager.addSelectionView(selectionView);
+    
+        solrjsManager.doRequestAll();
+      
+       });
+       
+       function toggle(id1, id2) {
+        $sj(id1).css("display", "none");
+        $sj(id2).css("display", "block"); 
+       }
+  </script>
+    
+  </head>
+  <body>
+    <div id="wrap"> 
+      <div id="header">
+        <h1><a href="#">SolrJS Demonstration</a></h1>
+        <h2>Browse REUTERS business news from 1987</h2>
+      </div> 
+      <div class="right">
+        <div id="result">
+          <div id="navigation"></div>
+          <div id="docs"></div>
+        </div>
+      </div>
+      
+      <div class="left">
+        <h2>Current Selection</h2>
+        <ul>
+          <li> <div id="selection"></div> </li>
+        </ul>
+        <h2>Search</h2>
+        <ul>
+          <li> 
+            <span style="font-size:80%"> ( press ESC to close suggestions) </span>
+            <div id="search"></div> 
+          </li>
+        </ul>
+        <h2>Top Topics</h2>
+        <ul>
+          <li> <div id="topics"></div> </li>
+        </ul>
+        <h2>Top Organisations</h2>
+        <ul>
+          <li> <div id="organisations"></div> </li>
+        </ul>
+        <h2>Top Exchanges</h2>
+        <ul>
+          <li> <div id="exchanges"></div> </li>
+        </ul>
+        <h2>By Country</h2>
+        <ul>
+          <li> <div id="countries"></div> </li>
+          <li> <div id="preview"></div> </li>
+        </ul>
+        <h2>By Date</h2>
+        <ul>
+          <li> <div id="calendar" style="width:160px"></div> </li> 
+        </ul>
+        <div style="clear:both"></div>
+      </div>
+      
+      <div style="clear: both;"> </div>
+      
+      </div>
+      
+      
+      <div class="footer">
+        Design by <a href="http://www.free-css-templates.com/">Free CSS Templates</a> - Thanks to <a href="http://www.dubaiapartments.biz/">Dubai Villas</a>
+      </div>
+  </body>
+</html>
\ No newline at end of file

Added: lucene/solr/trunk/contrib/javascript/example/reuters/style.css
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/javascript/example/reuters/style.css?rev=718422&view=auto
==============================================================================
--- lucene/solr/trunk/contrib/javascript/example/reuters/style.css (added)
+++ lucene/solr/trunk/contrib/javascript/example/reuters/style.css Mon Nov 17 14:42:45 2008
@@ -0,0 +1,128 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+* {
+    padding: 0;
+    margin: 0;
+} 
+
+body {
+background: #fff url(images/header.gif) repeat-x;
+font-family: Verdana, Arial, Helvetica, sans-serif;
+font-size: 12px;
+line-height: 18px;
+color: #333333;;
+}
+
+img { border: none; }
+a { color: #6998F0; text-decoration: none; }
+a:hover { text-decoration: underline; color : #000; }
+
+#wrap {
+width: 1000px;
+margin: 0px auto;
+}
+
+#header {
+height: 90px;
+}
+
+#header h1 {
+padding: 20px 0 5px 10px;
+font-size: 20px;
+letter-spacing: -2px;
+}
+#header h1 a {
+color: #000;
+text-decoration: none;
+}
+#header h1 a:hover {
+text-decoration: none;
+color: #666;
+}
+#header h2 {
+padding-left: 11px;
+font-size: 14px;
+color: #666;
+font-weight: 100;
+}
+
+.right {
+float: right;
+width: 538px;
+text-align: justify;
+padding: 10px 20px 10px 40px;
+border-left: 1px solid #aaa;
+min-height:1000px;
+}
+.right h2 {
+color: #B4241B;
+font-size: 20px;
+letter-spacing: -2px;
+font-weight: 100;
+padding : 15px 0 5px 0;
+}
+.right h2 a {
+
+}
+.right h2 a:hover {
+
+}
+.left {
+float: left;
+width: 400px;
+padding: 10px 0 10px 0px;
+}
+.left h2 {
+font-size: 13px;
+color: #333;
+padding: 5px 0 2px 10px;
+}
+.left ul {
+list-style-type: none;
+padding: 5px 0 10px 5px;
+}
+.left ul li {
+padding: 2px 20px;
+
+}
+
+.left ul li a {
+display: block;
+color: #6998F0;
+}
+.left ul li a:hover {
+color: #ff0000;
+}
+
+.footer {
+text-align: center;
+color: #666;
+font-size: 11px;
+padding: 10px;
+background: #f7f7f7;
+border-top: 1px solid #aaa;
+}
+.footer  a { color: #666; }
+
+#result a {
+  margin-right:5px;
+}
+
+#search input {
+  width:350px;
+}

Added: lucene/solr/trunk/contrib/javascript/example/testClientside.html
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/javascript/example/testClientside.html?rev=718422&view=auto
==============================================================================
--- lucene/solr/trunk/contrib/javascript/example/testClientside.html (added)
+++ lucene/solr/trunk/contrib/javascript/example/testClientside.html Mon Nov 17 14:42:45 2008
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
+                    "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<html>
+<head>
+	<style type="text/css">
+		body { font-family: Arial, sans; font-size: 0.8em}
+	</style> 
+
+   <script src="../lib/jquery/jquery-1.2.6.js"></script>
+	<script src="../src/core/Core.js"></script>
+	<script src="../src/core/QueryItem.js"></script>
+	<script src="../src/core/Manager.js"></script>
+	<script src="../src/core/AbstractWidget.js"></script>
+	<script src="../src/core/AbstractServerSideWidget.js"></script>
+	<script src="../src/core/AbstractClientSideWidget.js"></script>
+	<script src="../src/clientside/ExtensibleResultWidget.js"/></script>
+	<script src="../src/clientside/FacetWidget.js"/></script>
+	<script>
+	  var $sj = jQuery.noConflict();
+	</script>  
+  
+
+  <script>
+    var solrjsManager;
+	  $sj(document).ready(function(){
+			solrjsManager = new $sj.solrjs.Manager({solrUrl:"http://localhost:8983/solr/select"});
+	    // a custom result widget      
+      var resultWidget = new $sj.solrjs.ExtensibleResultWidget({
+        id:"result", 
+        target:"#result", 
+        rows:20,
+        renderResult : function(docs, pageSize, offset) { 
+          var container = jQuery("<div/>");
+          $sj.each(docs, function(i, item) {
+            jQuery("<h3/>").html(item["title"]).appendTo(container);
+            if (item["topics"] != null) {
+              jQuery("<p/>").html(item["topics"].toString()).appendTo(container);
+            }
+            jQuery("<p/>").html(item["text"]).appendTo(container);
+            jQuery("<hr/>").appendTo(container);
+          });
+          container.appendTo(this.target);
+        }
+      });     
+
+      solrjsManager.addWidget(resultWidget);  
+      solrjsManager.addWidget(new $sj.solrjs.FacetWidget({id:"topics", target:"#topics", fieldName:"topics"}));	
+			solrjsManager.doRequestAll(); 
+		});
+	</script>
+  <style>img{ height: 100px; float: left; }</style>
+</head>
+<body>
+	<div id="facets" style="float:left;width:300px;">
+		<h3 style="margin-top:0px">topics</h3>		
+		<div id="topics"></div>
+	</div>
+  <div id="result" style="margin-left:300px;"></div>
+</body>
+</html>

Added: lucene/solr/trunk/contrib/javascript/example/testServerside.html
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/javascript/example/testServerside.html?rev=718422&view=auto
==============================================================================
--- lucene/solr/trunk/contrib/javascript/example/testServerside.html (added)
+++ lucene/solr/trunk/contrib/javascript/example/testServerside.html Mon Nov 17 14:42:45 2008
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
+                    "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<html>
+<head>
+	<style type="text/css">
+		body { font-family: Arial, sans; font-size: 0.8em}
+	</style> 
+
+  <script src="../lib/jquery/jquery-1.2.6.js"></script>
+	<script src="../src/core/Core.js"></script>
+	<script src="../src/core/QueryItem.js"></script>
+	<script src="../src/core/Manager.js"></script>
+	<script src="../src/core/AbstractWidget.js"></script>
+	<script src="../src/core/AbstractServerSideWidget.js"></script>
+	<script src="../src/core/AbstractClientSideWidget.js"></script>
+	<script src="../src/serverside/SimpleServerSideWidget.js"/></script>
+	<script src="../src/serverside/FacetServerSideWidget.js"/></script>
+	
+	<script>
+	  var $sj = jQuery.noConflict();
+	</script>  
+
+
+    <script>
+      var solrjsManager;
+	  $sj(document).ready(function(){
+        solrjsManager = new $sj.solrjs.Manager({solrUrl:"http://localhost:8983/solr/select"});
+			
+		  // a custom result widget      
+      var resultWidget = new $sj.solrjs.SimpleServerSideWidget({
+  			id:"result", 
+  			target:"#result", 
+  			rows:5,
+  			templateName:"result"
+  		});	  	
+
+      solrjsManager.addWidget(resultWidget);	
+      solrjsManager.addWidget(new $sj.solrjs.FacetServerSideWidget({id:"topics", target:"#topics", fieldName:"topics"}));
+			solrjsManager.doRequestAll(); 
+		});
+	</script>
+  </head>
+
+<body>
+ <body>
+  <div id="facets" style="float:left;width:300px;">
+    <h3 style="margin-top:0px">topics</h3>    
+    <div id="topics"></div>
+  </div>
+  <div id="result" style="margin-left:300px;"></div>
+</body>
+</body>
+</html>

Added: lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/admin-extra.html
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/admin-extra.html?rev=718422&view=auto
==============================================================================
--- lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/admin-extra.html (added)
+++ lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/admin-extra.html Mon Nov 17 14:42:45 2008
@@ -0,0 +1,31 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!-- The content of this page will be statically included into the top
+of the admin page.  Uncomment this as an example to see there the content
+will show up.
+
+<hr>
+<i>This line will appear before the first table</i>
+<tr>
+<td colspan="2">
+This row will be appended to the end of the first table
+</td>
+</tr>
+<hr>
+
+-->

Added: lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/elevate.xml
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/elevate.xml?rev=718422&view=auto
==============================================================================
--- lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/elevate.xml (added)
+++ lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/elevate.xml Mon Nov 17 14:42:45 2008
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!-- If this file is found in the config directory, it will only be
+     loaded once at startup.  If it is found in Solr's data
+     directory, it will be re-loaded every commit.
+-->
+
+<elevate>
+ <query text="foo bar">
+  <doc id="1" />
+  <doc id="2" />
+  <doc id="3" />
+ </query>
+ 
+ <query text="ipod">
+   <doc id="MA147LL/A" />  <!-- put the actual ipod at the top -->
+   <doc id="IW-02" exclude="true" /> <!-- exclude this cable -->
+ </query>
+ 
+</elevate>

Added: lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/protwords.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/protwords.txt?rev=718422&view=auto
==============================================================================
--- lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/protwords.txt (added)
+++ lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/protwords.txt Mon Nov 17 14:42:45 2008
@@ -0,0 +1,21 @@
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#-----------------------------------------------------------------------
+# Use a protected word file to protect against the stemmer reducing two
+# unrelated words to the same base word.
+
+# Some non-words that normally won't be encountered,
+# just to test that they won't be stemmed.
+dontstems
+zwhacky
+

Added: lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/schema.xml
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/schema.xml?rev=718422&view=auto
==============================================================================
--- lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/schema.xml (added)
+++ lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/schema.xml Mon Nov 17 14:42:45 2008
@@ -0,0 +1,251 @@
+<schema name="example" version="1.1">
+  <types>
+    <!-- field type definitions. The "name" attribute is
+       just a label to be used by field definitions.  The "class"
+       attribute and any other attributes determine the real
+       behavior of the fieldType.
+         Class names starting with "solr" refer to java classes in the
+       org.apache.solr.analysis package.
+    -->
+
+    <!-- The StrField type is not analyzed, but indexed/stored verbatim.  
+       - StrField and TextField support an optional compressThreshold which
+       limits compression (if enabled in the derived fields) to values which
+       exceed a certain size (in characters).
+    -->
+    <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
+
+    <!-- boolean type: "true" or "false" -->
+    <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" omitNorms="true"/>
+
+    <!-- The optional sortMissingLast and sortMissingFirst attributes are
+         currently supported on types that are sorted internally as strings.
+       - If sortMissingLast="true", then a sort on this field will cause documents
+         without the field to come after documents with the field,
+         regardless of the requested sort order (asc or desc).
+       - If sortMissingFirst="true", then a sort on this field will cause documents
+         without the field to come before documents with the field,
+         regardless of the requested sort order.
+       - If sortMissingLast="false" and sortMissingFirst="false" (the default),
+         then default lucene sorting will be used which places docs without the
+         field first in an ascending sort and last in a descending sort.
+    -->    
+
+
+    <!-- numeric field types that store and index the text
+         value verbatim (and hence don't support range queries, since the
+         lexicographic ordering isn't equal to the numeric ordering) -->
+    <fieldType name="integer" class="solr.IntField" omitNorms="true"/>
+    <fieldType name="long" class="solr.LongField" omitNorms="true"/>
+    <fieldType name="float" class="solr.FloatField" omitNorms="true"/>
+    <fieldType name="double" class="solr.DoubleField" omitNorms="true"/>
+
+
+    <!-- Numeric field types that manipulate the value into
+         a string value that isn't human-readable in its internal form,
+         but with a lexicographic ordering the same as the numeric ordering,
+         so that range queries work correctly. -->
+    <fieldType name="sint" class="solr.SortableIntField" sortMissingLast="true" omitNorms="true"/>
+    <fieldType name="slong" class="solr.SortableLongField" sortMissingLast="true" omitNorms="true"/>
+    <fieldType name="sfloat" class="solr.SortableFloatField" sortMissingLast="true" omitNorms="true"/>
+    <fieldType name="sdouble" class="solr.SortableDoubleField" sortMissingLast="true" omitNorms="true"/>
+
+
+    <!-- The format for this date field is of the form 1995-12-31T23:59:59Z, and
+         is a more restricted form of the canonical representation of dateTime
+         http://www.w3.org/TR/xmlschema-2/#dateTime    
+         The trailing "Z" designates UTC time and is mandatory.
+         Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z
+         All other components are mandatory.
+
+         Expressions can also be used to denote calculations that should be
+         performed relative to "NOW" to determine the value, ie...
+
+               NOW/HOUR
+                  ... Round to the start of the current hour
+               NOW-1DAY
+                  ... Exactly 1 day prior to now
+               NOW/DAY+6MONTHS+3DAYS
+                  ... 6 months and 3 days in the future from the start of
+                      the current day
+                      
+         Consult the DateField javadocs for more information.
+      -->
+    <fieldType name="date" class="solr.DateField" sortMissingLast="true" omitNorms="true"/>
+
+
+    <!-- The "RandomSortField" is not used to store or search any
+         data.  You can declare fields of this type it in your schema
+         to generate psuedo-random orderings of your docs for sorting 
+         purposes.  The ordering is generated based on the field name 
+         and the version of the index, As long as the index version
+         remains unchanged, and the same field name is reused,
+         the ordering of the docs will be consistent.  
+         If you want differend psuedo-random orderings of documents,
+         for the same version of the index, use a dynamicField and
+         change the name
+     -->
+    <fieldType name="random" class="solr.RandomSortField" indexed="true" />
+
+    <!-- solr.TextField allows the specification of custom text analyzers
+         specified as a tokenizer and a list of token filters. Different
+         analyzers may be specified for indexing and querying.
+
+         The optional positionIncrementGap puts space between multiple fields of
+         this type on the same document, with the purpose of preventing false phrase
+         matching across fields.
+
+         For more info on customizing your analyzer chain, please see
+         http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters
+     -->
+
+    <!-- One can also specify an existing Analyzer class that has a
+         default constructor via the class attribute on the analyzer element
+    <fieldType name="text_greek" class="solr.TextField">
+      <analyzer class="org.apache.lucene.analysis.el.GreekAnalyzer"/>
+    </fieldType>
+    -->
+
+    <!-- A text field that only splits on whitespace for exact matching of words -->
+    <fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
+      <analyzer>
+        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+      </analyzer>
+    </fieldType>
+
+    <!-- A text field that uses WordDelimiterFilter to enable splitting and matching of
+        words on case-change, alpha numeric boundaries, and non-alphanumeric chars,
+        so that a query of "wifi" or "wi fi" could match a document containing "Wi-Fi".
+        Synonyms and stopwords are customized by external files, and stemming is enabled.
+        Duplicate tokens at the same position (which may result from Stemmed Synonyms or
+        WordDelim parts) are removed.
+        -->
+    <fieldType name="text" class="solr.TextField" positionIncrementGap="100">
+      <analyzer type="index">
+        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+        <!-- in this example, we will only use synonyms at query time
+        <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
+        -->
+        <!-- Case insensitive stop word removal.
+             enablePositionIncrements=true ensures that a 'gap' is left to
+             allow for accurate phrase queries.
+        -->
+        <filter class="solr.StopFilterFactory"
+                ignoreCase="true"
+                words="stopwords.txt"
+                enablePositionIncrements="true"
+                />
+        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
+        <filter class="solr.LowerCaseFilterFactory"/>
+        <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
+        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
+      </analyzer>
+      <analyzer type="query">
+        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
+        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
+        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
+        <filter class="solr.LowerCaseFilterFactory"/>
+        <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
+        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
+      </analyzer>
+    </fieldType>
+
+
+    <!-- Less flexible matching, but less false matches.  Probably not ideal for product names,
+         but may be good for SKUs.  Can insert dashes in the wrong place and still match. -->
+    <fieldType name="textTight" class="solr.TextField" positionIncrementGap="100" >
+      <analyzer>
+        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
+        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
+        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
+        <filter class="solr.LowerCaseFilterFactory"/>
+        <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
+        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
+      </analyzer>
+    </fieldType>
+
+
+    <!--
+     Setup simple analysis for spell checking
+     -->
+    <fieldType name="textSpell" class="solr.TextField" positionIncrementGap="100" >
+      <analyzer>
+        <tokenizer class="solr.StandardTokenizerFactory"/>
+        <filter class="solr.LowerCaseFilterFactory"/>
+        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
+      </analyzer>
+    </fieldType>
+
+    <!-- This is an example of using the KeywordTokenizer along
+         With various TokenFilterFactories to produce a sortable field
+         that does not include some properties of the source text
+      -->
+    <fieldType name="alphaOnlySort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
+      <analyzer>
+        <!-- KeywordTokenizer does no actual tokenizing, so the entire
+             input string is preserved as a single token
+          -->
+        <tokenizer class="solr.KeywordTokenizerFactory"/>
+        <!-- The LowerCase TokenFilter does what you expect, which can be
+             when you want your sorting to be case insensitive
+          -->
+        <filter class="solr.LowerCaseFilterFactory" />
+        <!-- The TrimFilter removes any leading or trailing whitespace -->
+        <filter class="solr.TrimFilterFactory" />
+        <!-- The PatternReplaceFilter gives you the flexibility to use
+             Java Regular expression to replace any sequence of characters
+             matching a pattern with an arbitrary replacement string, 
+             which may include back refrences to portions of the orriginal
+             string matched by the pattern.
+             
+             See the Java Regular Expression documentation for more
+             infomation on pattern and replacement string syntax.
+             
+             http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/package-summary.html
+          -->
+        <filter class="solr.PatternReplaceFilterFactory"
+                pattern="([^a-z])" replacement="" replace="all"
+        />
+      </analyzer>
+    </fieldType>
+
+    <!-- since fields of this type are by default not stored or indexed, any data added to 
+         them will be ignored outright 
+     --> 
+    <fieldtype name="ignored" stored="false" indexed="false" class="solr.StrField" /> 
+
+ </types>
+
+
+ <fields>
+   <field name="id" type="string" indexed="true" stored="true" required="true" /> 
+   <field name="title" type="text" indexed="true" stored="true"/>
+   <field name="text" type="text" indexed="true" stored="true"/>
+   <field name="date" type="date" indexed="true" stored="true"/>
+   <field name="dateline" type="text" indexed="true" stored="true"/>
+   <field name="places" type="string" indexed="true" stored="true" multiValued="true" omitNorms="true" termVectors="true" />
+   <field name="countryCodes" type="string" indexed="true" stored="true" multiValued="true" omitNorms="true" termVectors="true" />
+   <field name="topics" type="string" indexed="true" stored="true" multiValued="true" omitNorms="true" termVectors="true" />
+   <field name="organisations" type="string" indexed="true" stored="true" multiValued="true" omitNorms="true" termVectors="true" />
+   <field name="exchanges" type="string" indexed="true" stored="true" multiValued="true" omitNorms="true" termVectors="true" />
+   <field name="companies" type="string" indexed="true" stored="true" multiValued="true" omitNorms="true" termVectors="true" />
+   <field name="allText" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true" termVectors="true" />
+ </fields>
+
+	<copyField source="title" dest="allText"/>
+	<copyField source="text" dest="allText"/>
+	<copyField source="places" dest="allText"/>
+	<copyField source="topics" dest="allText"/>
+	<copyField source="companies" dest="allText"/>
+	<copyField source="exchanges" dest="allText"/>
+
+ <uniqueKey>id</uniqueKey>
+
+ <defaultSearchField>text</defaultSearchField>
+
+ <solrQueryParser defaultOperator="OR"/>
+
+
+</schema>

Propchange: lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/schema.xml
------------------------------------------------------------------------------
    svn:executable = *

Added: lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/scripts.conf
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/scripts.conf?rev=718422&view=auto
==============================================================================
--- lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/scripts.conf (added)
+++ lucene/solr/trunk/contrib/javascript/example/testsolr/solr/conf/scripts.conf Mon Nov 17 14:42:45 2008
@@ -0,0 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+user=
+solr_hostname=localhost
+solr_port=8983
+rsyncd_port=18983
+data_dir=
+webapp_name=solr
+master_host=
+master_data_dir=
+master_status_dir=