pylucene 3.5.0-3
[pylucene.git] / lucene-java-3.4.0 / lucene / contrib / xml-query-parser / src / java / org / apache / lucene / xmlparser / CoreParser.java
diff --git a/lucene-java-3.4.0/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/CoreParser.java b/lucene-java-3.4.0/lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/CoreParser.java
deleted file mode 100644 (file)
index c84b90a..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-package org.apache.lucene.xmlparser;
-
-import java.io.InputStream;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.queryParser.QueryParser;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.xmlparser.builders.*;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * 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.
- */
-/**
- * Assembles a QueryBuilder which uses only core Lucene Query objects
- *
- */
-public class CoreParser implements QueryBuilder
-{
-       
-       protected Analyzer analyzer;
-       protected QueryParser parser;
-       protected QueryBuilderFactory queryFactory;
-       protected FilterBuilderFactory filterFactory;
-       //Controls the max size of the LRU cache used for QueryFilter objects parsed.
-       public static int maxNumCachedFilters=20;
-
-
-       /**
-        * Construct an XML parser that uses a single instance QueryParser for handling 
-        * UserQuery tags - all parse operations are synchronised on this parser
-        * @param analyzer
-        * @param parser A QueryParser which will be synchronized on during parse calls.
-        */
-       public CoreParser(Analyzer analyzer, QueryParser parser)
-       {
-               this(null,analyzer,parser);
-       }
-       
-       /**
-        * Constructs an XML parser that creates a QueryParser for each UserQuery request.
-        * @param defaultField The default field name used by QueryParsers constructed for UserQuery tags 
-        * @param analyzer 
-        */
-       public CoreParser(String defaultField, Analyzer analyzer)
-       {
-               this(defaultField,analyzer,null);
-       }       
-       
-       protected CoreParser(String defaultField,Analyzer analyzer, QueryParser parser)
-       {
-               this.analyzer=analyzer;
-               this.parser=parser;
-               filterFactory = new FilterBuilderFactory();
-               filterFactory.addBuilder("RangeFilter",new RangeFilterBuilder());
-               filterFactory.addBuilder("NumericRangeFilter",new NumericRangeFilterBuilder());
-               
-               queryFactory = new QueryBuilderFactory();
-               queryFactory.addBuilder("TermQuery",new TermQueryBuilder());
-               queryFactory.addBuilder("TermsQuery",new TermsQueryBuilder(analyzer));
-               queryFactory.addBuilder("MatchAllDocsQuery",new MatchAllDocsQueryBuilder());
-               queryFactory.addBuilder("BooleanQuery",new BooleanQueryBuilder(queryFactory));
-               queryFactory.addBuilder("NumericRangeQuery",new NumericRangeQueryBuilder());
-               if(parser!=null)
-               {
-                       queryFactory.addBuilder("UserQuery",new UserInputQueryBuilder(parser));
-               }
-               else
-               {
-                       queryFactory.addBuilder("UserQuery",new UserInputQueryBuilder(defaultField,analyzer));                  
-               }
-               queryFactory.addBuilder("FilteredQuery",new FilteredQueryBuilder(filterFactory,queryFactory));
-               queryFactory.addBuilder("ConstantScoreQuery",new ConstantScoreQueryBuilder(filterFactory));
-               
-               filterFactory.addBuilder("CachedFilter",new CachedFilterBuilder(queryFactory,
-                                                       filterFactory, maxNumCachedFilters));
-               
-               
-               SpanQueryBuilderFactory sqof=new SpanQueryBuilderFactory();
-
-               SpanNearBuilder snb=new SpanNearBuilder(sqof);
-               sqof.addBuilder("SpanNear",snb);
-               queryFactory.addBuilder("SpanNear",snb);
-
-    BoostingTermBuilder btb=new BoostingTermBuilder();
-    sqof.addBuilder("BoostingTermQuery",btb);
-    queryFactory.addBuilder("BoostingTermQuery",btb);        
-
-    SpanTermBuilder snt=new SpanTermBuilder();
-               sqof.addBuilder("SpanTerm",snt);
-               queryFactory.addBuilder("SpanTerm",snt);
-               
-               SpanOrBuilder sot=new SpanOrBuilder(sqof);
-               sqof.addBuilder("SpanOr",sot);
-               queryFactory.addBuilder("SpanOr",sot);
-
-               SpanOrTermsBuilder sots=new SpanOrTermsBuilder(analyzer);
-               sqof.addBuilder("SpanOrTerms",sots);
-               queryFactory.addBuilder("SpanOrTerms",sots);            
-               
-               SpanFirstBuilder sft=new SpanFirstBuilder(sqof);
-               sqof.addBuilder("SpanFirst",sft);
-               queryFactory.addBuilder("SpanFirst",sft);
-               
-               SpanNotBuilder snot=new SpanNotBuilder(sqof);
-               sqof.addBuilder("SpanNot",snot);
-               queryFactory.addBuilder("SpanNot",snot);        
-       }
-       
-       public Query parse(InputStream xmlStream) throws ParserException
-       {
-               return getQuery(parseXML(xmlStream).getDocumentElement());
-       }
-       
-       public void addQueryBuilder(String nodeName,QueryBuilder builder)
-       {
-               queryFactory.addBuilder(nodeName,builder);
-       }
-       public void addFilterBuilder(String nodeName,FilterBuilder builder)
-       {
-               filterFactory.addBuilder(nodeName,builder);
-       }
-       
-       private static Document parseXML(InputStream pXmlFile) throws ParserException
-       {
-               DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-               DocumentBuilder db = null;
-               try
-               {
-                       db = dbf.newDocumentBuilder();
-               }
-               catch (Exception se)
-               {
-                       throw new ParserException("XML Parser configuration error", se);
-               }
-               org.w3c.dom.Document doc = null;
-               try
-               {
-                       doc = db.parse(pXmlFile);
-               }
-               catch (Exception se)
-               {
-                       throw new ParserException("Error parsing XML stream:" + se, se);
-               }
-               return doc;
-       }
-       
-
-       public Query getQuery(Element e) throws ParserException
-       {
-               return queryFactory.getQuery(e);
-       }
-}