@Override public String execute() throws Exception { TaskId taskId = new TaskId(TaskCategory.DATAMART, currentUserService.getCurrentUser()); notifier.clear(taskId); ScheduledTasks tasks = new ScheduledTasks(); // --------------------------------------------------------------------- // Analytics // --------------------------------------------------------------------- if (analytics) { analyticsTableTask.setTaskId(taskId); tasks.addTask(resourceTableTask); tasks.addTask(analyticsTableTask); } // --------------------------------------------------------------------- // Data mart // --------------------------------------------------------------------- if (dataMart) { Date start = DateUtils.getMediumDate(startDate); Date end = DateUtils.getMediumDate(endDate); List<Period> periods = new ArrayList<Period>(); for (String type : periodTypes) { CalendarPeriodType periodType = (CalendarPeriodType) PeriodType.getPeriodTypeByName(type); periods.addAll(periodType.generatePeriods(start, end)); } if (periods.size() > 0) { dataMartTask.setPeriods(periods); dataMartTask.setTaskId(taskId); tasks.addTask(dataMartTask); } } if (!tasks.isEmpty()) { scheduler.executeTask(tasks); } return SUCCESS; }
private void startAsyncImport( ImportOptions importOptions, HttpServletResponse response, HttpServletRequest request, MetaData metaData) { String userUid = currentUserService.getCurrentUser().getUid(); TaskId taskId = new TaskId(TaskCategory.METADATA_IMPORT, currentUserService.getCurrentUser()); scheduler.executeTask( new ImportMetaDataTask(userUid, importService, importOptions, taskId, metaData)); response.setHeader( "Location", ContextUtils.getRootPath(request) + "/system/tasks/" + TaskCategory.METADATA_IMPORT); response.setStatus(HttpServletResponse.SC_ACCEPTED); }