Add sequenceNumber to notification subscription updates
This commit is contained in:
		
							parent
							
								
									fb92aef8cb
								
							
						
					
					
						commit
						e52782ee0e
					
				@ -21,6 +21,7 @@ import org.thingsboard.server.common.data.id.EntityId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
 | 
			
		||||
import java.util.Objects;
 | 
			
		||||
import java.util.concurrent.atomic.AtomicInteger;
 | 
			
		||||
import java.util.function.BiConsumer;
 | 
			
		||||
 | 
			
		||||
@Data
 | 
			
		||||
@ -35,6 +36,8 @@ public abstract class TbSubscription<T> {
 | 
			
		||||
    private final TbSubscriptionType type;
 | 
			
		||||
    private final BiConsumer<TbSubscription<T>, T> updateProcessor;
 | 
			
		||||
 | 
			
		||||
    protected final AtomicInteger sequence = new AtomicInteger();
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public boolean equals(Object o) {
 | 
			
		||||
        if (this == o) return true;
 | 
			
		||||
 | 
			
		||||
@ -28,14 +28,17 @@ import org.thingsboard.server.service.ws.telemetry.cmd.v2.CmdUpdateType;
 | 
			
		||||
public class UnreadNotificationsCountUpdate extends CmdUpdate {
 | 
			
		||||
 | 
			
		||||
    private final int totalUnreadCount;
 | 
			
		||||
    private final int sequenceNumber;
 | 
			
		||||
 | 
			
		||||
    @Builder
 | 
			
		||||
    @JsonCreator
 | 
			
		||||
    public UnreadNotificationsCountUpdate(@JsonProperty("cmdId") int cmdId, @JsonProperty("errorCode") int errorCode,
 | 
			
		||||
                                          @JsonProperty("errorMsg") String errorMsg,
 | 
			
		||||
                                          @JsonProperty("totalUnreadCount") int totalUnreadCount) {
 | 
			
		||||
                                          @JsonProperty("totalUnreadCount") int totalUnreadCount,
 | 
			
		||||
                                          @JsonProperty("sequenceNumber") int sequenceNumber) {
 | 
			
		||||
        super(cmdId, errorCode, errorMsg);
 | 
			
		||||
        this.totalUnreadCount = totalUnreadCount;
 | 
			
		||||
        this.sequenceNumber = sequenceNumber;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -33,6 +33,7 @@ public class UnreadNotificationsUpdate extends CmdUpdate {
 | 
			
		||||
    private final Collection<Notification> notifications;
 | 
			
		||||
    private final Notification update;
 | 
			
		||||
    private final int totalUnreadCount;
 | 
			
		||||
    private final int sequenceNumber;
 | 
			
		||||
 | 
			
		||||
    @Builder
 | 
			
		||||
    @JsonCreator
 | 
			
		||||
@ -40,11 +41,13 @@ public class UnreadNotificationsUpdate extends CmdUpdate {
 | 
			
		||||
                                     @JsonProperty("errorMsg") String errorMsg,
 | 
			
		||||
                                     @JsonProperty("notifications") Collection<Notification> notifications,
 | 
			
		||||
                                     @JsonProperty("update") Notification update,
 | 
			
		||||
                                     @JsonProperty("totalUnreadCount") int totalUnreadCount) {
 | 
			
		||||
                                     @JsonProperty("totalUnreadCount") int totalUnreadCount,
 | 
			
		||||
                                     @JsonProperty("sequenceNumber") int sequenceNumber) {
 | 
			
		||||
        super(cmdId, errorCode, errorMsg);
 | 
			
		||||
        this.notifications = notifications;
 | 
			
		||||
        this.update = update;
 | 
			
		||||
        this.totalUnreadCount = totalUnreadCount;
 | 
			
		||||
        this.sequenceNumber = sequenceNumber;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -41,6 +41,7 @@ public class NotificationsCountSubscription extends TbSubscription<Notifications
 | 
			
		||||
        return UnreadNotificationsCountUpdate.builder()
 | 
			
		||||
                .cmdId(getSubscriptionId())
 | 
			
		||||
                .totalUnreadCount(unreadCounter.get())
 | 
			
		||||
                .sequenceNumber(sequence.incrementAndGet())
 | 
			
		||||
                .build();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -54,6 +54,7 @@ public class NotificationsSubscription extends TbSubscription<NotificationsSubsc
 | 
			
		||||
                .cmdId(getSubscriptionId())
 | 
			
		||||
                .notifications(getSortedNotifications())
 | 
			
		||||
                .totalUnreadCount(totalUnreadCounter.get())
 | 
			
		||||
                .sequenceNumber(sequence.incrementAndGet())
 | 
			
		||||
                .build();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -68,6 +69,7 @@ public class NotificationsSubscription extends TbSubscription<NotificationsSubsc
 | 
			
		||||
                .cmdId(getSubscriptionId())
 | 
			
		||||
                .update(notification)
 | 
			
		||||
                .totalUnreadCount(totalUnreadCounter.get())
 | 
			
		||||
                .sequenceNumber(sequence.incrementAndGet())
 | 
			
		||||
                .build();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -75,6 +77,7 @@ public class NotificationsSubscription extends TbSubscription<NotificationsSubsc
 | 
			
		||||
        return UnreadNotificationsUpdate.builder()
 | 
			
		||||
                .cmdId(getSubscriptionId())
 | 
			
		||||
                .totalUnreadCount(totalUnreadCounter.get())
 | 
			
		||||
                .sequenceNumber(sequence.incrementAndGet())
 | 
			
		||||
                .build();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user