package com.taobao.top.analysis.statistics.map; import java.util.ArrayList; import java.util.List; import com.taobao.top.analysis.node.job.JobTask; import com.taobao.top.analysis.statistics.data.ReportEntry; import com.taobao.top.analysis.util.AnalysisConstants; /** * PlatformErrorCodeMapper.java * @author yunzhan.jtq * * @since 2012-4-23 下午04:56:51 */ public class PlatformErrorCodeMapper extends DefaultMapper { /** * */ private static final long serialVersionUID = 6003575691837084728L; private static final String ERROR_CODE = "errorCode"; private static final List<String> errorCodes = new ArrayList<String>(); static { errorCodes.add("3"); errorCodes.add("10"); }; @Override public String generateKey(ReportEntry entry, String[] contents, JobTask jobtask) { String key = super.generateKey(entry, contents, jobtask); if (AnalysisConstants.IGNORE_PROCESS.equals(key)) return AnalysisConstants.IGNORE_PROCESS; int position = jobtask.getStatisticsRule().getAliasPool().get(ERROR_CODE).getKey(); String errorCode = contents[position - 1]; if (!errorCodes.contains(errorCode)) return AnalysisConstants.IGNORE_PROCESS; return key; } }