import { Injectable } from '@angular/core';
import { Observable, of } from 'rxjs';
import { Clusterables } from '../models/clusterables-enum';
import { VisualizationData } from '../models/visualization-data';
import featureOneClusters from '../../mock/feature1/clusters.json';
import featureOneSSE from '../../mock/feature1/sse.json';
import featureTwoClusters from '../../mock/feature2/clusters.json';
import featureTwoSSE from '../../mock/feature2/sse.json';
import radarClusters from '../../mock/radar/clusters.json';
import radarSSE from '../../mock/radar/sse.json';
import { VisualizationsDataConcreteService } from './visualizations-data-concrete.service';
import { RadarChartDataMapper } from '../mappers/radar-chart-data-mapper';
import { ClusterVisualizationDataMapper } from '../mappers/cluster-visualization-data-mapper';
import { SseDataMapper } from '../mappers/sse-data-mapper';
/**
* This class serves for deploy to serge for demonstration purposes
*/
@Injectable({
providedIn: 'root',
})
export class MockedRestService extends VisualizationsDataConcreteService {
getData(trainingDefinitionId: number, numOfClusters: number, instanceIds: number[], level: number): any {
console.log(
'Mock data for TD' +
trainingDefinitionId +
', TI ' +
instanceIds +
', level ' +
level +
'. Number of clusters set to ' +
switch (this._selectedFeature) {
case Clusterables.WrongFlags:
return of(ClusterVisualizationDataMapper.fromDTO({ featureOneClusters }));
return of(ClusterVisualizationDataMapper.fromDTO({ featureTwoClusters }));
default:
return new Observable<VisualizationData>();
}
}
getRadarData(trainingDefinitionId: number, numOfClusters: number, instanceIds: number[], level: number): any {
console.log(
'Mock data for TD' +
trainingDefinitionId +
', TI ' +
instanceIds +
', level ' +
level +
'. Number of clusters set to ' +
return of(RadarChartDataMapper.fromDTO(radarClusters));
}
getLineData(trainingDefinitionId: number, numOfClusters: number, instanceIds: number[], level: number) {
console.log(
'Mock data for TD' +
trainingDefinitionId +
', TI ' +
instanceIds +
', level ' +
level +
'. Number of clusters set to ' +
switch (this._selectedFeature) {
case Clusterables.WrongFlags:
return of(SseDataMapper.fromDTO(featureOneSSE));
case Clusterables.TimeAfterHint:
return of(SseDataMapper.fromDTO(featureTwoSSE));
case Clusterables.NDimensional:
return of(SseDataMapper.fromDTO(radarSSE));
default:
return new Observable<VisualizationData>();
}