content: package com.alimama.mdrill.partion.single;
  
  import java.util.HashMap;
  import java.util.HashSet;
  
  import org.apache.hadoop.fs.FileStatus;
  import org.apache.hadoop.fs.FileSystem;
  import org.apache.hadoop.fs.Path;
  import org.apache.solr.common.SolrInputDocument;
  
  import com.alimama.mdrill.partion.MdrillPartions;
  import com.alimama.mdrill.partion.MdrillPartionsInterface;
  import com.alimama.mdrill.partion.PartionListener;
  import com.alimama.mdrill.partion.StatListenerInterface;
  
  public class SinglePartions implements MdrillPartionsInterface{
  
  	private String parttype="single"; 
  	public void setPartionType(String parttype)
  	{
  		this.parttype=parttype;
  	}
  
  	@Override
  	public String[] SqlPartions(String queryStr) throws Exception {
  		 String[] rtn=new String[]{"single"};
  		return rtn;
  
  	}
  	
  	public String InsertPartion(SolrInputDocument doc)  throws Exception{
  		return String.valueOf("single");
  	}
  
  	@Override
  	public String SqlFilter(String queryStr) throws Exception {
  		return queryStr;
  	}
  
  	@Override
  	public HashSet<String> getNameList(FileSystem fs, String inputBase,
  			String startPoint, int dayDelay, int maxRunDays) throws Exception {
  		HashSet<String> rtn = new HashSet<String>();
  		FileStatus[] list = fs.listStatus(new Path(inputBase));
  		if (list != null) {
  			for (FileStatus f : list) {
  				String name = f.getPath().getName().trim();
  				if (name != null&&!name.isEmpty()) {
  					rtn.add(name);
  				}
  			}
  		}
  
  		return rtn;
  	}
  
  	@Override
  	public HashMap<String, HashSet<String>> indexPartions(
  			HashSet<String> namelist, String startday, int dayDelay,
  			int maxRunDays) throws Exception {
  		HashMap<String, HashSet<String>> rtn=new HashMap<String, HashSet<String>>();
  		rtn.put("single", namelist);
  		return rtn;
  	}
  
  	@Override
  	public HashMap<String, String> indexVertify(
  			HashMap<String, HashSet<String>> partions, int shards,
  			String startday, int dayDelay, int maxRunDays) throws Exception {
  		HashMap<String, String> rtn=new HashMap<String, String>();
  		for(String key:partions.keySet())
  		{
  			String partionvertify = "partionV"+MdrillPartions.PARTION_VERSION+"@001@"+key+"@" + shards + "@"+ java.util.UUID.randomUUID().toString();
  			rtn.put(key, partionvertify);
  		}
  		
  		return rtn;
  
  	}
  
  	@Override
  	public StatListenerInterface getStatObj() throws Exception {
  		StatListenerInterface rtn=new PartionListener();
  		rtn.setPartionType(this.parttype);
  		rtn.init();
  		return rtn;
  	}
  
  	@Override
  	public String getDropComparePartion(long days) throws Exception {
  		return null;
  	}
  
  	@Override
  	public boolean isAllowDropPartion(String partion, String cmp)
  			throws Exception {
  		return false;
  	}
  
  }
  