/** * Convert scheduled job create request from API to GRPC. * * @param api * @return * @throws SiteWhereException */ public static GScheduledJobCreateRequest asGrpcScheduledJobCreateRequest(IScheduledJobCreateRequest api) throws SiteWhereException { GScheduledJobCreateRequest.Builder grpc = GScheduledJobCreateRequest.newBuilder(); if (api.getToken() != null) { grpc.setToken(GOptionalString.newBuilder().setValue(api.getToken())); } grpc.setScheduleToken(api.getScheduleToken()); grpc.setJobType(ScheduleModelConverter.asGrpcScheduledJobType(api.getJobType())); grpc.putAllJobConfiguration(api.getJobConfiguration()); grpc.setJobState(ScheduleModelConverter.asGrpcScheduledJobState(api.getJobState())); if (api.getMetadata() != null) { grpc.putAllMetadata(api.getMetadata()); } return grpc.build(); }
/** * Handle common logic for updating a scheduled job. * * @param job * @param request * @throws SiteWhereException */ public static void scheduledJobUpdateLogic(ScheduledJob job, IScheduledJobCreateRequest request) throws SiteWhereException { if (request.getScheduleToken() != null) { job.setScheduleToken(request.getScheduleToken()); } if (request.getJobType() != null) { job.setJobType(request.getJobType()); } if (request.getJobConfiguration() != null) { job.getJobConfiguration().clear(); job.getJobConfiguration().putAll(request.getJobConfiguration()); } if (request.getJobState() != null) { job.setJobState(request.getJobState()); } SiteWherePersistence.setUpdatedEntityMetadata(job); }
public ScheduledJob_Command1() { IScheduledJobCreateRequest request = ScheduledJobHelper.createCommandInvocationJob( "be35c0fa-4201-4f0f-8998-63291b034872", ExampleData.TRACKER_TO_DEREK.getToken(), ExampleData.INVOCATION_SET_RPT_INTV.getCommandToken(), ExampleData.INVOCATION_SET_RPT_INTV.getParameterValues(), ExampleData.SCHEDULE_CRON1.getToken()); setToken(request.getToken()); setJobType(request.getJobType()); setJobConfiguration(request.getJobConfiguration()); setScheduleToken(request.getScheduleToken()); setCreatedBy("admin"); setCreatedDate(new Date()); setJobState(ScheduledJobState.Active); } }
if (request.getScheduleToken() == null) { throw new SiteWhereSystemException(ErrorCode.IncompleteData, ErrorLevel.ERROR); job.setScheduleToken(request.getScheduleToken()); if (request.getJobType() == null) { throw new SiteWhereSystemException(ErrorCode.IncompleteData, ErrorLevel.ERROR); job.setJobType(request.getJobType()); job.setJobConfiguration(request.getJobConfiguration()); MetadataProvider.copy(request.getMetadata(), job);
/** * Handle common logic for creating a scheduled job. * * @param request * @param token * @return * @throws SiteWhereException */ public static ScheduledJob scheduledJobCreateLogic(IScheduledJobCreateRequest request, String token) throws SiteWhereException { ScheduledJob job = new ScheduledJob(); Persistence.entityCreateLogic(request, job); // Schedule token is required. if (request.getScheduleToken() == null) { throw new SiteWhereSystemException(ErrorCode.IncompleteData, ErrorLevel.ERROR); } job.setScheduleToken(request.getScheduleToken()); // Job type is required. if (request.getJobType() == null) { throw new SiteWhereSystemException(ErrorCode.IncompleteData, ErrorLevel.ERROR); } job.setJobType(request.getJobType()); job.setJobConfiguration(request.getJobConfiguration()); job.setJobState(ScheduledJobState.Unsubmitted); return job; }
@Override public IScheduledJob createScheduledJob(IScheduledJobCreateRequest request) throws SiteWhereException { String uuid = null; if (request.getToken() != null) { uuid = request.getToken(); } else { uuid = UUID.randomUUID().toString(); } // Use common logic so all backend implementations work the same. ScheduledJob job = ScheduleManagementPersistence.scheduledJobCreateLogic(request, uuid); MongoCollection<Document> jobs = getMongoClient().getScheduledJobsCollection(); Document created = MongoScheduledJob.toDocument(job); MongoPersistence.insert(jobs, created, ErrorCode.DuplicateScheduledJobToken); return MongoScheduledJob.fromDocument(created); }
public ScheduledJob_Command2() { IScheduledJobCreateRequest request = ScheduledJobHelper.createCommandInvocationJob( "2fbb6229-4ca1-42d4-bdd7-49f09c757399", ExampleData.TRACKER_TO_DEREK.getToken(), ExampleData.INVOCATION_SET_RPT_INTV.getCommandToken(), ExampleData.INVOCATION_SET_RPT_INTV.getParameterValues(), ExampleData.SCHEDULE_SIMPLE1.getToken()); setToken(request.getToken()); setJobType(request.getJobType()); setJobConfiguration(request.getJobConfiguration()); setScheduleToken(request.getScheduleToken()); setCreatedBy("admin"); setCreatedDate(new Date()); setJobState(ScheduledJobState.Active); } }
/** * Handle common logic for updating a scheduled job. * * @param job * @param request * @throws SiteWhereException */ public static void scheduledJobUpdateLogic(ScheduledJob job, IScheduledJobCreateRequest request) throws SiteWhereException { Persistence.entityUpdateLogic(request, job); if (request.getScheduleToken() != null) { job.setScheduleToken(request.getScheduleToken()); } if (request.getJobType() != null) { job.setJobType(request.getJobType()); } if (request.getJobConfiguration() != null) { job.getJobConfiguration().clear(); job.getJobConfiguration().putAll(request.getJobConfiguration()); } if (request.getJobState() != null) { job.setJobState(request.getJobState()); } } }
@Override public IScheduledJob createScheduledJob(IScheduledJobCreateRequest request) throws SiteWhereException { String uuid = null; if (request.getToken() != null) { uuid = request.getToken(); } else { uuid = UUID.randomUUID().toString(); } // Use common logic so all backend implementations work the same. ScheduledJob job = SiteWherePersistence.scheduledJobCreateLogic(request, uuid); MongoCollection<Document> jobs = getMongoClient().getScheduledJobsCollection(getTenant()); Document created = MongoScheduledJob.toDocument(job); MongoPersistence.insert(jobs, created, ErrorCode.DuplicateScheduledJobToken); return MongoScheduledJob.fromDocument(created); }
/** * Create a new scheduled job. * * @param context * @param request * @return * @throws SiteWhereException */ public static ScheduledJob createScheduledJob(IHBaseContext context, IScheduledJobCreateRequest request) throws SiteWhereException { String uuid = null; if (request.getToken() != null) { if (getScheduledJobByToken(context, request.getToken()) != null) { throw new SiteWhereSystemException(ErrorCode.DuplicateScheduledJobToken, ErrorLevel.ERROR, HttpServletResponse.SC_CONFLICT); } uuid = KEY_BUILDER.getMap(context).useExistingId(request.getToken()); } else { uuid = KEY_BUILDER.getMap(context).createUniqueId(); } // Use common logic so all backend implementations work the same. ScheduledJob job = SiteWherePersistence.scheduledJobCreateLogic(request, uuid); Map<byte[], byte[]> qualifiers = new HashMap<byte[], byte[]>(); return HBaseUtils.createOrUpdate(context, context.getPayloadMarshaler(), ISiteWhereHBase.SCHEDULES_TABLE_NAME, job, uuid, KEY_BUILDER, qualifiers); }