content: package org.apache.solr.handler;
  
  import java.io.IOException;
  import java.net.URL;
  
  import org.apache.solr.common.SolrInputDocument;
  import org.apache.solr.common.util.NamedList;
  import org.apache.solr.common.util.SimpleOrderedMap;
  import org.apache.solr.core.SolrCore;
  import org.apache.solr.update.AddUpdateCommand;
  import org.apache.solr.update.CommitUpdateCommand;
  import org.apache.solr.update.DeleteUpdateCommand;
  import org.apache.solr.update.MergeIndexesCommand;
  import org.apache.solr.update.RollbackUpdateCommand;
  import org.apache.solr.update.UpdateHandler;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
  
  
  public class NonUpdateHandler extends UpdateHandler{
  	public static Logger LOG = LoggerFactory.getLogger(NonUpdateHandler.class);
  
  	SolrCore core;
  	public NonUpdateHandler(SolrCore core) {
  		super(core);
  		this.core=core;
  	}
  
  	@Override
  	public String getName() {
  		return NonUpdateHandler.class.getName();
  	}
  
  	@Override
  	public String getVersion() {
  	    return SolrCore.version;
  	}
  
  	@Override
  	public String getDescription() {
  	    return "Update handler that efficiently directly updates the on-disk main lucene index";
  	}
  
  	public Category getCategory() {
  	    return Category.UPDATEHANDLER;
  	  }
  
  	  public String getSourceId() {
  	    return "$Id: DirectUpdateHandler2.java 1203770 2011-11-18 17:55:52Z mikemccand $";
  	  }
  
  	  public String getSource() {
  	    return "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java $";
  	  }
  
  	  public URL[] getDocs() {
  	    return null;
  	  }
  
  	  public NamedList getStatistics() {
  		    NamedList lst = new SimpleOrderedMap();
  		    return lst;
  		  }
  
  
  	@Override
  	public int addDoc(AddUpdateCommand cmd) throws IOException {
  		SolrInputDocument doc=cmd.getSolrInputDocument();
  		
  		String partion=String.valueOf(doc.getFieldValue("mdrillPartion"));
  
  		String cmdstr=String.valueOf(doc.getFieldValue("mdrillCmd"));
  		if(cmdstr.equals("sync"))
  		{
  			this.core.getRealTime(partion,true).syncLocal();
  		}else if(cmdstr.equals("syncHdfs")){
  			this.core.getRealTime(partion,true).syncHdfs();
  		}
  		this.core.getRealTime(partion,true).addDocument(doc);
  		return 1;
  	}
  
  	@Override
  	public void delete(DeleteUpdateCommand cmd) throws IOException {
  	
  	}
  
  	@Override
  	public void deleteByQuery(DeleteUpdateCommand cmd) throws IOException {
  	
  	}
  
  	@Override
  	public int mergeIndexes(MergeIndexesCommand cmd) throws IOException {
  		return 0;
  	}
  
  	@Override
  	public void commit(CommitUpdateCommand cmd) throws IOException {
  		
  	}
  
  	@Override
  	public void rollback(RollbackUpdateCommand cmd) throws IOException {
  		
  	}
  
  	@Override
  	public void close() throws IOException {
  	
  	}
  
  }
  