package com.hqyg.disjob.slaver.utils; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.lang3.StringUtils; import com.hqyg.disjob.common.Constants; import com.hqyg.disjob.register.core.sharing.JobShardingStrategyOption; import com.hqyg.disjob.rpc.client.HURL; /** *分片参数转化为StrategyOption对象 * @author Disjob * */ public class SharingItem2StrategyOption { /** * * @param jobName job名字 * @param param * @return */ public static JobShardingStrategyOption convert2StrategyOption(String jobName,String param,List<HURL> urlLst){ if(!StringUtils.isNotEmpty(param)){ return new JobShardingStrategyOption(jobName, new HashMap<String, String>(),new ArrayList<String>()); } Map<String, String> shardingItemParameters = new HashMap<String, String>(); List<String> paramList = new ArrayList<String>(); // String param = "192.168.1.1:name=123&ip=192.168.1.1&age=13,123:name=123&ip=192.168.2.1&age=13,456:name=456&ip=192.168.2.1&age=13,79796416:name=456&ip=192.168.3.1&age=13"; String[] array = param.split(","); if(array !=null && array.length >0){ int index = 0; for(String str:array){ String[] array1 = str.split(":"); if(array1 !=null && array1.length ==2){ shardingItemParameters.put(array1[0], array1[1]); }else{ paramList.add(str); //2 4 /* if(urlLst.size() <=array.length && index< urlLst.size() ){ int temp = index % urlLst.size(); shardingItemParameters.put(urlLst.get(temp).getHurlKey(), str); index++; }else if(urlLst.size() > array.length ) { shardingItemParameters.put(urlLst.get(index).getHurlKey(), str); index++; }*/ //urllist<str 2 4 //urllist>str 4 2 } } } return new JobShardingStrategyOption(jobName, shardingItemParameters,paramList); } }