Merge pull request #9091 from volodymyr-babak/edge-json-attr-fix
Edge Attribute Request processing - added support of JSON attributes
This commit is contained in:
commit
49aa60a934
@ -167,6 +167,8 @@ public class DefaultEdgeRequestsService implements EdgeRequestsService {
|
||||
attributes.put(attr.getKey(), attr.getDoubleValue().get());
|
||||
} else if (attr.getDataType() == DataType.LONG && attr.getLongValue().isPresent()) {
|
||||
attributes.put(attr.getKey(), attr.getLongValue().get());
|
||||
} else if (attr.getDataType() == DataType.JSON && attr.getJsonValue().isPresent()) {
|
||||
attributes.set(attr.getKey(), JacksonUtil.toJsonNode(attr.getJsonValue().get()));
|
||||
} else {
|
||||
attributes.put(attr.getKey(), attr.getValueAsString());
|
||||
}
|
||||
|
||||
@ -384,8 +384,10 @@ public class DeviceEdgeTest extends AbstractEdgeTest {
|
||||
"inactivityTimeout", "3600000");
|
||||
sendAttributesRequestAndVerify(device, DataConstants.SHARED_SCOPE, "{\"key2\":\"value2\"}",
|
||||
"key2", "value2");
|
||||
sendAttributesRequestAndVerify(device, DataConstants.SERVER_SCOPE, "{\"jsonKey\":{\"nestedJsonKey\":\"nestedJsonValue\"}}",
|
||||
"jsonKey", "{\"nestedJsonKey\":\"nestedJsonValue\"}");
|
||||
|
||||
doDelete("/api/plugins/telemetry/DEVICE/" + device.getUuidId() + "/" + DataConstants.SERVER_SCOPE, "keys", "key1, inactivityTimeout");
|
||||
doDelete("/api/plugins/telemetry/DEVICE/" + device.getUuidId() + "/" + DataConstants.SERVER_SCOPE, "keys", "key1, inactivityTimeout, jsonKey");
|
||||
doDelete("/api/plugins/telemetry/DEVICE/" + device.getUuidId() + "/" + DataConstants.SHARED_SCOPE, "keys", "key2");
|
||||
}
|
||||
|
||||
@ -650,6 +652,9 @@ public class DeviceEdgeTest extends AbstractEdgeTest {
|
||||
case LONG_V:
|
||||
Assert.assertEquals(Long.parseLong(expectedValue), keyValueProto.getLongV());
|
||||
break;
|
||||
case JSON_V:
|
||||
Assert.assertEquals(JacksonUtil.toJsonNode(expectedValue), JacksonUtil.toJsonNode(keyValueProto.getJsonV()));
|
||||
break;
|
||||
default:
|
||||
Assert.fail("Unexpected data type: " + keyValueProto.getType());
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user