Class InboundDataSource


@Entity public class InboundDataSource extends MqttDataSource
  • Field Details

  • Constructor Details

  • Method Details

    • establishServerModeConnection

      public ProvisioningConnectionDto establishServerModeConnection(MqttConfiguration mqttConfig, org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder encoder, String plaintextPassword)
      Configures MQTT server-mode provisioning using the local broker configuration and activates that mode. A unique username is created and the supplied plaintext password is encoded before it is stored.
      Parameters:
      mqttConfig - Local MQTT broker configuration.
      encoder - Encoder used to protect the generated credential before storage.
      plaintextPassword - Plaintext password generated for the provisioning connection.
      Returns:
      The connection details stored for server-mode provisioning.
    • accessCode

      public String accessCode()
    • permission

      public Permission permission()
    • schemas

      public Set<AiidaSchema> schemas()
    • acknowledgementTopic

      @Nullable public String acknowledgementTopic()
    • inboundProvisioningType

      public InboundProvisioningType inboundProvisioningType()
      Returns the currently configured method for provisioning inbound data.
      Returns:
      The active inbound provisioning type.
    • provisioningConnection

      public MqttConnection provisioningConnection()
      Returns the MQTT connection configured for inbound provisioning.
      Returns:
      The configured provisioning MQTT connection.
      Throws:
      NullPointerException - If MQTT provisioning has not been configured.
    • provisioningTopicOrThrow

      public String provisioningTopicOrThrow()
      Returns the MQTT topic configured for inbound provisioning.
      Returns:
      The configured provisioning topic.
      Throws:
      NullPointerException - If an MQTT provisioning access-control entry has not been configured.
    • changeInboundProvisioningType

      public void changeInboundProvisioningType(InboundProvisioningType inboundProvisioningType)
      Changes the inbound provisioning type. Switching to a REST type also removes any stored MQTT provisioning connection and access-control entry.
      Parameters:
      inboundProvisioningType - Provisioning type to activate.
    • establishClientModeConnection

      public ProvisioningConnectionDto establishClientModeConnection(String host, String username, String password, String topic)
      Configures MQTT client-mode provisioning with externally supplied broker credentials and activates that mode.
      Parameters:
      host - MQTT broker host exposed to the publisher.
      username - MQTT username used for publishing.
      password - MQTT password used for publishing.
      topic - Topic to which inbound records are published.
      Returns:
      The connection details stored for client-mode provisioning.
    • createMqttUser

      protected void createMqttUser()
      Overrides:
      createMqttUser in class MqttDataSource
    • createAccessControlEntry

      protected void createAccessControlEntry()
      Description copied from class: MqttDataSource
      This method creates the Access Control Entry for a MQTT data source using the ID of the data source. This is the default behaviour of a MQTT data source.
      Overrides:
      createAccessControlEntry in class MqttDataSource