public Object generate() throws SiteWhereException { BatchCommandForCriteriaRequest request = new BatchCommandForCriteriaRequest(); request.setToken("438e068c-0dcb-4d96-a35f-06a52b084373"); request.setCommandToken(ExampleData.COMMAND_SET_RPT_INTV.getToken()); request.getParameterValues().put("interval", "60"); request.getParameterValues().put("reboot", "true"); request.setSpecificationToken(ExampleData.SPEC_HEART_MONITOR.getToken()); request.setStartDate(new Date()); request.setEndDate(new Date(System.currentTimeMillis() + 60 * 60 * 1000)); return request; } }
BatchCommandForCriteriaRequest request = new BatchCommandForCriteriaRequest(); request.setCommandToken(commandToken); request.setParameterValues(parameters); request.setSpecificationToken(specificationToken); request.setSiteToken(siteToken); request.setGroupToken(groupToken); request.setGroupsWithRole(groupRole); return request;
public Object generate() throws SiteWhereException { BatchCommandForCriteriaRequest request = new BatchCommandForCriteriaRequest(); request.setToken("438e068c-0dcb-4d96-a35f-06a52b084373"); request.setCommandToken(ExampleData.COMMAND_SET_RPT_INTV.getToken()); request.getParameterValues().put("interval", "60"); request.getParameterValues().put("reboot", "true"); request.setGroupsWithRole("americas"); return request; } }
public Object generate() throws SiteWhereException { BatchCommandForCriteriaRequest request = new BatchCommandForCriteriaRequest(); request.setToken("438e068c-0dcb-4d96-a35f-06a52b084373"); request.setCommandToken(ExampleData.COMMAND_SET_RPT_INTV.getToken()); request.getParameterValues().put("interval", "60"); request.getParameterValues().put("reboot", "true"); request.setGroupToken(ExampleData.DEVICEGROUP_SOUTHEAST.getToken()); return request; } }
config.put(JobConstants.CommandInvocation.COMMAND_TOKEN, request.getCommandToken()); for (String key : request.getParameterValues().keySet()) { String value = request.getParameterValues().get(key); config.put(JobConstants.CommandInvocation.PARAMETER_PREFIX + key, value); config.put(JobConstants.BatchCommandInvocation.SPECIFICATION_TOKEN, request.getSpecificationToken()); if (!StringUtils.isEmpty(request.getSiteToken())) { config.put(JobConstants.BatchCommandInvocation.SITE_TOKEN, request.getSiteToken()); if (!StringUtils.isEmpty(request.getGroupToken())) { config.put(JobConstants.BatchCommandInvocation.GROUP_TOKEN, request.getGroupToken()); if (!StringUtils.isEmpty(request.getGroupsWithRole())) { config.put(JobConstants.BatchCommandInvocation.GROUP_ROLE, request.getGroupsWithRole()); if (request.getStartDate() != null) { config.put(JobConstants.BatchCommandInvocation.START_DATE, JsonDateSerializer.serialize(request.getStartDate())); if (request.getEndDate() != null) { config.put(JobConstants.BatchCommandInvocation.END_DATE, JsonDateSerializer.serialize(request.getEndDate()));
if (criteria.getSpecificationToken() == null) { throw new JobExecutionException("Specification token not provided."); if (criteria.getCommandToken() == null) { throw new JobExecutionException("Command token not provided."); invoke.setCommandToken(criteria.getCommandToken()); invoke.setParameterValues(criteria.getParameterValues()); invoke.setHardwareIds(hardwareIds);
invoke.setToken(request.getToken()); invoke.setCommandToken(request.getCommandToken()); invoke.setParameterValues(request.getParameterValues()); invoke.setHardwareIds(hardwareIds);
if (StringUtils.isEmpty(criteria.getSpecificationToken())) { throw new SiteWhereException("Specification token must be populated to generate HTML."); IDeviceSpecification specification = devices.getDeviceSpecificationByToken(criteria.getSpecificationToken()); if (specification == null) { throw new SiteWhereException("Invalid specification reference: " + criteria.getSpecificationToken()); if (!StringUtils.isEmpty(criteria.getSiteToken())) { ISite site = devices.getSiteByToken(criteria.getSiteToken()); if (site == null) { throw new SiteWhereException("Invalid site reference: " + criteria.getGroupToken()); if (!StringUtils.isEmpty(criteria.getGroupToken())) { IDeviceGroup group = devices.getDeviceGroup(criteria.getGroupToken()); if (group == null) { throw new SiteWhereException("Invalid group reference: " + criteria.getGroupToken()); } else if (!StringUtils.isEmpty(criteria.getGroupsWithRole())) { html += " and belonging to groups with role <strong>" + criteria.getGroupsWithRole() + "</strong>";
/** * Schedule job that will create a new batch command invocation based on the * given criteria. * * @param request * @param scheduleToken * @param servletRequest * @return * @throws SiteWhereException */ @RequestMapping(value = "/command/criteria/schedules/{scheduleToken}", method = RequestMethod.POST) @ResponseBody @ApiOperation(value = "Schedule batch command operation based on criteria") @Secured({ SiteWhereRoles.REST }) @Documented public IScheduledJob scheduleBatchCommandByCriteria(@RequestBody BatchCommandForCriteriaRequest request, @ApiParam(value = "Schedule token", required = true) @PathVariable String scheduleToken, HttpServletRequest servletRequest) throws SiteWhereException { Tracer.start(TracerCategory.RestApiCall, "scheduleBatchCommandByCriteria", LOGGER); try { assureDeviceCommand(request.getCommandToken(), servletRequest); IScheduledJobCreateRequest job = ScheduledJobHelper .createBatchCommandInvocationJobByCriteria(UUID.randomUUID().toString(), request, scheduleToken); return SiteWhere.getServer().getScheduleManagement(getTenant(servletRequest)).createScheduledJob(job); } finally { Tracer.stop(LOGGER); } }