Commit d2736610e523db5c44f80b101456af3aa5777d37

Authored by YevhenBondarenko
1 parent fa0e55f1

added removing registration for onDeviceDelete

... ... @@ -25,7 +25,6 @@ import org.eclipse.leshan.core.node.codec.DefaultLwM2mNodeEncoder;
25 25 import org.eclipse.leshan.server.californium.LeshanServer;
26 26 import org.eclipse.leshan.server.californium.LeshanServerBuilder;
27 27 import org.eclipse.leshan.server.californium.registration.CaliforniumRegistrationStore;
28   -import org.eclipse.leshan.server.model.LwM2mModelProvider;
29 28 import org.springframework.stereotype.Component;
30 29 import org.thingsboard.server.cache.ota.OtaPackageDataCache;
31 30 import org.thingsboard.server.common.data.DataConstants;
... ... @@ -33,7 +32,6 @@ import org.thingsboard.server.queue.util.TbLwM2mTransportComponent;
33 32 import org.thingsboard.server.transport.lwm2m.config.LwM2MTransportServerConfig;
34 33 import org.thingsboard.server.transport.lwm2m.secure.TbLwM2MAuthorizer;
35 34 import org.thingsboard.server.transport.lwm2m.secure.TbLwM2MDtlsCertificateVerifier;
36   -import org.thingsboard.server.transport.lwm2m.server.client.LwM2mClientContext;
37 35 import org.thingsboard.server.transport.lwm2m.server.store.TbSecurityStore;
38 36 import org.thingsboard.server.transport.lwm2m.server.uplink.DefaultLwM2MUplinkMsgHandler;
39 37 import org.thingsboard.server.transport.lwm2m.utils.LwM2mValueConverterImpl;
... ...
... ... @@ -28,14 +28,17 @@ import org.eclipse.leshan.core.node.LwM2mObjectInstance;
28 28 import org.eclipse.leshan.core.node.LwM2mPath;
29 29 import org.eclipse.leshan.core.node.LwM2mResource;
30 30 import org.eclipse.leshan.core.observation.Observation;
  31 +import org.eclipse.leshan.core.request.ExecuteRequest;
31 32 import org.eclipse.leshan.core.request.ObserveRequest;
32 33 import org.eclipse.leshan.core.request.ReadRequest;
33 34 import org.eclipse.leshan.core.request.WriteCompositeRequest;
34 35 import org.eclipse.leshan.core.request.WriteRequest;
  36 +import org.eclipse.leshan.core.response.ExecuteResponse;
35 37 import org.eclipse.leshan.core.response.ObserveResponse;
36 38 import org.eclipse.leshan.core.response.ReadCompositeResponse;
37 39 import org.eclipse.leshan.core.response.ReadResponse;
38 40 import org.eclipse.leshan.server.registration.Registration;
  41 +import org.eclipse.leshan.server.registration.RegistrationStore;
39 42 import org.springframework.context.annotation.Lazy;
40 43 import org.springframework.stereotype.Service;
41 44 import org.thingsboard.common.util.DonAsynchron;
... ... @@ -74,7 +77,6 @@ import org.thingsboard.server.transport.lwm2m.server.downlink.TbLwM2MCancelObser
74 77 import org.thingsboard.server.transport.lwm2m.server.downlink.TbLwM2MCancelObserveRequest;
75 78 import org.thingsboard.server.transport.lwm2m.server.downlink.TbLwM2MDiscoverCallback;
76 79 import org.thingsboard.server.transport.lwm2m.server.downlink.TbLwM2MDiscoverRequest;
77   -import org.thingsboard.server.transport.lwm2m.server.downlink.TbLwM2MExecuteCallback;
78 80 import org.thingsboard.server.transport.lwm2m.server.downlink.TbLwM2MExecuteRequest;
79 81 import org.thingsboard.server.transport.lwm2m.server.downlink.TbLwM2MLatchCallback;
80 82 import org.thingsboard.server.transport.lwm2m.server.downlink.TbLwM2MObserveCallback;
... ... @@ -147,6 +149,7 @@ public class DefaultLwM2MUplinkMsgHandler extends LwM2MExecutorAwareService impl
147 149 private final LwM2mClientContext clientContext;
148 150 private final LwM2mDownlinkMsgHandler defaultLwM2MDownlinkMsgHandler;
149 151 private final LwM2mVersionedModelProvider modelProvider;
  152 + private final RegistrationStore registrationStore;
150 153
151 154 public DefaultLwM2MUplinkMsgHandler(TransportService transportService,
152 155 LwM2MTransportServerConfig config,
... ... @@ -159,7 +162,8 @@ public class DefaultLwM2MUplinkMsgHandler extends LwM2MExecutorAwareService impl
159 162 @Lazy LwM2mDownlinkMsgHandler defaultLwM2MDownlinkMsgHandler,
160 163 LwM2mTransportContext context,
161 164 TbLwM2MDtlsSessionStore sessionStore,
162   - LwM2mVersionedModelProvider modelProvider) {
  165 + LwM2mVersionedModelProvider modelProvider,
  166 + RegistrationStore registrationStore) {
163 167 this.transportService = transportService;
164 168 this.sessionManager = sessionManager;
165 169 this.attributesService = attributesService;
... ... @@ -172,6 +176,7 @@ public class DefaultLwM2MUplinkMsgHandler extends LwM2MExecutorAwareService impl
172 176 this.context = context;
173 177 this.sessionStore = sessionStore;
174 178 this.modelProvider = modelProvider;
  179 + this.registrationStore = registrationStore;
175 180 }
176 181
177 182 @PostConstruct
... ... @@ -402,7 +407,20 @@ public class DefaultLwM2MUplinkMsgHandler extends LwM2MExecutorAwareService impl
402 407 public void onDeviceDelete(DeviceId deviceId) {
403 408 LwM2mClient client = clientContext.getClientByDeviceId(deviceId.getId());
404 409 TbLwM2MExecuteRequest request = TbLwM2MExecuteRequest.builder().versionedId(REBOOT_ID).timeout(clientContext.getRequestTimeout(client)).build();
405   - defaultLwM2MDownlinkMsgHandler.sendExecuteRequest(client, request, new TbLwM2MExecuteCallback(logService, client, REBOOT_ID));
  410 + defaultLwM2MDownlinkMsgHandler.sendExecuteRequest(client, request, new DownlinkRequestCallback<>() {
  411 + @Override
  412 + public void onSuccess(ExecuteRequest request, ExecuteResponse response) {
  413 + }
  414 +
  415 + @Override
  416 + public void onValidationError(String params, String msg) {
  417 + }
  418 +
  419 + @Override
  420 + public void onError(String params, Exception e) {
  421 + }
  422 + });
  423 + registrationStore.removeRegistration(client.getRegistration().getId());
406 424 doUnReg(client.getRegistration(), client);
407 425 }
408 426
... ...