Commit 7bcc147d1cfbd437ea666c4264edce8b4f32e78c

Authored by nickAS21
1 parent 3bace775

Lwm2m fix bug if model == null add log to thingsboard

@@ -186,6 +186,9 @@ public class DefaultLwM2mDownlinkMsgHandler extends LwM2MExecutorAwareService im @@ -186,6 +186,9 @@ public class DefaultLwM2mDownlinkMsgHandler extends LwM2MExecutorAwareService im
186 } 186 }
187 sendSimpleRequest(client, downlink, request.getTimeout(), callback); 187 sendSimpleRequest(client, downlink, request.getTimeout(), callback);
188 } 188 }
  189 + else {
  190 + callback.onValidationError(toString(request), "Resource " + request.getVersionedId() + " is not configured in the device profile!");
  191 + }
189 } 192 }
190 193
191 @Override 194 @Override
@@ -271,10 +274,15 @@ public class DefaultLwM2mDownlinkMsgHandler extends LwM2MExecutorAwareService im @@ -271,10 +274,15 @@ public class DefaultLwM2mDownlinkMsgHandler extends LwM2MExecutorAwareService im
271 **/ 274 **/
272 Collection<LwM2mResource> resources = client.getNewResourceForInstance(request.getVersionedId(), request.getValue(), modelProvider, this.converter); 275 Collection<LwM2mResource> resources = client.getNewResourceForInstance(request.getVersionedId(), request.getValue(), modelProvider, this.converter);
273 ResourceModel resourceModelWrite = client.getResourceModel(request.getVersionedId(), modelProvider); 276 ResourceModel resourceModelWrite = client.getResourceModel(request.getVersionedId(), modelProvider);
274 - ContentFormat contentFormat = request.getObjectContentFormat() != null ? request.getObjectContentFormat() : convertResourceModelTypeToContentFormat(client, resourceModelWrite.type);  
275 - WriteRequest downlink = new WriteRequest(WriteRequest.Mode.UPDATE, contentFormat, resultIds.getObjectId(),  
276 - resultIds.getObjectInstanceId(), resources);  
277 - sendSimpleRequest(client, downlink, request.getTimeout(), callback); 277 + if (resourceModelWrite != null) {
  278 + ContentFormat contentFormat = request.getObjectContentFormat() != null ? request.getObjectContentFormat() : convertResourceModelTypeToContentFormat(client, resourceModelWrite.type);
  279 + WriteRequest downlink = new WriteRequest(WriteRequest.Mode.UPDATE, contentFormat, resultIds.getObjectId(),
  280 + resultIds.getObjectInstanceId(), resources);
  281 + sendSimpleRequest(client, downlink, request.getTimeout(), callback);
  282 + }
  283 + else {
  284 + callback.onValidationError(toString(request), "Resource " + request.getVersionedId() + " is not configured in the device profile!");
  285 + }
278 } else if (resultIds.isObjectInstance()) { 286 } else if (resultIds.isObjectInstance()) {
279 /* 287 /*
280 * params = "{\"id\":0,\"resources\":[{\"id\":14,\"value\":\"+5\"},{\"id\":15,\"value\":\"+9\"}]}" 288 * params = "{\"id\":0,\"resources\":[{\"id\":14,\"value\":\"+5\"},{\"id\":15,\"value\":\"+9\"}]}"