Commit 7bcc147d1cfbd437ea666c4264edce8b4f32e78c
1 parent
3bace775
Lwm2m fix bug if model == null add log to thingsboard
Showing
1 changed file
with
12 additions
and
4 deletions
... | ... | @@ -186,6 +186,9 @@ public class DefaultLwM2mDownlinkMsgHandler extends LwM2MExecutorAwareService im |
186 | 186 | } |
187 | 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 | 194 | @Override |
... | ... | @@ -271,10 +274,15 @@ public class DefaultLwM2mDownlinkMsgHandler extends LwM2MExecutorAwareService im |
271 | 274 | **/ |
272 | 275 | Collection<LwM2mResource> resources = client.getNewResourceForInstance(request.getVersionedId(), request.getValue(), modelProvider, this.converter); |
273 | 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 | 286 | } else if (resultIds.isObjectInstance()) { |
279 | 287 | /* |
280 | 288 | * params = "{\"id\":0,\"resources\":[{\"id\":14,\"value\":\"+5\"},{\"id\":15,\"value\":\"+9\"}]}" | ... | ... |