Browse Source

Added edge update config handler

pull/2436/head
Volodymyr Babak 6 years ago
parent
commit
7644aa4342
  1. 14
      application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeGrpcSession.java
  2. 3
      common/edge-api/src/main/java/org/thingsboard/edge/rpc/EdgeGrpcClient.java
  3. 5
      common/edge-api/src/main/proto/edge.proto

14
application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeGrpcSession.java

@ -83,6 +83,7 @@ import org.thingsboard.server.gen.edge.DeviceUpdateMsg;
import org.thingsboard.server.gen.edge.DownlinkMsg; import org.thingsboard.server.gen.edge.DownlinkMsg;
import org.thingsboard.server.gen.edge.DownlinkResponseMsg; import org.thingsboard.server.gen.edge.DownlinkResponseMsg;
import org.thingsboard.server.gen.edge.EdgeConfiguration; import org.thingsboard.server.gen.edge.EdgeConfiguration;
import org.thingsboard.server.gen.edge.EdgeUpdateMsg;
import org.thingsboard.server.gen.edge.EntityDataProto; import org.thingsboard.server.gen.edge.EntityDataProto;
import org.thingsboard.server.gen.edge.EntityViewUpdateMsg; import org.thingsboard.server.gen.edge.EntityViewUpdateMsg;
import org.thingsboard.server.gen.edge.RelationRequestMsg; import org.thingsboard.server.gen.edge.RelationRequestMsg;
@ -244,12 +245,11 @@ public final class EdgeGrpcSession implements Closeable {
void onConfigurationUpdate(Edge edge) { void onConfigurationUpdate(Edge edge) {
try { try {
this.edge = edge; this.edge = edge;
// TODO: voba - push edge configuration update to edge EdgeUpdateMsg edgeConfig = EdgeUpdateMsg.newBuilder()
// sendResponseMsg(org.thingsboard.server.gen.integration.ResponseMsg.newBuilder() .setConfiguration(constructEdgeConfigProto(edge)).build();
// .setIntegrationUpdateMsg(IntegrationUpdateMsg.newBuilder() outputStream.onNext(ResponseMsg.newBuilder()
// .setConfiguration(constructIntegrationConfigProto(configuration, defaultConverterProto, downLinkConverterProto)) .setEdgeUpdateMsg(edgeConfig)
// .build()) .build());
// .build());
} catch (Exception e) { } catch (Exception e) {
log.error("Failed to construct proto objects!", e); log.error("Failed to construct proto objects!", e);
} }
@ -903,7 +903,7 @@ public final class EdgeGrpcSession implements Closeable {
} }
} }
if (uplinkMsg.getDeviceRpcCallMsgList() != null && !uplinkMsg.getDeviceRpcCallMsgList().isEmpty()) { if (uplinkMsg.getDeviceRpcCallMsgList() != null && !uplinkMsg.getDeviceRpcCallMsgList().isEmpty()) {
for (DeviceRpcCallMsg deviceRpcCallMsg: uplinkMsg.getDeviceRpcCallMsgList()) { for (DeviceRpcCallMsg deviceRpcCallMsg : uplinkMsg.getDeviceRpcCallMsgList()) {
result.add(ctx.getDeviceProcessor().processDeviceRpcCallResponseMsg(edge.getTenantId(), deviceRpcCallMsg)); result.add(ctx.getDeviceProcessor().processDeviceRpcCallResponseMsg(edge.getTenantId(), deviceRpcCallMsg));
} }
} }

3
common/edge-api/src/main/java/org/thingsboard/edge/rpc/EdgeGrpcClient.java

@ -114,6 +114,9 @@ public class EdgeGrpcClient implements EdgeRpcClient {
} }
onError.accept(new EdgeConnectionException("Failed to establish the connection! Response code: " + connectResponseMsg.getResponseCode().name())); onError.accept(new EdgeConnectionException("Failed to establish the connection! Response code: " + connectResponseMsg.getResponseCode().name()));
} }
} else if (responseMsg.hasEdgeUpdateMsg()) {
log.debug("[{}] Edge update message received {}", edgeKey, responseMsg.getEdgeUpdateMsg());
onEdgeUpdate.accept(responseMsg.getEdgeUpdateMsg().getConfiguration());
} else if (responseMsg.hasUplinkResponseMsg()) { } else if (responseMsg.hasUplinkResponseMsg()) {
log.debug("[{}] Uplink response message received {}", edgeKey, responseMsg.getUplinkResponseMsg()); log.debug("[{}] Uplink response message received {}", edgeKey, responseMsg.getUplinkResponseMsg());
onUplinkResponse.accept(responseMsg.getUplinkResponseMsg()); onUplinkResponse.accept(responseMsg.getUplinkResponseMsg());

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

@ -44,6 +44,7 @@ message ResponseMsg {
ConnectResponseMsg connectResponseMsg = 1; ConnectResponseMsg connectResponseMsg = 1;
UplinkResponseMsg uplinkResponseMsg = 2; UplinkResponseMsg uplinkResponseMsg = 2;
DownlinkMsg downlinkMsg = 3; DownlinkMsg downlinkMsg = 3;
EdgeUpdateMsg edgeUpdateMsg = 4;
} }
enum RequestMsgType { enum RequestMsgType {
@ -52,6 +53,10 @@ enum RequestMsgType {
SYNC_REQUEST_RPC_MESSAGE = 2; SYNC_REQUEST_RPC_MESSAGE = 2;
} }
message EdgeUpdateMsg {
EdgeConfiguration configuration = 1;
}
message ConnectRequestMsg { message ConnectRequestMsg {
string edgeRoutingKey = 1; string edgeRoutingKey = 1;
string edgeSecret = 2; string edgeSecret = 2;

Loading…
Cancel
Save