//package com.taobao.top.analysis.node.reduce;
//
//import java.util.Calendar;
//import java.util.Date;
//import java.util.Map;
//import com.taobao.top.analysis.statistics.data.Alias;
//import com.taobao.top.analysis.statistics.data.ReportEntry;
//
//
///**
// *
// * 时间类型Reduce实现
// *
// * @author fangweng
// * @Email fangweng@taobao.com
// * 2011-11-26
// *
// */
//public class TimeReduce implements IReportReduce {
//
//
// @Override
// public String generateValue(ReportEntry entry, String[] contents,
// Map<String, Alias> aliasPool) {
//
// java.util.Calendar calendar;
//
// calendar = Calendar.getInstance();
//
// long timestamp = Long.valueOf(contents[Integer.valueOf(entry
// .getKeys()[0]) - 1]);
//
// calendar.setTime(new Date(timestamp));
//
// if (entry.getReduceParams() != null
// && !entry.getReduceParams().equals("")) {
// if (entry.getReduceParams().startsWith("minute")) {
// // 可定制化
// int interval = 0;
// int minute = calendar.get(Calendar.MINUTE);
//
// if (!entry.getReduceParams().equals("minute"))
// interval = Integer.valueOf(entry.getReduceParams()
// .substring("minute:".length()));
//
// if (interval > 0) {
// int _timeCounter = 0;
//
// while (minute >= _timeCounter) {
// _timeCounter += interval;
// }
//
// minute = _timeCounter;
//
// if (minute == 60) {
// minute = 0;
// calendar.add(Calendar.HOUR, 1);
// }
//
// }
//
// int hour = calendar.get(Calendar.HOUR_OF_DAY);
// String hourStr;
//
// if (hour < 10)
// hourStr = new StringBuilder().append("0").append(hour)
// .toString();
// else
// hourStr = String.valueOf(hour);
//
// if (minute < 10)
// return new StringBuilder()
// .append(calendar.get(Calendar.YEAR)).append("-")
// .append(calendar.get(Calendar.MONTH) + 1)
// .append("-")
// .append(calendar.get(Calendar.DAY_OF_MONTH))
// .append(" ").append(hourStr).append(":0")
// .append(minute).toString();
// else
// return new StringBuilder()
// .append(calendar.get(Calendar.YEAR)).append("-")
// .append(calendar.get(Calendar.MONTH) + 1)
// .append("-")
// .append(calendar.get(Calendar.DAY_OF_MONTH))
// .append(" ").append(hourStr).append(":")
// .append(minute).toString();
// } else if (entry.getReduceParams().startsWith("Lminute")) {
// // 可定制化
// int interval = 0;
// int minute = calendar.get(Calendar.MINUTE);
//
// if (!entry.getReduceParams().equals("Lminute"))
// interval = Integer.valueOf(entry.getReduceParams()
// .substring("Lminute:".length()));
//
// if (interval > 0) {
// int _timeCounter = 0;
//
// while (minute >= _timeCounter) {
// _timeCounter += interval;
// }
//
// minute = _timeCounter;
//
// if (minute == 60) {
// minute = 0;
// calendar.add(Calendar.HOUR, 1);
// }
//
// }
//
// calendar.set(Calendar.MINUTE, minute);
// calendar.set(Calendar.SECOND, 0);
// calendar.set(Calendar.MILLISECOND, 0);
//
// return String.valueOf(calendar.getTimeInMillis());
//
// } else {
// int day = calendar.get(Calendar.DAY_OF_MONTH);
//
// if (day < 10)
// return new StringBuilder()
// .append(calendar.get(Calendar.YEAR)).append("-")
// .append(calendar.get(Calendar.MONTH) + 1)
// .append("-0")
// .append(calendar.get(Calendar.DAY_OF_MONTH))
// .toString();
// else
// return new StringBuilder()
// .append(calendar.get(Calendar.YEAR)).append("-")
// .append(calendar.get(Calendar.MONTH) + 1)
// .append("-")
// .append(calendar.get(Calendar.DAY_OF_MONTH))
// .toString();
// }
// } else {
//
// int hour = calendar.get(Calendar.HOUR_OF_DAY);
//
// if (hour < 10)
// return new StringBuilder().append(calendar.get(Calendar.YEAR))
// .append("-").append(calendar.get(Calendar.MONTH) + 1)
// .append("-")
// .append(calendar.get(Calendar.DAY_OF_MONTH))
// .append(" 0").append(hour).toString();
// else
// return new StringBuilder().append(calendar.get(Calendar.YEAR))
// .append("-").append(calendar.get(Calendar.MONTH) + 1)
// .append("-")
// .append(calendar.get(Calendar.DAY_OF_MONTH))
// .append(" ").append(hour).toString();
// }
//
// }
//
//}