Return-Path: Delivered-To: apmail-lucene-commits-archive@www.apache.org Received: (qmail 33828 invoked from network); 9 Feb 2011 01:05:36 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 9 Feb 2011 01:05:36 -0000 Received: (qmail 42152 invoked by uid 500); 9 Feb 2011 01:05:36 -0000 Mailing-List: contact commits-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@lucene.apache.org Delivered-To: mailing list commits@lucene.apache.org Received: (qmail 42104 invoked by uid 99); 9 Feb 2011 01:05:36 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Feb 2011 01:05:36 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Feb 2011 01:05:19 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id A46FB2388C36; Wed, 9 Feb 2011 01:04:29 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1068718 [14/21] - in /lucene/dev/branches/bulkpostings: ./ dev-tools/eclipse/ dev-tools/idea/.idea/ dev-tools/idea/lucene/ dev-tools/maven/ dev-tools/maven/lucene/ dev-tools/maven/lucene/contrib/ant/ dev-tools/maven/lucene/contrib/db/bdb-j... Date: Wed, 09 Feb 2011 01:04:13 -0000 To: commits@lucene.apache.org From: rmuir@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110209010429.A46FB2388C36@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/core/StandardIndexReaderFactory.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/core/StandardIndexReaderFactory.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/core/StandardIndexReaderFactory.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/core/StandardIndexReaderFactory.java Wed Feb 9 01:03:49 2011 @@ -32,6 +32,7 @@ public class StandardIndexReaderFactory /* (non-Javadoc) * @see org.apache.solr.core.IndexReaderFactory#newReader(org.apache.lucene.store.Directory, boolean) */ + @Override public IndexReader newReader(Directory indexDir, boolean readOnly) throws IOException { return IndexReader.open(indexDir, null, readOnly, termInfosIndexDivisor); Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/AnalysisRequestHandlerBase.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/AnalysisRequestHandlerBase.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/AnalysisRequestHandlerBase.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/AnalysisRequestHandlerBase.java Wed Feb 9 01:03:49 2011 @@ -56,6 +56,7 @@ public abstract class AnalysisRequestHan public static final Set EMPTY_BYTES_SET = Collections.emptySet(); + @Override public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception { rsp.add("analysis", doAnalysis(req)); } Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/BinaryUpdateRequestHandler.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/BinaryUpdateRequestHandler.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/BinaryUpdateRequestHandler.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/BinaryUpdateRequestHandler.java Wed Feb 9 01:03:49 2011 @@ -46,8 +46,10 @@ import java.util.List; public class BinaryUpdateRequestHandler extends ContentStreamHandlerBase { + @Override protected ContentStreamLoader newLoader(SolrQueryRequest req, final UpdateRequestProcessor processor) { return new ContentStreamLoader() { + @Override public void load(SolrQueryRequest req, SolrQueryResponse rsp, ContentStream stream) throws Exception { InputStream is = null; try { @@ -111,18 +113,22 @@ public class BinaryUpdateRequestHandler } } + @Override public String getDescription() { return "Add/Update multiple documents with javabin format"; } + @Override public String getSourceId() { return "$Id$"; } + @Override public String getSource() { return "$URL$"; } + @Override public String getVersion() { return "$Revision$"; } Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/CSVRequestHandler.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/CSVRequestHandler.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/CSVRequestHandler.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/CSVRequestHandler.java Wed Feb 9 01:03:49 2011 @@ -42,6 +42,7 @@ import java.io.*; public class CSVRequestHandler extends ContentStreamHandlerBase { + @Override protected ContentStreamLoader newLoader(SolrQueryRequest req, UpdateRequestProcessor processor) { return new SingleThreadedCSVLoader(req, processor); } @@ -118,6 +119,7 @@ abstract class CSVLoader extends Content /** add zero length fields */ private class FieldAdderEmpty extends CSVLoader.FieldAdder { + @Override void add(SolrInputDocument doc, int line, int column, String val) { doc.addField(fields[column].getName(),val,1.0f); } @@ -127,6 +129,7 @@ abstract class CSVLoader extends Content private class FieldTrimmer extends CSVLoader.FieldAdder { private final CSVLoader.FieldAdder base; FieldTrimmer(CSVLoader.FieldAdder base) { this.base=base; } + @Override void add(SolrInputDocument doc, int line, int column, String val) { base.add(doc, line, column, val.trim()); } @@ -145,6 +148,7 @@ abstract class CSVLoader extends Content this.to=to; this.base=base; } + @Override void add(SolrInputDocument doc, int line, int column, String val) { if (from.equals(val)) val=to; base.add(doc,line,column,val); @@ -162,6 +166,7 @@ abstract class CSVLoader extends Content this.base = base; } + @Override void add(SolrInputDocument doc, int line, int column, String val) { CSVParser parser = new CSVParser(new StringReader(val), strategy); try { @@ -327,6 +332,7 @@ abstract class CSVLoader extends Content } /** load the CSV input */ + @Override public void load(SolrQueryRequest req, SolrQueryResponse rsp, ContentStream stream) throws IOException { errHeader = "CSVLoader: input=" + stream.getSourceInfo(); Reader reader = null; @@ -403,6 +409,7 @@ class SingleThreadedCSVLoader extends CS super(req, processor); } + @Override void addDoc(int line, String[] vals) throws IOException { templateAdd.indexedId = null; SolrInputDocument doc = new SolrInputDocument(); Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/ContentStreamHandlerBase.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/ContentStreamHandlerBase.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/ContentStreamHandlerBase.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/ContentStreamHandlerBase.java Wed Feb 9 01:03:49 2011 @@ -32,6 +32,7 @@ import org.apache.solr.update.processor. **/ public abstract class ContentStreamHandlerBase extends RequestHandlerBase { + @Override public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception { SolrParams params = req.getParams(); UpdateRequestProcessorChain processorChain = Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/DocumentAnalysisRequestHandler.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/DocumentAnalysisRequestHandler.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/DocumentAnalysisRequestHandler.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/DocumentAnalysisRequestHandler.java Wed Feb 9 01:03:49 2011 @@ -27,6 +27,7 @@ import org.apache.solr.common.params.Ana 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.common.util.ContentStreamBase; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.request.SolrQueryRequest; @@ -41,7 +42,7 @@ import javax.xml.stream.XMLStreamConstan import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; import java.io.IOException; -import java.io.Reader; +import java.io.InputStream; import java.util.*; /** @@ -105,6 +106,7 @@ public class DocumentAnalysisRequestHand /** * {@inheritDoc} */ + @Override protected NamedList doAnalysis(SolrQueryRequest req) throws Exception { DocumentAnalysisRequest analysisRequest = resolveAnalysisRequest(req); return handleAnalysisRequest(analysisRequest, req.getSchema()); @@ -156,10 +158,14 @@ public class DocumentAnalysisRequestHand request.setShowMatch(showMatch); ContentStream stream = extractSingleContentStream(req); - Reader reader = stream.getReader(); - XMLStreamReader parser = inputFactory.createXMLStreamReader(reader); - + InputStream is = null; + XMLStreamReader parser = null; + try { + is = stream.getStream(); + final String charset = ContentStreamBase.getCharsetFromContentType(stream.getContentType()); + parser = (charset == null) ? + inputFactory.createXMLStreamReader(is) : inputFactory.createXMLStreamReader(is, charset); while (true) { int event = parser.next(); @@ -181,8 +187,8 @@ public class DocumentAnalysisRequestHand } } finally { - parser.close(); - IOUtils.closeQuietly(reader); + if (parser != null) parser.close(); + IOUtils.closeQuietly(is); } } Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/DumpRequestHandler.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/DumpRequestHandler.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/DumpRequestHandler.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/DumpRequestHandler.java Wed Feb 9 01:03:49 2011 @@ -18,7 +18,7 @@ package org.apache.solr.handler; import java.io.IOException; -import java.io.InputStream; +import java.io.Reader; import java.util.ArrayList; import org.apache.commons.io.IOUtils; @@ -46,11 +46,11 @@ public class DumpRequestHandler extends stream.add( "sourceInfo", content.getSourceInfo() ); stream.add( "size", content.getSize() ); stream.add( "contentType", content.getContentType() ); - InputStream is = content.getStream(); + Reader reader = content.getReader(); try { - stream.add( "stream", IOUtils.toString(is) ); + stream.add( "stream", IOUtils.toString(reader) ); } finally { - is.close(); + reader.close(); } streams.add( stream ); } Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/FieldAnalysisRequestHandler.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/FieldAnalysisRequestHandler.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/FieldAnalysisRequestHandler.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/FieldAnalysisRequestHandler.java Wed Feb 9 01:03:49 2011 @@ -94,6 +94,7 @@ public class FieldAnalysisRequestHandler /** * {@inheritDoc} */ + @Override protected NamedList doAnalysis(SolrQueryRequest req) throws Exception { FieldAnalysisRequest analysisRequest = resolveAnalysisRequest(req); IndexSchema indexSchema = req.getCore().getSchema(); Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/JsonUpdateRequestHandler.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/JsonUpdateRequestHandler.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/JsonUpdateRequestHandler.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/JsonUpdateRequestHandler.java Wed Feb 9 01:03:49 2011 @@ -35,6 +35,7 @@ public class JsonUpdateRequestHandler ex super.init(args); } + @Override protected ContentStreamLoader newLoader(SolrQueryRequest req, UpdateRequestProcessor processor) { return new JsonLoader(processor); } Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/MoreLikeThisHandler.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/MoreLikeThisHandler.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/MoreLikeThisHandler.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/MoreLikeThisHandler.java Wed Feb 9 01:03:49 2011 @@ -232,7 +232,7 @@ public class MoreLikeThisHandler extends // Copied from StandardRequestHandler... perhaps it should be added to doStandardDebug? if (dbg == true) { try { - NamedList dbgInfo = SolrPluginUtils.doStandardDebug(req, q, mlt.mltquery, mltDocs.docList, dbgQuery, dbgResults); + NamedList dbgInfo = SolrPluginUtils.doStandardDebug(req, q, mlt.getRawMLTQuery(), mltDocs.docList, dbgQuery, dbgResults); if (null != dbgInfo) { if (null != filters) { dbgInfo.add("filter_queries",req.getParams().getParams(CommonParams.FQ)); @@ -279,8 +279,6 @@ public class MoreLikeThisHandler extends final boolean needDocSet; Map boostFields; - Query mltquery; // expose this for debugging - public MoreLikeThisHelper( SolrParams params, SolrIndexSearcher searcher ) { this.searcher = searcher; @@ -310,9 +308,26 @@ public class MoreLikeThisHandler extends boostFields = SolrPluginUtils.parseFieldBoosts(params.getParams(MoreLikeThisParams.QF)); } - private void setBoosts(Query mltquery) { + private Query rawMLTQuery; + private Query boostedMLTQuery; + private BooleanQuery realMLTQuery; + + public Query getRawMLTQuery(){ + return rawMLTQuery; + } + + public Query getBoostedMLTQuery(){ + return boostedMLTQuery; + } + + public Query getRealMLTQuery(){ + return realMLTQuery; + } + + private Query getBoostedQuery(Query mltquery) { + BooleanQuery boostedQuery = (BooleanQuery)mltquery.clone(); if (boostFields.size() > 0) { - List clauses = ((BooleanQuery)mltquery).clauses(); + List clauses = boostedQuery.clauses(); for( Object o : clauses ) { TermQuery q = (TermQuery)((BooleanClause)o).getQuery(); Float b = this.boostFields.get(q.getTerm().field()); @@ -321,49 +336,51 @@ public class MoreLikeThisHandler extends } } } + return boostedQuery; } public DocListAndSet getMoreLikeThis( int id, int start, int rows, List filters, List terms, int flags ) throws IOException { Document doc = reader.document(id); - mltquery = mlt.like(id); - setBoosts(mltquery); + rawMLTQuery = mlt.like(id); + boostedMLTQuery = getBoostedQuery( rawMLTQuery ); if( terms != null ) { - fillInterestingTermsFromMLTQuery( mltquery, terms ); + fillInterestingTermsFromMLTQuery( rawMLTQuery, terms ); } // exclude current document from results - BooleanQuery mltQuery = new BooleanQuery(); - mltQuery.add(mltquery, BooleanClause.Occur.MUST); - mltQuery.add( + realMLTQuery = new BooleanQuery(); + realMLTQuery.add(boostedMLTQuery, BooleanClause.Occur.MUST); + realMLTQuery.add( new TermQuery(new Term(uniqueKeyField.getName(), uniqueKeyField.getType().storedToIndexed(doc.getFieldable(uniqueKeyField.getName())))), BooleanClause.Occur.MUST_NOT); DocListAndSet results = new DocListAndSet(); if (this.needDocSet) { - results = searcher.getDocListAndSet(mltQuery, filters, null, start, rows, flags); + results = searcher.getDocListAndSet(realMLTQuery, filters, null, start, rows, flags); } else { - results.docList = searcher.getDocList(mltQuery, filters, null, start, rows, flags); + results.docList = searcher.getDocList(realMLTQuery, filters, null, start, rows, flags); } return results; } public DocListAndSet getMoreLikeThis( Reader reader, int start, int rows, List filters, List terms, int flags ) throws IOException { - mltquery = mlt.like(reader); - setBoosts(mltquery); + rawMLTQuery = mlt.like(reader); + boostedMLTQuery = getBoostedQuery( rawMLTQuery ); if( terms != null ) { - fillInterestingTermsFromMLTQuery( mltquery, terms ); + fillInterestingTermsFromMLTQuery( boostedMLTQuery, terms ); } DocListAndSet results = new DocListAndSet(); if (this.needDocSet) { - results = searcher.getDocListAndSet(mltquery, filters, null, start, rows, flags); + results = searcher.getDocListAndSet( boostedMLTQuery, filters, null, start, rows, flags); } else { - results.docList = searcher.getDocList(mltquery, filters, null, start, rows, flags); + results.docList = searcher.getDocList( boostedMLTQuery, filters, null, start, rows, flags); } return results; } - + + @Deprecated public NamedList getMoreLikeThese( DocList docs, int rows, int flags ) throws IOException { IndexSchema schema = searcher.getSchema(); @@ -382,7 +399,7 @@ public class MoreLikeThisHandler extends private void fillInterestingTermsFromMLTQuery( Query query, List terms ) { - List clauses = ((BooleanQuery)mltquery).clauses(); + List clauses = ((BooleanQuery)query).clauses(); for( Object o : clauses ) { TermQuery q = (TermQuery)((BooleanClause)o).getQuery(); InterestingTerm it = new InterestingTerm(); Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/ReplicationHandler.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/ReplicationHandler.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/ReplicationHandler.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/ReplicationHandler.java Wed Feb 9 01:03:49 2011 @@ -98,6 +98,7 @@ public class ReplicationHandler extends private AtomicBoolean replicationEnabled = new AtomicBoolean(true); + @Override public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception { rsp.setHttpCaching(false); final SolrParams solrParams = req.getParams(); @@ -143,6 +144,7 @@ public class ReplicationHandler extends } final SolrParams paramsCopy = new ModifiableSolrParams(solrParams); new Thread() { + @Override public void run() { doFetch(paramsCopy); } @@ -447,18 +449,22 @@ public class ReplicationHandler extends return fileMeta; } + @Override public String getDescription() { return "ReplicationHandler provides replication of index and configuration files from Master to Slaves"; } + @Override public String getSourceId() { return "$Id$"; } + @Override public String getSource() { return "$URL$"; } + @Override public String getVersion() { return "$Revision$"; } @@ -687,12 +693,12 @@ public class ReplicationHandler extends LOG.error("Exception while writing replication details: ", e); } } - if (isMaster) - details.add("master", master); - if (isSlave && showSlaveDetails) - details.add("slave", slave); - } + + if (isMaster) + details.add("master", master); + if (isSlave && showSlaveDetails) + details.add("slave", slave); NamedList snapshotStats = snapShootDetails; if (snapshotStats != null) Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/RequestHandlerUtils.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/RequestHandlerUtils.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/RequestHandlerUtils.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/RequestHandlerUtils.java Wed Feb 9 01:03:49 2011 @@ -49,7 +49,7 @@ public class RequestHandlerUtils * Check the request parameters and decide if it should commit or optimize. * If it does, it will check parameters for "waitFlush" and "waitSearcher" * - * @deprecated Use {@link #handleCommit(UpdateRequestProcessor,SolrParams,boolean)} + * @deprecated Use {@link #handleCommit(SolrQueryRequest,UpdateRequestProcessor,SolrParams,boolean)} * * @since solr 1.2 */ Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/SnapPuller.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/SnapPuller.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/SnapPuller.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/SnapPuller.java Wed Feb 9 01:03:49 2011 @@ -300,15 +300,17 @@ public class SnapPuller { isFullCopyNeeded = true; successfulInstall = false; boolean deleteTmpIdxDir = true; + File indexDir = null ; try { - File indexDir = new File(core.getIndexDir()); + indexDir = new File(core.getIndexDir()); downloadIndexFiles(isFullCopyNeeded, tmpIndexDir, latestVersion); LOG.info("Total time taken for download : " + ((System.currentTimeMillis() - replicationStartTime) / 1000) + " secs"); Collection> modifiedConfFiles = getModifiedConfFiles(confFilesToDownload); if (!modifiedConfFiles.isEmpty()) { downloadConfFiles(confFilesToDownload, latestVersion); if (isFullCopyNeeded) { - modifyIndexProps(tmpIndexDir.getName()); + successfulInstall = modifyIndexProps(tmpIndexDir.getName()); + deleteTmpIdxDir = false; } else { successfulInstall = copyIndexFiles(tmpIndexDir, indexDir); } @@ -339,7 +341,8 @@ public class SnapPuller { } catch (Exception e) { throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Index fetch failed : ", e); } finally { - if(deleteTmpIdxDir) delTree(tmpIndexDir); + if (deleteTmpIdxDir) delTree(tmpIndexDir); + else delTree(indexDir); } return successfulInstall; } finally { @@ -505,6 +508,7 @@ public class SnapPuller { private void reloadCore() { new Thread() { + @Override public void run() { try { solrCore.getCoreDescriptor().getCoreContainer().reload(solrCore.getName()); Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/SnapShooter.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/SnapShooter.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/SnapShooter.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/SnapShooter.java Wed Feb 9 01:03:49 2011 @@ -64,6 +64,7 @@ public class SnapShooter { replicationHandler.core.getDeletionPolicy().saveCommitPoint(indexCommit.getVersion()); new Thread() { + @Override public void run() { createSnapshot(indexCommit, replicationHandler); } Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/XMLLoader.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/XMLLoader.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/XMLLoader.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/XMLLoader.java Wed Feb 9 01:03:49 2011 @@ -24,6 +24,7 @@ import org.apache.solr.update.DeleteUpda import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.common.util.ContentStream; +import org.apache.solr.common.util.ContentStreamBase; import org.apache.solr.common.util.StrUtils; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrInputDocument; @@ -36,8 +37,8 @@ import javax.xml.stream.FactoryConfigura import javax.xml.stream.XMLStreamConstants; import javax.xml.stream.XMLInputFactory; import javax.xml.transform.TransformerConfigurationException; -import java.io.Reader; -import java.io.StringReader; +import java.io.ByteArrayInputStream; +import java.io.InputStream; import java.io.IOException; @@ -54,24 +55,31 @@ class XMLLoader extends ContentStreamLoa this.inputFactory = inputFactory; } + @Override public void load(SolrQueryRequest req, SolrQueryResponse rsp, ContentStream stream) throws Exception { errHeader = "XMLLoader: " + stream.getSourceInfo(); - Reader reader = null; + InputStream is = null; + XMLStreamReader parser = null; try { - reader = stream.getReader(); + is = stream.getStream(); + final String charset = ContentStreamBase.getCharsetFromContentType(stream.getContentType()); if (XmlUpdateRequestHandler.log.isTraceEnabled()) { - String body = IOUtils.toString(reader); - XmlUpdateRequestHandler.log.trace("body", body); - reader = new StringReader(body); + final byte[] body = IOUtils.toByteArray(is); + // TODO: The charset may be wrong, as the real charset is later + // determined by the XML parser, the content-type is only used as a hint! + XmlUpdateRequestHandler.log.trace("body", new String(body, (charset == null) ? + ContentStreamBase.DEFAULT_CHARSET : charset)); + IOUtils.closeQuietly(is); + is = new ByteArrayInputStream(body); } - - XMLStreamReader parser = inputFactory.createXMLStreamReader(reader); + parser = (charset == null) ? + inputFactory.createXMLStreamReader(is) : inputFactory.createXMLStreamReader(is, charset); this.processUpdate(req, processor, parser); - } - catch (XMLStreamException e) { + } catch (XMLStreamException e) { throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, e.getMessage(), e); } finally { - IOUtils.closeQuietly(reader); + if (parser != null) parser.close(); + IOUtils.closeQuietly(is); } } Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java Wed Feb 9 01:03:49 2011 @@ -80,6 +80,7 @@ public class XmlUpdateRequestHandler ext } } + @Override protected ContentStreamLoader newLoader(SolrQueryRequest req, UpdateRequestProcessor processor) { return new XMLLoader(processor, inputFactory); } Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java Wed Feb 9 01:03:49 2011 @@ -210,7 +210,7 @@ public class ShowFileRequestHandler exte } try { InputStream input = core.getResourceLoader().openResource(path); - return IOUtils.toString( input ); + return IOUtils.toString( input, "UTF-8" ); } catch( Exception ex ) {} // ignore it return ""; Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java Wed Feb 9 01:03:49 2011 @@ -1,5 +1,22 @@ package org.apache.solr.handler.admin; +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import org.apache.solr.handler.RequestHandlerBase; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.core.SolrInfoMBean; @@ -32,6 +49,7 @@ public class SolrInfoMBeanHandler extend } + @Override public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception { SolrCore core = req.getCore(); @@ -77,18 +95,22 @@ public class SolrInfoMBeanHandler extend rsp.setHttpCaching(false); // never cache, no matter what init config looks like } + @Override public String getDescription() { return "Get Info (and statistics) about all registered SolrInfoMBeans"; } + @Override public String getSourceId() { return "$Id$"; } + @Override public String getSource() { return "$URL$"; } + @Override public String getVersion() { return "$Revision$"; } Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java Wed Feb 9 01:03:49 2011 @@ -185,6 +185,7 @@ public class SystemInfoHandler extends R try { Process process = Runtime.getRuntime().exec(cmd); in = new DataInputStream( process.getInputStream() ); + // use default charset from locale here, because the command invoked also uses the default locale: return IOUtils.toString( in ); } catch( Exception ex ) { Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/DebugComponent.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/DebugComponent.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/DebugComponent.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/DebugComponent.java Wed Feb 9 01:03:49 2011 @@ -86,6 +86,7 @@ public class DebugComponent extends Sear } + @Override public void modifyRequest(ResponseBuilder rb, SearchComponent who, ShardRequest sreq) { if (!rb.isDebug()) return; Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/FacetComponent.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/FacetComponent.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/FacetComponent.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/FacetComponent.java Wed Feb 9 01:03:49 2011 @@ -726,6 +726,7 @@ public class FacetComponent extends Sear public long count; public int termNum; // term number starting at 0 (used in bit arrays) + @Override public String toString() { return "{term="+name+",termNum="+termNum+",count="+count+"}"; } Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/HighlightComponent.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/HighlightComponent.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/HighlightComponent.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/HighlightComponent.java Wed Feb 9 01:03:49 2011 @@ -131,6 +131,7 @@ public class HighlightComponent extends } } + @Override public void modifyRequest(ResponseBuilder rb, SearchComponent who, ShardRequest sreq) { if (!rb.doHighlights) return; Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/MoreLikeThisComponent.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/MoreLikeThisComponent.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/MoreLikeThisComponent.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/MoreLikeThisComponent.java Wed Feb 9 01:03:49 2011 @@ -23,8 +23,12 @@ import java.net.URL; import org.apache.solr.common.params.MoreLikeThisParams; import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.util.NamedList; +import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.handler.MoreLikeThisHandler; +import org.apache.solr.schema.IndexSchema; +import org.apache.solr.search.DocIterator; import org.apache.solr.search.DocList; +import org.apache.solr.search.DocListAndSet; import org.apache.solr.search.SolrIndexSearcher; /** @@ -50,18 +54,59 @@ public class MoreLikeThisComponent exten if( p.getBool( MoreLikeThisParams.MLT, false ) ) { SolrIndexSearcher searcher = rb.req.getSearcher(); - MoreLikeThisHandler.MoreLikeThisHelper mlt - = new MoreLikeThisHandler.MoreLikeThisHelper( p, searcher ); - - int mltcount = p.getInt( MoreLikeThisParams.DOC_COUNT, 5 ); - NamedList sim = mlt.getMoreLikeThese( - rb.getResults().docList, mltcount, rb.getFieldFlags() ); + NamedList sim = getMoreLikeThese( rb, searcher, + rb.getResults().docList, rb.getFieldFlags() ); // TODO ???? add this directly to the response? rb.rsp.add( "moreLikeThis", sim ); } } + NamedList getMoreLikeThese( ResponseBuilder rb, SolrIndexSearcher searcher, + DocList docs, int flags ) throws IOException { + SolrParams p = rb.req.getParams(); + IndexSchema schema = searcher.getSchema(); + MoreLikeThisHandler.MoreLikeThisHelper mltHelper + = new MoreLikeThisHandler.MoreLikeThisHelper( p, searcher ); + NamedList mlt = new SimpleOrderedMap(); + DocIterator iterator = docs.iterator(); + + SimpleOrderedMap dbg = null; + if( rb.isDebug() ){ + dbg = new SimpleOrderedMap(); + } + + while( iterator.hasNext() ) { + int id = iterator.nextDoc(); + int rows = p.getInt( MoreLikeThisParams.DOC_COUNT, 5 ); + DocListAndSet sim = mltHelper.getMoreLikeThis( id, 0, rows, null, null, flags ); + String name = schema.printableUniqueKey( searcher.doc( id ) ); + mlt.add(name, sim.docList); + + if( dbg != null ){ + SimpleOrderedMap docDbg = new SimpleOrderedMap(); + docDbg.add( "rawMLTQuery", mltHelper.getRawMLTQuery().toString() ); + docDbg.add( "boostedMLTQuery", mltHelper.getBoostedMLTQuery().toString() ); + docDbg.add( "realMLTQuery", mltHelper.getRealMLTQuery().toString() ); + SimpleOrderedMap explains = new SimpleOrderedMap(); + DocIterator mltIte = sim.docList.iterator(); + while( mltIte.hasNext() ){ + int mltid = mltIte.nextDoc(); + String key = schema.printableUniqueKey( searcher.doc( mltid ) ); + explains.add( key, searcher.explain( mltHelper.getRealMLTQuery(), mltid ) ); + } + docDbg.add( "explain", explains ); + dbg.add( name, docDbg ); + } + } + + // add debug information + if( dbg != null ){ + rb.addDebugInfo( "moreLikeThis", dbg ); + } + return mlt; + } + ///////////////////////////////////////////// /// SolrInfoMBean //////////////////////////////////////////// Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/PivotFacetHelper.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/PivotFacetHelper.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/PivotFacetHelper.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/PivotFacetHelper.java Wed Feb 9 01:03:49 2011 @@ -102,7 +102,7 @@ public class PivotFacetHelper List> values = new ArrayList>( superFacets.size() ); for (Map.Entry kv : superFacets) { // Only sub-facet if parent facet has positive count - still may not be any values for the sub-field though - if (kv.getValue() > minMatch ) { + if (kv.getValue() >= minMatch ) { // don't reuse the same BytesRef each time since we will be constructing Term // objects that will most likely be cached. BytesRef termval = new BytesRef(); @@ -122,7 +122,7 @@ public class PivotFacetHelper SimpleFacets sf = getFacetImplementation(rb.req, subset, rb.req.getParams()); NamedList nl = sf.getTermCounts(subField); - if (nl.size() > minMatch ) { + if (nl.size() >= minMatch ) { pivot.add( "pivot", doPivots( nl, subField, nextField, fnames, rb, subset, minMatch ) ); values.add( pivot ); // only add response if there are some counts } Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/QueryComponent.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/QueryComponent.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/QueryComponent.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/QueryComponent.java Wed Feb 9 01:03:49 2011 @@ -107,7 +107,6 @@ public class QueryComponent extends Sear List filters = rb.getFilters(); if (filters==null) { filters = new ArrayList(fqs.length); - rb.setFilters( filters ); } for (String fq : fqs) { if (fq != null && fq.trim().length()!=0) { @@ -115,6 +114,12 @@ public class QueryComponent extends Sear filters.add(fqp.getQuery()); } } + // only set the filters if they are not empty otherwise + // fq=&someotherParam= will trigger all docs filter for every request + // if filter cache is disabled + if (!filters.isEmpty()) { + rb.setFilters( filters ); + } } } catch (ParseException e) { throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, e); Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/QueryElevationComponent.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/QueryElevationComponent.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/QueryElevationComponent.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/QueryElevationComponent.java Wed Feb 9 01:03:49 2011 @@ -474,6 +474,7 @@ class ElevationComparatorSource extends this.priority = boosts; } + @Override public FieldComparator newComparator(final String fieldname, final int numHits, int sortPos, boolean reversed) throws IOException { return new FieldComparator() { @@ -482,10 +483,12 @@ class ElevationComparatorSource extends int bottomVal; private final BytesRef tempBR = new BytesRef(); + @Override public int compare(int slot1, int slot2) { return values[slot2] - values[slot1]; // values will be small enough that there is no overflow concern } + @Override public void setBottom(int slot) { bottomVal = values[slot]; } @@ -496,19 +499,23 @@ class ElevationComparatorSource extends return prio == null ? 0 : prio.intValue(); } + @Override public int compareBottom(int doc) throws IOException { return docVal(doc) - bottomVal; } + @Override public void copy(int slot, int doc) throws IOException { values[slot] = docVal(doc); } + @Override public FieldComparator setNextReader(AtomicReaderContext context) throws IOException { idIndex = FieldCache.DEFAULT.getTermsIndex(context.reader, fieldname); return this; } + @Override public Comparable value(int slot) { return values[slot]; } Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/ShardDoc.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/ShardDoc.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/ShardDoc.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/ShardDoc.java Wed Feb 9 01:03:49 2011 @@ -56,6 +56,7 @@ public class ShardDoc { int positionInResponse; // the ordinal position in the merged response arraylist + @Override public String toString(){ return "id="+id +" ,score="+score @@ -226,6 +227,7 @@ class ShardFieldSortedHitQueue extends P // the negative sign on the final compareTo(). Comparator comparatorNatural(String fieldName) { return new ShardComparator(fieldName) { + @Override public final int compare(final Object o1, final Object o2) { ShardDoc sd1 = (ShardDoc) o1; ShardDoc sd2 = (ShardDoc) o2; @@ -247,6 +249,7 @@ class ShardFieldSortedHitQueue extends P Locale locale) { final Collator collator = Collator.getInstance(locale); return new ShardComparator(fieldName) { + @Override public final int compare(final Object o1, final Object o2) { ShardDoc sd1 = (ShardDoc) o1; ShardDoc sd2 = (ShardDoc) o2; @@ -266,6 +269,7 @@ class ShardFieldSortedHitQueue extends P Comparator comparatorMissingStringLast(final String fieldName) { return new ShardComparator(fieldName) { + @Override public final int compare(final Object o1, final Object o2) { ShardDoc sd1 = (ShardDoc) o1; ShardDoc sd2 = (ShardDoc) o2; Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/ShardRequest.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/ShardRequest.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/ShardRequest.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/ShardRequest.java Wed Feb 9 01:03:49 2011 @@ -56,6 +56,7 @@ public class ShardRequest { // this would work well if we ever transitioned to using internal ids and // didn't require a uniqueId + @Override public String toString() { return "ShardRequest:{params=" + params + ", purpose=" + Integer.toHexString(purpose) Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/ShardResponse.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/ShardResponse.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/ShardResponse.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/ShardResponse.java Wed Feb 9 01:03:49 2011 @@ -27,6 +27,7 @@ public final class ShardResponse { private Throwable exception; private SolrResponse rsp; + @Override public String toString() { return "ShardResponse:{shard="+shard+",shardAddress="+shardAddress +"\n\trequest=" + req Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/TermVectorComponent.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/TermVectorComponent.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/TermVectorComponent.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/TermVectorComponent.java Wed Feb 9 01:03:49 2011 @@ -61,6 +61,20 @@ import java.util.Map; * term, frequency, position, offset, IDF. *

* Note Returning IDF can be expensive. + * + *

+ * <searchComponent name="tvComponent" class="solr.TermVectorComponent"/>
+ * 
+ * <requestHandler name="/terms" class="solr.SearchHandler">
+ *   <lst name="defaults">
+ *     <bool name="tv">true</bool>
+ *   </lst>
+ *   <arr name="last-component">
+ *     <str>tvComponent</str>
+ *   </arr>
+ * </requestHandler>
+ * + * @version $Id$ */ public class TermVectorComponent extends SearchComponent implements SolrCoreAware { @@ -71,6 +85,7 @@ public class TermVectorComponent extends public static final String TERM_VECTORS = "termVectors"; + @Override public void process(ResponseBuilder rb) throws IOException { SolrParams params = rb.req.getParams(); if (!params.getBool(COMPONENT_NAME, false)) { @@ -288,6 +303,7 @@ public class TermVectorComponent extends this.reader = reader; } + @Override public void map(BytesRef term, int frequency, TermVectorOffsetInfo[] offsets, int[] positions) { NamedList termInfo = new NamedList(); fieldNL.add(term.utf8ToString(), termInfo); @@ -336,6 +352,7 @@ public class TermVectorComponent extends return result; } + @Override public void setExpectations(String field, int numTerms, boolean storeOffsets, boolean storePositions) { if (fieldOptions.docFreq == true && reader != null) { @@ -358,6 +375,7 @@ public class TermVectorComponent extends } } + @Override public void prepare(ResponseBuilder rb) throws IOException { } @@ -374,18 +392,22 @@ public class TermVectorComponent extends } + @Override public String getVersion() { return "$Revision$"; } + @Override public String getSourceId() { return "$Id$"; } + @Override public String getSource() { return "$URL$"; } + @Override public String getDescription() { return "A Component for working with Term Vectors"; } Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/TermsComponent.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/TermsComponent.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/TermsComponent.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/handler/component/TermsComponent.java Wed Feb 9 01:03:49 2011 @@ -41,9 +41,22 @@ import java.util.regex.Pattern; /** * Return TermEnum information, useful for things like auto suggest. + * + *
+ * <searchComponent name="termsComponent" class="solr.TermsComponent"/>
+ * 
+ * <requestHandler name="/terms" class="solr.SearchHandler">
+ *   <lst name="defaults">
+ *     <bool name="terms">true</bool>
+ *   </lst>
+ *   <arr name="components">
+ *     <str>termsComponent</str>
+ *   </arr>
+ * </requestHandler>
* * @see org.apache.solr.common.params.TermsParams * See Lucene's TermEnum class + * @version $Id$ */ public class TermsComponent extends SearchComponent { public static final int UNLIMITED_MAX_COUNT = -1; @@ -68,6 +81,7 @@ public class TermsComponent extends Sear } } + @Override public void process(ResponseBuilder rb) throws IOException { SolrParams params = rb.req.getParams(); if (!params.getBool(TermsParams.TERMS, false)) return; @@ -463,18 +477,22 @@ public class TermsComponent extends Sear } } + @Override public String getVersion() { return "$Revision$"; } + @Override public String getSourceId() { return "$Id$"; } + @Override public String getSource() { return "$URL$"; } + @Override public String getDescription() { return "A Component for working with Term Enumerators"; } Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java Wed Feb 9 01:03:49 2011 @@ -120,6 +120,7 @@ public class DefaultSolrHighlighter exte } //just for back-compat with the deprecated method private boolean initialized = false; + @Override @Deprecated public void initalize( SolrConfig config) { if (initialized) return; @@ -333,6 +334,7 @@ public class DefaultSolrHighlighter exte * @return NamedList containing a NamedList for each document, which in * turns contains sets (field, summary) pairs. */ + @Override @SuppressWarnings("unchecked") public NamedList doHighlighting(DocList docs, Query query, SolrQueryRequest req, String[] defaultFields) throws IOException { SolrParams params = req.getParams(); @@ -639,6 +641,7 @@ class TermOffsetsTokenStream { this.length = length; } + @Override public boolean incrementToken() throws IOException { while( true ){ if( bufferedToken == null ) { Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/highlight/GapFragmenter.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/highlight/GapFragmenter.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/highlight/GapFragmenter.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/highlight/GapFragmenter.java Wed Feb 9 01:03:49 2011 @@ -92,6 +92,7 @@ class LuceneGapFragmenter extends Simple /* (non-Javadoc) * @see org.apache.lucene.search.highlight.TextFragmenter#start(java.lang.String) */ + @Override public void start(String originalText, TokenStream tokenStream) { offsetAtt = tokenStream.getAttribute(OffsetAttribute.class); posIncAtt = tokenStream.getAttribute(PositionIncrementAttribute.class); @@ -101,6 +102,7 @@ class LuceneGapFragmenter extends Simple /* (non-Javadoc) * @see org.apache.lucene.search.highlight.TextFragmenter#isNewFragment(org.apache.lucene.analysis.Token) */ + @Override public boolean isNewFragment() { int endOffset = offsetAtt.endOffset(); boolean isNewFrag = Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/highlight/RegexFragmenter.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/highlight/RegexFragmenter.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/highlight/RegexFragmenter.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/highlight/RegexFragmenter.java Wed Feb 9 01:03:49 2011 @@ -54,6 +54,7 @@ public class RegexFragmenter extends Hig protected String defaultPatternRaw; protected Pattern defaultPattern; + @Override public void init(NamedList args) { super.init(args); defaultPatternRaw = LuceneRegexFragmenter.DEFAULT_PATTERN_RAW; Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/PerSegmentSingleValuedFaceting.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/PerSegmentSingleValuedFaceting.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/PerSegmentSingleValuedFaceting.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/PerSegmentSingleValuedFaceting.java Wed Feb 9 01:03:49 2011 @@ -1,3 +1,20 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.apache.solr.request; import org.apache.lucene.index.IndexReader.AtomicReaderContext; Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/ServletSolrParams.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/ServletSolrParams.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/ServletSolrParams.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/ServletSolrParams.java Wed Feb 9 01:03:49 2011 @@ -29,6 +29,7 @@ public class ServletSolrParams extends M super(req.getParameterMap()); } + @Override public String get(String name) { String[] arr = map.get(name); if (arr==null) return null; Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/SimpleFacets.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/SimpleFacets.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/SimpleFacets.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/SimpleFacets.java Wed Feb 9 01:03:49 2011 @@ -1159,9 +1159,11 @@ public class SimpleFacets { } public K key; public V val; + @Override public int hashCode() { return key.hashCode() ^ val.hashCode(); } + @Override public boolean equals(Object o) { if (! (o instanceof CountPair)) return false; CountPair that = (CountPair) o; @@ -1272,9 +1274,11 @@ public class SimpleFacets { extends RangeEndpointCalculator { public FloatRangeEndpointCalculator(final SchemaField f) { super(f); } + @Override protected Float parseVal(String rawval) { return Float.valueOf(rawval); } + @Override public Float parseAndAddGap(Float value, String gap) { return new Float(value.floatValue() + Float.valueOf(gap).floatValue()); } @@ -1283,9 +1287,11 @@ public class SimpleFacets { extends RangeEndpointCalculator { public DoubleRangeEndpointCalculator(final SchemaField f) { super(f); } + @Override protected Double parseVal(String rawval) { return Double.valueOf(rawval); } + @Override public Double parseAndAddGap(Double value, String gap) { return new Double(value.floatValue() + Double.valueOf(gap).floatValue()); } @@ -1294,9 +1300,11 @@ public class SimpleFacets { extends RangeEndpointCalculator { public IntegerRangeEndpointCalculator(final SchemaField f) { super(f); } + @Override protected Integer parseVal(String rawval) { return Integer.valueOf(rawval); } + @Override public Integer parseAndAddGap(Integer value, String gap) { return new Integer(value.intValue() + Integer.valueOf(gap).intValue()); } @@ -1305,9 +1313,11 @@ public class SimpleFacets { extends RangeEndpointCalculator { public LongRangeEndpointCalculator(final SchemaField f) { super(f); } + @Override protected Long parseVal(String rawval) { return Long.valueOf(rawval); } + @Override public Long parseAndAddGap(Long value, String gap) { return new Long(value.intValue() + Long.valueOf(gap).intValue()); } @@ -1324,15 +1334,19 @@ public class SimpleFacets { ("SchemaField must use filed type extending DateField"); } } + @Override public String formatValue(Date val) { return ((DateField)field.getType()).toExternal(val); } + @Override protected Date parseVal(String rawval) { return ((DateField)field.getType()).parseMath(now, rawval); } + @Override protected Object parseGap(final String rawval) { return rawval; } + @Override public Date parseAndAddGap(Date value, String gap) throws java.text.ParseException { final DateMathParser dmp = new DateMathParser(DateField.UTC, Locale.US); dmp.setNow(value); 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=1068718&r1=1068717&r2=1068718&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 Wed Feb 9 01:03:49 2011 @@ -127,6 +127,7 @@ public abstract class SolrQueryRequestBa return origParams.toString(); } + @Override public String toString() { return this.getClass().getSimpleName() + '{' + params + '}'; } Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/UnInvertedField.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/UnInvertedField.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/UnInvertedField.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/request/UnInvertedField.java Wed Feb 9 01:03:49 2011 @@ -895,6 +895,7 @@ public class UnInvertedField { return te.skipTo(termNum); } + @Override public String toString() { return "{field=" + field + ",memSize="+memSize() @@ -1163,6 +1164,7 @@ class TermIndex { ArrayList lst; PagedBytes bytes; + @Override protected BytesRef setTerm() throws IOException { BytesRef br = super.setTerm(); if (br != null && (pos & intervalMask)==0) { @@ -1178,10 +1180,12 @@ class TermIndex { return br; } + @Override public BytesRef skipTo(int termNumber) throws IOException { throw new UnsupportedOperationException(); } + @Override public void close() throws IOException { nTerms=pos; super.close(); Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/BaseResponseWriter.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/BaseResponseWriter.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/BaseResponseWriter.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/BaseResponseWriter.java Wed Feb 9 01:03:49 2011 @@ -302,12 +302,12 @@ public abstract class BaseResponseWriter * {@link SolrInputDocument}s to be spit out as a {@link SolrDocumentList} * so they can be processed as a whole, rather than on a doc-by-doc basis. * If set to false, this method calls - * {@link #writeAllDocs(DocListInfo, List)}, else if set to true, then this + * {@link #writeAllDocs(BaseResponseWriter.DocListInfo, List)}, else if set to true, then this * method forces calling {@link #writeDoc(SolrDocument)} on a doc-by-doc * basis. one * * @return True to force {@link #writeDoc(SolrDocument)} to be called, False - * to force {@link #writeAllDocs(DocListInfo, List)} to be called. + * to force {@link #writeAllDocs(BaseResponseWriter.DocListInfo, List)} to be called. */ public boolean isStreamingDocs() { return true; } 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=1068718&r1=1068717&r2=1068718&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 Wed Feb 9 01:03:49 2011 @@ -286,6 +286,7 @@ class JSONWriter extends TextResponseWri } + @Override public void writeNamedList(String name, NamedList val) throws IOException { if (val instanceof SimpleOrderedMap) { writeNamedListAsMapWithDups(name,val); @@ -391,6 +392,7 @@ class JSONWriter extends TextResponseWri writeMapCloser(); } + @Override public void writeSolrDocument(String name, SolrDocument doc, Set returnFields, Map pseudoFields) throws IOException { writeMapOpener(-1); // no trivial way to determine map size // TODO: could easily figure out size for SolrDocument if needed... @@ -437,6 +439,7 @@ class JSONWriter extends TextResponseWri // if a Doc can ever contain another doc, this optimization would have to go. private final HashMap scoreMap = new HashMap(1); + @Override public void writeDoc(String name, Document doc, Set returnFields, float score, boolean includeScore) throws IOException { Map other = null; if (includeScore) { @@ -446,6 +449,7 @@ class JSONWriter extends TextResponseWri writeDoc(name, doc.getFields(), returnFields, other); } + @Override public void writeDocList(String name, DocList ids, Set fields, Map otherFields) throws IOException { boolean includeScore=false; if (fields!=null) { @@ -595,6 +599,7 @@ class JSONWriter extends TextResponseWri writer.write(']'); } + @Override public void writeStr(String name, String val, boolean needsEscaping) throws IOException { // it might be more efficient to use a stringbuilder or write substrings // if writing chars to the stream is slow. @@ -647,6 +652,7 @@ class JSONWriter extends TextResponseWri } + @Override public void writeMap(String name, Map val, boolean excludeOuter, boolean isFirstVal) throws IOException { if (!excludeOuter) { writeMapOpener(val.size()); @@ -678,6 +684,7 @@ class JSONWriter extends TextResponseWri } } + @Override public void writeArray(String name, Iterator val) throws IOException { writeArrayOpener(-1); // no trivial way to determine array size incLevel(); @@ -697,30 +704,37 @@ class JSONWriter extends TextResponseWri // // Primitive types // + @Override public void writeNull(String name) throws IOException { writer.write("null"); } + @Override public void writeInt(String name, String val) throws IOException { writer.write(val); } + @Override public void writeLong(String name, String val) throws IOException { writer.write(val); } + @Override public void writeBool(String name, String val) throws IOException { writer.write(val); } + @Override public void writeFloat(String name, String val) throws IOException { writer.write(val); } + @Override public void writeDouble(String name, String val) throws IOException { writer.write(val); } + @Override 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/PHPSerializedResponseWriter.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/PHPSerializedResponseWriter.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/PHPSerializedResponseWriter.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/PHPSerializedResponseWriter.java Wed Feb 9 01:03:49 2011 @@ -92,6 +92,7 @@ class PHPSerializedWriter extends JSONWr doIndent = false; } + @Override public void writeResponse() throws IOException { Boolean omitHeader = req.getParams().getBool(CommonParams.OMIT_HEADER); if(omitHeader != null && omitHeader) rsp.getValues().remove("responseHeader"); Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/PageTool.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/PageTool.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/PageTool.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/PageTool.java Wed Feb 9 01:03:49 2011 @@ -73,6 +73,7 @@ public class PageTool { return current_page_number; } + @Override public String toString() { return "Found " + results_found + " Page " + current_page_number + " of " + page_count + Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/RawResponseWriter.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/RawResponseWriter.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/RawResponseWriter.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/RawResponseWriter.java Wed Feb 9 01:03:49 2011 @@ -18,6 +18,7 @@ package org.apache.solr.response; import java.io.IOException; +import java.io.OutputStream; import java.io.Reader; import java.io.Writer; @@ -44,7 +45,7 @@ import org.apache.solr.request.SolrQuery * @version $Id$ * @since solr 1.3 */ -public class RawResponseWriter implements QueryResponseWriter +public class RawResponseWriter implements BinaryQueryResponseWriter { /** * The key that should be used to add a ContentStream to the @@ -93,4 +94,24 @@ public class RawResponseWriter implement getBaseWriter( request ).write( writer, request, response ); } } + +public void write(OutputStream out, SolrQueryRequest request, + SolrQueryResponse response) throws IOException { + Object obj = response.getValues().get( CONTENT ); + if( obj != null && (obj instanceof ContentStream ) ) { + // copy the contents to the writer... + ContentStream content = (ContentStream)obj; + java.io.InputStream in = content.getStream(); + try { + IOUtils.copy( in, out ); + } finally { + in.close(); + } + } + else { + //getBaseWriter( request ).write( writer, request, response ); + throw new IOException("did not find a CONTENT object"); + } + +} } Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/RubyResponseWriter.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/RubyResponseWriter.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/RubyResponseWriter.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/RubyResponseWriter.java Wed Feb 9 01:03:49 2011 @@ -45,7 +45,9 @@ public class RubyResponseWriter implemen class RubyWriter extends NaNFloatWriter { + @Override protected String getNaN() { return "(0.0/0.0)"; } + @Override protected String getInf() { return "(1.0/0.0)"; } public RubyWriter(Writer writer, SolrQueryRequest req, SolrQueryResponse rsp) { Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/SolrParamResourceLoader.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/SolrParamResourceLoader.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/SolrParamResourceLoader.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/SolrParamResourceLoader.java Wed Feb 9 01:03:49 2011 @@ -25,6 +25,7 @@ import org.apache.commons.collections.Ex import java.io.ByteArrayInputStream; import java.io.InputStream; +import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -49,18 +50,26 @@ public class SolrParamResourceLoader ext } } + @Override public void init(ExtendedProperties extendedProperties) { } + @Override public InputStream getResourceStream(String s) throws ResourceNotFoundException { String template = templates.get(s); - return template == null ? null : new ByteArrayInputStream(template.getBytes()); + try { + return template == null ? null : new ByteArrayInputStream(template.getBytes("UTF-8")); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); // may not happen + } } + @Override public boolean isSourceModified(Resource resource) { return false; } + @Override public long getLastModified(Resource resource) { return 0; } Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/SolrVelocityResourceLoader.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/SolrVelocityResourceLoader.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/SolrVelocityResourceLoader.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/response/SolrVelocityResourceLoader.java Wed Feb 9 01:03:49 2011 @@ -33,17 +33,21 @@ public class SolrVelocityResourceLoader this.loader = loader; } + @Override public void init(ExtendedProperties extendedProperties) { } + @Override public InputStream getResourceStream(String template_name) throws ResourceNotFoundException { return loader.openResource(template_name); } + @Override public boolean isSourceModified(Resource resource) { return false; } + @Override public long getLastModified(Resource resource) { return 0; } 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=1068718&r1=1068717&r2=1068718&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 Wed Feb 9 01:03:49 2011 @@ -436,6 +436,7 @@ public final class XMLWriter extends Tex } + @Override public void writeVal(String name, Object val) throws IOException { // if there get to be enough types, perhaps hashing on the type @@ -494,6 +495,7 @@ public final class XMLWriter extends Tex // Generic compound types // + @Override public void writeNamedList(String name, NamedList val) throws IOException { int sz = val.size(); startTag("lst", name, sz<=0); Modified: lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/AbstractSubTypeFieldType.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/AbstractSubTypeFieldType.java?rev=1068718&r1=1068717&r2=1068718&view=diff ============================================================================== --- lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/AbstractSubTypeFieldType.java (original) +++ lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/AbstractSubTypeFieldType.java Wed Feb 9 01:03:49 2011 @@ -103,6 +103,7 @@ public abstract class AbstractSubTypeFie /** * Throws UnsupportedOperationException() */ + @Override public Query getFieldQuery(QParser parser, SchemaField field, String externalVal) { throw new UnsupportedOperationException(); } 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=1068718&r1=1068717&r2=1068718&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 Wed Feb 9 01:03:49 2011 @@ -30,9 +30,11 @@ import java.io.IOException; * @version $Id$ */ public class BCDIntField extends FieldType { + @Override protected void init(IndexSchema schema, Map args) { } + @Override public SortField getSortField(SchemaField field,boolean reverse) { return getStringSort(field,reverse); } @@ -42,11 +44,13 @@ public class BCDIntField extends FieldTy throw new UnsupportedOperationException("ValueSource not implemented"); } + @Override public String toInternal(String val) { // TODO? make sure each character is a digit? return BCDUtils.base10toBase10kSortableInt(val); } + @Override public String toExternal(Fieldable f) { return indexedToReadable(f.stringValue()); } @@ -57,10 +61,12 @@ public class BCDIntField extends FieldTy return Integer.valueOf( toExternal(f) ); } + @Override public String indexedToReadable(String indexedForm) { return BCDUtils.base10kSortableIntToBase10(indexedForm); } + @Override 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/BinaryField.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/schema/BinaryField.java?rev=1068718&r1=1068717&r2=1068718&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 Wed Feb 9 01:03:49 2011 @@ -33,19 +33,23 @@ public class BinaryField extends FieldTy return Base64.byteArrayToBase64(buf.array(), buf.position(), buf.limit()-buf.position()); } + @Override public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException { writer.writeStr(name, toBase64String(toObject(f)), false); } + @Override public SortField getSortField(SchemaField field, boolean top) { throw new RuntimeException("Cannot sort on a Binary field"); } + @Override public String toExternal(Fieldable f) { return toBase64String(toObject(f)); } + @Override public ByteBuffer toObject(Fieldable f) { return ByteBuffer.wrap(f.getBinaryValue(), f.getBinaryOffset(), f.getBinaryLength() ) ; } 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=1068718&r1=1068717&r2=1068718&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 Wed Feb 9 01:03:49 2011 @@ -37,10 +37,13 @@ import java.io.IOException; * @version $Id$ */ public class BoolField extends FieldType { + @Override protected void init(IndexSchema schema, Map args) { } + @Override public SortField getSortField(SchemaField field,boolean reverse) { + field.checkSortability(); return getStringSort(field,reverse); } @@ -58,6 +61,7 @@ public class BoolField extends FieldType // handle single valued non-text fields (int,bool,etc) if needed. protected final static Analyzer boolAnalyzer = new SolrAnalyzer() { + @Override public TokenStreamInfo getStream(String fieldName, Reader reader) { Tokenizer tokenizer = new Tokenizer(reader) { final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class); @@ -88,19 +92,23 @@ public class BoolField extends FieldType }; + @Override public Analyzer getAnalyzer() { return boolAnalyzer; } + @Override public Analyzer getQueryAnalyzer() { return boolAnalyzer; } + @Override public String toInternal(String val) { char ch = (val!=null && val.length()>0) ? val.charAt(0) : 0; return (ch=='1' || ch=='t' || ch=='T') ? "T" : "F"; } + @Override public String toExternal(Fieldable f) { return indexedToReadable(f.stringValue()); } @@ -115,6 +123,7 @@ public class BoolField extends FieldType return term.bytes[0] == 'T'; } + @Override public String indexedToReadable(String indexedForm) { char ch = indexedForm.charAt(0); return ch=='T' ? "true" : "false"; @@ -129,6 +138,7 @@ public class BoolField extends FieldType } } + @Override 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=1068718&r1=1068717&r2=1068718&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 Wed Feb 9 01:03:49 2011 @@ -33,12 +33,15 @@ import java.util.Map; * @version $Id$ */ public class ByteField extends FieldType { + @Override protected void init(IndexSchema schema, Map args) { restrictProps(SORT_MISSING_FIRST | SORT_MISSING_LAST); } ///////////////////////////////////////////////////////////// + @Override public SortField getSortField(SchemaField field, boolean reverse) { + field.checkSortability(); return new SortField(field.name, SortField.BYTE, reverse); } @@ -47,6 +50,7 @@ public class ByteField extends FieldType return new ByteFieldSource( new ByteValuesCreator( field.name, null, CachedArrayCreator.CACHE_VALUES_AND_BITS ) ); } + @Override public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException { String s = f.stringValue(); @@ -75,4 +79,4 @@ public class ByteField extends FieldType public Byte toObject(Fieldable f) { return Byte.valueOf(toExternal(f)); } -} \ No newline at end of file +}