Browse Source

Device credential value can be null

pull/5038/head
Volodymyr Babak 5 years ago
parent
commit
2558b2ecda
  1. 2
      application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceMsgConstructor.java
  2. 4
      application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/DeviceEdgeProcessor.java
  3. 2
      common/edge-api/src/main/proto/edge.proto

2
application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceMsgConstructor.java

@ -77,7 +77,7 @@ public class DeviceMsgConstructor {
.setCredentialsId(deviceCredentials.getCredentialsId()); .setCredentialsId(deviceCredentials.getCredentialsId());
} }
if (deviceCredentials.getCredentialsValue() != null) { if (deviceCredentials.getCredentialsValue() != null) {
builder.setCredentialsValue(deviceCredentials.getCredentialsValue()); builder.setCredentialsValue(getStringValue(deviceCredentials.getCredentialsValue()));
} }
return builder.build(); return builder.build();
} }

4
application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/DeviceEdgeProcessor.java

@ -144,7 +144,9 @@ public class DeviceEdgeProcessor extends BaseEdgeProcessor {
DeviceCredentials deviceCredentials = deviceCredentialsService.findDeviceCredentialsByDeviceId(tenantId, device.getId()); DeviceCredentials deviceCredentials = deviceCredentialsService.findDeviceCredentialsByDeviceId(tenantId, device.getId());
deviceCredentials.setCredentialsType(DeviceCredentialsType.valueOf(deviceCredentialsUpdateMsg.getCredentialsType())); deviceCredentials.setCredentialsType(DeviceCredentialsType.valueOf(deviceCredentialsUpdateMsg.getCredentialsType()));
deviceCredentials.setCredentialsId(deviceCredentialsUpdateMsg.getCredentialsId()); deviceCredentials.setCredentialsId(deviceCredentialsUpdateMsg.getCredentialsId());
deviceCredentials.setCredentialsValue(deviceCredentialsUpdateMsg.getCredentialsValue()); if (deviceCredentialsUpdateMsg.hasCredentialsValue()) {
deviceCredentials.setCredentialsValue(deviceCredentialsUpdateMsg.getCredentialsValue().getValue());
}
deviceCredentialsService.updateDeviceCredentials(tenantId, deviceCredentials); deviceCredentialsService.updateDeviceCredentials(tenantId, deviceCredentials);
} catch (Exception e) { } catch (Exception e) {
log.error("Can't update device credentials for device [{}], deviceCredentialsUpdateMsg [{}]", device.getName(), deviceCredentialsUpdateMsg, e); log.error("Can't update device credentials for device [{}], deviceCredentialsUpdateMsg [{}]", device.getName(), deviceCredentialsUpdateMsg, e);

2
common/edge-api/src/main/proto/edge.proto

@ -219,7 +219,7 @@ message DeviceCredentialsUpdateMsg {
int64 deviceIdLSB = 2; int64 deviceIdLSB = 2;
string credentialsType = 3; string credentialsType = 3;
string credentialsId = 4; string credentialsId = 4;
string credentialsValue = 5; google.protobuf.StringValue credentialsValue = 5;
} }
message AssetUpdateMsg { message AssetUpdateMsg {

Loading…
Cancel
Save