You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by si...@apache.org on 2011/01/05 21:25:44 UTC
svn commit: r1055622 [12/14] - in /lucene/dev/branches/docvalues: ./
dev-tools/ dev-tools/eclipse/ dev-tools/idea/ dev-tools/idea/.idea/
dev-tools/idea/.idea/libraries/ dev-tools/idea/lucene/
dev-tools/idea/lucene/contrib/ dev-tools/idea/lucene/contrib...
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/DocumentBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/DocumentBuilder.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/DocumentBuilder.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/DocumentBuilder.java Wed Jan 5 20:25:17 2011
@@ -73,7 +73,7 @@ public class DocumentBuilder {
}
}
} else {
- Field field = sfield.createField(val, boost);
+ Fieldable field = sfield.createField(val, boost);
if (field != null) {
if (!sfield.multiValued()) {
String oldValue = map.put(sfield.getName(), val);
@@ -201,7 +201,7 @@ public class DocumentBuilder {
if (f != null) doc.add(f); // null fields are not added
}
} else {
- Field f = field.createField(val, boost);
+ Fieldable f = field.createField(val, boost);
if (f != null) doc.add(f); // null fields are not added
}
}
@@ -258,7 +258,7 @@ public class DocumentBuilder {
if (sfield != null && sfield.getType() instanceof BinaryField) {
isBinaryField = true;
BinaryField binaryField = (BinaryField) sfield.getType();
- Field f = binaryField.createField(sfield,v,boost);
+ Fieldable f = binaryField.createField(sfield,v,boost);
if(f != null){
out.add(f);
}
@@ -297,7 +297,7 @@ public class DocumentBuilder {
if (destinationField.getType() instanceof BinaryField) {
BinaryField binaryField = (BinaryField) destinationField.getType();
//TODO: safe to assume that binary fields only create one?
- fields = new Field[]{binaryField.createField(destinationField, v, boost)};
+ fields = new Fieldable[]{binaryField.createField(destinationField, v, boost)};
}
} else {
fields = destinationField.createFields(cf.getLimitedValue(val), boost);
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/MergeIndexesCommand.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/MergeIndexesCommand.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/MergeIndexesCommand.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/MergeIndexesCommand.java Wed Jan 5 20:25:17 2011
@@ -18,6 +18,7 @@
package org.apache.solr.update;
import org.apache.lucene.store.Directory;
+import org.apache.solr.request.SolrQueryRequest;
/**
* A merge indexes command encapsulated in an object.
@@ -28,12 +29,12 @@ import org.apache.lucene.store.Directory
public class MergeIndexesCommand extends UpdateCommand {
public Directory[] dirs;
- public MergeIndexesCommand() {
- this(null);
+ public MergeIndexesCommand(SolrQueryRequest req) {
+ this(null, req);
}
- public MergeIndexesCommand(Directory[] dirs) {
- super("mergeIndexes");
+ public MergeIndexesCommand(Directory[] dirs, SolrQueryRequest req) {
+ super("mergeIndexes", req);
this.dirs = dirs;
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/RollbackUpdateCommand.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/RollbackUpdateCommand.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/RollbackUpdateCommand.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/RollbackUpdateCommand.java Wed Jan 5 20:25:17 2011
@@ -17,14 +17,16 @@
package org.apache.solr.update;
+import org.apache.solr.request.SolrQueryRequest;
+
/**
* @version $Id$
* @since Solr 1.4
*/
public class RollbackUpdateCommand extends UpdateCommand {
- public RollbackUpdateCommand() {
- super("rollback");
+ public RollbackUpdateCommand(SolrQueryRequest req) {
+ super("rollback", req);
}
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/UpdateCommand.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/UpdateCommand.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/UpdateCommand.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/UpdateCommand.java Wed Jan 5 20:25:17 2011
@@ -17,15 +17,19 @@
package org.apache.solr.update;
+import org.apache.solr.request.SolrQueryRequest;
+
/** An index update command encapsulated in an object (Command pattern)
*
* @version $Id$
*/
public class UpdateCommand {
- protected String commandName;
+ protected final SolrQueryRequest req;
+ protected final String commandName;
- public UpdateCommand(String commandName) {
+ public UpdateCommand(String commandName, SolrQueryRequest req) {
+ this.req = req;
this.commandName = commandName;
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/processor/Lookup3Signature.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/processor/Lookup3Signature.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/processor/Lookup3Signature.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/processor/Lookup3Signature.java Wed Jan 5 20:25:17 2011
@@ -16,12 +16,6 @@ package org.apache.solr.update.processor
* limitations under the License.
*/
-import java.io.UnsupportedEncodingException;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.apache.solr.common.util.Hash;
public class Lookup3Signature extends Signature {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/processor/SignatureUpdateProcessorFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/processor/SignatureUpdateProcessorFactory.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/processor/SignatureUpdateProcessorFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/processor/SignatureUpdateProcessorFactory.java Wed Jan 5 20:25:17 2011
@@ -33,11 +33,7 @@ import org.apache.solr.common.util.StrUt
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.update.AddUpdateCommand;
-import org.apache.solr.update.CommitUpdateCommand;
-import org.apache.solr.update.DeleteUpdateCommand;
-import org.apache.solr.core.SolrResourceLoader;
import org.apache.solr.core.SolrCore;
-import org.apache.solr.schema.IndexSchema;
import org.apache.solr.schema.SchemaField;
import org.apache.solr.util.plugin.SolrCoreAware;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/util/DateMathParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/util/DateMathParser.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/util/DateMathParser.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/util/DateMathParser.java Wed Jan 5 20:25:17 2011
@@ -17,7 +17,6 @@
package org.apache.solr.util;
-import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.request.SolrRequestInfo;
import java.util.Date;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/util/SolrPluginUtils.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/util/SolrPluginUtils.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/util/SolrPluginUtils.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/util/SolrPluginUtils.java Wed Jan 5 20:25:17 2011
@@ -33,6 +33,7 @@ import org.apache.solr.common.util.Named
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.common.util.StrUtils;
import org.apache.solr.core.SolrCore;
+import org.apache.solr.handler.component.HighlightComponent;
import org.apache.solr.handler.component.ResponseBuilder;
import org.apache.solr.highlight.SolrHighlighter;
import org.apache.solr.request.SolrQueryRequest;
@@ -41,9 +42,6 @@ import org.apache.solr.schema.IndexSchem
import org.apache.solr.schema.SchemaField;
import org.apache.solr.search.*;
import org.apache.solr.update.DocumentBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.io.IOException;
import java.util.*;
import java.util.regex.Pattern;
@@ -64,17 +62,6 @@ import java.lang.reflect.InvocationTarge
* default parameter settings.
*/
public class SolrPluginUtils {
- final static Logger log = LoggerFactory.getLogger( SolrPluginUtils.class );
-
- /**
- * Set defaults on a SolrQueryRequest.
- *
- * RequestHandlers can use this method to ensure their defaults are
- * visible to other components such as the response writer
- */
- public static void setDefaults(SolrQueryRequest req, SolrParams defaults) {
- setDefaults(req, defaults, null, null);
- }
/**
* Set default-ish params on a SolrQueryRequest.
@@ -104,13 +91,6 @@ public class SolrPluginUtils {
}
- /**
- * standard param for field list
- *
- * @deprecated Use org.apache.solr.common.params.CommonParams.FL.
- */
- @Deprecated
- public static String FL = CommonParams.FL;
/**
* SolrIndexSearch.numDocs(Query,Query) freaks out if the filtering
@@ -123,59 +103,10 @@ public class SolrPluginUtils {
}
- /**
- * Returns the param, or the default if it's empty or not specified.
- * @deprecated use SolrParam.get(String,String)
- */
- @Deprecated
- public static String getParam(SolrQueryRequest req,
- String param, String def) {
- String v = req.getParam(param);
- // Note: parameters passed but given only white-space value are
- // considered equivalent to passing nothing for that parameter.
- if (null == v || "".equals(v.trim())) {
- return def;
- }
- return v;
- }
- /**
- * Treats the param value as a Number, returns the default if nothing is
- * there or if it's not a number.
- * @deprecated use SolrParam.getFloat(String,float)
- */
- @Deprecated
- public static Number getNumberParam(SolrQueryRequest req,
- String param, Number def) {
- Number r = def;
- String v = req.getParam(param);
- if (null == v || "".equals(v.trim())) {
- return r;
- }
- try {
- r = new Float(v);
- } catch (NumberFormatException e) {
- /* :NOOP" */
- }
- return r;
- }
- /**
- * Treats parameter value as a boolean. The string 'false' is false;
- * any other non-empty string is true.
- * @deprecated use SolrParam.getBool(String,boolean)
- */
- @Deprecated
- public static boolean getBooleanParam(SolrQueryRequest req,
- String param, boolean def) {
- String v = req.getParam(param);
- if (null == v || "".equals(v.trim())) {
- return def;
- }
- return !"false".equals(v.trim());
- }
private final static Pattern splitList=Pattern.compile(",| ");
@@ -238,7 +169,8 @@ public class SolrPluginUtils {
*
* If lazy field loading is disabled, this method does nothing.
*/
- public static void optimizePreFetchDocs(DocList docs,
+ public static void optimizePreFetchDocs(ResponseBuilder rb,
+ DocList docs,
Query query,
SolrQueryRequest req,
SolrQueryResponse res) throws IOException {
@@ -248,28 +180,34 @@ public class SolrPluginUtils {
return;
}
- Set<String> fieldFilter = null;
Set<String> returnFields = res.getReturnFields();
+ Set<String> fieldFilter = returnFields;
+
if(returnFields != null) {
- // copy return fields list
- fieldFilter = new HashSet<String>(returnFields);
- // add highlight fields
- SolrHighlighter highligher = req.getCore().getHighlighter();
- if(highligher.isHighlightingEnabled(req.getParams())) {
- for(String field: highligher.getHighlightFields(query, req, null))
+
+ if (rb.doHighlights) {
+ // copy return fields list
+ fieldFilter = new HashSet<String>(returnFields);
+ // add highlight fields
+
+ SolrHighlighter highlighter = HighlightComponent.getHighlighter(req.getCore());
+ for (String field: highlighter.getHighlightFields(query, req, null))
fieldFilter.add(field);
- }
- // fetch unique key if one exists.
- SchemaField keyField = req.getSearcher().getSchema().getUniqueKeyField();
- if(null != keyField)
+
+ // fetch unique key if one exists.
+ SchemaField keyField = req.getSearcher().getSchema().getUniqueKeyField();
+ if(null != keyField)
fieldFilter.add(keyField.getName());
- }
+ }
+
+ // get documents
+ DocIterator iter = docs.iterator();
+ for (int i=0; i<docs.size(); i++) {
+ searcher.doc(iter.nextDoc(), fieldFilter);
+ }
- // get documents
- DocIterator iter = docs.iterator();
- for (int i=0; i<docs.size(); i++) {
- searcher.doc(iter.nextDoc(), fieldFilter);
}
+
}
@@ -451,23 +389,6 @@ public class SolrPluginUtils {
return out;
}
- /**
- * Generates an list of Explanations for each item in a list of docs.
- *
- * @param query The Query you want explanations in the context of
- * @param docs The Documents you want explained relative that query
- * @deprecated this returns the explanations as Strings, instead it
- * is recommeded to use getExplanations and call toString()
- * yourself, or use explanationsToNamedLists
- */
- @Deprecated
- public static NamedList getExplainList(Query query, DocList docs,
- SolrIndexSearcher searcher,
- IndexSchema schema)
- throws IOException {
-
- return explanationsToStrings(getExplanations(query,docs,searcher,schema));
- }
/**
* Executes a basic query
@@ -536,33 +457,6 @@ public class SolrPluginUtils {
}
return out;
}
- /**
- * Given a string containing functions with optional boosts, returns
- * an array of Queries representing those functions with the specified
- * boosts.
- * <p>
- * NOTE: intra-function whitespace is not allowed.
- * </p>
- * @see #parseFieldBoosts
- * @deprecated
- */
- @Deprecated
- public static List<Query> parseFuncs(IndexSchema s, String in)
- throws ParseException {
-
- Map<String,Float> ff = parseFieldBoosts(in);
- List<Query> funcs = new ArrayList<Query>(ff.keySet().size());
- for (String f : ff.keySet()) {
- Query fq = QueryParsing.parseFunction(f, s);
- Float b = ff.get(f);
- if (null != b) {
- fq.setBoost(b);
- }
- funcs.add(fq);
- }
- return funcs;
- }
-
/**
* Checks the number of optional clauses in the query, and compares it
@@ -608,6 +502,11 @@ public class SolrPluginUtils {
}
}
+ // private static Pattern spaceAroundLessThanPattern = Pattern.compile("\\s*<\\s*");
+ private static Pattern spaceAroundLessThanPattern = Pattern.compile("(\\s+<\\s*)|(\\s*<\\s+)");
+ private static Pattern spacePattern = Pattern.compile(" ");
+ private static Pattern lessThanPattern = Pattern.compile("<");
+
/**
* helper exposed for UnitTests
* @see #setMinShouldMatch
@@ -615,14 +514,14 @@ public class SolrPluginUtils {
static int calculateMinShouldMatch(int optionalClauseCount, String spec) {
int result = optionalClauseCount;
-
+ spec = spec.trim();
if (-1 < spec.indexOf("<")) {
/* we have conditional spec(s) */
-
- for (String s : spec.trim().split(" ")) {
- String[] parts = s.split("<");
- int upperBound = (new Integer(parts[0])).intValue();
+ spec = spaceAroundLessThanPattern.matcher(spec).replaceAll("<");
+ for (String s : spacePattern.split(spec)) {
+ String[] parts = lessThanPattern.split(s,0);
+ int upperBound = Integer.parseInt(parts[0]);
if (optionalClauseCount <= upperBound) {
return result;
} else {
@@ -635,13 +534,14 @@ public class SolrPluginUtils {
/* otherwise, simple expresion */
- if (-1 < spec.indexOf("%")) {
- /* percentage */
- int percent = new Integer(spec.replace("%","")).intValue();
- float calc = (result * percent) / 100f;
+ if (-1 < spec.indexOf('%')) {
+ /* percentage - assume the % was the last char. If not, let Integer.parseInt fail. */
+ spec = spec.substring(0,spec.length()-1);
+ int percent = Integer.parseInt(spec);
+ float calc = (result * percent) * (1/100f);
result = calc < 0 ? result + (int)calc : (int)calc;
} else {
- int calc = (new Integer(spec)).intValue();
+ int calc = Integer.parseInt(spec);
result = calc < 0 ? result + calc : calc;
}
@@ -775,14 +675,6 @@ public class SolrPluginUtils {
// don't trust that our parent class won't ever change it's default
setDefaultOperator(QueryParser.Operator.OR);
}
- public DisjunctionMaxQueryParser(IndexSchema s, String defaultField) {
- super(s,defaultField);
- // don't trust that our parent class won't ever change it's default
- setDefaultOperator(QueryParser.Operator.OR);
- }
- public DisjunctionMaxQueryParser(IndexSchema s) {
- this(s,null);
- }
/**
* Add an alias to this query parser.
@@ -879,15 +771,6 @@ public class SolrPluginUtils {
return ss;
}
- /**
- * Builds a list of Query objects that should be used to filter results
- * @see CommonParams#FQ
- * @return null if no filter queries
- */
- public static List<Query> parseFilterQueries(SolrQueryRequest req) throws ParseException {
- return parseQueryStrings(req, req.getParams().getParams(CommonParams.FQ));
- }
-
/** Turns an array of query strings into a List of Query objects.
*
* @return null if no queries are generated
@@ -978,27 +861,6 @@ public class SolrPluginUtils {
}
-
- /**
- * Given a SolrQueryResponse replace the DocList if it is in the result.
- * Otherwise add it to the response
- *
- * @since solr 1.4
- */
- public static void addOrReplaceResults(SolrQueryResponse rsp, SolrDocumentList docs)
- {
- NamedList vals = rsp.getValues();
- int idx = vals.indexOf( "response", 0 );
- if( idx >= 0 ) {
- log.debug("Replacing DocList with SolrDocumentList " + docs.size());
- vals.setVal( idx, docs );
- }
- else {
- log.debug("Adding SolrDocumentList response" + docs.size());
- vals.add( "response", docs );
- }
- }
-
public static void invokeSetters(Object bean, NamedList initArgs) {
if (initArgs == null) return;
Class clazz = bean.getClass();
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/util/TestHarness.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/util/TestHarness.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/util/TestHarness.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/util/TestHarness.java Wed Jan 5 20:25:17 2011
@@ -17,6 +17,7 @@
package org.apache.solr.util;
+import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.XML;
@@ -25,20 +26,22 @@ import org.apache.solr.core.SolrCore;
import org.apache.solr.core.CoreContainer;
import org.apache.solr.core.CoreDescriptor;
import org.apache.solr.core.SolrResourceLoader;
+import org.apache.solr.handler.JsonUpdateRequestHandler;
import org.apache.solr.handler.XmlUpdateRequestHandler;
import org.apache.solr.request.LocalSolrQueryRequest;
import org.apache.solr.request.SolrQueryRequest;
+import org.apache.solr.request.SolrRequestHandler;
import org.apache.solr.request.SolrRequestInfo;
import org.apache.solr.response.QueryResponseWriter;
import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.schema.IndexSchema;
+import org.apache.solr.servlet.DirectSolrConnection;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
import org.apache.solr.common.util.NamedList.NamedListEntry;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
@@ -49,10 +52,7 @@ import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
@@ -206,20 +206,25 @@ public class TestHarness {
/**
* Processes an "update" (add, commit or optimize) and
* returns the response as a String.
- *
- * @deprecated The better approach is to instantiate an Updatehandler directly
*
* @param xml The XML of the update
* @return The XML response to the update
*/
- @Deprecated
public String update(String xml) {
-
- StringReader req = new StringReader(xml);
- StringWriter writer = new StringWriter(32000);
-
- updater.doLegacyUpdate(req, writer);
- return writer.toString();
+ DirectSolrConnection connection = new DirectSolrConnection(core);
+ SolrRequestHandler handler = core.getRequestHandler("/update");
+ // prefer the handler mapped to /update, but use our generic backup handler
+ // if that lookup fails
+ if (handler == null) {
+ handler = updater;
+ }
+ try {
+ return connection.request(handler, null, xml);
+ } catch (SolrException e) {
+ throw (SolrException)e;
+ } catch (Exception e) {
+ throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, e);
+ }
}
@@ -244,7 +249,12 @@ public class TestHarness {
* @return null if successful, otherwise the XML response to the update
*/
public String validateErrorUpdate(String xml) throws SAXException {
- return checkUpdateStatus(xml, "1");
+ try {
+ return checkUpdateStatus(xml, "1");
+ } catch (SolrException e) {
+ // return ((SolrException)e).getMessage();
+ return null; // success
+ }
}
/**
@@ -258,7 +268,7 @@ public class TestHarness {
public String checkUpdateStatus(String xml, String code) throws SAXException {
try {
String res = update(xml);
- String valid = validateXPath(res, "//result[@status="+code+"]" );
+ String valid = validateXPath(res, "//int[@name='status']="+code );
return (null == valid) ? null : res;
} catch (XPathExpressionException e) {
throw new RuntimeException
@@ -266,27 +276,6 @@ public class TestHarness {
}
}
- /**
- * Validates that an add of a single document results in success.
- *
- * @param fieldsAndValues Odds are field names, Evens are values
- * @return null if successful, otherwise the XML response to the update
- * @see #appendSimpleDoc
- */
- public String validateAddDoc(String... fieldsAndValues)
- throws XPathExpressionException, SAXException, IOException {
-
- StringBuilder buf = new StringBuilder();
- buf.append("<add>");
- appendSimpleDoc(buf, fieldsAndValues);
- buf.append("</add>");
-
- String res = update(buf.toString());
- String valid = validateXPath(res, "//result[@status=0]" );
- return (null == valid) ? null : res;
- }
-
-
/**
* Validates a "query" response against an array of XPath test strings
@@ -414,29 +403,6 @@ public class TestHarness {
}
/**
- * A helper that adds an xml <doc> containing all of the
- * fields and values specified (odds are fields, evens are values)
- * to a StringBuilder
- */
- public void appendSimpleDoc(StringBuilder buf, String... fieldsAndValues)
- throws IOException {
-
- buf.append(makeSimpleDoc(fieldsAndValues));
- }
-
- /**
- * A helper that adds an xml <doc> containing all of the
- * fields and values specified (odds are fields, evens are values)
- * to a StringBuffer.
- * @deprecated see {@link #appendSimpleDoc(StringBuilder, String...)}
- */
- @Deprecated
- public void appendSimpleDoc(StringBuffer buf, String... fieldsAndValues)
- throws IOException {
-
- buf.append(makeSimpleDoc(fieldsAndValues));
- }
- /**
* A helper that creates an xml <doc> containing all of the
* fields and values specified
*
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/util/plugin/AbstractPluginLoader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/util/plugin/AbstractPluginLoader.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/util/plugin/AbstractPluginLoader.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/util/plugin/AbstractPluginLoader.java Wed Jan 5 20:25:17 2011
@@ -27,7 +27,6 @@ import org.apache.solr.common.SolrExcept
import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.util.DOMUtil;
import org.apache.solr.core.SolrConfig;
-import org.apache.solr.core.SolrResourceLoader;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
Modified: lucene/dev/branches/docvalues/solr/src/maven/solr-core-pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/maven/solr-core-pom.xml.template?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/maven/solr-core-pom.xml.template (original)
+++ lucene/dev/branches/docvalues/solr/src/maven/solr-core-pom.xml.template Wed Jan 5 20:25:17 2011
@@ -91,6 +91,13 @@
<artifactId>lucene-spellchecker</artifactId>
<version>@version@</version>
</dependency>
+
+ <!-- Apache Zookeeper -->
+ <dependency>
+ <groupId>org.apache.zookeeper</groupId>
+ <artifactId>zookeeper</artifactId>
+ <version>3.3.1</version>
+ </dependency>
<!-- Apache Commons -->
<dependency>
Modified: lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/impl/LBHttpSolrServer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/impl/LBHttpSolrServer.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/impl/LBHttpSolrServer.java (original)
+++ lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/impl/LBHttpSolrServer.java Wed Jan 5 20:25:17 2011
@@ -18,7 +18,6 @@ package org.apache.solr.client.solrj.imp
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
-import org.apache.commons.httpclient.DefaultMethodRetryHandler;
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.solr.client.solrj.*;
@@ -32,7 +31,6 @@ import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.locks.ReentrantLock;
import java.util.*;
/**
Modified: lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/request/ContentStreamUpdateRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/request/ContentStreamUpdateRequest.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/request/ContentStreamUpdateRequest.java (original)
+++ lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/request/ContentStreamUpdateRequest.java Wed Jan 5 20:25:17 2011
@@ -17,12 +17,6 @@ package org.apache.solr.client.solrj.req
*/
-import org.apache.solr.client.solrj.SolrRequest;
-import org.apache.solr.client.solrj.SolrServer;
-import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.client.solrj.response.UpdateResponse;
-import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.ContentStream;
import org.apache.solr.common.util.ContentStreamBase;
Modified: lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/request/FieldAnalysisRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/request/FieldAnalysisRequest.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/request/FieldAnalysisRequest.java (original)
+++ lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/request/FieldAnalysisRequest.java Wed Jan 5 20:25:17 2011
@@ -96,8 +96,8 @@ public class FieldAnalysisRequest extend
*/
@Override
public FieldAnalysisResponse process(SolrServer server) throws SolrServerException, IOException {
- if (fieldTypes == null || fieldNames == null) {
- throw new IllegalStateException("A list one field type or field name need to be specified");
+ if (fieldTypes == null && fieldNames == null) {
+ throw new IllegalStateException("At least one field type or field name need to be specified");
}
if (fieldValue == null) {
throw new IllegalStateException("The field value must be set");
Modified: lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java (original)
+++ lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java Wed Jan 5 20:25:17 2011
@@ -128,7 +128,7 @@ public class JavaBinUpdateRequestCodec {
private List readOuterMostDocIterator(FastInputStream fis) throws IOException {
NamedList params = (NamedList) namedList[0].getVal(0);
- updateRequest.setParams(namedListToSolrParams(params));
+ updateRequest.setParams(new ModifiableSolrParams(SolrParams.toSolrParams(params)));
if (handler == null) return super.readIterator(fis);
while (true) {
Object o = readVal(fis);
@@ -207,17 +207,6 @@ public class JavaBinUpdateRequestCodec {
return nl;
}
- private ModifiableSolrParams namedListToSolrParams(NamedList nl) {
- ModifiableSolrParams solrParams = new ModifiableSolrParams();
- for (int i = 0; i < nl.size(); i++) {
- List<String> l = (List) nl.getVal(i);
- if (l != null)
- solrParams.add(nl.getName(i),
- l.toArray(new String[l.size()]));
- }
- return solrParams;
- }
-
public static interface StreamingDocumentHandler {
public void document(SolrInputDocument document, UpdateRequest req);
}
Modified: lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/request/UpdateRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/request/UpdateRequest.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/request/UpdateRequest.java (original)
+++ lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/request/UpdateRequest.java Wed Jan 5 20:25:17 2011
@@ -25,10 +25,6 @@ import java.util.Collection;
import java.util.List;
import java.util.Iterator;
-import org.apache.solr.client.solrj.SolrServer;
-import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.client.solrj.SolrRequest;
-import org.apache.solr.client.solrj.response.UpdateResponse;
import org.apache.solr.client.solrj.util.ClientUtils;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.params.ModifiableSolrParams;
Modified: lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/response/PivotField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/response/PivotField.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/response/PivotField.java (original)
+++ lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/response/PivotField.java Wed Jan 5 20:25:17 2011
@@ -18,7 +18,6 @@
package org.apache.solr.client.solrj.response;
import java.io.PrintStream;
-import java.io.PrintWriter;
import java.io.Serializable;
import java.util.List;
Modified: lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/response/SolrPingResponse.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/response/SolrPingResponse.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/response/SolrPingResponse.java (original)
+++ lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/response/SolrPingResponse.java Wed Jan 5 20:25:17 2011
@@ -17,8 +17,6 @@
package org.apache.solr.client.solrj.response;
-import org.apache.solr.common.util.NamedList;
-
/**
*
* @version $Id$
Modified: lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/response/UpdateResponse.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/response/UpdateResponse.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/response/UpdateResponse.java (original)
+++ lucene/dev/branches/docvalues/solr/src/solrj/org/apache/solr/client/solrj/response/UpdateResponse.java Wed Jan 5 20:25:17 2011
@@ -17,8 +17,6 @@
package org.apache.solr.client.solrj.response;
-import org.apache.solr.common.util.NamedList;
-
/**
* TODO -- mostly a stub until we have a defined output format
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/BasicFunctionalityTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/BasicFunctionalityTest.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/BasicFunctionalityTest.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/BasicFunctionalityTest.java Wed Jan 5 20:25:17 2011
@@ -17,10 +17,6 @@
package org.apache.solr;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.StringWriter;
@@ -31,9 +27,8 @@ import javax.xml.parsers.DocumentBuilder
import javax.xml.parsers.DocumentBuilderFactory;
import org.apache.lucene.document.Field;
+import org.apache.lucene.document.Fieldable;
import org.apache.lucene.index.LogMergePolicy;
-import org.apache.lucene.search.BooleanQuery;
-import org.apache.lucene.search.Query;
import org.apache.solr.common.params.AppendedSolrParams;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.DefaultSolrParams;
@@ -51,7 +46,6 @@ import org.apache.solr.schema.IndexSchem
import org.apache.solr.schema.SchemaField;
import org.apache.solr.search.DocIterator;
import org.apache.solr.search.DocList;
-import org.apache.solr.search.QueryParsing;
import org.apache.solr.update.SolrIndexWriter;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -162,7 +156,7 @@ public class BasicFunctionalityTest exte
,"//*[@numFound='0']"
);
- // test allowDups default of false
+ // test overwrite default of true
assertU(adoc("id", "42", "val_s", "AAA"));
assertU(adoc("id", "42", "val_s", "BBB"));
@@ -181,12 +175,12 @@ public class BasicFunctionalityTest exte
// test deletes
String [] adds = new String[] {
- add( doc("id","101"), "allowDups", "false" ),
- add( doc("id","101"), "allowDups", "false" ),
- add( doc("id","105"), "allowDups", "true" ),
- add( doc("id","102"), "allowDups", "false" ),
- add( doc("id","103"), "allowDups", "true" ),
- add( doc("id","101"), "allowDups", "false" ),
+ add( doc("id","101"), "overwrite", "true" ),
+ add( doc("id","101"), "overwrite", "true" ),
+ add( doc("id","105"), "overwrite", "false" ),
+ add( doc("id","102"), "overwrite", "true" ),
+ add( doc("id","103"), "overwrite", "false" ),
+ add( doc("id","101"), "overwrite", "true" ),
};
for (String a : adds) {
assertU(a, a);
@@ -251,7 +245,7 @@ public class BasicFunctionalityTest exte
clearIndex();
// big freaking kludge since the response is currently not well formed.
String res = h.update("<add><doc><field name=\"id\">1</field></doc><doc><field name=\"id\">2</field></doc></add>");
- assertEquals("<result status=\"0\"></result>", res);
+ // assertEquals("<result status=\"0\"></result>", res);
assertU("<commit/>");
assertQ(req("id:[0 TO 99]")
,"//*[@numFound='2']"
@@ -267,7 +261,7 @@ public class BasicFunctionalityTest exte
"<field name=\"text\">hello</field></doc>" +
"</add>");
- assertEquals("<result status=\"0\"></result>", res);
+ // assertEquals("<result status=\"0\"></result>", res);
assertU("<commit/>");
assertQ(req("text:hello")
,"//*[@numFound='2']"
@@ -286,7 +280,7 @@ public class BasicFunctionalityTest exte
"<field boost=\"2.0\" name=\"text\">hello</field></doc>" +
"</add>");
- assertEquals("<result status=\"0\"></result>", res);
+ // assertEquals("<result status=\"0\"></result>", res);
assertU("<commit/>");
assertQ(req("text:hello"),
"//*[@numFound='2']"
@@ -349,22 +343,12 @@ public class BasicFunctionalityTest exte
);
}
- /** @see org.apache.solr.analysis.TestRemoveDuplicatesTokenFilter */
- @Test
- public void testRemoveDuplicatesTokenFilter() {
- Query q = QueryParsing.parseQuery("TV", "dedup",
- h.getCore().getSchema());
- assertTrue("not boolean?", q instanceof BooleanQuery);
- assertEquals("unexpected number of stemmed synonym tokens",
- 2, ((BooleanQuery) q).clauses().size());
- }
-
@Test
public void testTermVectorFields() {
IndexSchema ischema = new IndexSchema(solrConfig, getSchemaFile(), null);
SchemaField f; // Solr field type
- Field luf; // Lucene field
+ Fieldable luf; // Lucene field
f = ischema.getField("test_basictv");
luf = f.createField("test", 0f);
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/ConvertedLegacyTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/ConvertedLegacyTest.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/ConvertedLegacyTest.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/ConvertedLegacyTest.java Wed Jan 5 20:25:17 2011
@@ -18,7 +18,6 @@
package org.apache.solr;
import org.apache.solr.request.*;
-import org.apache.solr.util.*;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -95,12 +94,12 @@ public class ConvertedLegacyTest extends
// test deletes
assertU("<delete><query>id:[100 TO 110]</query></delete>");
- assertU("<add allowDups=\"false\"><doc><field name=\"id\">101</field></doc></add>");
- assertU("<add allowDups=\"false\"><doc><field name=\"id\">101</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">105</field></doc></add>");
- assertU("<add allowDups=\"false\"><doc><field name=\"id\">102</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">103</field></doc></add>");
- assertU("<add allowDups=\"false\"><doc><field name=\"id\">101</field></doc></add>");
+ assertU("<add overwrite=\"true\"><doc><field name=\"id\">101</field></doc></add>");
+ assertU("<add overwrite=\"true\"><doc><field name=\"id\">101</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">105</field></doc></add>");
+ assertU("<add overwrite=\"true\"><doc><field name=\"id\">102</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">103</field></doc></add>");
+ assertU("<add overwrite=\"true\"><doc><field name=\"id\">101</field></doc></add>");
assertU("<commit/>");
assertQ(req("id:[100 TO 110]")
,"//*[@numFound='4']"
@@ -124,9 +123,9 @@ public class ConvertedLegacyTest extends
// test range
assertU("<delete><id>44</id></delete>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"val_s\">apple</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"val_s\">banana</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"val_s\">pear</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"val_s\">apple</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"val_s\">banana</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"val_s\">pear</field></doc></add>");
assertU("<commit/>");
assertQ(req("val_s:[a TO z]")
,"//*[@numFound='3'] "
@@ -318,7 +317,7 @@ public class ConvertedLegacyTest extends
// check for docs that appear more than once in a range
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"val_s\">apple</field><field name=\"val_s\">banana</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"val_s\">apple</field><field name=\"val_s\">banana</field></doc></add>");
assertU("<commit/>");
assertQ(req("val_s:[* TO *] OR val_s:[* TO *]")
,"//*[@numFound='4']"
@@ -333,7 +332,7 @@ public class ConvertedLegacyTest extends
// <delete><id>44</id></delete>
- assertU("<add overwritePending=\"true\" overwriteCommitted=\"true\"><doc><field name=\"id\">44</field><field name=\"text\">red riding hood</field></doc></add>");
+ assertU("<add><doc><field name=\"id\">44</field><field name=\"text\">red riding hood</field></doc></add>");
assertU("<commit/>");
assertQ(req("id:44 AND red")
,"//@numFound[.='1'] "
@@ -349,8 +348,8 @@ public class ConvertedLegacyTest extends
// allow duplicates
assertU("<delete><id>44</id></delete>");
- assertU("<add allowDups=\"true\" overwriteCommitted=\"false\" overwritePending=\"false\"><doc><field name=\"id\">44</field><field name=\"text\">red riding hood</field></doc></add>");
- assertU("<add allowDups=\"true\" overwriteCommitted=\"false\" overwritePending=\"false\"><doc><field name=\"id\">44</field><field name=\"text\">big bad wolf</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"text\">red riding hood</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"text\">big bad wolf</field></doc></add>");
assertU("<commit/>");
assertQ(req("id:44")
,"//@numFound[.='2']"
@@ -510,16 +509,16 @@ public class ConvertedLegacyTest extends
// test integer ranges and sorting
assertU("<delete><id>44</id></delete>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_i\">1234567890</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_i\">10</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_i\">1</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_i\">2</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_i\">15</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_i\">-1</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_i\">-987654321</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_i\">2147483647</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_i\">-2147483648</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_i\">0</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_i\">1234567890</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_i\">10</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_i\">1</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_i\">2</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_i\">15</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_i\">-1</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_i\">-987654321</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_i\">2147483647</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_i\">-2147483648</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_i\">0</field></doc></add>");
assertU("<commit/>");
assertQ(req("id:44")
,"*[count(//doc)=10]"
@@ -553,16 +552,16 @@ public class ConvertedLegacyTest extends
// test long ranges and sorting
assertU("<delete><id>44</id></delete>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_l\">1234567890</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_l\">10</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_l\">1</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_l\">2</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_l\">15</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_l\">-1</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_l\">-987654321</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_l\">9223372036854775807</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_l\">-9223372036854775808</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_l\">0</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_l\">1234567890</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_l\">10</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_l\">1</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_l\">2</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_l\">15</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_l\">-1</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_l\">-987654321</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_l\">9223372036854775807</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_l\">-9223372036854775808</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_l\">0</field></doc></add>");
assertU("<commit/>");
assertQ(req("id:44")
,"*[count(//doc)=10]"
@@ -596,16 +595,16 @@ public class ConvertedLegacyTest extends
// test binary float ranges and sorting
assertU("<delete><id>44</id></delete>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">1.4142135</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">Infinity</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">-Infinity</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">NaN</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">2</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">-1</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">-987654321</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">-999999.99</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">-1e20</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">0</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sf\">1.4142135</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sf\">Infinity</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sf\">-Infinity</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sf\">NaN</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sf\">2</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sf\">-1</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sf\">-987654321</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sf\">-999999.99</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sf\">-1e20</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sf\">0</field></doc></add>");
assertU("<commit/>");
assertQ(req("id:44")
,"*[count(//doc)=10]"
@@ -645,16 +644,16 @@ public class ConvertedLegacyTest extends
// test binary double ranges and sorting
assertU("<delete><id>44</id></delete>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">1.4142135</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">Infinity</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">-Infinity</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">NaN</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">2</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">-1</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">1e-100</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">-999999.99</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">-1e100</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">0</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sd\">1.4142135</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sd\">Infinity</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sd\">-Infinity</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sd\">NaN</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sd\">2</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sd\">-1</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sd\">1e-100</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sd\">-999999.99</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sd\">-1e100</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"num_sd\">0</field></doc></add>");
assertU("<commit/>");
assertQ(req("id:44")
,"*[count(//doc)=10]"
@@ -696,12 +695,12 @@ public class ConvertedLegacyTest extends
// test sorting on multiple fields
assertU("<delete><id>44</id></delete>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"a_i\">10</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"a_i\">1</field><field name=\"b_i\">100</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"a_i\">-1</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"a_i\">15</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"a_i\">1</field><field name=\"b_i\">50</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"a_i\">0</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"a_i\">10</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"a_i\">1</field><field name=\"b_i\">100</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"a_i\">-1</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"a_i\">15</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"a_i\">1</field><field name=\"b_i\">50</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id\">44</field><field name=\"a_i\">0</field></doc></add>");
assertU("<commit/>");
assertQ(req("id:44")
,"*[count(//doc)=6]"
@@ -739,13 +738,13 @@ public class ConvertedLegacyTest extends
// test sorting with some docs missing the sort field
assertU("<delete><query>id_i:[1000 TO 1010]</query></delete>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1000</field><field name=\"a_i\">1</field><field name=\"nullfirst\">Z</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1001</field><field name=\"a_i\">10</field><field name=\"nullfirst\">A</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1002</field><field name=\"a_i\">1</field><field name=\"b_si\">100</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1003</field><field name=\"a_i\">-1</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1004</field><field name=\"a_i\">15</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1005</field><field name=\"a_i\">1</field><field name=\"b_si\">50</field></doc></add>");
- assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1006</field><field name=\"a_i\">0</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id_i\">1000</field><field name=\"a_i\">1</field><field name=\"nullfirst\">Z</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id_i\">1001</field><field name=\"a_i\">10</field><field name=\"nullfirst\">A</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id_i\">1002</field><field name=\"a_i\">1</field><field name=\"b_si\">100</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id_i\">1003</field><field name=\"a_i\">-1</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id_i\">1004</field><field name=\"a_i\">15</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id_i\">1005</field><field name=\"a_i\">1</field><field name=\"b_si\">50</field></doc></add>");
+ assertU("<add overwrite=\"false\"><doc><field name=\"id_i\">1006</field><field name=\"a_i\">0</field></doc></add>");
assertU("<commit/>");
assertQ(req("id_i:[1000 TO 1010]")
,"*[count(//doc)=7]"
@@ -1349,16 +1348,5 @@ public class ConvertedLegacyTest extends
assertQ(req("+id:45 +text:\"cc dd\"")
,"//*[@numFound='1']"
);
-
-
- // trigger output of custom value test
-
- args = new HashMap<String,String>();
- args.put("version","2.0");
- req = new LocalSolrQueryRequest(h.getCore(), "values",
- "test", 0, 10, args);
- assertQ(req
- );
-
}
}
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/DisMaxRequestHandlerTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/DisMaxRequestHandlerTest.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/DisMaxRequestHandlerTest.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/DisMaxRequestHandlerTest.java Wed Jan 5 20:25:17 2011
@@ -23,8 +23,6 @@ import org.junit.Test;
import java.util.regex.Pattern;
-import static org.junit.Assert.*;
-
/**
* Tests some basic functionality of the DisMaxRequestHandler
*/
@@ -198,18 +196,6 @@ public class DisMaxRequestHandlerTest ex
}
@Test
- public void testOldStyleDefaults() throws Exception {
-
- lrf = h.getRequestFactory
- ("dismaxOldStyleDefaults", 0, 20,
- "version","2.0",
- "facet", "true",
- "facet.field","t_s"
- );
- doTestSomeStuff("dismaxOldStyleDefaults");
- }
-
- @Test
public void testSimplestParams() throws Exception {
assertQ("match w/o only q param",
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/JSONTestUtil.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/JSONTestUtil.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/JSONTestUtil.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/JSONTestUtil.java Wed Jan 5 20:25:17 2011
@@ -17,14 +17,10 @@
package org.apache.solr;
-import org.apache.noggit.JSONParser;
import org.apache.noggit.ObjectBuilder;
import org.apache.solr.common.util.StrUtils;
-import java.io.StringReader;
import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
public class JSONTestUtil {
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/MinimalSchemaTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/MinimalSchemaTest.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/MinimalSchemaTest.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/MinimalSchemaTest.java Wed Jan 5 20:25:17 2011
@@ -20,8 +20,6 @@ package org.apache.solr;
import org.junit.BeforeClass;
import org.junit.Test;
-import static org.junit.Assert.*;
-
import java.util.Set;
/**
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/OutputWriterTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/OutputWriterTest.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/OutputWriterTest.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/OutputWriterTest.java Wed Jan 5 20:25:17 2011
@@ -27,8 +27,6 @@ import org.apache.solr.response.SolrQuer
import org.junit.BeforeClass;
import org.junit.Test;
-import static org.junit.Assert.*;
-
/** Tests the ability to configure multiple query output writers, and select those
* at query time.
*
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/SampleTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/SampleTest.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/SampleTest.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/SampleTest.java Wed Jan 5 20:25:17 2011
@@ -22,8 +22,6 @@ import org.apache.solr.util.*;
import org.junit.BeforeClass;
import org.junit.Test;
-import static org.junit.Assert.*;
-
/**
* This is an example of how to write a JUnit tests for Solr using the
* SolrTestCaseJ4
@@ -76,10 +74,10 @@ public class SampleTest extends SolrTest
assertU("less common case, a complex addition with options",
add(doc("id", "4059",
"subject", "Who Me?"),
- "allowDups", "true"));
+ "overwrite", "false"));
assertU("or just make the raw XML yourself",
- "<add allowDups=\"true\">" +
+ "<add overwrite=\"false\">" +
doc("id", "4059",
"subject", "Who Me Again?") + "</add>");
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/SolrInfoMBeanTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/SolrInfoMBeanTest.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/SolrInfoMBeanTest.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/SolrInfoMBeanTest.java Wed Jan 5 20:25:17 2011
@@ -16,7 +16,6 @@
*/
package org.apache.solr;
-import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.core.SolrInfoMBean;
import org.apache.solr.handler.StandardRequestHandler;
import org.apache.solr.handler.admin.LukeRequestHandler;
@@ -26,7 +25,6 @@ import org.apache.solr.highlight.Default
import org.apache.solr.search.LRUCache;
import org.junit.BeforeClass;
import org.junit.Ignore;
-
import java.io.File;
import java.net.URL;
import java.util.ArrayList;
@@ -92,8 +90,6 @@ public class SolrInfoMBeanTest extends S
assertTrue( "there are at least 10 SolrInfoMBean that should be found in the classpath, found " + checked, checked > 10 );
}
- static final String FOLDER = File.separator + "build" + File.separator + "solr" + File.separator + "org" + File.separator + "apache" + File.separator + "solr" + File.separator;
-
private static List<Class> getClassesForPackage(String pckgname) throws Exception {
ArrayList<File> directories = new ArrayList<File>();
ClassLoader cld = h.getCore().getResourceLoader().getClassLoader();
@@ -101,9 +97,6 @@ public class SolrInfoMBeanTest extends S
Enumeration<URL> resources = cld.getResources(path);
while (resources.hasMoreElements()) {
final File f = new File(resources.nextElement().toURI());
- // only iterate classes from the core, not the tests (must be in dir "/build/solr/org"
- if (!f.toString().contains(FOLDER))
- continue;
directories.add(f);
}
@@ -113,7 +106,12 @@ public class SolrInfoMBeanTest extends S
String[] files = directory.list();
for (String file : files) {
if (file.endsWith(".class")) {
- classes.add(Class.forName(pckgname + '.' + file.substring(0, file.length() - 6)));
+ String clazzName = file.substring(0, file.length() - 6);
+ // exclude Test classes that happen to be in these packages.
+ // class.ForName'ing some of them can cause trouble.
+ if (!clazzName.endsWith("Test") && !clazzName.startsWith("Test")) {
+ classes.add(Class.forName(pckgname + '.' + clazzName));
+ }
}
}
}
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/SolrTestCaseJ4.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/SolrTestCaseJ4.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/SolrTestCaseJ4.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/SolrTestCaseJ4.java Wed Jan 5 20:25:17 2011
@@ -20,10 +20,8 @@ package org.apache.solr;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util._TestUtil;
import org.apache.noggit.CharArr;
import org.apache.noggit.JSONUtil;
-import org.apache.noggit.JSONWriter;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.SolrInputField;
@@ -33,18 +31,13 @@ import org.apache.solr.common.util.XML;
import org.apache.solr.core.SolrConfig;
import org.apache.solr.core.SolrCore;
import org.apache.solr.handler.JsonUpdateRequestHandler;
-import org.apache.solr.handler.RequestHandlerBase;
-import org.apache.solr.request.BinaryQueryResponseWriter;
import org.apache.solr.request.LocalSolrQueryRequest;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.request.SolrRequestHandler;
-import org.apache.solr.response.QueryResponseWriter;
-import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.schema.IndexSchema;
import org.apache.solr.schema.SchemaField;
import org.apache.solr.search.SolrIndexSearcher;
import org.apache.solr.servlet.DirectSolrConnection;
-import org.apache.solr.servlet.SolrRequestParsers;
import org.apache.solr.util.TestHarness;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -55,13 +48,9 @@ import org.xml.sax.SAXException;
import javax.xml.xpath.XPathExpressionException;
import java.io.File;
import java.io.IOException;
-import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.*;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
/**
* A junit4 Solr test harness that extends LuceneTestCaseJ4.
* Unlike AbstractSolrTestCase, a new core is not created for each test method.
@@ -95,7 +84,7 @@ public abstract class SolrTestCaseJ4 ext
/** Call initCore in @BeforeClass to instantiate a solr core in your test class.
* deleteCore will be called for you via SolrTestCaseJ4 @AfterClass */
public static void initCore(String config, String schema) throws Exception {
- initCore(config, schema, null);
+ initCore(config, schema, TEST_HOME);
}
/** Call initCore in @BeforeClass to instantiate a solr core in your test class.
@@ -1035,6 +1024,38 @@ public abstract class SolrTestCaseJ4 ext
return out.toString();
}
-
-
+ /** Gets a resource from the context classloader as {@link File}. This method should only be used,
+ * if a real file is needed. To get a stream, code should prefer
+ * {@link Class#getResourceAsStream} using {@code this.getClass()}.
+ */
+ public static File getFile(String name) {
+ try {
+ File file = new File(name);
+ if (!file.exists()) {
+ file = new File(Thread.currentThread().getContextClassLoader().getResource(name).toURI());
+ }
+ return file;
+ } catch (Exception e) {
+ /* more friendly than NPE */
+ throw new RuntimeException("Cannot find resource: " + name);
+ }
+ }
+
+ private static final String SOURCE_HOME = determineSourceHome();
+ public static String TEST_HOME = getFile("solr/conf").getParent();
+ public static String WEBAPP_HOME = new File(SOURCE_HOME, "src/webapp/web").getAbsolutePath();
+ public static String EXAMPLE_HOME = new File(SOURCE_HOME, "example/solr").getAbsolutePath();
+ public static String EXAMPLE_MULTICORE_HOME = new File(SOURCE_HOME, "example/multicore").getAbsolutePath();
+ public static String EXAMPLE_SCHEMA=EXAMPLE_HOME+"/conf/schema.xml";
+ public static String EXAMPLE_CONFIG=EXAMPLE_HOME+"/conf/solrconfig.xml";
+
+ static String determineSourceHome() {
+ // ugly, ugly hack to determine the example home without depending on the CWD
+ // this is needed for example/multicore tests which reside outside the classpath
+ File base = getFile("solr/conf/");
+ while (!new File(base, "solr/CHANGES.txt").exists()) {
+ base = base.getParentFile();
+ }
+ return new File(base, "solr/").getAbsolutePath();
+ }
}
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/TestDistributedSearch.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/TestDistributedSearch.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/TestDistributedSearch.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/TestDistributedSearch.java Wed Jan 5 20:25:17 2011
@@ -17,9 +17,6 @@
package org.apache.solr;
-import junit.framework.TestCase;
-
-import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.common.params.CommonParams;
/**
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/TestGroupingSearch.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/TestGroupingSearch.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/TestGroupingSearch.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/TestGroupingSearch.java Wed Jan 5 20:25:17 2011
@@ -22,7 +22,6 @@ import org.apache.noggit.JSONUtil;
import org.apache.noggit.ObjectBuilder;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.schema.IndexSchema;
-import org.apache.solr.schema.SchemaField;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/TestSolrCoreProperties.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/TestSolrCoreProperties.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/TestSolrCoreProperties.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/TestSolrCoreProperties.java Wed Jan 5 20:25:17 2011
@@ -116,10 +116,10 @@ public class TestSolrCoreProperties exte
confDir.mkdirs();
File f = new File(confDir, "solrconfig.xml");
- copyFile(new File(getSolrConfigFile()), f);
+ copyFile(SolrTestCaseJ4.getFile(getSolrConfigFile()), f);
f = new File(confDir, "schema.xml");
- copyFile(new File(getSchemaFile()), f);
+ copyFile(SolrTestCaseJ4.getFile(getSchemaFile()), f);
Properties p = new Properties();
p.setProperty("foo.foo1", "f1");
p.setProperty("foo.foo2", "f2");
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/TestTrie.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/TestTrie.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/TestTrie.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/TestTrie.java Wed Jan 5 20:25:17 2011
@@ -22,12 +22,9 @@ import org.apache.solr.schema.FieldType;
import org.apache.solr.schema.TrieField;
import org.apache.solr.util.DateMathParser;
import org.junit.After;
-import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import static org.junit.Assert.*;
-
import java.text.SimpleDateFormat;
import java.util.Locale;
import java.util.TimeZone;
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/analysis/TestReversedWildcardFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/analysis/TestReversedWildcardFilterFactory.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/analysis/TestReversedWildcardFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/analysis/TestReversedWildcardFilterFactory.java Wed Jan 5 20:25:17 2011
@@ -32,7 +32,9 @@ import org.apache.lucene.search.Query;
import org.apache.lucene.util.automaton.Automaton;
import org.apache.lucene.util.automaton.SpecialOperations;
import org.apache.solr.SolrTestCaseJ4;
+import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.schema.IndexSchema;
+import org.apache.solr.search.QParser;
import org.apache.solr.search.SolrQueryParser;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -112,15 +114,6 @@ public class TestReversedWildcardFilterF
@Test
public void testQueryParsing() throws Exception {
- SolrQueryParser parserOne = new SolrQueryParser(schema, "one");
- assertTrue(parserOne.getAllowLeadingWildcard());
- SolrQueryParser parserTwo = new SolrQueryParser(schema, "two");
- assertTrue(parserTwo.getAllowLeadingWildcard());
- SolrQueryParser parserThree = new SolrQueryParser(schema, "three");
- // XXX note: this should be false, but for now we return true for any field,
- // XXX if at least one field uses the reversing
- assertTrue(parserThree.getAllowLeadingWildcard());
-
// add some docs
assertU(adoc("id", "1", "one", "one"));
assertU(adoc("id", "2", "two", "two"));
@@ -141,7 +134,13 @@ public class TestReversedWildcardFilterF
assertQ("should have matched",
req("+id:6 +three:*si\uD834\uDD1Ex"),
"//result[@numFound=1]");
-
+
+ SolrQueryRequest req = req();
+ QParser qparser = QParser.getParser("id:1", "lucene", req);
+
+ SolrQueryParser parserTwo = new SolrQueryParser(qparser, "two");
+ assertTrue(parserTwo.getAllowLeadingWildcard());
+
// test conditional reversal
assertTrue(wasReversed(parserTwo, "*hree"));
assertTrue(wasReversed(parserTwo, "t*ree"));
@@ -153,6 +152,8 @@ public class TestReversedWildcardFilterF
assertFalse(wasReversed(parserTwo, "th?*ee"));
assertFalse(wasReversed(parserTwo, "short*token"));
assertTrue(wasReversed(parserTwo, "ver*longtoken"));
+
+ req.close();
}
/** fragile assert: depends on our implementation, but cleanest way to check for now */
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/analysis/TestRussianFilters.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/analysis/TestRussianFilters.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/analysis/TestRussianFilters.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/analysis/TestRussianFilters.java Wed Jan 5 20:25:17 2011
@@ -20,7 +20,6 @@ package org.apache.solr.analysis;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.Tokenizer;
/**
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/analysis/TestTrimFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/analysis/TestTrimFilterFactory.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/analysis/TestTrimFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/analysis/TestTrimFilterFactory.java Wed Jan 5 20:25:17 2011
@@ -17,21 +17,12 @@
package org.apache.solr.analysis;
-import java.io.IOException;
import java.io.StringReader;
-import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
-import org.apache.lucene.analysis.Token;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.core.KeywordTokenizer;
-import org.apache.lucene.analysis.tokenattributes.FlagsAttribute;
-import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
-import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
-import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
-import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
-import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
/**
* Simple tests to ensure this factory is working
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java Wed Jan 5 20:25:17 2011
@@ -26,8 +26,6 @@ import org.apache.solr.client.solrj.resp
import org.apache.solr.common.SolrInputDocument;
import org.junit.Test;
-import static org.junit.Assert.*;
-
/**
* @version $Id$
* @since solr 1.3
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/MergeIndexesExampleTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/MergeIndexesExampleTestBase.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/MergeIndexesExampleTestBase.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/MergeIndexesExampleTestBase.java Wed Jan 5 20:25:17 2011
@@ -37,17 +37,17 @@ public abstract class MergeIndexesExampl
@Override
public String getSolrHome() {
- return "../../../example/multicore/";
+ return SolrJettyTestBase.EXAMPLE_MULTICORE_HOME;
}
@Override
public String getSchemaFile() {
- return getSolrHome() + "core0/conf/schema.xml";
+ return getSolrHome() + "/core0/conf/schema.xml";
}
@Override
public String getSolrConfigFile() {
- return getSolrHome() + "core0/conf/solrconfig.xml";
+ return getSolrHome() + "/core0/conf/solrconfig.xml";
}
@Override
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/MultiCoreExampleTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/MultiCoreExampleTestBase.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/MultiCoreExampleTestBase.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/MultiCoreExampleTestBase.java Wed Jan 5 20:25:17 2011
@@ -36,10 +36,10 @@ public abstract class MultiCoreExampleTe
// protected static final CoreContainer cores = new CoreContainer();
protected static CoreContainer cores;
- @Override public String getSolrHome() { return "../../../example/multicore/"; }
+ @Override public String getSolrHome() { return SolrJettyTestBase.EXAMPLE_MULTICORE_HOME; }
- @Override public String getSchemaFile() { return getSolrHome()+"core0/conf/schema.xml"; }
- @Override public String getSolrConfigFile() { return getSolrHome()+"core0/conf/solrconfig.xml"; }
+ @Override public String getSchemaFile() { return getSolrHome()+"/core0/conf/schema.xml"; }
+ @Override public String getSolrConfigFile() { return getSolrHome()+"/core0/conf/solrconfig.xml"; }
@Override public void setUp() throws Exception {
super.setUp();
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/SolrExampleTests.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/SolrExampleTests.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/SolrExampleTests.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/SolrExampleTests.java Wed Jan 5 20:25:17 2011
@@ -48,8 +48,6 @@ import org.apache.solr.common.util.Named
import org.apache.solr.common.params.FacetParams;
import org.junit.Test;
-import static org.junit.Assert.*;
-
/**
* This should include tests against the example solr config
*
@@ -268,7 +266,7 @@ abstract public class SolrExampleTests e
Assert.assertEquals( 0, rsp.getResults().getNumFound() );
ContentStreamUpdateRequest up = new ContentStreamUpdateRequest("/update/csv");
- up.addFile(new File("books.csv"));
+ up.addFile(getFile("books.csv"));
up.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true);
NamedList<Object> result = server.request(up);
assertNotNull("Couldn't upload books.csv", result);
Modified: lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/SolrExceptionTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/SolrExceptionTest.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/SolrExceptionTest.java (original)
+++ lucene/dev/branches/docvalues/solr/src/test/org/apache/solr/client/solrj/SolrExceptionTest.java Wed Jan 5 20:25:17 2011
@@ -17,15 +17,11 @@
package org.apache.solr.client.solrj;
-import java.net.UnknownHostException;
-
import org.apache.lucene.util.LuceneTestCase;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
-import org.apache.solr.client.solrj.response.QueryResponse;
-import org.apache.solr.common.SolrException;
/**
*