From a50e568899902953f251c46adcd4efcd6e160a85 Mon Sep 17 00:00:00 2001 From: Michael W Spalti <mspalti@gmail.com> Date: Mon, 16 Sep 2019 10:00:45 -0700 Subject: [PATCH] Sets responseMsToLive to zero in some dataService methods and adds ability to reset the responseMsToLive value in subclasses. --- src/app/core/data/data.service.ts | 11 +++++++---- src/app/core/submission/workflowitem-data.service.ts | 2 +- src/app/core/submission/workspaceitem-data.service.ts | 2 +- src/app/core/tasks/claimed-task-data.service.ts | 2 +- src/app/core/tasks/pool-task-data.service.ts | 2 +- 5 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/app/core/data/data.service.ts b/src/app/core/data/data.service.ts index ae7fccc91b..dcba9f1643 100644 --- a/src/app/core/data/data.service.ts +++ b/src/app/core/data/data.service.ts @@ -49,7 +49,10 @@ export abstract class DataService<T extends CacheableObject> { protected abstract notificationsService: NotificationsService; protected abstract http: HttpClient; protected abstract comparator: ChangeAnalyzer<T>; - protected resetMsToLive = false; + /** + * Allows subclasses to reset the response cache time. + */ + protected resetMsToLive: number; public abstract getBrowseEndpoint(options: FindAllOptions, linkPath?: string): Observable<string> @@ -132,7 +135,7 @@ export abstract class DataService<T extends CacheableObject> { .subscribe((href: string) => { const request = new FindAllRequest(this.requestService.generateRequestId(), href, options); if (this.resetMsToLive) { - request.responseMsToLive = 0; + request.responseMsToLive = this.resetMsToLive; } this.requestService.configure(request); }); @@ -158,7 +161,7 @@ export abstract class DataService<T extends CacheableObject> { .subscribe((href: string) => { const request = new FindByIDRequest(this.requestService.generateRequestId(), href, id); if (this.resetMsToLive) { - request.responseMsToLive = 0; + request.responseMsToLive = this.resetMsToLive; } this.requestService.configure(request); }); @@ -169,7 +172,7 @@ export abstract class DataService<T extends CacheableObject> { findByHref(href: string, options?: HttpOptions): Observable<RemoteData<T>> { const request = new GetRequest(this.requestService.generateRequestId(), href, null, options); if (this.resetMsToLive) { - request.responseMsToLive = 0; + request.responseMsToLive = this.resetMsToLive; } this.requestService.configure(request); return this.rdbService.buildSingle<T>(href); diff --git a/src/app/core/submission/workflowitem-data.service.ts b/src/app/core/submission/workflowitem-data.service.ts index dca10d2b30..b641531892 100644 --- a/src/app/core/submission/workflowitem-data.service.ts +++ b/src/app/core/submission/workflowitem-data.service.ts @@ -20,7 +20,7 @@ import { DSOChangeAnalyzer } from '../data/dso-change-analyzer.service'; @Injectable() export class WorkflowItemDataService extends DataService<WorkflowItem> { protected linkPath = 'workflowitems'; - protected resetMsToLive = true; + protected resetMsToLive = 0; constructor( protected comparator: DSOChangeAnalyzer<WorkflowItem>, diff --git a/src/app/core/submission/workspaceitem-data.service.ts b/src/app/core/submission/workspaceitem-data.service.ts index c2b6ab5816..b49cb065bd 100644 --- a/src/app/core/submission/workspaceitem-data.service.ts +++ b/src/app/core/submission/workspaceitem-data.service.ts @@ -20,7 +20,7 @@ import { WorkspaceItem } from './models/workspaceitem.model'; @Injectable() export class WorkspaceitemDataService extends DataService<WorkspaceItem> { protected linkPath = 'workspaceitems'; - protected resetMsToLive = true; + protected resetMsToLive = 0; constructor( protected comparator: DSOChangeAnalyzer<WorkspaceItem>, diff --git a/src/app/core/tasks/claimed-task-data.service.ts b/src/app/core/tasks/claimed-task-data.service.ts index aa85b3e8b5..546c4343b6 100644 --- a/src/app/core/tasks/claimed-task-data.service.ts +++ b/src/app/core/tasks/claimed-task-data.service.ts @@ -22,7 +22,7 @@ import { ProcessTaskResponse } from './models/process-task-response'; @Injectable() export class ClaimedTaskDataService extends TasksService<ClaimedTask> { - protected resetMsToLive = true; + protected resetMsToLive = 0; /** * The endpoint link name diff --git a/src/app/core/tasks/pool-task-data.service.ts b/src/app/core/tasks/pool-task-data.service.ts index 8a12af0b68..ee3568e585 100644 --- a/src/app/core/tasks/pool-task-data.service.ts +++ b/src/app/core/tasks/pool-task-data.service.ts @@ -27,7 +27,7 @@ export class PoolTaskDataService extends TasksService<PoolTask> { */ protected linkPath = 'pooltasks'; - protected resetMsToLive = true; + protected resetMsToLive = 0; /** * Initialize instance variables -- GitLab