diff --git a/src/java/org/apache/solr/handler/CSVRequestHandler.java b/src/java/org/apache/solr/handler/CSVRequestHandler.java index f49bcea9aa7..cef026725fa 100755 --- a/src/java/org/apache/solr/handler/CSVRequestHandler.java +++ b/src/java/org/apache/solr/handler/CSVRequestHandler.java @@ -46,7 +46,10 @@ public class CSVRequestHandler extends RequestHandlerBase { Iterable streams = req.getContentStreams(); if (streams == null) { - throw new SolrException(400, "missing content stream"); + if(!RequestHandlerUtils.handleCommit(req, rsp, false)) { + throw new SolrException( 400, "missing content stream" ); + } + return; } for(ContentStream stream : streams) { @@ -58,6 +61,9 @@ public class CSVRequestHandler extends RequestHandlerBase { IOUtils.closeQuietly(reader); } } + + // perhaps commit when we are done + RequestHandlerUtils.handleCommit(req, rsp, false); } //////////////////////// SolrInfoMBeans methods ////////////////////// @@ -68,11 +74,11 @@ public class CSVRequestHandler extends RequestHandlerBase { @Override public String getVersion() { - return "$Revision:$"; - } + return "$Revision:$"; + } - @Override - public String getSourceId() { + @Override + public String getSourceId() { return "$Id:$"; } @@ -94,7 +100,6 @@ abstract class CSVLoader { static String EMPTY="keepEmpty"; static String SPLIT="split"; static String ENCAPSULATOR="encapsulator"; - static String COMMIT="commit"; static String OVERWRITE="overwrite"; private static Pattern colonSplit = Pattern.compile(":"); @@ -345,10 +350,6 @@ abstract class CSVLoader { addDoc(line,vals); } - - if (params.getBool(COMMIT,false)) { - handler.commit(new CommitUpdateCommand(false)); - } } /** called for each line of values (document) */ diff --git a/src/java/org/apache/solr/handler/CommitRequestHandler.java b/src/java/org/apache/solr/handler/CommitRequestHandler.java index 1efd5e0fd4c..54eac4092b1 100644 --- a/src/java/org/apache/solr/handler/CommitRequestHandler.java +++ b/src/java/org/apache/solr/handler/CommitRequestHandler.java @@ -25,26 +25,21 @@ import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.request.SolrQueryResponse; import org.apache.solr.update.CommitUpdateCommand; +/** + * This handler could be replace with the standard XmlUpdateHandler with + * a default parameter set to commit=true + * + * TODO? -- Delete it now, while it is not in mainstream use yet... + * + */ +@Deprecated public class CommitRequestHandler extends RequestHandlerBase { @Override public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws IOException { - SolrParams params = req.getParams(); - - boolean optimize = params.getBool( UpdateParams.OPTIMIZE, false ); - CommitUpdateCommand cmd = new CommitUpdateCommand( optimize ); - cmd.waitFlush = params.getBool( UpdateParams.WAIT_FLUSH, cmd.waitFlush ); - cmd.waitSearcher = params.getBool( UpdateParams.WAIT_SEARCHER, cmd.waitSearcher ); - - SolrCore.getSolrCore().getUpdateHandler().commit( cmd ); - - if( optimize ) { - rsp.add( "optimize", "true" ); - } - else { - rsp.add( "commit", "true" ); - } + // common parameters + RequestHandlerUtils.handleCommit(req, rsp, true); } //////////////////////// SolrInfoMBeans methods ////////////////////// @@ -56,16 +51,16 @@ public class CommitRequestHandler extends RequestHandlerBase @Override public String getVersion() { - return "$Revision:$"; + return "$Revision$"; } @Override public String getSourceId() { - return "$Id:$"; + return "$Id$"; } @Override public String getSource() { - return "$URL:$"; + return "$URL$"; } } diff --git a/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java b/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java index de0b809af27..5682c2880ba 100644 --- a/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java +++ b/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java @@ -73,7 +73,10 @@ public class XmlUpdateRequestHandler extends RequestHandlerBase { Iterable streams = req.getContentStreams(); if( streams == null ) { - throw new SolrException( 400, "missing content stream" ); + if( !RequestHandlerUtils.handleCommit(req, rsp, false) ) { + throw new SolrException( 400, "missing content stream" ); + } + return; } // Cycle through each stream @@ -86,6 +89,9 @@ public class XmlUpdateRequestHandler extends RequestHandlerBase IOUtils.closeQuietly(reader); } } + + // perhaps commit when we are done + RequestHandlerUtils.handleCommit(req, rsp, false); }