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)