Dale LaBossiere created EDGENT-378:
--------------------------------------
Summary: Support an edgentControl for interacting with application
properties
Key: EDGENT-378
URL: https://issues.apache.org/jira/browse/EDGENT-378
Project: Edgent
Issue Type: New Feature
Components: Providers
Reporter: Dale LaBossiere
Use case: I want to be able to dynamically control the settings/behavior of my
Edgent application via the IoT hub by changing the values of its control
properties/preferences. E.g., I have an application preference that can be
used to control a
[Valve|https://github.com/apache/incubator-edgent/blob/master/api/topology/src/main/java/org/apache/edgent/topology/plumbing/Valve.java],
or a preference to control the period that my periodic-source is using, etc.
I want a standard Edgent service that exposes controlling my settings.
[IotProvider|https://github.com/apache/incubator-edgent/blob/master/providers/iot/src/main/java/org/apache/edgent/providers/iot/IotProvider.java]
already includes a java.util.Preferences service that my application can use
for its preferences. Preferences includes the ability to listen for change
events. So my application can listen for a change to its boolean
"xyz.valveOpen" preference and its listener can call {{Valve.setOpen(boolean)}}
to change its state.
I should be able to continue to use that throughout my application for its
preferences. But I don't think an application should be required to use it to
support the ability to receive requests to set or reset the value of some
"attribute".
I believe this new service should be controllable via an "edgentControl"
command request - see
[IotProvider|https://edgent.apache.org/javadoc/latest/org/apache/edgent/providers/iot/package-summary.html].
In the event that the IoT hub has existing infrastructure for device attributes
the new service should integrate with it.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)