From b35218dda9d39ff2ff10ff75c71d61c9f25b3273 Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Fri, 30 Jun 2023 10:06:32 +0200 Subject: [PATCH 1/4] remove expression language --- lib/model/Device.js | 1 - lib/model/Group.js | 1 - lib/services/common/iotManagerService.js | 1 - lib/services/devices/deviceRegistryMongoDB.js | 19 +++++++++---------- lib/services/devices/deviceService.js | 3 --- lib/services/devices/devices-NGSI-v2.js | 3 --- .../northBound/deviceProvisioningServer.js | 3 --- lib/templates/createDevice.json | 4 ---- lib/templates/createDeviceLax.json | 4 ---- lib/templates/deviceGroup.json | 6 +----- .../provisionMinimumDevice4.json | 1 - .../ngsiv2/plugins/multientity-plugin_test.js | 1 - .../device-provisioning-api_test.js | 1 - 13 files changed, 10 insertions(+), 38 deletions(-) diff --git a/lib/model/Device.js b/lib/model/Device.js index 79b7f55fe..9c8f97060 100644 --- a/lib/model/Device.js +++ b/lib/model/Device.js @@ -51,7 +51,6 @@ const Device = new Schema({ creationDate: { type: Date, default: Date.now }, internalAttributes: Object, autoprovision: Boolean, - expressionLanguage: String, explicitAttrs: Group.ExplicitAttrsType, ngsiVersion: String }); diff --git a/lib/model/Group.js b/lib/model/Group.js index 8b158c4d7..5ac6a83a8 100644 --- a/lib/model/Group.js +++ b/lib/model/Group.js @@ -59,7 +59,6 @@ const Group = new Schema({ attributes: Array, internalAttributes: Array, autoprovision: Boolean, - expressionLanguage: String, explicitAttrs: ExplicitAttrsType, defaultEntityNameConjunction: String, ngsiVersion: String, diff --git a/lib/services/common/iotManagerService.js b/lib/services/common/iotManagerService.js index 8abd9c4f7..e3f0e17f1 100644 --- a/lib/services/common/iotManagerService.js +++ b/lib/services/common/iotManagerService.js @@ -58,7 +58,6 @@ function register(callback) { timestamp: service.timestamp, autoprovision: service.autoprovision, explicitAttrs: service.explicitAttrs, - expressionLanguage: service.expressionLanguage, defaultEntityNameConjunction: service.defaultEntityNameConjunction, ngsiVersion: service.ngsiVersion, entityNameExp: service.entityNameExp diff --git a/lib/services/devices/deviceRegistryMongoDB.js b/lib/services/devices/deviceRegistryMongoDB.js index 4aa2d5d21..32ee4f031 100644 --- a/lib/services/devices/deviceRegistryMongoDB.js +++ b/lib/services/devices/deviceRegistryMongoDB.js @@ -55,7 +55,6 @@ const attributeList = [ 'polling', 'timestamp', 'explicitAttrs', - 'expressionLanguage', 'ngsiVersion' ]; @@ -176,15 +175,15 @@ function listDevices(type, service, subservice, limit, offset, callback) { query.skip(parseInt(offset, 10)); } - async.series([query.exec.bind(query), Device.model.countDocuments.bind(Device.model, condition)], function ( - error, - results - ) { - callback(error, { - count: results[1], - devices: results[0] - }); - }); + async.series( + [query.exec.bind(query), Device.model.countDocuments.bind(Device.model, condition)], + function (error, results) { + callback(error, { + count: results[1], + devices: results[0] + }); + } + ); } function findOneInMongoDB(queryParams, id, callback) { diff --git a/lib/services/devices/deviceService.js b/lib/services/devices/deviceService.js index 9ed2f80ee..18a5de201 100644 --- a/lib/services/devices/deviceService.js +++ b/lib/services/devices/deviceService.js @@ -178,9 +178,6 @@ function mergeDeviceWithConfiguration(fields, defaults, deviceData, configuratio if (configuration && configuration.ngsiVersion) { deviceData.ngsiVersion = configuration.ngsiVersion; } - if (configuration && configuration.expressionLanguage && deviceData.expressionLanguage === undefined) { - deviceData.expressionLanguage = configuration.expressionLanguage; - } if (configuration && configuration.explicitAttrs !== undefined && deviceData.explicitAttrs === undefined) { deviceData.explicitAttrs = configuration.explicitAttrs; } diff --git a/lib/services/devices/devices-NGSI-v2.js b/lib/services/devices/devices-NGSI-v2.js index e7c862973..fa534b530 100644 --- a/lib/services/devices/devices-NGSI-v2.js +++ b/lib/services/devices/devices-NGSI-v2.js @@ -356,9 +356,6 @@ function updateRegisterDeviceNgsi2(deviceObj, entityInfoUpdated, callback) { if ('explicitAttrs' in newDevice && newDevice.explicitAttrs !== undefined) { oldDevice.explicitAttrs = newDevice.explicitAttrs; } - if ('expressionLanguage' in newDevice && newDevice.expressionLanguage !== undefined) { - oldDevice.expressionLanguage = newDevice.expressionLanguage; - } if ('apikey' in newDevice && newDevice.apikey !== undefined) { oldDevice.explicitAttrs = newDevice.apikey; } diff --git a/lib/services/northBound/deviceProvisioningServer.js b/lib/services/northBound/deviceProvisioningServer.js index 3e995218a..4003d6dd8 100644 --- a/lib/services/northBound/deviceProvisioningServer.js +++ b/lib/services/northBound/deviceProvisioningServer.js @@ -62,7 +62,6 @@ const provisioningAPITranslation = { static_attributes: 'staticAttributes', autoprovision: 'autoprovision', explicitAttrs: 'explicitAttrs', - expressionLanguage: 'expressionLanguage', ngsiVersion: 'ngsiVersion', entityNameExp: 'entityNameExp' }; @@ -142,7 +141,6 @@ function handleProvision(req, res, next) { internalId: null, autoprovision: body.autoprovision, explicitAttrs: body.explicitAttrs, - expressionLanguage: body.expressionLanguage, ngsiVersion: body.ngsiVersion }); } @@ -219,7 +217,6 @@ function toProvisioningAPIFormat(device) { internal_attributes: device.internalAttributes, protocol: device.protocol, autoprovision: device.autoprovision, - expressionLanguage: device.expressionLanguage, explicitAttrs: device.explicitAttrs, ngsiVersion: device.ngsiVersion }; diff --git a/lib/templates/createDevice.json b/lib/templates/createDevice.json index b652db6ec..0fdd2ecfa 100644 --- a/lib/templates/createDevice.json +++ b/lib/templates/createDevice.json @@ -36,10 +36,6 @@ "description": "Transport protocol used by the platform to communicate with the device", "type": "string" }, - "expressionLanguage": { - "description": "Expression language used to apply expressions for this device", - "type": "string" - }, "explicitAttrs": { "description": "Flag about only provisioned attributes will be processed to Context Broker" }, diff --git a/lib/templates/createDeviceLax.json b/lib/templates/createDeviceLax.json index c681d3fd9..44e9b6b9a 100644 --- a/lib/templates/createDeviceLax.json +++ b/lib/templates/createDeviceLax.json @@ -36,10 +36,6 @@ "description": "Transport protocol used by the platform to communicate with the device", "type": "string" }, - "expressionLanguage": { - "description": "Expression language used to apply expressions for this device", - "type": "string" - }, "explicitAttrs": { "description": "Flag about only provisioned attributes will be processed to Context Broker" }, diff --git a/lib/templates/deviceGroup.json b/lib/templates/deviceGroup.json index f5788d119..cfdbcc3fd 100644 --- a/lib/templates/deviceGroup.json +++ b/lib/templates/deviceGroup.json @@ -37,10 +37,6 @@ "description": "list of lazy attributes of the devices", "type": "array" }, - "expressionLanguage": { - "description": "Expression language used to for the group of devices", - "type": "string" - }, "ngsiVersion": { "description": "NGSI Interface for this group of devices", "type": "string" @@ -81,4 +77,4 @@ } } } -} \ No newline at end of file +} diff --git a/test/unit/examples/deviceProvisioningRequests/provisionMinimumDevice4.json b/test/unit/examples/deviceProvisioningRequests/provisionMinimumDevice4.json index 7bb1ee7cd..23f6026f7 100644 --- a/test/unit/examples/deviceProvisioningRequests/provisionMinimumDevice4.json +++ b/test/unit/examples/deviceProvisioningRequests/provisionMinimumDevice4.json @@ -3,7 +3,6 @@ { "device_id": "MicroLight1", "protocol": "GENERIC_PROTO", - "expressionLanguage": "jexl", "attributes": [ { "name": "attr_name", diff --git a/test/unit/ngsiv2/plugins/multientity-plugin_test.js b/test/unit/ngsiv2/plugins/multientity-plugin_test.js index 718b7d339..cea20c32c 100644 --- a/test/unit/ngsiv2/plugins/multientity-plugin_test.js +++ b/test/unit/ngsiv2/plugins/multientity-plugin_test.js @@ -508,7 +508,6 @@ const iotAgentConfig = { }, GPS1: { commands: [], - expressionLanguage: 'jexl', type: 'GPS', lazy: [], active: [ diff --git a/test/unit/ngsiv2/provisioning/device-provisioning-api_test.js b/test/unit/ngsiv2/provisioning/device-provisioning-api_test.js index 48fd1e46a..b05e919b6 100644 --- a/test/unit/ngsiv2/provisioning/device-provisioning-api_test.js +++ b/test/unit/ngsiv2/provisioning/device-provisioning-api_test.js @@ -727,7 +727,6 @@ describe('NGSI-v2 - Device provisioning API: Provision devices', function () { /*jshint camelcase: false */ entity_type: 'MicroLights', entityNameExp: "id + '__' + suffix_st", - expressionLanguage: 'jexl', cbHost: 'http://192.168.1.1:1026', static_attributes: [ { From 67562ae3b9157ff9909c182a917c45976823d35c Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Fri, 30 Jun 2023 10:07:55 +0200 Subject: [PATCH 2/4] update CNR --- CHANGES_NEXT_RELEASE | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES_NEXT_RELEASE b/CHANGES_NEXT_RELEASE index 7d1e6c8ba..e4c878c44 100644 --- a/CHANGES_NEXT_RELEASE +++ b/CHANGES_NEXT_RELEASE @@ -1,3 +1,4 @@ +- Remove expression language (#1384) - Add: allow update timestamp and other config fields of device - Fix: use 'options=upsert' when update ngsiv2 CB entities and appendMode is enabled (#956) - Fix: do not propagate group config (timestamp and explicitAttrs) to autoprovisioned devices (at database level) (#1377) From ee9ce4be9e546472747b38f524867c7107f34d1d Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Fri, 30 Jun 2023 13:39:24 +0200 Subject: [PATCH 3/4] Update CHANGES_NEXT_RELEASE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Fermín Galán Márquez --- CHANGES_NEXT_RELEASE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES_NEXT_RELEASE b/CHANGES_NEXT_RELEASE index e4c878c44..6e3c3903a 100644 --- a/CHANGES_NEXT_RELEASE +++ b/CHANGES_NEXT_RELEASE @@ -1,4 +1,4 @@ -- Remove expression language (#1384) +- Remove expressionLanguage field (as it it not longer needed, due to only one expression language is supported, after the removal of legacy expressions in 3.2.0) (#1384) - Add: allow update timestamp and other config fields of device - Fix: use 'options=upsert' when update ngsiv2 CB entities and appendMode is enabled (#956) - Fix: do not propagate group config (timestamp and explicitAttrs) to autoprovisioned devices (at database level) (#1377) From 2fb0a1d8f7571e997bfb06d4568634f4b93bfb36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ferm=C3=ADn=20Gal=C3=A1n=20M=C3=A1rquez?= Date: Fri, 30 Jun 2023 15:35:35 +0200 Subject: [PATCH 4/4] Update CHANGES_NEXT_RELEASE --- CHANGES_NEXT_RELEASE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES_NEXT_RELEASE b/CHANGES_NEXT_RELEASE index 6e3c3903a..a679026f3 100644 --- a/CHANGES_NEXT_RELEASE +++ b/CHANGES_NEXT_RELEASE @@ -1,4 +1,4 @@ -- Remove expressionLanguage field (as it it not longer needed, due to only one expression language is supported, after the removal of legacy expressions in 3.2.0) (#1384) +- Remove: expressionLanguage field (as it it not longer needed, due to only one expression language is supported, after the removal of legacy expressions in 3.2.0) (#1384) - Add: allow update timestamp and other config fields of device - Fix: use 'options=upsert' when update ngsiv2 CB entities and appendMode is enabled (#956) - Fix: do not propagate group config (timestamp and explicitAttrs) to autoprovisioned devices (at database level) (#1377)