From 9e06cfcf023568e676a1c686b462595e39588113 Mon Sep 17 00:00:00 2001 From: jojohoch <joachim.hoch@iqb.hu-berlin.de> Date: Mon, 16 Aug 2021 08:51:31 +0200 Subject: [PATCH] [player] Refactor verify methods Check whether `unitDefinition` or `unitStateDataType` are undefined is done within the verify methods --- projects/player/src/app/app.component.ts | 10 ++++------ projects/player/src/app/services/meta-data.service.ts | 8 ++++---- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/projects/player/src/app/app.component.ts b/projects/player/src/app/app.component.ts index 1893dbed9..5e903a66d 100644 --- a/projects/player/src/app/app.component.ts +++ b/projects/player/src/app/app.component.ts @@ -45,12 +45,11 @@ export class AppComponent implements OnInit { .subscribe((focused: boolean): void => this.onFocus(focused)); } - private initUnit(pages: UnitPage[], unitState: UnitState | undefined): void { + private initUnitPages(pages: UnitPage[], unitState: UnitState | undefined): void { const storedPages: FormPage[] = unitState?.dataParts?.pages ? JSON.parse(unitState.dataParts.pages) : []; if (storedPages.length > 0) { - if (unitState?.unitStateDataType && - this.metaDataService.verifyUnitStateDataType(unitState.unitStateDataType)) { + if (this.metaDataService.verifyUnitStateDataType(unitState?.unitStateDataType)) { this.pages = this.addStoredValues(pages, storedPages); } else { // eslint-disable-next-line no-console @@ -66,11 +65,10 @@ export class AppComponent implements OnInit { // eslint-disable-next-line no-console console.log('player: onStart', message); const unitDefinition: Unit = message.unitDefinition ? JSON.parse(message.unitDefinition) : {}; - if (unitDefinition.veronaModuleVersion && - this.metaDataService.verifyUnitDefinitionVersion(unitDefinition.veronaModuleVersion)) { + if (this.metaDataService.verifyUnitDefinitionVersion(unitDefinition.veronaModuleVersion)) { this.veronaPostService.sessionId = message.sessionId; this.playerConfig = message.playerConfig || {}; - this.initUnit(unitDefinition.pages, message.unitState); + this.initUnitPages(unitDefinition.pages, message.unitState); } else { // eslint-disable-next-line no-console console.warn('player: wrong unitDefinitionType'); diff --git a/projects/player/src/app/services/meta-data.service.ts b/projects/player/src/app/services/meta-data.service.ts index 8f8801229..b44237185 100644 --- a/projects/player/src/app/services/meta-data.service.ts +++ b/projects/player/src/app/services/meta-data.service.ts @@ -22,11 +22,11 @@ export class MetaDataService { }; } - verifyUnitDefinitionVersion(unitDefinition: string): boolean { - return (this.playerMetadata.supportedUnitDefinitionTypes === unitDefinition); + verifyUnitDefinitionVersion(unitDefinition: string | undefined): boolean { + return (!!unitDefinition && unitDefinition === this.playerMetadata.supportedUnitDefinitionTypes); } - verifyUnitStateDataType(unitStateDataType: string): boolean { - return (this.playerMetadata.supportedUnitStateDataTypes === unitStateDataType); + verifyUnitStateDataType(unitStateDataType: string | undefined): boolean { + return (!!unitStateDataType && unitStateDataType === this.playerMetadata.supportedUnitStateDataTypes); } } -- GitLab