Package com.taobao.loganalyzer.input.tanxclick.parser

Source Code of com.taobao.loganalyzer.input.tanxclick.parser.MatchSectionParser

package com.taobao.loganalyzer.input.tanxclick.parser;

import com.taobao.loganalyzer.input.tanxclick.common.LogField;
import com.taobao.loganalyzer.input.tanxclick.common.LogParser;
import com.taobao.loganalyzer.input.tanxclick.common.LogRecord;
import com.taobao.loganalyzer.input.tanxclick.common.SectionParser;

/**
* Section 4: 匹配Section04解析类
* @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 MatchSectionParser implements SectionParser {

    /**
     * 对匹配Section04进行解析,版本1.0不记录。
     * section4-匹配section为空(不记录)--------允许
     */
    public boolean parse(LogParser lp, LogRecord lr) {
        if (lp.isCurCharCA()) {
            if (!lp.hasNextChar()) return false;
        }
        else{
            String version=(lr.getField("Version")==null)?"":lr.getField("Version").getContent().toString();
            //search keyword
            lr.addField("SearchKeyword",   new LogField(LogField.TYPE_STRING, lp.getNextCB()));

            //匹配模式
            //lr.addField("MatchMode",     new LogField(LogField.TYPE_STRING, lp.getNextCB()));

            //匹配子模式
            //lr.addField("MatchSubmode",   new LogField(LogField.TYPE_STRING, lp.getNextCB()));

            //页码
            lr.addField("PageNum",       new LogField(LogField.TYPE_STRING, lp.getNextCB()));

            //每页的广告数
            lr.addField("AdsPerPage",       new LogField(LogField.TYPE_STRING, lp.getNextCB()));

            //相对位置
            lr.addField("RelativePosition", new LogField(LogField.TYPE_STRING, lp.getNextCB()));

            //区域
            lr.addField("Area",       new LogField(LogField.TYPE_STRING, lp.getNextCB()));

            //广告位分类ID
            lr.addField("AdzoneTypeID",   new LogField(LogField.TYPE_STRING, lp.getNextCB()));
            if("2.1".equals(version)){
                //query rewrite的结果
                lr.addField("QueryAfterRewrite"new LogField(LogField.TYPE_STRING, lp.getNextCA()));
            }else{
                lr.addField("QueryAfterRewrite"new LogField(LogField.TYPE_STRING, lp.getNextCB()));
                lr.addField("AdRankingOrder"new LogField(LogField.TYPE_STRING, lp.getNextCA()));
            }
        }

        if (lp.isError()) {
            return false;
        }

        return true;
    }


}
TOP

Related Classes of com.taobao.loganalyzer.input.tanxclick.parser.MatchSectionParser

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.