Class DatumDataSourcePollManagedJob

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

public class DatumDataSourcePollManagedJob extends BaseIdentifiable implements JobService, net.solarnetwork.settings.SettingsChangeObserver, net.solarnetwork.service.ServiceLifecycleObserver
Job to poll a DatumDataSource or MultiDatumDataSource for datum and offer them to a DatumQueue.

The multi-datum data source will be used if configured. Otherwise the datum data source will be used. This class implements SettingSpecifierProvider but delegates that API to the configured data source.

Since:
2.0
Version:
1.0
Author:
matt
  • Constructor Details

    • DatumDataSourcePollManagedJob

      public DatumDataSourcePollManagedJob()
  • Method Details

    • 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
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • serviceDidStartup

      public void serviceDidStartup()
      Handle service startup.

      This method will delegate to the configured datumDataSource or multiDatumDataSource properties if they also implement ServiceLifecycleObserver.

      Specified by:
      serviceDidStartup in interface net.solarnetwork.service.ServiceLifecycleObserver
    • serviceDidShutdown

      public void serviceDidShutdown()
      Handle service shutdown.

      This method will delegate to the configured datumDataSource or multiDatumDataSource properties if they also implement ServiceLifecycleObserver.

      Specified by:
      serviceDidShutdown in interface net.solarnetwork.service.ServiceLifecycleObserver
    • configurationChanged

      public void configurationChanged(Map<String,Object> properties)
      Handle configuration changes.

      This method will delegate to the configured datumDataSource or multiDatumDataSource properties if they also implement SettingsChangeObserver.

      Specified by:
      configurationChanged in interface net.solarnetwork.settings.SettingsChangeObserver
    • getSettingUid

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

      public String getDisplayName()
      Specified by:
      getDisplayName in interface net.solarnetwork.service.Identifiable
      Specified by:
      getDisplayName in interface net.solarnetwork.settings.SettingSpecifierProvider
      Overrides:
      getDisplayName in class net.solarnetwork.service.support.BasicIdentifiable
    • getMessageSource

      public org.springframework.context.MessageSource getMessageSource()
      Specified by:
      getMessageSource in interface net.solarnetwork.settings.SettingSpecifierProvider
      Overrides:
      getMessageSource in class net.solarnetwork.service.support.BasicIdentifiable
    • getSettingSpecifiers

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

      public DatumDataSource getDatumDataSource()
      Get the datum data source.
      Returns:
      the data source
    • setDatumDataSource

      public void setDatumDataSource(DatumDataSource datumDataSource)
      Set the datum data source.
      Parameters:
      datumDataSource - the data source
    • getMultiDatumDataSource

      public MultiDatumDataSource getMultiDatumDataSource()
      Get the multi-datum data source.
      Returns:
      the data source
    • setMultiDatumDataSource

      public void setMultiDatumDataSource(MultiDatumDataSource multiDatumDataSource)
      Set the multi-datum data source.
      Parameters:
      multiDatumDataSource - the data source
    • getDatumQueue

      public net.solarnetwork.service.OptionalService<DatumQueue> getDatumQueue()
      Get the datum queue.
      Returns:
      the queue
    • setDatumQueue

      public void setDatumQueue(net.solarnetwork.service.OptionalService<DatumQueue> datumQueue)
      Set the datum queue.
      Parameters:
      datumQueue - the queue
    • getDatumMetadataService

      public net.solarnetwork.service.OptionalService<DatumMetadataService> getDatumMetadataService()
      Get the configured DatumMetadataService.
      Returns:
      the service to use
    • setDatumMetadataService

      public void setDatumMetadataService(net.solarnetwork.service.OptionalService<DatumMetadataService> datumMetadataService)
      Set a DatumMetadataService to use for managing datum metadata.
      Parameters:
      datumMetadataService - the service to use