Fix delete attributes cluster notification
This commit is contained in:
		
							parent
							
								
									26d1872442
								
							
						
					
					
						commit
						1298f6b130
					
				@ -222,7 +222,7 @@ public class DefaultSubscriptionManagerService extends TbApplicationEventListene
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    return subscriptionUpdate;
 | 
			
		||||
                });
 | 
			
		||||
                }, true);
 | 
			
		||||
        if (entityId.getEntityType() == EntityType.DEVICE) {
 | 
			
		||||
            updateDeviceInactivityTimeout(tenantId, entityId, ts);
 | 
			
		||||
        }
 | 
			
		||||
@ -256,7 +256,7 @@ public class DefaultSubscriptionManagerService extends TbApplicationEventListene
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    return subscriptionUpdate;
 | 
			
		||||
                });
 | 
			
		||||
                }, true);
 | 
			
		||||
        if (entityId.getEntityType() == EntityType.DEVICE) {
 | 
			
		||||
            if (TbAttributeSubscriptionScope.SERVER_SCOPE.name().equalsIgnoreCase(scope)) {
 | 
			
		||||
                updateDeviceInactivityTimeout(tenantId, entityId, attributes);
 | 
			
		||||
@ -333,14 +333,15 @@ public class DefaultSubscriptionManagerService extends TbApplicationEventListene
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    return subscriptionUpdate;
 | 
			
		||||
                });
 | 
			
		||||
                }, false);
 | 
			
		||||
        callback.onSuccess();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private <T extends TbSubscription> void onLocalTelemetrySubUpdate(EntityId entityId,
 | 
			
		||||
                                                                      Function<TbSubscription, T> castFunction,
 | 
			
		||||
                                                                      Predicate<T> filterFunction,
 | 
			
		||||
                                                                      Function<T, List<TsKvEntry>> processFunction) {
 | 
			
		||||
                                                                      Function<T, List<TsKvEntry>> processFunction,
 | 
			
		||||
                                                                      boolean ignoreEmptyUpdates) {
 | 
			
		||||
        Set<TbSubscription> entitySubscriptions = subscriptionsByEntityId.get(entityId);
 | 
			
		||||
        if (entitySubscriptions != null) {
 | 
			
		||||
            entitySubscriptions.stream().map(castFunction).filter(Objects::nonNull).filter(filterFunction).forEach(s -> {
 | 
			
		||||
@ -351,7 +352,7 @@ public class DefaultSubscriptionManagerService extends TbApplicationEventListene
 | 
			
		||||
                        localSubscriptionService.onSubscriptionUpdate(s.getSessionId(), update, TbCallback.EMPTY);
 | 
			
		||||
                    } else {
 | 
			
		||||
                        TopicPartitionInfo tpi = partitionService.getNotificationsTopic(ServiceType.TB_CORE, s.getServiceId());
 | 
			
		||||
                        toCoreNotificationsProducer.send(tpi, toProto(s, subscriptionUpdate), null);
 | 
			
		||||
                        toCoreNotificationsProducer.send(tpi, toProto(s, subscriptionUpdate, ignoreEmptyUpdates), null);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
@ -467,6 +468,10 @@ public class DefaultSubscriptionManagerService extends TbApplicationEventListene
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private TbProtoQueueMsg<ToCoreNotificationMsg> toProto(TbSubscription subscription, List<TsKvEntry> updates) {
 | 
			
		||||
        return toProto(subscription, updates, true);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private TbProtoQueueMsg<ToCoreNotificationMsg> toProto(TbSubscription subscription, List<TsKvEntry> updates, boolean ignoreEmptyUpdates) {
 | 
			
		||||
        TbSubscriptionUpdateProto.Builder builder = TbSubscriptionUpdateProto.newBuilder();
 | 
			
		||||
 | 
			
		||||
        builder.setSessionId(subscription.getSessionId());
 | 
			
		||||
@ -494,7 +499,7 @@ public class DefaultSubscriptionManagerService extends TbApplicationEventListene
 | 
			
		||||
                    dataBuilder.addValue(strVal);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            if (hasData) {
 | 
			
		||||
            if (!ignoreEmptyUpdates || hasData) {
 | 
			
		||||
                builder.addData(dataBuilder.build());
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user