/**
* 过滤县级以下目的地
* @author wxliyong
* @date 2015-12-3 下午7:27:32
*/
private void filterDestList(RopTripDestAutoCompleteResponse data) {
List<RopTripDestV200> destList = data.getDest();
List<RopTripDestV200> tempDestList = new ArrayList<RopTripDestV200>();
for(RopTripDestV200 ropTripDestV200 : destList) {
String dest_id = ropTripDestV200.getDestId();
if(!DestIdFilter.getInstance().filter(dest_id)) {
tempDestList.add(ropTripDestV200);
}
}
data.setDest(tempDestList);
}
package com.lvtu.service.api.utils;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
/**
* @Title: DestIdFilter.java
* @Package com.lvtu.service.api.utils
* @date 2015-12-3 下午6:31:44
* @version V1.0.0
*/
public class DestIdFilter {
private static Logger logger = Logger.getLogger(DestIdFilter.class);
private static final String FILE_NAME = "/dest_data_filter.txt";
private static DestIdFilter instance;
private List<String> list = new ArrayList<String>();
private DestIdFilter() {
init();
}
private void init() {
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(DestIdFilter.class.getClassLoader().getResourceAsStream(FILE_NAME), "UTF-8"));
String destId = reader.readLine();
do {
list.add(destId.trim());
destId = reader.readLine();
} while(StringUtils.isNotBlank(destId));
} catch (UnsupportedEncodingException e) {
logger.error(e);
} catch (IOException e) {
logger.error(e);
} finally {
if(reader != null) {
try {
reader.close();
} catch (IOException e) {
logger.error(e);
}
}
}
}
public static DestIdFilter getInstance() {
if(instance == null) {
synchronized (DestIdFilter.class) {
if(instance == null) {
instance = new DestIdFilter();
}
}
}
return instance;
}
/**
* 检查目的地ID是否需要过滤掉
* @date 2015-12-3 下午7:03:15
* @param 目的地ID
* @return true-需要过滤; false-不需要过滤
*/
public boolean filter(String destId) {
if(list.contains(destId)) {
return true;
}
return false;
}
}