package org.weiboad.ragnar.server.data.statics;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.weiboad.ragnar.server.data.MetaLog;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
public class APITopURLStaticURLCollect {
private ConcurrentHashMap<String, APITopURLStaticData> urlList = new ConcurrentHashMap<String, APITopURLStaticData>();
private Long shardTime;
public APITopURLStaticURLCollect(Long shardtime) {
this.shardTime = shardtime;
}
Logger log = LoggerFactory.getLogger(APITopURLStaticURLCollect.class);
public void analyzeMetaLog(MetaLog metainfo) {
String url = metainfo.getUrl().trim();
if (urlList.containsKey(url)) {
urlList.get(url).analyzeMetaLog(metainfo);
} else {
APITopURLStaticData apidata = new APITopURLStaticData(url);
apidata.analyzeMetaLog(metainfo);
urlList.put(url, apidata);
}
}
public Integer getUrlSize() {
return urlList.size();
}
public List<APITopURLStaticData> getCollectList() {
try {
return new ArrayList<APITopURLStaticData>(urlList.values());
} catch (Exception e) {
return new ArrayList<APITopURLStaticData>();
}
}
public Long getShardTime() {
return shardTime;
}
}