package com.taobao.loganalyzer.input.tanxpv.parser;
import java.util.ArrayList;
import java.util.List;
import com.taobao.loganalyzer.input.tanxpv.common.LogField;
import com.taobao.loganalyzer.input.tanxpv.common.LogParser;
import com.taobao.loganalyzer.input.tanxpv.common.LogRecord;
import com.taobao.loganalyzer.input.tanxpv.common.SectionParser;
/**
* Section 6:网页Section解析类。该Section保存和网页有关的信息。
* @see <a href="http://sps.corp.alimama.com/ad/ADExchange/DocLib/Tan(X)%E7%B3%BB%E7%BB%9F%E6%97%A5%E5%BF%97%E8%AE%BE%E8%AE%A1.pdf">点击日志格式</a>
* @author kangtian
*
*/
public class PageSectionParser implements SectionParser {
/**
* 对网页Section进行解析 (版本1.0不记录)
* e) section5-网页section为空(不记录)--------允许
*/
public boolean parse(LogParser lp, LogRecord lr) {
if (lp.isCurCharCA()) {
if (!lp.hasNextChar()) return false;
}
else {
String ws = lp.getNextCB();
if (ws == null) {
return false;
}
String[] warr = ws.split("\003" , -1);
List<String[]> googleweight = new ArrayList<String[]>();
for (String str : warr) {
String[] pair = str.split("\004", -1);
if (pair.length != 2) {
continue;
}
googleweight.add(pair);
}
lr.addField("googleweight", new LogField(LogField.TYPE_LIST, googleweight));
lp.getNextCB();
lp.getNextCB();
lp.getNextCA();
}
if (lp.isError())
return false;
return true;
}
}