diff --git a/lucene/demo/src/java/org/apache/lucene/demo/xmlparser/FormBasedXmlQueryDemo.java b/lucene/demo/src/java/org/apache/lucene/demo/xmlparser/FormBasedXmlQueryDemo.java deleted file mode 100644 index 8e8371c64b1..00000000000 --- a/lucene/demo/src/java/org/apache/lucene/demo/xmlparser/FormBasedXmlQueryDemo.java +++ /dev/null @@ -1,162 +0,0 @@ -/* - * 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. - */ -package org.apache.lucene.demo.xmlparser; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.nio.charset.StandardCharsets; -import java.util.Enumeration; -import java.util.Properties; -import java.util.StringTokenizer; - -import javax.servlet.RequestDispatcher; -import javax.servlet.ServletConfig; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -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.FieldType; -import org.apache.lucene.document.TextField; -import org.apache.lucene.index.DirectoryReader; -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.IndexWriter; -import org.apache.lucene.index.IndexWriterConfig; -import org.apache.lucene.queryparser.xml.CorePlusExtensionsParser; -import org.apache.lucene.queryparser.xml.QueryTemplateManager; -import org.apache.lucene.search.IndexSearcher; -import org.apache.lucene.search.Query; -import org.apache.lucene.search.ScoreDoc; -import org.apache.lucene.search.TopDocs; -import org.apache.lucene.store.RAMDirectory; - -/** - * Example servlet that uses the XML queryparser. - *

- * NOTE: you must provide CSV data in /WEB-INF/data.tsv - * for the demo to work! - */ -public class FormBasedXmlQueryDemo extends HttpServlet { - - private QueryTemplateManager queryTemplateManager; - private CorePlusExtensionsParser xmlParser; - private IndexSearcher searcher; - private Analyzer analyzer = new StandardAnalyzer(); - - /** for instantiation by the servlet container */ - public FormBasedXmlQueryDemo() {} - - @Override - public void init(ServletConfig config) throws ServletException { - super.init(config); - try { - openExampleIndex(); - - //load servlet configuration settings - String xslFile = config.getInitParameter("xslFile"); - String defaultStandardQueryParserField = config.getInitParameter("defaultStandardQueryParserField"); - - - //Load and cache choice of XSL query template using QueryTemplateManager - queryTemplateManager = new QueryTemplateManager( - getServletContext().getResourceAsStream("/WEB-INF/" + xslFile)); - - //initialize an XML Query Parser for use by all threads - xmlParser = new CorePlusExtensionsParser(defaultStandardQueryParserField, analyzer); - } catch (Exception e) { - throw new ServletException("Error loading query template", e); - } - } - - @Override - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - //Take all completed form fields and add to a Properties object - Properties completedFormFields = new Properties(); - Enumeration pNames = request.getParameterNames(); - while (pNames.hasMoreElements()) { - String propName = (String) pNames.nextElement(); - String value = request.getParameter(propName); - if ((value != null) && (value.trim().length() > 0)) { - completedFormFields.setProperty(propName, value); - } - } - - try { - //Create an XML query by populating template with given user criteria - org.w3c.dom.Document xmlQuery = queryTemplateManager.getQueryAsDOM(completedFormFields); - - //Parse the XML to produce a Lucene query - Query query = xmlParser.getQuery(xmlQuery.getDocumentElement()); - - //Run the query - TopDocs topDocs = searcher.search(query, 10); - - //and package the results and forward to JSP - if (topDocs != null) { - ScoreDoc[] sd = topDocs.scoreDocs; - Document[] results = new Document[sd.length]; - for (int i = 0; i < results.length; i++) { - results[i] = searcher.doc(sd[i].doc); - request.setAttribute("results", results); - } - } - RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/index.jsp"); - dispatcher.forward(request, response); - } - catch (Exception e) { - throw new ServletException("Error processing query", e); - } - } - - private void openExampleIndex() throws IOException { - //Create a RAM-based index from our test data file - RAMDirectory rd = new RAMDirectory(); - IndexWriterConfig iwConfig = new IndexWriterConfig(analyzer); - IndexWriter writer = new IndexWriter(rd, iwConfig); - InputStream dataIn = getServletContext().getResourceAsStream("/WEB-INF/data.tsv"); - BufferedReader br = new BufferedReader(new InputStreamReader(dataIn, StandardCharsets.UTF_8)); - String line = br.readLine(); - final FieldType textNoNorms = new FieldType(TextField.TYPE_STORED); - textNoNorms.setOmitNorms(true); - while (line != null) { - line = line.trim(); - if (line.length() > 0) { - //parse row and create a document - StringTokenizer st = new StringTokenizer(line, "\t"); - Document doc = new Document(); - doc.add(new Field("location", st.nextToken(), textNoNorms)); - doc.add(new Field("salary", st.nextToken(), textNoNorms)); - doc.add(new Field("type", st.nextToken(), textNoNorms)); - doc.add(new Field("description", st.nextToken(), textNoNorms)); - writer.addDocument(doc); - } - line = br.readLine(); - } - writer.close(); - - //open searcher - // this example never closes it reader! - IndexReader reader = DirectoryReader.open(rd); - searcher = new IndexSearcher(reader); - } -} diff --git a/lucene/demo/src/java/org/apache/lucene/demo/xmlparser/package-info.java b/lucene/demo/src/java/org/apache/lucene/demo/xmlparser/package-info.java deleted file mode 100644 index 0b569dcff1c..00000000000 --- a/lucene/demo/src/java/org/apache/lucene/demo/xmlparser/package-info.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * 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. - */ - -/** - * Demo servlet for the XML Query Parser. - */ -package org.apache.lucene.demo.xmlparser;