@Override public boolean buildHourlyTask(String name, String domain, Date start) { ServiceReport serviceReport = new ServiceReport(Constants.CAT); Date end = new Date(start.getTime() + TimeHelper.ONE_HOUR); Set<String> domains = m_reportService.queryAllDomainNames(start, end, CrossAnalyzer.ID); for (String domainName : domains) { if (m_configManger.validateDomain(domainName)) { CrossReport crossReport = m_crossReportService.queryReport(domainName, start, end); ProjectInfo projectInfo = new ProjectInfo(TimeHelper.ONE_HOUR); projectInfo.setClientIp(Constants.ALL); projectInfo.visitCrossReport(crossReport); Collection<TypeDetailInfo> callInfos = projectInfo.getCallProjectsInfo(); for (TypeDetailInfo typeInfo : callInfos) { if (!validataService(typeInfo)) { merge(serviceReport.findOrCreateDomain(typeInfo.getProjectName()), typeInfo); } } } } HourlyReport report = new HourlyReport(); report.setCreationDate(new Date()); report.setDomain(domain); report.setIp(NetworkInterfaceManager.INSTANCE.getLocalHostAddress()); report.setName(name); report.setPeriod(start); report.setType(1); byte[] binaryContent = DefaultNativeBuilder.build(serviceReport); return m_reportService.insertHourlyReport(report, binaryContent); }
@Override public boolean buildMonthlyTask(String name, String domain, Date period) { ServiceReport serviceReport = queryDailyReportsByDuration(domain, period, TaskHelper.nextMonthStart(period)); MonthlyReport report = new MonthlyReport(); report.setCreationDate(new Date()); report.setDomain(domain); report.setIp(NetworkInterfaceManager.INSTANCE.getLocalHostAddress()); report.setName(name); report.setPeriod(period); report.setType(1); byte[] binaryContent = DefaultNativeBuilder.build(serviceReport); return m_reportService.insertMonthlyReport(report, binaryContent); }