From d0f391f5397dd76628581e0623218e10ab759b79 Mon Sep 17 00:00:00 2001 From: "fabio.formosa" Date: Sun, 3 May 2020 12:03:21 +0200 Subject: [PATCH] #8 clean up --- .../app/services/logs.websocket.service.ts | 3 +- .../services/progress.websocket.service.ts | 3 +- .../src/app/services/websocket.service.ts | 36 ++++++------------- 3 files changed, 12 insertions(+), 30 deletions(-) diff --git a/quartz-manager-frontend/src/app/services/logs.websocket.service.ts b/quartz-manager-frontend/src/app/services/logs.websocket.service.ts index d7cceb9..ce58bfe 100644 --- a/quartz-manager-frontend/src/app/services/logs.websocket.service.ts +++ b/quartz-manager-frontend/src/app/services/logs.websocket.service.ts @@ -2,8 +2,7 @@ import { Injectable, OnInit } from '@angular/core'; import { WebsocketService } from '.'; import { SocketOption } from '../model/SocketOption.model'; -Injectable() -@Injectable() +@Injectable() export class LogsWebsocketService extends WebsocketService { constructor(){ diff --git a/quartz-manager-frontend/src/app/services/progress.websocket.service.ts b/quartz-manager-frontend/src/app/services/progress.websocket.service.ts index cb668fa..abe41fe 100644 --- a/quartz-manager-frontend/src/app/services/progress.websocket.service.ts +++ b/quartz-manager-frontend/src/app/services/progress.websocket.service.ts @@ -2,8 +2,7 @@ import { Injectable, OnInit } from '@angular/core'; import { WebsocketService } from '.'; import { SocketOption } from '../model/SocketOption.model'; -Injectable() -@Injectable() +@Injectable() export class ProgressWebsocketService extends WebsocketService { constructor(){ diff --git a/quartz-manager-frontend/src/app/services/websocket.service.ts b/quartz-manager-frontend/src/app/services/websocket.service.ts index b8ffdf3..f4a213b 100644 --- a/quartz-manager-frontend/src/app/services/websocket.service.ts +++ b/quartz-manager-frontend/src/app/services/websocket.service.ts @@ -1,9 +1,4 @@ -import { Injectable, OnInit } from '@angular/core'; - import { Observable } from 'rxjs'; - -import { ApiService } from './api.service'; - import { SocketEndpoint } from '../model/SocketEndpoint.model' @@ -38,10 +33,7 @@ export class WebsocketService { this.observableStompConnection = new Observable((observer) => { const subscriberIndex = this.subscriberIndex++; this.addToSubscribers({ index: subscriberIndex, observer }); - return () => { - const index = subscriberIndex; - this.removeFromSubscribers(index); - }; + return () => this.removeFromSubscribers(subscriberIndex); }); } @@ -50,13 +42,9 @@ export class WebsocketService { } removeFromSubscribers = (index) => { - let subscribeFromIndex; - for (let i=0 ; i < this.subscribers.length; i++) - if(i === index){ - subscribeFromIndex = this.subscribers[i]; - this.subscribers.splice(i, 1); - break; - } + if(index > this.subscribers.length) + throw new Error(`Unexpected error removing subscriber from websocket, because index ${index} is greater than subscriber length ${this.subscribers.length}`); + this.subscribers.splice(index, 1); } getObservable = () => { @@ -70,7 +58,7 @@ export class WebsocketService { out.headers = {}; out.headers.messageId = data.headers["message-id"]; - let messageIdIndex = this._messageIds.indexOf( out.headers.messageId); + let messageIdIndex = this._messageIds.indexOf(out.headers.messageId); if ( messageIdIndex > -1) { out.self = true; this._messageIds = this._messageIds.splice(messageIdIndex, 1); @@ -80,24 +68,20 @@ export class WebsocketService { _socketListener = (frame) => { console.log('Connected: ' + frame); - this._socket.stomp.subscribe(this._options.topicName, (data) => { - this.subscribers.forEach(subscriber => { - subscriber.observer.next(this.getMessage(data)); - }) - }) + this._socket.stomp.subscribe( + this._options.topicName, + data => this.subscribers.forEach(subscriber => subscriber.observer.next(this.getMessage(data))) + ); } _onSocketError = (errorMsg) => { let out: any = {}; out.type = 'ERROR'; out.message = errorMsg; - this.subscribers.forEach(subscriber => { - subscriber.observer.error(out); - }) + this.subscribers.forEach(subscriber => subscriber.observer.error(out)); this.scheduleReconnection(); } - scheduleReconnection = () => { this.reconnectionPromise = setTimeout(() => { console.log("Socket reconnecting... (if it fails, next attempt in " + this._options.reconnectionTimeout + " msec)");