You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2010/12/27 00:55:18 UTC
svn commit: r1052985 [4/9] - in /lucene/dev/branches/bulkpostings: ./
lucene/ lucene/contrib/ lucene/contrib/ant/ lucene/contrib/ant/lib/
lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/
lucene/contrib/benchmark/src/java/org/...
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/SolrQueryRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/SolrQueryRequest.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/SolrQueryRequest.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/SolrQueryRequest.java Sun Dec 26 23:55:02 2010
@@ -19,7 +19,6 @@ package org.apache.solr.request;
import org.apache.solr.search.SolrIndexSearcher;
import org.apache.solr.schema.IndexSchema;
-import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.ContentStream;
import org.apache.solr.core.SolrCore;
@@ -63,50 +62,6 @@ public interface SolrQueryRequest {
*/
public void close();
- /**
- * Returns the input parameter value for the specified name
- * @return the value, or the first value if the parameter was
- * specified more then once; may be null.
- * @deprecated Use {@link #getParams()} instead.
- */
- @Deprecated
- public String getParam(String name);
-
- /**
- * Returns the input parameter values for the specified name
- * @return the values; may be null or empty depending on implementation
- * @deprecated Use {@link #getParams()} instead.
- */
- @Deprecated
- public String[] getParams(String name);
-
- /**
- * Returns the primary query string parameter of the request
- * @deprecated Use {@link #getParams()} and {@link CommonParams#Q} instead.
- */
- @Deprecated
- public String getQueryString();
-
- /**
- * Signifies the syntax and the handler that should be used
- * to execute this query.
- * @deprecated Use {@link #getParams()} and {@link CommonParams#QT} instead.
- */
- @Deprecated
- public String getQueryType();
-
- /** starting position in matches to return to client
- * @deprecated Use {@link #getParams()} and {@link CommonParams#START} instead.
- */
- @Deprecated
- public int getStart();
-
- /** number of matching documents to return
- * @deprecated Use {@link #getParams()} and {@link CommonParams#ROWS} instead.
- */
- @Deprecated
- public int getLimit();
-
/** The start time of this request in milliseconds */
public long getStartTime();
@@ -124,11 +79,6 @@ public interface SolrQueryRequest {
* Suitable for logging.
*/
public String getParamString();
-
- /******
- // Get the current elapsed time in milliseconds
- public long getElapsedTime();
- ******/
}
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/SolrQueryRequestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/SolrQueryRequestBase.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/SolrQueryRequestBase.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/SolrQueryRequestBase.java Sun Dec 26 23:55:02 2010
@@ -20,8 +20,6 @@ package org.apache.solr.request;
import org.apache.solr.search.SolrIndexSearcher;
import org.apache.solr.util.RefCounted;
import org.apache.solr.schema.IndexSchema;
-import org.apache.solr.common.SolrException;
-import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.ContentStream;
import org.apache.solr.core.SolrCore;
@@ -43,32 +41,6 @@ import java.util.HashMap;
* @version $Id$
*/
public abstract class SolrQueryRequestBase implements SolrQueryRequest {
- /**
- * @deprecated Use org.apache.solr.common.params.CommonParams
- */
- @Deprecated
- public static final String QUERY_NAME="q";
- /**
- * @deprecated Use org.apache.solr.common.params.CommonParams
- */
- @Deprecated
- public static final String START_NAME="start";
- /**
- * @deprecated Use org.apache.solr.common.params.CommonParams
- */
- @Deprecated
- public static final String ROWS_NAME="rows";
- /**
- * @deprecated Use org.apache.solr.common.params.CommonParams
- */
- @Deprecated
- public static final String XSL_NAME="xsl";
- /**
- * @deprecated Use org.apache.solr.common.params.CommonParams
- */
- @Deprecated
- public static final String QUERYTYPE_NAME="qt";
-
protected final SolrCore core;
protected final SolrParams origParams;
protected SolrParams params;
@@ -98,99 +70,6 @@ public abstract class SolrQueryRequestBa
this.params = params;
}
- /**
- * @deprecated Use {@link #getParams()} instead.
- */
- @Deprecated
- public String getParam(String name) {
- return params.get(name);
- }
-
- /**
- * @deprecated Use {@link #getParams()} instead.
- */
- @Deprecated
- public String[] getParams(String name) {
- return params.getParams(name);
- }
-
- /**
- * @deprecated use getParams().required().getInt( name ) instead
- */
- @Deprecated
- public int getIntParam(String name) {
- String s = getParam(name);
- if (s==null) {
- throw new SolrException( SolrException.ErrorCode.SERVER_ERROR,"Missing required parameter '"+name+"' from " + this);
- }
- return Integer.parseInt(s);
- }
-
- /**
- * @deprecated use getParams().required().getInt( name ) instead
- */
- @Deprecated
- public int getIntParam(String name, int defval) {
- String s = getParam(name);
- return s==null ? defval : Integer.parseInt(s);
- }
-
- /**
- * @deprecated use getParams().required().getParam( name ) instead
- */
- @Deprecated
- public String getStrParam(String name) {
- String s = getParam(name);
- if (s==null) {
- throw new SolrException( SolrException.ErrorCode.SERVER_ERROR,"Missing required parameter '"+name+"' from " + this);
- }
- return s;
- }
-
- /**
- * @deprecated use getParams().required().getParam( name ) instead
- */
- @Deprecated
- public String getStrParam(String name, String defval) {
- String s = getParam(name);
- return s==null ? defval : s;
- }
-
- /**
- * @deprecated Use {@link #getParams()} and {@link CommonParams#Q} instead.
- */
- @Deprecated
- public String getQueryString() {
- return params.get(CommonParams.Q);
- }
-
- /**
- * @deprecated Use {@link #getParams()} and {@link CommonParams#QT} instead.
- */
- @Deprecated
- public String getQueryType() {
- return params.get(CommonParams.QT);
- }
-
- /**
- * starting position in matches to return to client
- * @deprecated Use {@link #getParams()} and {@link CommonParams#START} instead.
- */
- @Deprecated
- public int getStart() {
- return params.getInt(CommonParams.START, 0);
- }
-
- /**
- * number of matching documents to return
- * @deprecated Use {@link #getParams()} and {@link CommonParams#ROWS} instead.
- */
- @Deprecated
- public int getLimit() {
- return params.getInt(CommonParams.ROWS, 10);
- }
-
-
protected final long startTime=System.currentTimeMillis();
// Get the start time of this request in milliseconds
public long getStartTime() {
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/BinaryQueryResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/BinaryQueryResponseWriter.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/BinaryQueryResponseWriter.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/BinaryQueryResponseWriter.java Sun Dec 26 23:55:02 2010
@@ -17,7 +17,6 @@ package org.apache.solr.response;
*/
-import java.io.Writer;
import java.io.OutputStream;
import java.io.IOException;
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/CSVResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/CSVResponseWriter.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/CSVResponseWriter.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/CSVResponseWriter.java Sun Dec 26 23:55:02 2010
@@ -475,10 +475,6 @@ class CSVWriter extends TextResponseWrit
}
@Override
- public void writeArray(String name, Object[] val) throws IOException {
- }
-
- @Override
public void writeArray(String name, Iterator val) throws IOException {
}
@@ -523,14 +519,4 @@ class CSVWriter extends TextResponseWrit
public void writeDate(String name, String val) throws IOException {
printer.print(val, false);
}
-
- @Override
- public void writeShort(String name, String val) throws IOException {
- printer.print(val, false);
- }
-
- @Override
- public void writeByte(String name, String val) throws IOException {
- printer.print(val, false);
- }
}
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/JSONResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/JSONResponseWriter.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/JSONResponseWriter.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/JSONResponseWriter.java Sun Dec 26 23:55:02 2010
@@ -63,10 +63,6 @@ public class JSONResponseWriter implemen
class JSONWriter extends TextResponseWriter {
-
- // cache the calendar instance in case we are writing many dates...
- private Calendar cal;
-
private String namedListStyle;
private String wrapperFunction;
@@ -682,10 +678,6 @@ class JSONWriter extends TextResponseWri
}
}
- public void writeArray(String name, Object[] val) throws IOException {
- writeArray(name, Arrays.asList(val).iterator());
- }
-
public void writeArray(String name, Iterator val) throws IOException {
writeArrayOpener(-1); // no trivial way to determine array size
incLevel();
@@ -729,73 +721,6 @@ class JSONWriter extends TextResponseWri
writer.write(val);
}
- @Override
- public void writeShort(String name, String val) throws IOException {
- writer.write(val);
- }
-
- public void writeByte(String name, String val) throws IOException {
- writer.write(val);
-
- }
-
- // TODO: refactor this out to a DateUtils class or something...
- public void writeDate(String name, Date val) throws IOException {
- // using a stringBuilder for numbers can be nice since
- // a temporary string isn't used (it's added directly to the
- // builder's buffer.
-
- StringBuilder sb = new StringBuilder();
- if (cal==null) cal = Calendar.getInstance(TimeZone.getTimeZone("GMT"), Locale.US);
- cal.setTime(val);
-
- int i = cal.get(Calendar.YEAR);
- sb.append(i);
- sb.append('-');
- i = cal.get(Calendar.MONTH) + 1; // 0 based, so add 1
- if (i<10) sb.append('0');
- sb.append(i);
- sb.append('-');
- i=cal.get(Calendar.DAY_OF_MONTH);
- if (i<10) sb.append('0');
- sb.append(i);
- sb.append('T');
- i=cal.get(Calendar.HOUR_OF_DAY); // 24 hour time format
- if (i<10) sb.append('0');
- sb.append(i);
- sb.append(':');
- i=cal.get(Calendar.MINUTE);
- if (i<10) sb.append('0');
- sb.append(i);
- sb.append(':');
- i=cal.get(Calendar.SECOND);
- if (i<10) sb.append('0');
- sb.append(i);
- i=cal.get(Calendar.MILLISECOND);
- if (i != 0) {
- sb.append('.');
- if (i<100) sb.append('0');
- if (i<10) sb.append('0');
- sb.append(i);
-
- // handle canonical format specifying fractional
- // seconds shall not end in '0'. Given the slowness of
- // integer div/mod, simply checking the last character
- // is probably the fastest way to check.
- int lastIdx = sb.length()-1;
- if (sb.charAt(lastIdx)=='0') {
- lastIdx--;
- if (sb.charAt(lastIdx)=='0') {
- lastIdx--;
- }
- sb.setLength(lastIdx+1);
- }
-
- }
- sb.append('Z');
- writeDate(name, sb.toString());
- }
-
public void writeDate(String name, String val) throws IOException {
writeStr(name, val, false);
}
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/TextResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/TextResponseWriter.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/TextResponseWriter.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/TextResponseWriter.java Sun Dec 26 23:55:02 2010
@@ -18,7 +18,6 @@
package org.apache.solr.response;
import org.apache.lucene.document.Document;
-import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.FastWriter;
import org.apache.solr.common.SolrDocument;
@@ -28,16 +27,21 @@ import org.apache.solr.schema.IndexSchem
import org.apache.solr.search.DocList;
import java.io.IOException;
import java.io.Writer;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
/** Base class for text-oriented response writers.
*
* @version $Id$
*/
public abstract class TextResponseWriter {
+
+ // indent up to 40 spaces
+ static final char[] indentChars = new char[81];
+ static {
+ Arrays.fill(indentChars,' ');
+ indentChars[0] = '\n'; // start with a newline
+ }
+
protected final FastWriter writer;
protected final IndexSchema schema;
@@ -50,6 +54,8 @@ public abstract class TextResponseWriter
protected int level;
protected boolean doIndent;
+ protected Calendar cal; // reusable calendar instance
+
public TextResponseWriter(Writer writer, SolrQueryRequest req, SolrQueryResponse rsp) {
this.writer = FastWriter.wrap(writer);
@@ -63,6 +69,8 @@ public abstract class TextResponseWriter
returnFields = rsp.getReturnFields();
}
+
+
/** done with this ResponseWriter... make sure any buffers are flushed to writer */
public void close() throws IOException {
writer.flushBuffer();
@@ -77,10 +85,9 @@ public abstract class TextResponseWriter
}
public void indent(int lev) throws IOException {
- writer.write(XMLWriter.indentChars, 0, Math.min((lev<<1)+1, XMLWriter.indentChars.length));
+ writer.write(indentChars, 0, Math.min((lev<<1)+1, indentChars.length));
}
-
//
// Functions to manipulate the current logical nesting level.
// Any indentation will be partially based on level.
@@ -173,8 +180,10 @@ public abstract class TextResponseWriter
public abstract void writeMap(String name, Map val, boolean excludeOuter, boolean isFirstVal) throws IOException;
- public abstract void writeArray(String name, Object[] val) throws IOException;
-
+ public void writeArray(String name, Object[] val) throws IOException {
+ writeArray(name, Arrays.asList(val).iterator());
+ }
+
public abstract void writeArray(String name, Iterator val) throws IOException;
public abstract void writeNull(String name) throws IOException;
@@ -228,20 +237,65 @@ public abstract class TextResponseWriter
}
}
- public abstract void writeDate(String name, Date val) throws IOException;
- /** if this form of the method is called, val is the Solr ISO8601 based date format */
- public abstract void writeDate(String name, String val) throws IOException;
+ public void writeDate(String name, Date val) throws IOException {
+ // using a stringBuilder for numbers can be nice since
+ // a temporary string isn't used (it's added directly to the
+ // builder's buffer.
+
+ StringBuilder sb = new StringBuilder();
+ if (cal==null) cal = Calendar.getInstance(TimeZone.getTimeZone("GMT"), Locale.US);
+ cal.setTime(val);
+
+ int i = cal.get(Calendar.YEAR);
+ sb.append(i);
+ sb.append('-');
+ i = cal.get(Calendar.MONTH) + 1; // 0 based, so add 1
+ if (i<10) sb.append('0');
+ sb.append(i);
+ sb.append('-');
+ i=cal.get(Calendar.DAY_OF_MONTH);
+ if (i<10) sb.append('0');
+ sb.append(i);
+ sb.append('T');
+ i=cal.get(Calendar.HOUR_OF_DAY); // 24 hour time format
+ if (i<10) sb.append('0');
+ sb.append(i);
+ sb.append(':');
+ i=cal.get(Calendar.MINUTE);
+ if (i<10) sb.append('0');
+ sb.append(i);
+ sb.append(':');
+ i=cal.get(Calendar.SECOND);
+ if (i<10) sb.append('0');
+ sb.append(i);
+ i=cal.get(Calendar.MILLISECOND);
+ if (i != 0) {
+ sb.append('.');
+ if (i<100) sb.append('0');
+ if (i<10) sb.append('0');
+ sb.append(i);
+
+ // handle canonical format specifying fractional
+ // seconds shall not end in '0'. Given the slowness of
+ // integer div/mod, simply checking the last character
+ // is probably the fastest way to check.
+ int lastIdx = sb.length()-1;
+ if (sb.charAt(lastIdx)=='0') {
+ lastIdx--;
+ if (sb.charAt(lastIdx)=='0') {
+ lastIdx--;
+ }
+ sb.setLength(lastIdx+1);
+ }
- public abstract void writeShort(String name, String val) throws IOException;
-
- public void writeShort(String name, short val) throws IOException{
- writeShort(name, Short.toString(val));
+ }
+ sb.append('Z');
+ writeDate(name, sb.toString());
}
+
- public abstract void writeByte(String name, String s) throws IOException;
+ /** if this form of the method is called, val is the Solr ISO8601 based date format */
+ public abstract void writeDate(String name, String val) throws IOException;
- public void writeByte(String name, byte val) throws IOException{
- writeByte(name, Byte.toString(val));
- }
}
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/XMLResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/XMLResponseWriter.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/XMLResponseWriter.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/XMLResponseWriter.java Sun Dec 26 23:55:02 2010
@@ -32,7 +32,12 @@ public class XMLResponseWriter implement
}
public void write(Writer writer, SolrQueryRequest req, SolrQueryResponse rsp) throws IOException {
- XMLWriter.writeResponse(writer,req,rsp);
+ XMLWriter w = new XMLWriter(writer, req, rsp);
+ try {
+ w.writeResponse();
+ } finally {
+ w.close();
+ }
}
public String getContentType(SolrQueryRequest request, SolrQueryResponse response) {
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/XMLWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/XMLWriter.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/XMLWriter.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/XMLWriter.java Sun Dec 26 23:55:02 2010
@@ -27,7 +27,6 @@ import org.apache.solr.search.SolrIndexS
import org.apache.solr.search.DocList;
import org.apache.solr.search.DocIterator;
import org.apache.solr.search.DocSet;
-import org.apache.solr.schema.IndexSchema;
import org.apache.solr.schema.SchemaField;
import org.apache.solr.schema.TextField;
@@ -37,34 +36,54 @@ import java.util.*;
import org.apache.lucene.document.Fieldable;
import org.apache.lucene.document.Document;
-/**
- * @version $Id$
- */
-final public class XMLWriter {
+
+
+public final class XMLWriter extends TextResponseWriter {
public static float CURRENT_VERSION=2.2f;
- //
- // static thread safe part
- //
private static final char[] XML_START1="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n".toCharArray();
private static final char[] XML_STYLESHEET="<?xml-stylesheet type=\"text/xsl\" href=\"/admin/".toCharArray();
private static final char[] XML_STYLESHEET_END=".xsl\"?>\n".toCharArray();
+ /***
private static final char[] XML_START2_SCHEMA=(
"<response xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+" xsi:noNamespaceSchemaLocation=\"http://pi.cnet.com/cnet-search/response.xsd\">\n"
).toCharArray();
- private static final char[] XML_START2_NOSCHEMA=(
- "<response>\n"
- ).toCharArray();
+ ***/
+
+ private static final char[] XML_START2_NOSCHEMA=("<response>\n").toCharArray();
+ private boolean defaultIndent=false;
+ final int version;
+
+ // temporary working objects...
+ // be careful not to use these recursively...
+ private final ArrayList tlst = new ArrayList();
public static void writeResponse(Writer writer, SolrQueryRequest req, SolrQueryResponse rsp) throws IOException {
+ XMLWriter xmlWriter = null;
+ try {
+ xmlWriter = new XMLWriter(writer, req, rsp);
+ xmlWriter.writeResponse();
+ } finally {
+ xmlWriter.close();
+ }
+ }
+
+ public XMLWriter(Writer writer, SolrQueryRequest req, SolrQueryResponse rsp) {
+ super(writer, req, rsp);
+
+ String version = req.getParams().get("version");
+ float ver = version==null? CURRENT_VERSION : Float.parseFloat(version);
+ this.version = (int)(ver*1000);
+ }
+
- String ver = req.getParams().get(CommonParams.VERSION);
+ public void writeResponse() throws IOException {
writer.write(XML_START1);
String stylesheet = req.getParams().get("stylesheet");
@@ -74,29 +93,15 @@ final public class XMLWriter {
writer.write(XML_STYLESHEET_END);
}
+ /***
String noSchema = req.getParams().get("noSchema");
// todo - change when schema becomes available?
if (false && noSchema == null)
writer.write(XML_START2_SCHEMA);
else
writer.write(XML_START2_NOSCHEMA);
-
- // create an instance for each request to handle
- // non-thread safe stuff (indentation levels, etc)
- // and to encapsulate writer, schema, and searcher so
- // they don't have to be passed around in every function.
- //
- XMLWriter xw = new XMLWriter(writer, req.getSchema(), req, ver);
- xw.defaultFieldList = rsp.getReturnFields();
-
- String indent = req.getParams().get("indent");
- if (indent != null) {
- if ("".equals(indent) || "off".equals(indent)) {
- xw.setIndent(false);
- } else {
- xw.setIndent(true);
- }
- }
+ ***/
+ writer.write(XML_START2_NOSCHEMA);
// dump response values
NamedList lst = rsp.getValues();
@@ -105,90 +110,41 @@ final public class XMLWriter {
int sz = lst.size();
int start=0;
- // special case the response header if the version is 2.1 or less
- if (xw.version<=2100 && sz>0) {
+ // special case the response header if the version is 2.1 or less
+ if (version<=2100 && sz>0) {
Object header = lst.getVal(0);
if (header instanceof NamedList && "responseHeader".equals(lst.getName(0))) {
writer.write("<responseHeader>");
- xw.incLevel();
+ incLevel();
NamedList nl = (NamedList)header;
for (int i=0; i<nl.size(); i++) {
String name = nl.getName(i);
Object val = nl.getVal(i);
if ("status".equals(name) || "QTime".equals(name)) {
- xw.writePrim(name,null,val.toString(),false);
+ writePrim(name,null,val.toString(),false);
} else {
- xw.writeVal(name,val);
+ writeVal(name,val);
}
}
- xw.decLevel();
+ decLevel();
writer.write("</responseHeader>");
start=1;
}
}
for (int i=start; i<sz; i++) {
- xw.writeVal(lst.getName(i),lst.getVal(i));
+ writeVal(lst.getName(i),lst.getVal(i));
}
writer.write("\n</response>\n");
}
- ////////////////////////////////////////////////////////////
- // request instance specific (non-static, not shared between threads)
- ////////////////////////////////////////////////////////////
-
- private final Writer writer;
- private final IndexSchema schema; // needed to write fields of docs
- private final SolrQueryRequest request; // the request
-
- private int level;
- private boolean defaultIndent=false;
- private boolean doIndent=false;
-
- // fieldList... the set of fields to return for each document
- private Set<String> defaultFieldList;
-
-
- // if a list smaller than this threshold is encountered, elements
- // will be written on the same line.
- // maybe constructed types should always indent first?
- private final int indentThreshold=0;
- final int version;
- // temporary working objects...
- // be careful not to use these recursively...
- private final ArrayList tlst = new ArrayList();
- private final Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT"), Locale.US);
- private final StringBuilder sb = new StringBuilder();
-
- public XMLWriter(Writer writer, IndexSchema schema, SolrQueryRequest req, String version) {
- this.writer = writer;
- this.schema = schema;
- this.request = req;
-
- float ver = version==null? CURRENT_VERSION : Float.parseFloat(version);
- this.version = (int)(ver*1000);
- }
-
- //
- // Functions to manipulate the current logical nesting level.
- // Any indentation will be partially based on level.
- //
- public void setLevel(int level) { this.level = level; }
- public int level() { return level; }
- public int incLevel() { return ++level; }
- public int decLevel() { return --level; }
- public void setIndent(boolean doIndent) {
- this.doIndent = doIndent;
- defaultIndent = doIndent;
- }
-
/** Writes the XML attribute name/val. A null val means that the attribute is missing. */
- public void writeAttr(String name, String val) throws IOException {
+ private void writeAttr(String name, String val) throws IOException {
writeAttr(name, val, true);
}
@@ -206,63 +162,7 @@ final public class XMLWriter {
}
}
- /**Writes a tag with attributes
- *
- * @param tag
- * @param attributes
- * @param closeTag
- * @param escape
- * @throws IOException
- */
- public void startTag(String tag, Map<String,String> attributes, boolean closeTag, boolean escape) throws IOException {
- if (doIndent) indent();
- writer.write('<');
- writer.write(tag);
- if(!attributes.isEmpty()) {
- for (Map.Entry<String, String> entry : attributes.entrySet()) {
- writeAttr(entry.getKey(), entry.getValue(), escape);
- }
- }
- if (closeTag) {
- writer.write("/>");
- } else {
- writer.write('>');
- }
- }
-
- /**Write a complete tag w/ attributes and cdata (the cdata is not enclosed in $lt;!CDATA[]!>
- * @param tag
- * @param attributes
- * @param cdata
- * @param escapeCdata
- * @param escapeAttr
- * @throws IOException
- */
- public void writeCdataTag(String tag, Map<String,String> attributes, String cdata, boolean escapeCdata, boolean escapeAttr) throws IOException {
- if (doIndent) indent();
- writer.write('<');
- writer.write(tag);
- if (!attributes.isEmpty()) {
- for (Map.Entry<String, String> entry : attributes.entrySet()) {
- writeAttr(entry.getKey(), entry.getValue(), escapeAttr);
- }
- }
- writer.write('>');
- if (cdata != null && cdata.length() > 0) {
- if (escapeCdata) {
- XML.escapeCharData(cdata, writer);
- } else {
- writer.write(cdata, 0, cdata.length());
- }
- }
- writer.write("</");
- writer.write(tag);
- writer.write('>');
- }
-
-
-
- public void startTag(String tag, String name, boolean closeTag) throws IOException {
+ void startTag(String tag, String name, boolean closeTag) throws IOException {
if (doIndent) indent();
writer.write('<');
@@ -283,22 +183,6 @@ final public class XMLWriter {
}
}
-
- // indent up to 40 spaces
- static final char[] indentChars = new char[81];
- static {
- Arrays.fill(indentChars,' ');
- indentChars[0] = '\n'; // start with a newline
- }
-
- public void indent() throws IOException {
- indent(level);
- }
-
- public void indent(int lev) throws IOException {
- writer.write(indentChars, 0, Math.min((lev<<1)+1, indentChars.length));
- }
-
private static final Comparator fieldnameComparator = new Comparator() {
public int compare(Object o, Object o1) {
Fieldable f1 = (Fieldable)o; Fieldable f2 = (Fieldable)o1;
@@ -309,6 +193,7 @@ final public class XMLWriter {
}
};
+ @Override
public final void writeDoc(String name, Document doc, Set<String> returnFields, float score, boolean includeScore) throws IOException {
startTag("doc", name, false);
incLevel();
@@ -400,17 +285,11 @@ final public class XMLWriter {
writer.write("</doc>");
}
- /**
- * @since solr 1.3
- */
- final void writeDoc(String name, SolrDocument doc, Set<String> returnFields, boolean includeScore) throws IOException {
+ @Override
+ public void writeSolrDocument(String name, SolrDocument doc, Set<String> returnFields, Map pseudoFields) throws IOException {
startTag("doc", name, false);
incLevel();
- if (includeScore && returnFields != null ) {
- returnFields.add( "score" );
- }
-
for (String fname : doc.getFieldNames()) {
if (returnFields!=null && !returnFields.contains(fname)) {
continue;
@@ -427,13 +306,19 @@ final public class XMLWriter {
doIndent=false;
writeVal(fname, val);
writer.write("</arr>");
- doIndent=defaultIndent;
+ doIndent=defaultIndent;
} else {
- writeVal(fname, val);
+ writeVal(fname, val);
}
}
}
+ if (pseudoFields != null) {
+ for (Object fname : pseudoFields.keySet()) {
+ writeVal(fname.toString(), pseudoFields.get(fname));
+ }
+ }
+
decLevel();
if (doIndent) indent();
writer.write("</doc>");
@@ -449,9 +334,9 @@ final public class XMLWriter {
}
private final void writeDocuments(
- String name,
- DocumentListInfo docs,
- Set<String> fields) throws IOException
+ String name,
+ DocumentListInfo docs,
+ Set<String> fields) throws IOException
{
boolean includeScore=false;
if (fields!=null) {
@@ -460,14 +345,14 @@ final public class XMLWriter {
fields=null; // null means return all stored fields
}
}
-
+
int sz=docs.getCount();
if (doIndent) indent();
-
+
writer.write("<result");
writeAttr("name",name);
- writeAttr("numFound",Long.toString(docs.getNumFound())); // TODO: change to long
- writeAttr("start",Long.toString(docs.getStart())); // TODO: change to long
+ writeAttr("numFound",Long.toString(docs.getNumFound()));
+ writeAttr("start",Long.toString(docs.getStart()));
if (includeScore && docs.getMaxScore()!=null) {
writeAttr("maxScore",Float.toString(docs.getMaxScore()));
}
@@ -485,15 +370,16 @@ final public class XMLWriter {
if (doIndent) indent();
writer.write("</result>");
}
-
- public final void writeSolrDocumentList(String name, final SolrDocumentList docs, Set<String> fields) throws IOException
+
+ @Override
+ public final void writeSolrDocumentList(String name, final SolrDocumentList docs, Set<String> fields, Map otherFields) throws IOException
{
- this.writeDocuments( name, new DocumentListInfo()
- {
+ this.writeDocuments( name, new DocumentListInfo()
+ {
public int getCount() {
return docs.size();
}
-
+
public Float getMaxScore() {
return docs.getMaxScore();
}
@@ -508,20 +394,21 @@ final public class XMLWriter {
public void writeDocs(boolean includeScore, Set<String> fields) throws IOException {
for( SolrDocument doc : docs ) {
- writeDoc(null, doc, fields, includeScore);
+ writeSolrDocument(null, doc, fields, null);
}
}
}, fields );
}
- public final void writeDocList(String name, final DocList ids, Set<String> fields) throws IOException
+ @Override
+ public void writeDocList(String name, final DocList ids, Set<String> fields, Map otherFields) throws IOException
{
- this.writeDocuments( name, new DocumentListInfo()
- {
+ this.writeDocuments( name, new DocumentListInfo()
+ {
public int getCount() {
return ids.size();
}
-
+
public Float getMaxScore() {
return ids.maxScore();
}
@@ -535,7 +422,7 @@ final public class XMLWriter {
}
public void writeDocs(boolean includeScore, Set<String> fields) throws IOException {
- SolrIndexSearcher searcher = request.getSearcher();
+ SolrIndexSearcher searcher = req.getSearcher();
DocIterator iterator = ids.iterator();
int sz = ids.size();
includeScore = includeScore && ids.hasScores();
@@ -558,7 +445,7 @@ final public class XMLWriter {
if (val==null) {
writeNull(name);
} else if (val instanceof String) {
- writeStr(name, (String)val);
+ writeStr(name, (String)val, true);
} else if (val instanceof Integer) {
// it would be slower to pass the int ((Integer)val).intValue()
writeInt(name, val.toString());
@@ -576,19 +463,19 @@ final public class XMLWriter {
} else if (val instanceof Double) {
writeDouble(name, ((Double)val).doubleValue());
} else if (val instanceof Document) {
- writeDoc(name, (Document)val, defaultFieldList, 0.0f, false);
+ writeDoc(name, (Document)val, returnFields, 0.0f, false);
} else if (val instanceof DocList) {
// requires access to IndexReader
- writeDocList(name, (DocList)val, defaultFieldList);
+ writeDocList(name, (DocList)val, returnFields, null);
}else if (val instanceof SolrDocumentList) {
// requires access to IndexReader
- writeSolrDocumentList(name, (SolrDocumentList)val, defaultFieldList);
+ writeSolrDocumentList(name, (SolrDocumentList)val, returnFields, null);
}else if (val instanceof DocSet) {
// how do we know what fields to read?
// todo: have a DocList/DocSet wrapper that
// restricts the fields to write...?
} else if (val instanceof Map) {
- writeMap(name, (Map)val);
+ writeMap(name, (Map)val, false, true);
} else if (val instanceof NamedList) {
writeNamedList(name, (NamedList)val);
} else if (val instanceof Iterable) {
@@ -599,7 +486,7 @@ final public class XMLWriter {
writeArray(name,(Iterator)val);
} else {
// default...
- writeStr(name, val.getClass().getName() + ':' + val.toString());
+ writeStr(name, val.getClass().getName() + ':' + val.toString(), true);
}
}
@@ -611,10 +498,6 @@ final public class XMLWriter {
int sz = val.size();
startTag("lst", name, sz<=0);
- if (sz<indentThreshold) {
- doIndent=false;
- }
-
incLevel();
for (int i=0; i<sz; i++) {
writeVal(val.getName(i),val.getVal(i));
@@ -627,37 +510,37 @@ final public class XMLWriter {
}
}
-
- /**
- * writes a Map in the same format as a NamedList, using the
- * stringification of the key Object when it's non-null.
- *
- * @param name
- * @param map
- * @throws IOException
- * @see SolrQueryResponse Note on Returnable Data
- */
- public void writeMap(String name, Map<Object,Object> map) throws IOException {
+ @Override
+ public void writeMap(String name, Map map, boolean excludeOuter, boolean isFirstVal) throws IOException {
int sz = map.size();
- startTag("lst", name, sz<=0);
- incLevel();
- for (Map.Entry<Object,Object> entry : map.entrySet()) {
+
+ if (!excludeOuter) {
+ startTag("lst", name, sz<=0);
+ incLevel();
+ }
+
+ for (Map.Entry entry : (Set<Map.Entry>)map.entrySet()) {
Object k = entry.getKey();
Object v = entry.getValue();
// if (sz<indentThreshold) indent();
writeVal( null == k ? null : k.toString(), v);
}
- decLevel();
- if (sz > 0) {
- if (doIndent) indent();
- writer.write("</lst>");
+
+ if (!excludeOuter) {
+ decLevel();
+ if (sz > 0) {
+ if (doIndent) indent();
+ writer.write("</lst>");
+ }
}
}
+ @Override
public void writeArray(String name, Object[] val) throws IOException {
writeArray(name, Arrays.asList(val).iterator());
}
+ @Override
public void writeArray(String name, Iterator iter) throws IOException {
if( iter.hasNext() ) {
startTag("arr", name, false );
@@ -678,127 +561,53 @@ final public class XMLWriter {
// Primitive types
//
+ @Override
public void writeNull(String name) throws IOException {
writePrim("null",name,"",false);
}
- public void writeStr(String name, String val) throws IOException {
- writePrim("str",name,val,true);
+ @Override
+ public void writeStr(String name, String val, boolean escape) throws IOException {
+ writePrim("str",name,val,escape);
}
+ @Override
public void writeInt(String name, String val) throws IOException {
writePrim("int",name,val,false);
}
- public void writeInt(String name, int val) throws IOException {
- writeInt(name,Integer.toString(val));
- }
-
+ @Override
public void writeLong(String name, String val) throws IOException {
writePrim("long",name,val,false);
}
- public void writeLong(String name, long val) throws IOException {
- writeLong(name,Long.toString(val));
- }
-
+ @Override
public void writeBool(String name, String val) throws IOException {
writePrim("bool",name,val,false);
}
- public void writeBool(String name, boolean val) throws IOException {
- writeBool(name,Boolean.toString(val));
- }
-
- public void writeShort(String name, String val) throws IOException {
- writePrim("short",name,val,false);
- }
-
- public void writeShort(String name, short val) throws IOException {
- writeInt(name,Short.toString(val));
- }
-
-
- public void writeByte(String name, String val) throws IOException {
- writePrim("byte",name,val,false);
- }
-
- public void writeByte(String name, byte val) throws IOException {
- writeInt(name,Byte.toString(val));
- }
-
-
+ @Override
public void writeFloat(String name, String val) throws IOException {
writePrim("float",name,val,false);
}
+ @Override
public void writeFloat(String name, float val) throws IOException {
writeFloat(name,Float.toString(val));
}
+ @Override
public void writeDouble(String name, String val) throws IOException {
writePrim("double",name,val,false);
}
+ @Override
public void writeDouble(String name, double val) throws IOException {
writeDouble(name,Double.toString(val));
}
- public void writeDate(String name, Date val) throws IOException {
- // using a stringBuilder for numbers can be nice since
- // a temporary string isn't used (it's added directly to the
- // builder's buffer.
-
- cal.setTime(val);
-
- sb.setLength(0);
- int i = cal.get(Calendar.YEAR);
- sb.append(i);
- sb.append('-');
- i = cal.get(Calendar.MONTH) + 1; // 0 based, so add 1
- if (i<10) sb.append('0');
- sb.append(i);
- sb.append('-');
- i=cal.get(Calendar.DAY_OF_MONTH);
- if (i<10) sb.append('0');
- sb.append(i);
- sb.append('T');
- i=cal.get(Calendar.HOUR_OF_DAY); // 24 hour time format
- if (i<10) sb.append('0');
- sb.append(i);
- sb.append(':');
- i=cal.get(Calendar.MINUTE);
- if (i<10) sb.append('0');
- sb.append(i);
- sb.append(':');
- i=cal.get(Calendar.SECOND);
- if (i<10) sb.append('0');
- sb.append(i);
- i=cal.get(Calendar.MILLISECOND);
- if (i != 0) {
- sb.append('.');
- if (i<100) sb.append('0');
- if (i<10) sb.append('0');
- sb.append(i);
-
- // handle canonical format specifying fractional
- // seconds shall not end in '0'. Given the slowness of
- // integer div/mod, simply checking the last character
- // is probably the fastest way to check.
- int lastIdx = sb.length()-1;
- if (sb.charAt(lastIdx)=='0') {
- lastIdx--;
- if (sb.charAt(lastIdx)=='0') {
- lastIdx--;
- }
- sb.setLength(lastIdx+1);
- }
-
- }
- sb.append('Z');
- writeDate(name, sb.toString());
- }
+ @Override
public void writeDate(String name, String val) throws IOException {
writePrim("date",name,val,false);
}
@@ -808,24 +617,8 @@ final public class XMLWriter {
// OPT - specific writeInt, writeFloat, methods might be faster since
// there would be less write calls (write("<int name=\"" + name + ... + </int>)
//
- public void writePrim(String tag, String name, String val, boolean escape) throws IOException {
- // OPT - we could use a temp char[] (or a StringBuilder) and if the
- // size was small enough to fit (if escape==false we can calc exact size)
- // then we could put things directly in the temp buf.
- // need to see what percent of CPU this takes up first though...
- // Could test a reusable StringBuilder...
-
- // is this needed here???
- // Only if a fieldtype calls writeStr or something
- // with a null val instead of calling writeNull
- /***
- if (val==null) {
- if (name==null) writer.write("<null/>");
- else writer.write("<null name=\"" + name + "/>");
- }
- ***/
-
- int contentLen=val.length();
+ private void writePrim(String tag, String name, String val, boolean escape) throws IOException {
+ int contentLen = val==null ? 0 : val.length();
startTag(tag, name, contentLen==0);
if (contentLen==0) return;
@@ -836,10 +629,10 @@ final public class XMLWriter {
writer.write(val,0,contentLen);
}
- writer.write("</");
+ writer.write('<');
+ writer.write('/');
writer.write(tag);
writer.write('>');
}
-
}
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BCDIntField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BCDIntField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BCDIntField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BCDIntField.java Sun Dec 26 23:55:02 2010
@@ -18,11 +18,11 @@
package org.apache.solr.schema;
import org.apache.lucene.search.SortField;
+import org.apache.solr.search.QParser;
import org.apache.solr.search.function.ValueSource;
import org.apache.lucene.document.Fieldable;
import org.apache.solr.util.BCDUtils;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import java.util.Map;
import java.io.IOException;
@@ -37,7 +37,8 @@ public class BCDIntField extends FieldTy
return getStringSort(field,reverse);
}
- public ValueSource getValueSource(SchemaField field) {
+ @Override
+ public ValueSource getValueSource(SchemaField field, QParser qparser) {
throw new UnsupportedOperationException("ValueSource not implemented");
}
@@ -60,10 +61,6 @@ public class BCDIntField extends FieldTy
return BCDUtils.base10kSortableIntToBase10(indexedForm);
}
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- xmlWriter.writeInt(name,toExternal(f));
- }
-
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
writer.writeInt(name,toExternal(f));
}
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BCDLongField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BCDLongField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BCDLongField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BCDLongField.java Sun Dec 26 23:55:02 2010
@@ -17,18 +17,11 @@
package org.apache.solr.schema;
-import org.apache.solr.response.XMLWriter;
import org.apache.lucene.document.Fieldable;
-
-import java.io.IOException;
/**
* @version $Id$
*/
public class BCDLongField extends BCDIntField {
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- xmlWriter.writeLong(name,toExternal(f));
- }
-
@Override
public Long toObject(Fieldable f) {
return Long.valueOf( toExternal(f) );
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BCDStrField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BCDStrField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BCDStrField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BCDStrField.java Sun Dec 26 23:55:02 2010
@@ -17,18 +17,11 @@
package org.apache.solr.schema;
-import org.apache.solr.response.XMLWriter;
import org.apache.lucene.document.Fieldable;
-
-import java.io.IOException;
/**
* @version $Id$
*/
public class BCDStrField extends BCDIntField {
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- xmlWriter.writeStr(name,toExternal(f));
- }
-
/**
* This only works for strings that represent an interger. If the string
* is not an integer, it will not survive the base10k conversion!
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BinaryField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BinaryField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BinaryField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BinaryField.java Sun Dec 26 23:55:02 2010
@@ -18,7 +18,6 @@
package org.apache.solr.schema;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import org.apache.solr.common.util.Base64;
import org.apache.lucene.document.Fieldable;
import org.apache.lucene.document.Field;
@@ -30,10 +29,6 @@ import java.nio.ByteBuffer;
public class BinaryField extends FieldType {
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- xmlWriter.writeStr( name, toBase64String(toObject(f)) );
- }
-
private String toBase64String(ByteBuffer buf) {
return Base64.byteArrayToBase64(buf.array(), buf.position(), buf.limit()-buf.position());
}
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BoolField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BoolField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BoolField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BoolField.java Sun Dec 26 23:55:02 2010
@@ -20,6 +20,7 @@ package org.apache.solr.schema;
import org.apache.lucene.search.SortField;
import org.apache.lucene.util.BytesRef;
import org.apache.noggit.CharArr;
+import org.apache.solr.search.QParser;
import org.apache.solr.search.function.ValueSource;
import org.apache.solr.search.function.OrdFieldSource;
import org.apache.lucene.analysis.Analyzer;
@@ -27,7 +28,6 @@ import org.apache.lucene.analysis.Tokeni
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.document.Fieldable;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import org.apache.solr.analysis.SolrAnalyzer;
import java.util.Map;
@@ -44,7 +44,8 @@ public class BoolField extends FieldType
return getStringSort(field,reverse);
}
- public ValueSource getValueSource(SchemaField field) {
+ @Override
+ public ValueSource getValueSource(SchemaField field, QParser qparser) {
return new OrdFieldSource(field.name);
}
@@ -128,10 +129,6 @@ public class BoolField extends FieldType
}
}
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- xmlWriter.writeBool(name, f.stringValue().charAt(0) =='T');
- }
-
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
writer.writeBool(name, f.stringValue().charAt(0) =='T');
}
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/ByteField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/ByteField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/ByteField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/ByteField.java Sun Dec 26 23:55:02 2010
@@ -22,7 +22,7 @@ import org.apache.lucene.search.cache.By
import org.apache.lucene.search.cache.CachedArrayCreator;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
+import org.apache.solr.search.QParser;
import org.apache.solr.search.function.ValueSource;
import org.apache.solr.search.function.ByteFieldSource;
@@ -42,15 +42,11 @@ public class ByteField extends FieldType
return new SortField(field.name, SortField.BYTE, reverse);
}
- public ValueSource getValueSource(SchemaField field) {
+ @Override
+ public ValueSource getValueSource(SchemaField field, QParser qparser) {
return new ByteFieldSource( new ByteValuesCreator( field.name, null, CachedArrayCreator.CACHE_VALUES_AND_BITS ) );
}
-
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- xmlWriter.writeByte(name, f.stringValue());
- }
-
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String s = f.stringValue();
@@ -67,7 +63,7 @@ public class ByteField extends FieldType
try {
byte val = Byte.parseByte(s);
- writer.writeByte(name, val);
+ writer.writeInt(name, val);
} catch (NumberFormatException e){
// can't parse - write out the contents as a string so nothing is lost and
// clients don't get a parse error.
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/CoordinateFieldType.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/CoordinateFieldType.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/CoordinateFieldType.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/CoordinateFieldType.java Sun Dec 26 23:55:02 2010
@@ -17,21 +17,6 @@
package org.apache.solr.schema;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.index.Term;
-import org.apache.solr.search.QParser;
-import org.apache.solr.search.function.ValueSource;
-import org.apache.solr.common.SolrException;
-import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.params.MapSolrParams;
-
-import java.util.Map;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-
/**
* A CoordinateFieldType is the base class for {@link org.apache.solr.schema.FieldType}s that have semantics
* related to items in a coordinate system.
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/DateField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/DateField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/DateField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/DateField.java Sun Dec 26 23:55:02 2010
@@ -28,7 +28,6 @@ import org.apache.solr.common.SolrExcept
import org.apache.solr.common.util.DateUtil;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import org.apache.solr.search.QParser;
import org.apache.solr.search.function.*;
import org.apache.solr.util.ByteUtils;
@@ -220,10 +219,6 @@ public class DateField extends FieldType
return new OrdFieldSource(field.name);
}
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- xmlWriter.writeDate(name, toExternal(f));
- }
-
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
writer.writeDate(name, toExternal(f));
}
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/DoubleField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/DoubleField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/DoubleField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/DoubleField.java Sun Dec 26 23:55:02 2010
@@ -21,11 +21,9 @@ import org.apache.lucene.document.Fielda
import org.apache.lucene.search.SortField;
import org.apache.lucene.search.cache.CachedArrayCreator;
import org.apache.lucene.search.cache.DoubleValuesCreator;
-import org.apache.lucene.search.cache.FloatValuesCreator;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
+import org.apache.solr.search.QParser;
import org.apache.solr.search.function.DoubleFieldSource;
-import org.apache.solr.search.function.FloatFieldSource;
import org.apache.solr.search.function.ValueSource;
import java.io.IOException;
@@ -44,15 +42,12 @@ public class DoubleField extends FieldTy
return new SortField(field.name, SortField.DOUBLE, reverse);
}
- public ValueSource getValueSource(SchemaField field) {
+ @Override
+ public ValueSource getValueSource(SchemaField field, QParser qparser) {
// fieldCache doesn't support double
return new DoubleFieldSource( new DoubleValuesCreator( field.name, null, CachedArrayCreator.CACHE_VALUES_AND_BITS ) );
}
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- xmlWriter.writeDouble(name, f.stringValue());
- }
-
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String s = f.stringValue();
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/ExternalFileField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/ExternalFileField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/ExternalFileField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/ExternalFileField.java Sun Dec 26 23:55:02 2010
@@ -19,11 +19,9 @@ package org.apache.solr.schema;
import org.apache.lucene.search.SortField;
import org.apache.lucene.document.Fieldable;
import org.apache.solr.search.function.ValueSource;
-import org.apache.solr.search.function.FloatFieldSource;
import org.apache.solr.search.function.FileFloatSource;
import org.apache.solr.search.QParser;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import org.apache.solr.common.SolrException;
import java.util.Map;
@@ -76,10 +74,6 @@ public class ExternalFileField extends F
this.schema = schema;
}
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- throw new UnsupportedOperationException();
- }
-
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
throw new UnsupportedOperationException();
}
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/FieldType.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/FieldType.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/FieldType.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/FieldType.java Sun Dec 26 23:55:02 2010
@@ -17,42 +17,34 @@
package org.apache.solr.schema;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Fieldable;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
-import org.apache.lucene.search.SortField;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.Term;
import org.apache.lucene.search.Query;
-import org.apache.lucene.search.TermRangeQuery;
+import org.apache.lucene.search.SortField;
import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.index.Term;
+import org.apache.lucene.search.TermRangeQuery;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.UnicodeUtil;
import org.apache.noggit.CharArr;
-import org.apache.solr.search.function.ValueSource;
-import org.apache.solr.search.function.OrdFieldSource;
-import org.apache.solr.search.Sorting;
-import org.apache.solr.search.QParser;
-import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import org.apache.solr.analysis.SolrAnalyzer;
import org.apache.solr.common.SolrException;
-import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.params.MapSolrParams;
-
+import org.apache.solr.response.TextResponseWriter;
+import org.apache.solr.search.QParser;
+import org.apache.solr.search.Sorting;
+import org.apache.solr.search.function.ValueSource;
import org.apache.solr.util.ByteUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.ArrayList;
-import java.io.Reader;
+
import java.io.IOException;
+import java.io.Reader;
+import java.util.HashMap;
+import java.util.Map;
/**
* Base class for all field types used by an index schema.
@@ -476,11 +468,6 @@ public abstract class FieldType extends
}
/**
- * Renders the specified field as XML
- */
- public abstract void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException;
-
- /**
* calls back to TextResponseWriter to write the field value
*/
public abstract void write(TextResponseWriter writer, String name, Fieldable f) throws IOException;
@@ -503,19 +490,10 @@ public abstract class FieldType extends
* Lucene FieldCache.)
*/
public ValueSource getValueSource(SchemaField field, QParser parser) {
- return getValueSource(field);
- }
-
-
- /**
- * @deprecated use {@link #getValueSource(SchemaField, QParser)}
- */
- @Deprecated
- public ValueSource getValueSource(SchemaField field) {
- // return new OrdFieldSource(field.name);
return new StrFieldSource(field.name);
}
+
/**
* Returns a Query instance for doing range searches on this field type. {@link org.apache.solr.search.SolrQueryParser}
* currently passes part1 and part2 as null if they are '*' respectively. minInclusive and maxInclusive are both true
@@ -553,6 +531,8 @@ public abstract class FieldType extends
*
*/
public Query getFieldQuery(QParser parser, SchemaField field, String externalVal) {
- return new TermQuery(new Term(field.getName(), toInternal(externalVal)));
+ BytesRef br = new BytesRef();
+ readableToIndexed(externalVal, br);
+ return new TermQuery(new Term(field.getName(), br));
}
}
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/FloatField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/FloatField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/FloatField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/FloatField.java Sun Dec 26 23:55:02 2010
@@ -20,13 +20,11 @@ package org.apache.solr.schema;
import org.apache.lucene.search.SortField;
import org.apache.lucene.search.cache.CachedArrayCreator;
import org.apache.lucene.search.cache.FloatValuesCreator;
-import org.apache.lucene.search.cache.LongValuesCreator;
-import org.apache.solr.search.function.LongFieldSource;
+import org.apache.solr.search.QParser;
import org.apache.solr.search.function.ValueSource;
import org.apache.solr.search.function.FloatFieldSource;
import org.apache.lucene.document.Fieldable;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import java.util.Map;
import java.io.IOException;
@@ -42,14 +40,11 @@ public class FloatField extends FieldTyp
return new SortField(field.name,SortField.FLOAT, reverse);
}
- public ValueSource getValueSource(SchemaField field) {
+ @Override
+ public ValueSource getValueSource(SchemaField field, QParser qparser) {
return new FloatFieldSource( new FloatValuesCreator( field.name, null, CachedArrayCreator.CACHE_VALUES_AND_BITS ) );
}
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- xmlWriter.writeFloat(name, f.stringValue());
- }
-
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String s = f.stringValue();
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/GeoHashField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/GeoHashField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/GeoHashField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/GeoHashField.java Sun Dec 26 23:55:02 2010
@@ -25,7 +25,6 @@ import org.apache.lucene.spatial.Distanc
import org.apache.lucene.spatial.tier.InvalidGeoException;
import org.apache.solr.common.SolrException;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import org.apache.solr.search.QParser;
import org.apache.solr.search.SolrConstantScoreQuery;
import org.apache.solr.search.SpatialOptions;
@@ -69,12 +68,6 @@ public class GeoHashField extends FieldT
}
@Override
- public void write(XMLWriter xmlWriter, String name, Fieldable f)
- throws IOException {
- xmlWriter.writeStr(name, toExternal(f));
- }
-
- @Override
public void write(TextResponseWriter writer, String name, Fieldable f)
throws IOException {
writer.writeStr(name, toExternal(f), false);
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/IntField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/IntField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/IntField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/IntField.java Sun Dec 26 23:55:02 2010
@@ -20,11 +20,11 @@ package org.apache.solr.schema;
import org.apache.lucene.search.SortField;
import org.apache.lucene.search.cache.CachedArrayCreator;
import org.apache.lucene.search.cache.IntValuesCreator;
+import org.apache.solr.search.QParser;
import org.apache.solr.search.function.ValueSource;
import org.apache.solr.search.function.IntFieldSource;
import org.apache.lucene.document.Fieldable;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import java.util.Map;
import java.io.IOException;
@@ -40,14 +40,11 @@ public class IntField extends FieldType
return new SortField(field.name,SortField.INT, reverse);
}
- public ValueSource getValueSource(SchemaField field) {
+ @Override
+ public ValueSource getValueSource(SchemaField field, QParser qparser) {
return new IntFieldSource(new IntValuesCreator( field.name, null, CachedArrayCreator.CACHE_VALUES_AND_BITS ) );
}
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- xmlWriter.writeInt(name, f.stringValue());
- }
-
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String s = f.stringValue();
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/LatLonType.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/LatLonType.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/LatLonType.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/LatLonType.java Sun Dec 26 23:55:02 2010
@@ -26,7 +26,6 @@ import org.apache.lucene.spatial.tier.In
import org.apache.lucene.util.Bits;
import org.apache.solr.common.SolrException;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import org.apache.solr.search.QParser;
import org.apache.solr.search.SolrIndexReader;
import org.apache.solr.search.SpatialOptions;
@@ -268,11 +267,6 @@ public class LatLonType extends Abstract
}
@Override
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- xmlWriter.writeStr(name, f.stringValue());
- }
-
- @Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
writer.writeStr(name, f.stringValue(), false);
}
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/LongField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/LongField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/LongField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/LongField.java Sun Dec 26 23:55:02 2010
@@ -19,12 +19,10 @@ package org.apache.solr.schema;
import org.apache.lucene.document.Fieldable;
import org.apache.lucene.search.SortField;
-import org.apache.lucene.search.cache.ByteValuesCreator;
import org.apache.lucene.search.cache.CachedArrayCreator;
import org.apache.lucene.search.cache.LongValuesCreator;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
-import org.apache.solr.search.function.IntFieldSource;
+import org.apache.solr.search.QParser;
import org.apache.solr.search.function.ValueSource;
import org.apache.solr.search.function.LongFieldSource;
@@ -45,15 +43,11 @@ public class LongField extends FieldType
return new SortField(field.name,SortField.LONG, reverse);
}
- public ValueSource getValueSource(SchemaField field) {
+ @Override
+ public ValueSource getValueSource(SchemaField field, QParser qparser) {
return new LongFieldSource( new LongValuesCreator( field.name, null, CachedArrayCreator.CACHE_VALUES_AND_BITS ) );
}
-
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- xmlWriter.writeLong(name, f.stringValue());
- }
-
@Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String s = f.stringValue();
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/PointType.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/PointType.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/PointType.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/PointType.java Sun Dec 26 23:55:02 2010
@@ -29,7 +29,6 @@ import org.apache.solr.common.SolrExcept
import org.apache.solr.common.params.MapSolrParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import org.apache.solr.search.QParser;
import org.apache.solr.search.SpatialOptions;
import org.apache.solr.search.function.VectorValueSource;
@@ -118,11 +117,6 @@ public class PointType extends Coordinat
}
@Override
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- xmlWriter.writeStr(name, f.stringValue());
- }
-
- @Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
writer.writeStr(name, f.stringValue(), false);
}
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/RandomSortField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/RandomSortField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/RandomSortField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/RandomSortField.java Sun Dec 26 23:55:02 2010
@@ -24,7 +24,7 @@ import org.apache.lucene.document.Fielda
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.search.*;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
+import org.apache.solr.search.QParser;
import org.apache.solr.search.function.DocValues;
import org.apache.solr.search.function.ValueSource;
import org.apache.solr.search.SolrIndexReader;
@@ -96,14 +96,11 @@ public class RandomSortField extends Fie
}
@Override
- public ValueSource getValueSource(SchemaField field) {
+ public ValueSource getValueSource(SchemaField field, QParser qparser) {
return new RandomValueSource(field.getName());
}
@Override
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException { }
-
- @Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException { }
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SchemaField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SchemaField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SchemaField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SchemaField.java Sun Dec 26 23:55:02 2010
@@ -21,7 +21,6 @@ import org.apache.lucene.document.Field;
import org.apache.lucene.document.Fieldable;
import org.apache.lucene.search.SortField;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import java.util.Map;
import java.io.IOException;
@@ -116,11 +115,6 @@ public final class SchemaField extends F
+ "}";
}
- public void write(XMLWriter writer, String name, Fieldable val) throws IOException {
- // name is passed in because it may be null if name should not be used.
- type.write(writer,name,val);
- }
-
public void write(TextResponseWriter writer, String name, Fieldable val) throws IOException {
// name is passed in because it may be null if name should not be used.
type.write(writer,name,val);
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/ShortField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/ShortField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/ShortField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/ShortField.java Sun Dec 26 23:55:02 2010
@@ -18,12 +18,11 @@ package org.apache.solr.schema;
import org.apache.lucene.document.Fieldable;
import org.apache.lucene.search.SortField;
-import org.apache.lucene.search.cache.CachedArray;
import org.apache.lucene.search.cache.CachedArrayCreator;
import org.apache.lucene.search.cache.ShortValuesCreator;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
+import org.apache.solr.search.QParser;
import org.apache.solr.search.function.ValueSource;
import org.apache.solr.search.function.ShortFieldSource;
@@ -47,16 +46,12 @@ public class ShortField extends FieldTyp
return new SortField(field.name, SortField.SHORT, reverse);
}
- public ValueSource getValueSource(SchemaField field) {
+ @Override
+ public ValueSource getValueSource(SchemaField field, QParser qparser) {
return new ShortFieldSource(new ShortValuesCreator( field.name, null, CachedArrayCreator.CACHE_VALUES_AND_BITS ) );
}
-
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- xmlWriter.writeShort(name, f.stringValue());
- }
-
@Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String s = f.stringValue();
@@ -74,7 +69,7 @@ public class ShortField extends FieldTyp
try {
short val = Short.parseShort(s);
- writer.writeShort(name, val);
+ writer.writeInt(name, val);
} catch (NumberFormatException e){
// can't parse - write out the contents as a string so nothing is lost and
// clients don't get a parse error.
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SortableDoubleField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SortableDoubleField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SortableDoubleField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SortableDoubleField.java Sun Dec 26 23:55:02 2010
@@ -22,6 +22,7 @@ import org.apache.lucene.util.BytesRef;
import org.apache.noggit.CharArr;
import org.apache.solr.search.MutableValueDouble;
import org.apache.solr.search.MutableValue;
+import org.apache.solr.search.QParser;
import org.apache.solr.search.function.ValueSource;
import org.apache.solr.search.function.FieldCacheSource;
import org.apache.solr.search.function.DocValues;
@@ -31,7 +32,6 @@ import org.apache.lucene.index.IndexRead
import org.apache.solr.util.ByteUtils;
import org.apache.solr.util.NumberUtils;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import java.util.Map;
import java.io.IOException;
@@ -46,7 +46,8 @@ public class SortableDoubleField extends
return getStringSort(field,reverse);
}
- public ValueSource getValueSource(SchemaField field) {
+ @Override
+ public ValueSource getValueSource(SchemaField field, QParser qparser) {
return new SortableDoubleFieldSource(field.name);
}
@@ -73,11 +74,6 @@ public class SortableDoubleField extends
out.write( indexedToReadable(ByteUtils.UTF8toUTF16(input)) );
}
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- String sval = f.stringValue();
- xmlWriter.writeDouble(name, NumberUtils.SortableStr2double(sval));
- }
-
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String sval = f.stringValue();
writer.writeDouble(name, NumberUtils.SortableStr2double(sval));
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SortableFloatField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SortableFloatField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SortableFloatField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SortableFloatField.java Sun Dec 26 23:55:02 2010
@@ -22,6 +22,7 @@ import org.apache.lucene.util.BytesRef;
import org.apache.noggit.CharArr;
import org.apache.solr.search.MutableValueFloat;
import org.apache.solr.search.MutableValue;
+import org.apache.solr.search.QParser;
import org.apache.solr.search.function.ValueSource;
import org.apache.solr.search.function.FieldCacheSource;
import org.apache.solr.search.function.DocValues;
@@ -31,7 +32,6 @@ import org.apache.lucene.index.IndexRead
import org.apache.solr.util.ByteUtils;
import org.apache.solr.util.NumberUtils;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import java.util.Map;
import java.io.IOException;
@@ -46,7 +46,8 @@ public class SortableFloatField extends
return getStringSort(field,reverse);
}
- public ValueSource getValueSource(SchemaField field) {
+ @Override
+ public ValueSource getValueSource(SchemaField field, QParser qparser) {
return new SortableFloatFieldSource(field.name);
}
@@ -72,11 +73,6 @@ public class SortableFloatField extends
// TODO: this could be more efficient, but the sortable types should be deprecated instead
out.write( indexedToReadable(ByteUtils.UTF8toUTF16(input)) );
}
-
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- String sval = f.stringValue();
- xmlWriter.writeFloat(name, NumberUtils.SortableStr2float(sval));
- }
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String sval = f.stringValue();
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SortableIntField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SortableIntField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SortableIntField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SortableIntField.java Sun Dec 26 23:55:02 2010
@@ -22,6 +22,7 @@ import org.apache.lucene.util.BytesRef;
import org.apache.noggit.CharArr;
import org.apache.solr.search.MutableValueInt;
import org.apache.solr.search.MutableValue;
+import org.apache.solr.search.QParser;
import org.apache.solr.search.function.ValueSource;
import org.apache.solr.search.function.FieldCacheSource;
import org.apache.solr.search.function.DocValues;
@@ -31,7 +32,6 @@ import org.apache.lucene.index.IndexRead
import org.apache.solr.util.ByteUtils;
import org.apache.solr.util.NumberUtils;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import java.util.Map;
import java.io.IOException;
@@ -46,7 +46,8 @@ public class SortableIntField extends Fi
return getStringSort(field,reverse);
}
- public ValueSource getValueSource(SchemaField field) {
+ @Override
+ public ValueSource getValueSource(SchemaField field, QParser qparser) {
return new SortableIntFieldSource(field.name);
}
@@ -75,13 +76,6 @@ public class SortableIntField extends Fi
public Integer toObject(Fieldable f) {
return NumberUtils.SortableStr2int(f.stringValue(), 0, 3);
}
-
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- String sval = f.stringValue();
- // since writeInt an int instead of a String since that may be more efficient
- // in the future (saves the construction of one String)
- xmlWriter.writeInt(name, NumberUtils.SortableStr2int(sval,0,sval.length()));
- }
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String sval = f.stringValue();
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SortableLongField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SortableLongField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SortableLongField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SortableLongField.java Sun Dec 26 23:55:02 2010
@@ -22,6 +22,7 @@ import org.apache.lucene.util.BytesRef;
import org.apache.noggit.CharArr;
import org.apache.solr.search.MutableValueLong;
import org.apache.solr.search.MutableValue;
+import org.apache.solr.search.QParser;
import org.apache.solr.search.function.ValueSource;
import org.apache.solr.search.function.FieldCacheSource;
import org.apache.solr.search.function.DocValues;
@@ -31,7 +32,6 @@ import org.apache.lucene.index.IndexRead
import org.apache.solr.util.ByteUtils;
import org.apache.solr.util.NumberUtils;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import java.util.Map;
import java.io.IOException;
@@ -46,7 +46,8 @@ public class SortableLongField extends F
return getStringSort(field,reverse);
}
- public ValueSource getValueSource(SchemaField field) {
+ @Override
+ public ValueSource getValueSource(SchemaField field, QParser qparser) {
return new SortableLongFieldSource(field.name);
}
@@ -72,11 +73,6 @@ public class SortableLongField extends F
public Long toObject(Fieldable f) {
return NumberUtils.SortableStr2long(f.stringValue(),0,5);
}
-
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- String sval = f.stringValue();
- xmlWriter.writeLong(name, NumberUtils.SortableStr2long(sval,0,sval.length()));
- }
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String sval = f.stringValue();
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SpatialQueryable.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SpatialQueryable.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SpatialQueryable.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/SpatialQueryable.java Sun Dec 26 23:55:02 2010
@@ -17,7 +17,6 @@ package org.apache.solr.schema;
*/
-import org.apache.lucene.search.Filter;
import org.apache.lucene.search.Query;
import org.apache.solr.search.QParser;
import org.apache.solr.search.SpatialOptions;
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/StrField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/StrField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/StrField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/StrField.java Sun Dec 26 23:55:02 2010
@@ -19,14 +19,9 @@ package org.apache.solr.schema;
import org.apache.lucene.search.SortField;
import org.apache.lucene.document.Fieldable;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.util.BytesRef;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import org.apache.solr.search.function.ValueSource;
-import org.apache.solr.search.function.FieldCacheSource;
-import org.apache.solr.search.function.DocValues;
-import org.apache.solr.search.function.StringIndexDocValues;
import org.apache.solr.search.QParser;
import org.apache.solr.util.ByteUtils;
@@ -44,10 +39,6 @@ public class StrField extends FieldType
return getStringSort(field,reverse);
}
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- xmlWriter.writeStr(name, f.stringValue());
- }
-
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
writer.writeStr(name, f.stringValue(), true);
}
Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/TextField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/TextField.java?rev=1052985&r1=1052984&r2=1052985&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/TextField.java (original)
+++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/TextField.java Sun Dec 26 23:55:02 2010
@@ -33,7 +33,6 @@ import org.apache.lucene.analysis.TokenS
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.util.BytesRef;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.response.XMLWriter;
import org.apache.solr.search.QParser;
import org.apache.solr.util.ByteUtils;
@@ -67,10 +66,6 @@ public class TextField extends FieldType
return getStringSort(field, reverse);
}
- public void write(XMLWriter xmlWriter, String name, Fieldable f) throws IOException {
- xmlWriter.writeStr(name, f.stringValue());
- }
-
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
writer.writeStr(name, f.stringValue(), true);
}