From 93e8bd79bca69be17c51f3a42afd1b789c7005ad Mon Sep 17 00:00:00 2001 From: paul121 Date: Thu, 8 Jul 2021 13:51:22 -0700 Subject: [PATCH] Use the data stream entity name in name/value pairs. --- .../core/data_stream/src/Traits/DataStreamSqlStorage.php | 7 ++++--- .../data_stream/tests/src/Kernel/DataStreamApiTest.php | 5 +++-- .../tests/src/Traits/DataStreamCreationTrait.php | 3 ++- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/modules/core/data_stream/src/Traits/DataStreamSqlStorage.php b/modules/core/data_stream/src/Traits/DataStreamSqlStorage.php index 90ebcff5..e96e6a06 100644 --- a/modules/core/data_stream/src/Traits/DataStreamSqlStorage.php +++ b/modules/core/data_stream/src/Traits/DataStreamSqlStorage.php @@ -48,6 +48,7 @@ trait DataStreamSqlStorage { $result = $query->execute(); // Build an array of data. + $name = $stream->label(); $data = []; foreach ($result as $row) { @@ -63,7 +64,7 @@ trait DataStreamSqlStorage { // Create a data object for the sensor value. $point = new \stdClass(); $point->timestamp = $row->timestamp; - $point->value = $value; + $point->{$name} = $value; $data[] = $point; } @@ -115,8 +116,8 @@ trait DataStreamSqlStorage { // Iterate over the JSON properties. foreach ($data as $key => $value) { - // If the key is "timestamp", skip to the next property in the JSON. - if ($key == 'timestamp') { + // If the key does not match the data stream name, skip it. + if ($key !== $stream->label()) { continue; } diff --git a/modules/core/data_stream/tests/src/Kernel/DataStreamApiTest.php b/modules/core/data_stream/tests/src/Kernel/DataStreamApiTest.php index 354cecba..d5a7ee2d 100644 --- a/modules/core/data_stream/tests/src/Kernel/DataStreamApiTest.php +++ b/modules/core/data_stream/tests/src/Kernel/DataStreamApiTest.php @@ -145,10 +145,11 @@ class DataStreamApiTest extends DataStreamTestBase { // Test data. $timestamp = $this->startTime - 86400; - $test_data = ['timestamp' => $timestamp, 'value' => 200]; + $name = $this->dataStream->label(); + $test_data = ['timestamp' => $timestamp, $name => 200]; $test_point = new \stdClass(); $test_point->timestamp = $test_data['timestamp']; - $test_point->value = $test_data['value']; + $test_point->{$name} = 200; // Make a request. $request = Request::create($uri, 'POST', [], [], [], [], Json::encode($test_data)); diff --git a/modules/core/data_stream/tests/src/Traits/DataStreamCreationTrait.php b/modules/core/data_stream/tests/src/Traits/DataStreamCreationTrait.php index 60cb94a7..e18e6168 100644 --- a/modules/core/data_stream/tests/src/Traits/DataStreamCreationTrait.php +++ b/modules/core/data_stream/tests/src/Traits/DataStreamCreationTrait.php @@ -58,11 +58,12 @@ trait DataStreamCreationTrait { $data = []; + $name = $stream->label(); $value = 0; for ($x = 0; $x < $count; $x++) { $data[] = [ 'timestamp' => $start_time, - 'value' => $value, + $name => $value, ]; $start_time += 86400; $value += 1;