Class DatumDaoBulkUploadJob

java.lang.Object
net.solarnetwork.service.support.BasicIdentifiable
net.solarnetwork.node.service.support.BaseIdentifiable
net.solarnetwork.node.job.DatumDaoBulkUploadJob
All Implemented Interfaces:
JobService, net.solarnetwork.service.Identifiable, net.solarnetwork.settings.SettingSpecifierProvider

public class DatumDaoBulkUploadJob extends BaseIdentifiable implements JobService
Job to query a DatumDao for datum to upload via a BulkUploadService.

This job will call DatumDao.getDatumNotUploaded(String) for datum to upload and pass them to BulkUploadService.uploadBulkDatum(java.util.Collection). For each non-null BulkUploadResult.getId() tracking ID returned, the associated BulkUploadResult.getDatum() will be passed to DatumDao.setDatumUploaded(NodeDatum, Instant, String, String) method so it can be marked as uploaded.

Version:
3.0
Author:
matt
  • Constructor Details

    • DatumDaoBulkUploadJob

      public DatumDaoBulkUploadJob(DatumDao dao, BulkUploadService uploadService)
      Constructor.
      Parameters:
      dao - the DAO to use
      uploadService - the upload service to use
      Throws:
      IllegalArgumentException - if any argument is null
  • Method Details

    • getSettingUid

      public String getSettingUid()
      Specified by:
      getSettingUid in interface net.solarnetwork.settings.SettingSpecifierProvider
    • getSettingSpecifiers

      public List<net.solarnetwork.settings.SettingSpecifier> getSettingSpecifiers()
      Specified by:
      getSettingSpecifiers in interface net.solarnetwork.settings.SettingSpecifierProvider
    • executeJobService

      public void executeJobService() throws Exception
      Description copied from interface: JobService
      Execute the service job.
      Specified by:
      executeJobService in interface JobService
      Throws:
      Exception - if anything goes wrong