summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/performanceHistoryApp
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/odlux/apps/performanceHistoryApp')
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/package.json30
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/pom.xml56
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/deviceListActions.ts (renamed from sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/connectedNetworkElementsActions.ts)49
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/components/adaptiveModulation.tsx46
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/components/crossPolarDiscrimination.tsx13
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/components/performanceData.tsx14
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/components/receiveLevel.tsx13
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/components/signalToInterference.tsx13
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/components/temperature.tsx13
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/components/transmissionPower.tsx13
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulationHandler.ts63
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/availableLtpsActionHandler.ts4
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscriminationHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/deviceListActionHandler.ts (renamed from sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts)22
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceDataHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceHistoryRootHandler.ts12
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevelHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterferenceHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperatureHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPowerHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/adaptiveModulationDataType.ts163
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/availableLtps.ts12
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/chartTypes.ts2
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/connectedNetworkElements.ts7
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/crossPolarDiscriminationDataType.ts21
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/deviceListType.ts25
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/panelId.ts18
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/performanceDataType.ts23
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/receiveLevelDataType.ts21
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/signalToInteferenceDataType.ts22
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/temperatureDataType.ts21
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/topologyNetconf.ts (renamed from sdnr/wt/odlux/apps/performanceHistoryApp/src/models/topologyNetConf.ts)7
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/transmissionPowerDataType.ts21
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/pluginPerformance.tsx (renamed from sdnr/wt/odlux/apps/performanceHistoryApp/src/plugin.tsx)2
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/services/performanceHistoryService.ts83
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/chartUtils.tsx2
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/tableUtils.ts6
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/views/performanceHistoryApplication.tsx124
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/webpack.config.js10
39 files changed, 482 insertions, 643 deletions
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/package.json b/sdnr/wt/odlux/apps/performanceHistoryApp/package.json
index 290046ef5..1e6adf7c3 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/package.json
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/package.json
@@ -21,23 +21,23 @@
"author": "Sai Neetha Phulmali",
"license": "Apache-2.0",
"dependencies": {
- "@odlux/framework" : "*",
+ "@odlux/framework": "*",
"@odlux/connect-app": "*",
- "react-chartjs-2":"2.7.6",
- "chart.js":"2.8.0"
+ "react-chartjs-2": "2.7.6",
+ "chart.js": "2.8.0"
},
"peerDependencies": {
- "@types/react": "16.4.14",
- "@types/react-dom": "16.0.8",
- "@types/react-router-dom": "4.3.1",
- "@material-ui/core": "3.8.3",
- "@material-ui/icons": "3.0.2",
- "@types/classnames": "2.2.6",
- "@types/flux": "3.1.8",
- "@types/jquery": "3.3.10",
- "jquery": "3.3.1",
- "react": "16.5.2",
- "react-dom": "16.5.2",
- "react-router-dom": "4.3.1"
+ "@types/react": "16.9.11",
+ "@types/react-dom": "16.9.4",
+ "@types/react-router-dom": "4.3.1",
+ "@material-ui/core": "4.6.1",
+ "@material-ui/icons": "4.5.1",
+ "@types/classnames": "2.2.6",
+ "@types/flux": "3.1.8",
+ "@types/jquery": "3.3.10",
+ "jquery": "3.3.1",
+ "react": "16.11.0",
+ "react-dom": "16.11.0",
+ "react-router-dom": "4.3.1"
}
} \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/pom.xml b/sdnr/wt/odlux/apps/performanceHistoryApp/pom.xml
index 647b9efdb..4fc302f05 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/pom.xml
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/pom.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
@@ -7,18 +8,20 @@
<version>1.5.1-SNAPSHOT</version>
<relativePath/>
</parent>
- <modelVersion>4.0.0</modelVersion>
+
<groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-odlux-app-performanceHistoryApp</artifactId>
<version>0.7.0-SNAPSHOT</version>
<packaging>bundle</packaging>
- <name>sdnr-wt-odlux-app-performanceHistoryApp</name>
+
+ <name>ccsdk-features :: ${project.artifactId}</name>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0</url>
</license>
</licenses>
+
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
@@ -37,8 +40,21 @@
<scope>test</scope>
</dependency>
</dependencies>
+
<build>
<sourceDirectory>src2/main/java</sourceDirectory>
+ <resources>
+ <resource>
+ <directory>dist</directory>
+ <targetPath>odlux</targetPath>
+ </resource>
+ <resource>
+ <directory>src2/main/resources</directory>
+ </resource>
+ <resource>
+ <directory>src2/test/resources</directory>
+ </resource>
+ </resources>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
@@ -61,10 +77,10 @@
<followSymlinks>false</followSymlinks>
</fileset>
<!-- eclipse bug build bin folder in basedir -->
- <fileset>
- <directory>bin</directory>
- <followSymlinks>false</followSymlinks>
- </fileset>
+ <fileset>
+ <directory>bin</directory>
+ <followSymlinks>false</followSymlinks>
+ </fileset>
</filesets>
</configuration>
</plugin>
@@ -87,7 +103,7 @@
</executions>
</plugin>
<plugin>
- <groupId>de.jacksitlab</groupId>
+ <groupId>de.jacks-it-lab</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>1.7.1</version>
<executions>
@@ -99,8 +115,8 @@
<!-- optional: default phase is "generate-resources" -->
<phase>initialize</phase>
<configuration>
- <nodeVersion>v8.10.0</nodeVersion>
- <yarnVersion>v1.12.3</yarnVersion>
+ <nodeVersion>v10.16.3</nodeVersion>
+ <yarnVersion>v1.19.0</yarnVersion>
</configuration>
</execution>
<execution>
@@ -130,27 +146,5 @@
</configuration>
</plugin>
</plugins>
- <resources>
- <resource>
- <directory>dist</directory>
- <targetPath>odlux</targetPath>
- </resource>
- <resource>
- <directory>src2/main/resources</directory>
- </resource>
- <resource>
- <directory>src2/test/resources</directory>
- </resource>
- </resources>
</build>
- <pluginRepositories>
- <pluginRepository>
- <id>highstreet repo</id>
- <url>https://cloud-highstreet-technologies.com/mvn/</url>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>always</updatePolicy>
- </snapshots>
- </pluginRepository>
- </pluginRepositories>
</project>
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/connectedNetworkElementsActions.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/deviceListActions.ts
index 97d531608..9637fec81 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/connectedNetworkElementsActions.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/deviceListActions.ts
@@ -19,7 +19,8 @@ import { Action } from '../../../../framework/src/flux/action';
import { Dispatch } from '../../../../framework/src/flux/store';
import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore';
-import { ConnectedNetworkElementIds } from '../models/connectedNetworkElements';
+import { DeviceListType } from '../models/deviceListType';
+import { PerformanceHistoryService } from '../services/performanceHistoryService';
/**
* Represents the base action.
@@ -27,52 +28,44 @@ import { ConnectedNetworkElementIds } from '../models/connectedNetworkElements';
export class BaseAction extends Action { }
/**
- * Represents an action causing the store to load all connected network element Ids.
+ * Represents an action causing the store to load all devices.
*/
-export class LoadAllConnectedNetworkElementsAction extends BaseAction { }
+export class LoadAllDeviceListAction extends BaseAction { }
/**
- * Represents an action causing the store to update all connected network element Ids.
+ * Represents an action causing the store to update all devices.
*/
-export class AllConnectedNetworkElementsLoadedAction extends BaseAction {
+export class AllDeviceListLoadedAction extends BaseAction {
/**
* Initialize this instance.
*
- * @param connectedNetworkElements The connected network element Ids which are loaded from the state of connectApp.
+ * @param deviceList All the distinct devices from the performance history database.
*/
- constructor(public connectedNetworkElementIds: ConnectedNetworkElementIds[] | null, public error?: string) {
+ constructor(public deviceList: DeviceListType[] | null, public error?: string) {
super();
}
}
/**
- * Represents an asynchronous thunk action to load all connected network element Ids.
+ * Represents an asynchronous thunk action to load all devices.
*/
-export const loadAllConnectedNetworkElementsAsync = (dispatch: Dispatch, getState: () => IApplicationStoreState) => {
- window.setTimeout(() => {
- dispatch(new LoadAllConnectedNetworkElementsAction());
- const connectedNetworkElementsIds = getState().connect.mountedNetworkElements;
- let mountIdList: ConnectedNetworkElementIds[] = [];
- connectedNetworkElementsIds.elements.forEach(element => {
- const connectedNetworkElement = {
- mountId: element.mountId
- }
- mountIdList.push(connectedNetworkElement);
- });
- mountIdList.sort((a, b) => {
- if (a.mountId < b.mountId) return -1;
- if (a.mountId > b.mountId) return 1;
- return 0;
- });
- dispatch(new AllConnectedNetworkElementsLoadedAction(mountIdList));
- }, 500);
+export const loadAllDeviceListAsync = async (dispatch: Dispatch) => {
+ dispatch(new LoadAllDeviceListAction());
+ const deviceListFromPerfHistory: DeviceListType[] = await PerformanceHistoryService.getDeviceListfromPerf15minHistory().then(ne => (ne)) || [];
+ const deviceListFromPerf24History: DeviceListType[] = await PerformanceHistoryService.getDeviceListfromPerf24hHistory().then(ne => (ne)) || [];
+ deviceListFromPerf24History.forEach(deviceList24h => {
+ if (deviceListFromPerfHistory.findIndex(deviceList15min => deviceList15min.nodeId === deviceList24h.nodeId) < 0) {
+ deviceListFromPerfHistory.push(deviceList24h);
+ };
+ });
+ return deviceListFromPerfHistory && dispatch(new AllDeviceListLoadedAction(deviceListFromPerfHistory));
};
/**
* Represents an action causing the store to update mountId.
*/
export class UpdateMountId extends BaseAction {
- constructor (public nodeId?: string) {
+ constructor(public nodeId?: string) {
super();
}
}
@@ -80,6 +73,6 @@ export class UpdateMountId extends BaseAction {
/**
* Represents an asynchronous thunk action to load updated mountId.
*/
-export const updateMountIdActionCreator = (nodeId: string ) => async (dispatch: Dispatch) => {
+export const updateMountIdActionCreator = (nodeId: string) => async (dispatch: Dispatch) => {
return dispatch(new UpdateMountId(nodeId));
}
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/adaptiveModulation.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/adaptiveModulation.tsx
index 2564d574a..09d3accd4 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/adaptiveModulation.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/adaptiveModulation.tsx
@@ -23,7 +23,7 @@ import { MaterialTable, ColumnType, ColumnModel, MaterialTableCtorType } from '.
import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore';
import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/connect';
-import { AdaptiveModulationDataType } from '../models/adaptiveModulationDataType';
+import { AdaptiveModulationDataType, AdaptiveModulationDatabaseDataType } from '../models/adaptiveModulationDataType';
import { IDataSet, IDataSetsObject } from '../models/chartTypes';
import { createAdaptiveModulationProperties, createAdaptiveModulationActions } from '../handlers/adaptiveModulationHandler';
import { lineChart, sortDataByTimeStamp } from '../utils/chartUtils';
@@ -55,9 +55,9 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
const adaptiveModulationColumns: ColumnModel<AdaptiveModulationDataType>[] = [
{ property: "radioSignalId", title: "Radio signal", type: ColumnType.text },
{ property: "scannerId", title: "Scanner ID", type: ColumnType.text },
- { property: "utcTimeStamp", title: "End Time", type: ColumnType.text, disableFilter: true },
+ { property: "timeStamp", title: "End Time", type: ColumnType.text },
{
- property: "suspectIntervalFlag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
+ property: "suspectIntervalFlag", title: "Suspect Interval", customControl: ({ rowData }) => {
const suspectIntervalFlag = rowData["suspectIntervalFlag"].toString();
return <div >{suspectIntervalFlag} </div>
}
@@ -416,10 +416,46 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
];
_rows.forEach(row => {
+ row.time2StatesS = row.performanceData.time2StatesS
+ row.time2States = row.performanceData.time2States;
+ row.time2StatesL = row.performanceData.time2StatesL;
+ row.time4StatesS = row.performanceData.time4StatesS
+ row.time4States = row.performanceData.time4States;
+ row.time4StatesL = row.performanceData.time4StatesL;
+ row.time16StatesS = row.performanceData.time16StatesS;
+ row.time16States = row.performanceData.time16States;
+ row.time16StatesL = row.performanceData.time16StatesL;
+ row.time32StatesS = row.performanceData.time32StatesS;
+ row.time32States = row.performanceData.time32States;
+ row.time32StatesL = row.performanceData.time32StatesL;
+ row.time64StatesS = row.performanceData.time64StatesS;
+ row.time64States = row.performanceData.time64States;
+ row.time64StatesL = row.performanceData.time64StatesL;
+ row.time128StatesS = row.performanceData.time128StatesS;
+ row.time128States = row.performanceData.time128States;
+ row.time128StatesL = row.performanceData.time128StatesL;
+ row.time256StatesS = row.performanceData.time256StatesS;
+ row.time256States = row.performanceData.time256States;
+ row.time256StatesL = row.performanceData.time256StatesL;
+ row.time512StatesS = row.performanceData.time512StatesS;
+ row.time512States = row.performanceData.time512States;
+ row.time512StatesL = row.performanceData.time512StatesL;
+ row.time1024StatesS = row.performanceData.time1024StatesS;
+ row.time1024States = row.performanceData.time1024States;
+ row.time1024StatesL = row.performanceData.time1024StatesL;
+ row.time2048StatesS = row.performanceData.time2048StatesS;
+ row.time2048States = row.performanceData.time2048States;
+ row.time2048StatesL = row.performanceData.time2048StatesL;
+ row.time4096StatesS = row.performanceData.time4096StatesS;
+ row.time4096States = row.performanceData.time4096States;
+ row.time4096StatesL = row.performanceData.time4096StatesL;
+ row.time8192StatesS = row.performanceData.time8192StatesS;
+ row.time8192States = row.performanceData.time8192States;
+ row.time8192StatesL = row.performanceData.time8192StatesL;
datasets.forEach(ds => {
ds.data.push({
- x: row["utcTimeStamp" as keyof AdaptiveModulationDataType] as string,
- y: row[ds.name as keyof AdaptiveModulationDataType] as string
+ x: row["timeStamp" as keyof AdaptiveModulationDataType] as string,
+ y: row.performanceData[ds.name as keyof AdaptiveModulationDatabaseDataType] as string
});
});
});
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/crossPolarDiscrimination.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/crossPolarDiscrimination.tsx
index 8718171f7..267e00bbe 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/crossPolarDiscrimination.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/crossPolarDiscrimination.tsx
@@ -23,7 +23,7 @@ import { MaterialTable, ColumnType, MaterialTableCtorType, ColumnModel } from '.
import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore';
import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/connect';
-import { CrossPolarDiscriminationDataType } from '../models/crossPolarDiscriminationDataType';
+import { CrossPolarDiscriminationDataType, CrossPolarDiscriminationDatabaseDataType } from '../models/crossPolarDiscriminationDataType';
import { IDataSet, IDataSetsObject } from '../models/chartTypes';
import { createCrossPolarDiscriminationProperties, createCrossPolarDiscriminationActions } from '../handlers/crossPolarDiscriminationHandler';
import { lineChart, sortDataByTimeStamp } from '../utils/chartUtils';
@@ -56,9 +56,9 @@ class CrossPolarDiscriminationComponent extends React.Component<CrossPolarDiscri
const cpdColumns: ColumnModel<CrossPolarDiscriminationDataType>[] = [
{ property: "radioSignalId", title: "Radio signal", type: ColumnType.text },
{ property: "scannerId", title: "Scanner ID", type: ColumnType.text },
- { property: "utcTimeStamp", title: "End Time", type: ColumnType.text, disableFilter: true },
+ { property: "timeStamp", title: "End Time", type: ColumnType.text },
{
- property: "suspectIntervalFlag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
+ property: "suspectIntervalFlag", title: "Suspect Interval", customControl: ({ rowData }) => {
const suspectIntervalFlag = rowData["suspectIntervalFlag"].toString();
return <div >{suspectIntervalFlag} </div>
}
@@ -114,10 +114,13 @@ class CrossPolarDiscriminationComponent extends React.Component<CrossPolarDiscri
}];
_rows.forEach(row => {
+ row.xpdMin = row.performanceData.xpdMin;
+ row.xpdAvg = row.performanceData.xpdAvg;
+ row.xpdMax = row.performanceData.xpdMax;
datasets.forEach(ds => {
ds.data.push({
- x: row["utcTimeStamp" as keyof CrossPolarDiscriminationDataType] as string,
- y: row[ds.name as keyof CrossPolarDiscriminationDataType] as string
+ x: row["timeStamp" as keyof CrossPolarDiscriminationDataType] as string,
+ y: row.performanceData[ds.name as keyof CrossPolarDiscriminationDatabaseDataType] as string
});
});
});
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/performanceData.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/performanceData.tsx
index fc44879dc..c58c49c9e 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/performanceData.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/performanceData.tsx
@@ -22,7 +22,7 @@ import { withRouter, RouteComponentProps } from 'react-router-dom';
import { MaterialTable, ColumnType, ColumnModel, MaterialTableCtorType } from '../../../../framework/src/components/material-table';
import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore';
import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/connect';
-import { PerformanceDataType } from '../models/performanceDataType';
+import { PerformanceDataType, PerformanceDatabaseDataType } from '../models/performanceDataType';
import { IDataSet, IDataSetsObject } from '../models/chartTypes';
import { createPerformanceDataProperties, createPerformanceDataActions } from '../handlers/performanceDataHandler';
import { lineChart, sortDataByTimeStamp } from '../utils/chartUtils';
@@ -54,9 +54,9 @@ class PerformanceDataComponent extends React.Component<PerformanceDataComponentP
const performanceColumns: ColumnModel<PerformanceDataType>[] = [
{ property: "radioSignalId", title: "Radio signal", type: ColumnType.text },
{ property: "scannerId", title: "Scanner ID", type: ColumnType.text },
- { property: "utcTimeStamp", title: "End Time", type: ColumnType.text, disableFilter: true },
+ { property: "timeStamp", title: "End Time", type: ColumnType.text },
{
- property: "suspectIntervalFlag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
+ property: "suspectIntervalFlag", title: "Suspect Interval", customControl: ({ rowData }) => {
const suspectIntervalFlag = rowData["suspectIntervalFlag"].toString();
return <div >{suspectIntervalFlag} </div>
}
@@ -112,13 +112,17 @@ class PerformanceDataComponent extends React.Component<PerformanceDataComponentP
}];
_rows.forEach(row => {
+ row.es = row.performanceData.es;
+ row.ses = row.performanceData.ses;
+ row.unavailability = row.performanceData.unavailability;
datasets.forEach(ds => {
ds.data.push({
- x: row["utcTimeStamp" as keyof PerformanceDataType] as string,
- y: row[ds.name as keyof PerformanceDataType] as string
+ x: row["timeStamp" as keyof PerformanceDataType] as string,
+ y: row.performanceData[ds.name as keyof PerformanceDatabaseDataType] as string
});
});
});
+
return {
datasets: datasets
};
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/receiveLevel.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/receiveLevel.tsx
index 9992f5bd8..55bc39860 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/receiveLevel.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/receiveLevel.tsx
@@ -23,7 +23,7 @@ import { MaterialTable, ColumnType, ColumnModel, MaterialTableCtorType } from '.
import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore';
import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/connect';
-import { ReceiveLevelDataType } from '../models/receiveLevelDataType';
+import { ReceiveLevelDataType,ReceiveLevelDatabaseDataType } from '../models/receiveLevelDataType';
import { IDataSet, IDataSetsObject } from '../models/chartTypes';
import { createReceiveLevelProperties, createReceiveLevelActions } from '../handlers/receiveLevelHandler';
import { lineChart, sortDataByTimeStamp } from '../utils/chartUtils';
@@ -55,9 +55,9 @@ class ReceiveLevelComponent extends React.Component<ReceiveLevelComponentProps>{
const receiveLevelColumns: ColumnModel<ReceiveLevelDataType>[] = [
{ property: "radioSignalId", title: "Radio signal", type: ColumnType.text },
{ property: "scannerId", title: "Scanner ID", type: ColumnType.text },
- { property: "utcTimeStamp", title: "End Time", type: ColumnType.text, disableFilter: true },
+ { property: "timeStamp", title: "End Time", type: ColumnType.text },
{
- property: "suspectIntervalFlag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
+ property: "suspectIntervalFlag", title: "Suspect Interval", customControl: ({ rowData }) => {
const suspectIntervalFlag = rowData["suspectIntervalFlag"].toString();
return <div >{suspectIntervalFlag} </div>
}
@@ -114,10 +114,13 @@ class ReceiveLevelComponent extends React.Component<ReceiveLevelComponentProps>{
}];
_rows.forEach(row => {
+ row.rxLevelMin = row.performanceData.rxLevelMin;
+ row.rxLevelAvg = row.performanceData.rxLevelAvg;
+ row.rxLevelMax = row.performanceData.rxLevelMax;
datasets.forEach(ds => {
ds.data.push({
- x: row["utcTimeStamp" as keyof ReceiveLevelDataType] as string,
- y: row[ds.name as keyof ReceiveLevelDataType] as string
+ x: row["timeStamp" as keyof ReceiveLevelDataType] as string,
+ y: row.performanceData[ds.name as keyof ReceiveLevelDatabaseDataType] as string
});
});
});
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/signalToInterference.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/signalToInterference.tsx
index 98017ae2f..42aa007a9 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/signalToInterference.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/signalToInterference.tsx
@@ -23,7 +23,7 @@ import { MaterialTable, ColumnType, ColumnModel, MaterialTableCtorType } from '.
import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore';
import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/connect';
-import { SignalToInterferenceDataType } from '../models/signalToInteferenceDataType';
+import { SignalToInterferenceDataType, SignalToInterferenceDatabaseDataType } from '../models/signalToInteferenceDataType';
import { IDataSet, IDataSetsObject } from '../models/chartTypes';
import { createSignalToInterferenceProperties, createSignalToInterferenceActions } from '../handlers/signalToInterferenceHandler';
import { lineChart, sortDataByTimeStamp } from '../utils/chartUtils';
@@ -56,9 +56,9 @@ class SignalToInterferenceComponent extends React.Component<SignalToInterference
const sinrColumns: ColumnModel<SignalToInterferenceDataType>[] = [
{ property: "radioSignalId", title: "Radio signal", type: ColumnType.text },
{ property: "scannerId", title: "Scanner ID", type: ColumnType.text },
- { property: "utcTimeStamp", title: "End Time", type: ColumnType.text, disableFilter: true },
+ { property: "timeStamp", title: "End Time", type: ColumnType.text },
{
- property: "suspectIntervalFlag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
+ property: "suspectIntervalFlag", title: "Suspect Interval", customControl: ({ rowData }) => {
const suspectIntervalFlag = rowData["suspectIntervalFlag"].toString();
return <div >{suspectIntervalFlag} </div>
}
@@ -116,10 +116,13 @@ class SignalToInterferenceComponent extends React.Component<SignalToInterference
}];
_rows.forEach(row => {
+ row.snirMin = row.performanceData.snirMin;
+ row.snirAvg = row.performanceData.snirAvg;
+ row.snirMax = row.performanceData.snirMax;
datasets.forEach(ds => {
ds.data.push({
- x: row["utcTimeStamp" as keyof SignalToInterferenceDataType] as string,
- y: row[ds.name as keyof SignalToInterferenceDataType] as string
+ x: row["timeStamp" as keyof SignalToInterferenceDataType] as string,
+ y: row.performanceData[ds.name as keyof SignalToInterferenceDatabaseDataType] as string
});
});
});
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/temperature.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/temperature.tsx
index f1e62cf33..256911c2d 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/temperature.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/temperature.tsx
@@ -23,7 +23,7 @@ import { MaterialTable, ColumnType, ColumnModel, MaterialTableCtorType } from '.
import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore';
import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/connect';
-import { TemperatureDataType } from '../models/temperatureDataType';
+import { TemperatureDataType, TemperatureDatabaseDataType } from '../models/temperatureDataType';
import { IDataSet, IDataSetsObject } from '../models/chartTypes';
import { createTemperatureProperties, createTemperatureActions } from '../handlers/temperatureHandler';
import { lineChart, sortDataByTimeStamp } from '../utils/chartUtils';
@@ -55,9 +55,9 @@ class TemperatureComponent extends React.Component<TemperatureComponentProps>{
const temperatureColumns: ColumnModel<TemperatureDataType>[] = [
{ property: "radioSignalId", title: "Radio signal", type: ColumnType.text },
{ property: "scannerId", title: "Scanner ID", type: ColumnType.text },
- { property: "utcTimeStamp", title: "End Time", type: ColumnType.text, disableFilter: true },
+ { property: "timeStamp", title: "End Time", type: ColumnType.text },
{
- property: "suspectIntervalFlag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
+ property: "suspectIntervalFlag", title: "Suspect Interval", customControl: ({ rowData }) => {
const suspectIntervalFlag = rowData["suspectIntervalFlag"].toString();
return <div >{suspectIntervalFlag} </div>
}
@@ -114,10 +114,13 @@ class TemperatureComponent extends React.Component<TemperatureComponentProps>{
}];
_rows.forEach(row => {
+ row.rfTempMin = row.performanceData.rfTempMin;
+ row.rfTempAvg = row.performanceData.rfTempAvg;
+ row.rfTempMax = row.performanceData.rfTempMax;
datasets.forEach(ds => {
ds.data.push({
- x: row["utcTimeStamp" as keyof TemperatureDataType] as string,
- y: row[ds.name as keyof TemperatureDataType] as string
+ x: row["timeStamp" as keyof TemperatureDataType] as string,
+ y: row.performanceData[ds.name as keyof TemperatureDatabaseDataType] as string
});
});
});
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/transmissionPower.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/transmissionPower.tsx
index 8ec4561a4..635cbf103 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/transmissionPower.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/transmissionPower.tsx
@@ -23,7 +23,7 @@ import { MaterialTable, ColumnType, ColumnModel, MaterialTableCtorType } from '.
import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore';
import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/connect';
-import { TransmissionPowerDataType } from '../models/transmissionPowerDataType';
+import { TransmissionPowerDataType, TransmissionPowerDatabaseDataType } from '../models/transmissionPowerDataType';
import { IDataSet, IDataSetsObject } from '../models/chartTypes';
import { createTransmissionPowerProperties, createTransmissionPowerActions } from '../handlers/transmissionPowerHandler';
import { lineChart, sortDataByTimeStamp } from '../utils/chartUtils';
@@ -56,9 +56,9 @@ class TransmissionPowerComponent extends React.Component<TransmissionPowerCompon
const transmissionColumns: ColumnModel<TransmissionPowerDataType>[] = [
{ property: "radioSignalId", title: "Radio signal", type: ColumnType.text },
{ property: "scannerId", title: "Scanner ID", type: ColumnType.text },
- { property: "utcTimeStamp", title: "End Time", type: ColumnType.text, disableFilter: true },
+ { property: "timeStamp", title: "End Time", type: ColumnType.text },
{
- property: "suspectIntervalFlag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
+ property: "suspectIntervalFlag", title: "Suspect Interval", customControl: ({ rowData }) => {
const suspectIntervalFlag = rowData["suspectIntervalFlag"].toString();
return <div >{suspectIntervalFlag} </div>
}
@@ -116,10 +116,13 @@ class TransmissionPowerComponent extends React.Component<TransmissionPowerCompon
}];
_rows.forEach(row => {
+ row.txLevelMin = row.performanceData.txLevelMin;
+ row.txLevelAvg = row.performanceData.txLevelAvg;
+ row.txLevelMax = row.performanceData.txLevelMax;
datasets.forEach(ds => {
ds.data.push({
- x: row["utcTimeStamp" as keyof TransmissionPowerDataType] as string,
- y: row[ds.name as keyof TransmissionPowerDataType] as string
+ x: row["timeStamp" as keyof TransmissionPowerDataType] as string,
+ y: row.performanceData[ds.name as keyof TransmissionPowerDatabaseDataType] as string
});
});
});
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulationHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulationHandler.ts
index ba765c8cb..3548bf4dc 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulationHandler.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulationHandler.ts
@@ -18,7 +18,7 @@
import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-import { AdaptiveModulationDataType, AdaptiveModulationResult } from '../models/adaptiveModulationDataType';
+import { AdaptiveModulationDataType } from '../models/adaptiveModulationDataType';
import { getFilter } from '../utils/tableUtils';
export interface IAdaptiveModulationState extends IExternalTableState<AdaptiveModulationDataType> { }
@@ -26,66 +26,7 @@ export interface IAdaptiveModulationState extends IExternalTableState<AdaptiveMo
/**
* Creates elastic search material data fetch handler for Adaptive modulation from historicalperformance database.
*/
-const adaptiveModulationSearchHandler = createSearchDataHandler<AdaptiveModulationResult, AdaptiveModulationDataType>(
- getFilter,
- null,
- (hit) => ({
- _id: hit._id,
- radioSignalId: hit._source["radio-signal-id"],
- scannerId: hit._source["scanner-id"],
- utcTimeStamp: hit._source["time-stamp"],
- suspectIntervalFlag: hit._source["suspect-interval-flag"],
- time2StatesS: hit._source["performance-data"]["time2-states-s"],
- time2States: hit._source["performance-data"]["time2-states"],
- time2StatesL: hit._source["performance-data"]["time2-states-l"],
- time4StatesS: hit._source["performance-data"]["time4-states-s"],
- time4States: hit._source["performance-data"]["time4-states"],
- time4StatesL: hit._source["performance-data"]["time4-states-l"],
- time16StatesS: hit._source["performance-data"]["time16-states-s"],
- time16States: hit._source["performance-data"]["time16-states"],
- time16StatesL: hit._source["performance-data"]["time16-states-l"],
- time32StatesS: hit._source["performance-data"]["time32-states-s"],
- time32States: hit._source["performance-data"]["time32-states"],
- time32StatesL: hit._source["performance-data"]["time32-states-l"],
- time64StatesS: hit._source["performance-data"]["time64-states-s"],
- time64States: hit._source["performance-data"]["time64-states"],
- time64StatesL: hit._source["performance-data"]["time64-states-l"],
- time128StatesS: hit._source["performance-data"]["time128-states-s"],
- time128States: hit._source["performance-data"]["time128-states"],
- time128StatesL: hit._source["performance-data"]["time128-states-l"],
- time256StatesS: hit._source["performance-data"]["time256-states-s"],
- time256States: hit._source["performance-data"]["time256-states"],
- time256StatesL: hit._source["performance-data"]["time256-states-l"],
- time512StatesS: hit._source["performance-data"]["time512-states-s"],
- time512States: hit._source["performance-data"]["time512-states"],
- time512StatesL: hit._source["performance-data"]["time512-states-l"],
- time1024StatesS: hit._source["performance-data"]["time1024-states-s"],
- time1024States: hit._source["performance-data"]["time1024-states"],
- time1024StatesL: hit._source["performance-data"]["time1024-states-l"],
- time2048StatesS: hit._source["performance-data"]["time2048-states-s"],
- time2048States: hit._source["performance-data"]["time2048-states"],
- time2048StatesL: hit._source["performance-data"]["time2048-states-l"],
- time4096StatesS: hit._source["performance-data"]["time4096-states-s"],
- time4096States: hit._source["performance-data"]["time4096-states"],
- time4096StatesL: hit._source["performance-data"]["time4096-states-l"],
- time8192StatesS: hit._source["performance-data"]["time8192-states-s"],
- time8192States: hit._source["performance-data"]["time8192-states"],
- time8192StatesL: hit._source["performance-data"]["time8192-states-l"],
- }),
- (pmDataEntry: string) => {
- switch (pmDataEntry) {
- case "radioSignalId":
- return "radio-signal-id";
- case "scannerId":
- return "scanner-id";
- case "utcTimeStamp":
- return "time-stamp"
- case "suspectIntervalFlag":
- return "suspect-interval-flag";
- }
- return pmDataEntry
- });
-
+const adaptiveModulationSearchHandler = createSearchDataHandler<AdaptiveModulationDataType>(getFilter, null)
export const {
actionHandler: adaptiveModulationActionHandler,
createActions: createAdaptiveModulationActions,
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/availableLtpsActionHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/availableLtpsActionHandler.ts
index 41aceca9f..b3b284b42 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/availableLtpsActionHandler.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/availableLtpsActionHandler.ts
@@ -29,12 +29,12 @@ export interface IAvailableLtpsState {
busy: boolean;
}
-const connectedNetworkElementsStateInit: IAvailableLtpsState = {
+const ltpListStateInit: IAvailableLtpsState = {
distinctLtps: [],
busy: false
};
-export const availableLtpsActionHandler: IActionHandler<IAvailableLtpsState> = (state = connectedNetworkElementsStateInit, action) => {
+export const availableLtpsActionHandler: IActionHandler<IAvailableLtpsState> = (state = ltpListStateInit, action) => {
if (action instanceof LoadAllAvailableLtpsAction) {
state = {
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscriminationHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscriminationHandler.ts
index 074c97d91..1e6c6d0a6 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscriminationHandler.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscriminationHandler.ts
@@ -18,7 +18,7 @@
import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-import { CrossPolarDiscriminationDataType, CrossPolarDiscriminationResult } from '../models/crossPolarDiscriminationDataType';
+import { CrossPolarDiscriminationDataType } from '../models/crossPolarDiscriminationDataType';
import { getFilter } from '../utils/tableUtils';
export interface ICrossPolarDiscriminationState extends IExternalTableState<CrossPolarDiscriminationDataType> { }
@@ -26,32 +26,7 @@ export interface ICrossPolarDiscriminationState extends IExternalTableState<Cros
/**
* Creates elastic search material data fetch handler for CPD from historicalperformance database.
*/
-const crossPolarDiscriminationSearchHandler = createSearchDataHandler<CrossPolarDiscriminationResult, CrossPolarDiscriminationDataType>(
- getFilter,
- null,
- (hit) => ({
- _id: hit._id,
- radioSignalId: hit._source["radio-signal-id"],
- scannerId: hit._source["scanner-id"],
- utcTimeStamp: hit._source["time-stamp"],
- suspectIntervalFlag: hit._source["suspect-interval-flag"],
- xpdMin: hit._source["performance-data"]["xpd-min"],
- xpdAvg: hit._source["performance-data"]["xpd-avg"],
- xpdMax: hit._source["performance-data"]["xpd-max"],
- }),
- (pmDataEntry: string) => {
- switch (pmDataEntry) {
- case "radioSignalId":
- return "radio-signal-id";
- case "scannerId":
- return "scanner-id";
- case "utcTimeStamp":
- return "time-stamp"
- case "suspectIntervalFlag":
- return "suspect-interval-flag";
- }
- return pmDataEntry
- });
+const crossPolarDiscriminationSearchHandler = createSearchDataHandler<CrossPolarDiscriminationDataType>(getFilter, null)
export const {
actionHandler: crossPolarDiscriminationActionHandler,
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/deviceListActionHandler.ts
index ee14063c2..b3c0db446 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/deviceListActionHandler.ts
@@ -17,32 +17,32 @@
*/
import { IActionHandler } from '../../../../framework/src/flux/action';
-import { AllConnectedNetworkElementsLoadedAction, LoadAllConnectedNetworkElementsAction } from '../actions/connectedNetworkElementsActions';
-import { ConnectedNetworkElementIds } from '../models/connectedNetworkElements';
+import { AllDeviceListLoadedAction, LoadAllDeviceListAction } from '../actions/deviceListActions';
+import { DeviceListType } from '../models/deviceListType';
-export interface IConnectedNetworkElementsState {
- connectedNetworkElementIds: ConnectedNetworkElementIds[];
+export interface IDeviceListState {
+ deviceList: DeviceListType[];
busy: boolean;
}
-const connectedNetworkElementsStateInit: IConnectedNetworkElementsState = {
- connectedNetworkElementIds: [],
+const deviceListStateInit: IDeviceListState = {
+ deviceList: [],
busy: false
};
-export const connectedNetworkElementsActionHandler: IActionHandler<IConnectedNetworkElementsState> = (state = connectedNetworkElementsStateInit, action) => {
- if (action instanceof LoadAllConnectedNetworkElementsAction) {
+export const deviceListActionHandler: IActionHandler<IDeviceListState> = (state = deviceListStateInit, action) => {
+ if (action instanceof LoadAllDeviceListAction) {
state = {
...state,
busy: true
};
- } else if (action instanceof AllConnectedNetworkElementsLoadedAction) {
- if (!action.error && action.connectedNetworkElementIds) {
+ } else if (action instanceof AllDeviceListLoadedAction) {
+ if (!action.error && action.deviceList) {
state = {
...state,
- connectedNetworkElementIds: action.connectedNetworkElementIds,
+ deviceList: action.deviceList,
busy: false
};
} else {
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceDataHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceDataHandler.ts
index 51b537fea..131566367 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceDataHandler.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceDataHandler.ts
@@ -20,7 +20,7 @@ import * as moment from 'moment';
import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-import { PerformanceResult, PerformanceDataType } from '../models/performanceDataType';
+import { PerformanceDataType } from '../models/performanceDataType';
import { getFilter } from '../utils/tableUtils';
export interface IPerformanceDataState extends IExternalTableState<PerformanceDataType> { }
@@ -28,32 +28,7 @@ export interface IPerformanceDataState extends IExternalTableState<PerformanceDa
/**
* Creates elastic search material data fetch handler for performance data from historicalperformance15min database.
*/
-const performanceDataSearchHandler = createSearchDataHandler<PerformanceResult, PerformanceDataType>(
- getFilter,
- null,
- (hit) => ({
- _id: hit._id,
- radioSignalId: hit._source["radio-signal-id"],
- scannerId: hit._source["scanner-id"],
- utcTimeStamp: hit._source["time-stamp"],
- suspectIntervalFlag: hit._source["suspect-interval-flag"],
- es: hit._source["performance-data"]["es"],
- ses: hit._source["performance-data"]["ses"],
- unavailability: hit._source["performance-data"]["unavailability"],
- }),
- (pmDataEntry: string) => {
- switch (pmDataEntry) {
- case "radioSignalId":
- return "radio-signal-id";
- case "scannerId":
- return "scanner-id";
- case "utcTimeStamp":
- return "time-stamp"
- case "suspectIntervalFlag":
- return "suspect-interval-flag";
- }
- return pmDataEntry
- });
+const performanceDataSearchHandler = createSearchDataHandler<PerformanceDataType>(getFilter, null);
export const {
actionHandler: performanceDataActionHandler,
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceHistoryRootHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceHistoryRootHandler.ts
index 85ff01634..c33f10a7e 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceHistoryRootHandler.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceHistoryRootHandler.ts
@@ -32,15 +32,15 @@ import { ITemperatureState, temperatureActionHandler } from './temperatureHandle
import { ISignalToInterferenceState, signalToInterferenceActionHandler } from './signalToInterferenceHandler';
import { ICrossPolarDiscriminationState, crossPolarDiscriminationActionHandler } from './crossPolarDiscriminationHandler';
import { SetPanelAction } from '../actions/panelChangeActions';
-import { IConnectedNetworkElementsState, connectedNetworkElementsActionHandler } from './connectedNetworkElementsActionHandler';
+import { IDeviceListState, deviceListActionHandler } from './deviceListActionHandler';
import { IAvailableLtpsState, availableLtpsActionHandler } from './availableLtpsActionHandler';
import { PmDataInterval } from '../models/performanceDataType';
import { TimeChangeAction } from '../actions/timeChangeAction';
-import { UpdateMountId } from '../actions/connectedNetworkElementsActions';
+import { UpdateMountId } from '../actions/deviceListActions';
export interface IPerformanceHistoryStoreState {
- mountId: string;
- networkElements: IConnectedNetworkElementsState;
+ nodeId: string;
+ networkElements: IDeviceListState;
ltps: IAvailableLtpsState;
performanceData: IPerformanceDataState;
receiveLevel: IReceiveLevelState;
@@ -86,8 +86,8 @@ declare module '../../../../framework/src/store/applicationStore' {
}
const actionHandlers = {
- mountId: mountIdHandler,
- networkElements: connectedNetworkElementsActionHandler,
+ nodeId: mountIdHandler,
+ networkElements: deviceListActionHandler,
ltps: availableLtpsActionHandler,
performanceData: performanceDataActionHandler,
receiveLevel: receiveLevelActionHandler,
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevelHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevelHandler.ts
index adb70b120..91595cc58 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevelHandler.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevelHandler.ts
@@ -18,7 +18,7 @@
import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-import { ReceiveLevelDataType, ReceiveLevelResult } from '../models/receiveLevelDataType';
+import { ReceiveLevelDataType } from '../models/receiveLevelDataType';
import { getFilter } from '../utils/tableUtils';
export interface IReceiveLevelState extends IExternalTableState<ReceiveLevelDataType> { }
@@ -26,32 +26,7 @@ export interface IReceiveLevelState extends IExternalTableState<ReceiveLevelData
/**
* Creates elastic search material data fetch handler for receiveLevel from historicalperformance database.
*/
-const receiveLevelSearchHandler = createSearchDataHandler<ReceiveLevelResult, ReceiveLevelDataType>(
- getFilter,
- null,
- (hit) => ({
- _id: hit._id,
- radioSignalId: hit._source["radio-signal-id"],
- scannerId: hit._source["scanner-id"],
- utcTimeStamp: hit._source["time-stamp"],
- suspectIntervalFlag: hit._source["suspect-interval-flag"],
- rxLevelMin: hit._source["performance-data"]["rx-level-min"],
- rxLevelAvg: hit._source["performance-data"]["rx-level-avg"],
- rxLevelMax: hit._source["performance-data"]["rx-level-max"],
- }),
- (pmDataEntry: string) => {
- switch (pmDataEntry) {
- case "radioSignalId":
- return "radio-signal-id";
- case "scannerId":
- return "scanner-id";
- case "utcTimeStamp":
- return "time-stamp"
- case "suspectIntervalFlag":
- return "suspect-interval-flag";
- }
- return pmDataEntry
- });
+const receiveLevelSearchHandler = createSearchDataHandler<ReceiveLevelDataType>(getFilter, null);
export const {
actionHandler: receiveLevelActionHandler,
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterferenceHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterferenceHandler.ts
index aa75ba226..e0f804086 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterferenceHandler.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterferenceHandler.ts
@@ -18,7 +18,7 @@
import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-import { SignalToInterferenceDataType, SignalToInterferenceResult } from '../models/signalToInteferenceDataType';
+import { SignalToInterferenceDataType } from '../models/signalToInteferenceDataType';
import { getFilter } from '../utils/tableUtils';
export interface ISignalToInterferenceState extends IExternalTableState<SignalToInterferenceDataType> { }
@@ -26,32 +26,7 @@ export interface ISignalToInterferenceState extends IExternalTableState<SignalTo
/**
* Creates elastic search material data fetch handler for SINR from historicalperformance database.
*/
-const signalToInterferenceSearchHandler = createSearchDataHandler<SignalToInterferenceResult, SignalToInterferenceDataType>(
- getFilter,
- null,
- (hit) => ({
- _id: hit._id,
- radioSignalId: hit._source["radio-signal-id"],
- scannerId: hit._source["scanner-id"],
- utcTimeStamp: hit._source["time-stamp"],
- suspectIntervalFlag: hit._source["suspect-interval-flag"],
- snirMin: hit._source["performance-data"]["snir-min"],
- snirAvg: hit._source["performance-data"]["snir-avg"],
- snirMax: hit._source["performance-data"]["snir-max"],
- }),
- (pmDataEntry: string) => {
- switch (pmDataEntry) {
- case "radioSignalId":
- return "radio-signal-id";
- case "scannerId":
- return "scanner-id";
- case "utcTimeStamp":
- return "time-stamp"
- case "suspectIntervalFlag":
- return "suspect-interval-flag";
- }
- return pmDataEntry
- });
+const signalToInterferenceSearchHandler = createSearchDataHandler<SignalToInterferenceDataType>(getFilter, null);
export const {
actionHandler: signalToInterferenceActionHandler,
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperatureHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperatureHandler.ts
index 8a9ae7025..0a6c73a1c 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperatureHandler.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperatureHandler.ts
@@ -18,7 +18,7 @@
import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-import { TemperatureDataType, TemperatureResult } from '../models/temperatureDataType';
+import { TemperatureDataType } from '../models/temperatureDataType';
import { getFilter } from '../utils/tableUtils';
export interface ITemperatureState extends IExternalTableState<TemperatureDataType> { }
@@ -26,32 +26,7 @@ export interface ITemperatureState extends IExternalTableState<TemperatureDataTy
/**
* Creates elastic search material data fetch handler for Temperature from historicalperformance database.
*/
-const temperatureSearchHandler = createSearchDataHandler<TemperatureResult, TemperatureDataType>(
- getFilter,
- null,
- (hit) => ({
- _id: hit._id,
- radioSignalId: hit._source["radio-signal-id"],
- scannerId: hit._source["scanner-id"],
- utcTimeStamp: hit._source["time-stamp"],
- suspectIntervalFlag: hit._source["suspect-interval-flag"],
- rfTempMin: hit._source["performance-data"]["rf-temp-min"],
- rfTempAvg: hit._source["performance-data"]["rf-temp-avg"],
- rfTempMax: hit._source["performance-data"]["rf-temp-max"],
- }),
- (pmDataEntry: string) => {
- switch (pmDataEntry) {
- case "radioSignalId":
- return "radio-signal-id";
- case "scannerId":
- return "scanner-id";
- case "utcTimeStamp":
- return "time-stamp"
- case "suspectIntervalFlag":
- return "suspect-interval-flag";
- }
- return pmDataEntry
- });
+const temperatureSearchHandler = createSearchDataHandler< TemperatureDataType>(getFilter, null);
export const {
actionHandler: temperatureActionHandler,
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPowerHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPowerHandler.ts
index c2ad82183..32bef817d 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPowerHandler.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPowerHandler.ts
@@ -18,7 +18,7 @@
import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-import { TransmissionPowerDataType, TransmissionPowerResult } from '../models/transmissionPowerDataType';
+import { TransmissionPowerDataType } from '../models/transmissionPowerDataType';
import { getFilter } from '../utils/tableUtils';
export interface ITransmissionPowerState extends IExternalTableState<TransmissionPowerDataType> { }
@@ -26,32 +26,7 @@ export interface ITransmissionPowerState extends IExternalTableState<Transmissio
/**
* Creates elastic search material data fetch handler for Transmission power from historicalperformance database.
*/
-const transmissionPowerSearchHandler = createSearchDataHandler<TransmissionPowerResult, TransmissionPowerDataType>(
- getFilter,
- null,
- (hit) => ({
- _id: hit._id,
- radioSignalId: hit._source["radio-signal-id"],
- scannerId: hit._source["scanner-id"],
- utcTimeStamp: hit._source["time-stamp"],
- suspectIntervalFlag: hit._source["suspect-interval-flag"],
- txLevelMin: hit._source["performance-data"]["tx-level-min"],
- txLevelAvg: hit._source["performance-data"]["tx-level-avg"],
- txLevelMax: hit._source["performance-data"]["tx-level-max"],
- }),
- (pmDataEntry: string) => {
- switch (pmDataEntry) {
- case "radioSignalId":
- return "radio-signal-id";
- case "scannerId":
- return "scanner-id";
- case "utcTimeStamp":
- return "time-stamp"
- case "suspectIntervalFlag":
- return "suspect-interval-flag";
- }
- return pmDataEntry
- });
+const transmissionPowerSearchHandler = createSearchDataHandler<TransmissionPowerDataType>(getFilter, null)
export const {
actionHandler: transmissionPowerActionHandler,
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/adaptiveModulationDataType.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/adaptiveModulationDataType.ts
index 9c1d28986..adb0bcd6f 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/adaptiveModulationDataType.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/adaptiveModulationDataType.ts
@@ -4,13 +4,13 @@
* =================================================================================================
* Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
* =================================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * Licensed under the Apache License, Version 2.0 (the License); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * is distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
* ============LICENSE_END==========================================================================
@@ -21,53 +21,43 @@ export { HitEntry, Result } from '../../../../framework/src/models';
* Represents Adaptive Modulation data fields of the performance history table.
*/
export type AdaptiveModulationDatabaseDataType = {
- "time2-states-s": number;
- "time2-states": number;
- "time2-states-l": number;
- "time4-states-s": number;
- "time4-states": number;
- "time4-states-l": number;
- "time16-states-s": number;
- "time16-states": number;
- "time16-states-l": number;
- "time32-states-s": number;
- "time32-states": number;
- "time32-states-l": number;
- "time64-states-s": number;
- "time64-states": number;
- "time64-states-l": number;
- "time128-states-s": number;
- "time128-states": number;
- "time128-states-l": number;
- "time256-states-s": number;
- "time256-states": number;
- "time256-states-l": number;
- "time512-states-s": number;
- "time512-states": number;
- "time512-states-l": number;
- "time1024-states-s": number;
- "time1024-states": number;
- "time1024-states-l": number;
- "time2048-states-s": number;
- "time2048-states": number;
- "time2048-states-l": number;
- "time4096-states-s": number;
- "time4096-states": number;
- "time4096-states-l": number;
- "time8192-states-s": number;
- "time8192-states": number;
- "time8192-states-l": number;
-};
-
-/**
- * Represents Result type of database query
- */
-export type AdaptiveModulationResult = {
- "performance-data": AdaptiveModulationDatabaseDataType;
- "radio-signal-id": string;
- "scanner-id": string;
- "suspect-interval-flag": boolean;
- "time-stamp": string;
+ _id: string ;
+ time2StatesS: number;
+ time2States: number;
+ time2StatesL: number;
+ time4StatesS: number;
+ time4States: number;
+ time4StatesL: number;
+ time16StatesS: number;
+ time16States: number;
+ time16StatesL: number;
+ time32StatesS: number;
+ time32States: number;
+ time32StatesL: number;
+ time64StatesS: number;
+ time64States: number;
+ time64StatesL: number;
+ time128StatesS: number;
+ time128States: number;
+ time128StatesL: number;
+ time256StatesS: number;
+ time256States: number;
+ time256StatesL: number;
+ time512StatesS: number;
+ time512States: number;
+ time512StatesL: number;
+ time1024StatesS: number;
+ time1024States: number;
+ time1024StatesL: number;
+ time2048StatesS: number;
+ time2048States: number;
+ time2048StatesL: number;
+ time4096StatesS: number;
+ time4096States: number;
+ time4096StatesL: number;
+ time8192StatesS: number;
+ time8192States: number;
+ time8192StatesL: number;
};
@@ -75,44 +65,45 @@ export type AdaptiveModulationResult = {
* Internally used type to provide table and chart data
*/
export type AdaptiveModulationDataType = {
+ performanceData: AdaptiveModulationDatabaseDataType;
radioSignalId: string;
scannerId: string;
- utcTimeStamp: string;
+ timeStamp: string;
suspectIntervalFlag: boolean;
- "time2StatesS": number;
- "time2States": number;
- "time2StatesL": number;
- "time4StatesS": number;
- "time4States": number;
- "time4StatesL": number;
- "time16StatesS": number;
- "time16States": number;
- "time16StatesL": number;
- "time32StatesS": number;
- "time32States": number;
- "time32StatesL": number;
- "time64StatesS": number;
- "time64States": number;
- "time64StatesL": number;
- "time128StatesS": number;
- "time128States": number;
- "time128StatesL": number;
- "time256StatesS": number;
- "time256States": number;
- "time256StatesL": number;
- "time512StatesS": number;
- "time512States": number;
- "time512StatesL": number;
- "time1024StatesS": number;
- "time1024States": number;
- "time1024StatesL": number;
- "time2048StatesS": number;
- "time2048States": number;
- "time2048StatesL": number;
- "time4096StatesS": number;
- "time4096States": number;
- "time4096StatesL": number;
- "time8192StatesS": number;
- "time8192States": number;
- "time8192StatesL": number;
+ time2StatesS: number;
+ time2States: number;
+ time2StatesL: number;
+ time4StatesS: number;
+ time4States: number;
+ time4StatesL: number;
+ time16StatesS: number;
+ time16States: number;
+ time16StatesL: number;
+ time32StatesS: number;
+ time32States: number;
+ time32StatesL: number;
+ time64StatesS: number;
+ time64States: number;
+ time64StatesL: number;
+ time128StatesS: number;
+ time128States: number;
+ time128StatesL: number;
+ time256StatesS: number;
+ time256States: number;
+ time256StatesL: number;
+ time512StatesS: number;
+ time512States: number;
+ time512StatesL: number;
+ time1024StatesS: number;
+ time1024States: number;
+ time1024StatesL: number;
+ time2048StatesS: number;
+ time2048States: number;
+ time2048StatesL: number;
+ time4096StatesS: number;
+ time4096States: number;
+ time4096StatesL: number;
+ time8192StatesS: number;
+ time8192States: number;
+ time8192StatesL: number;
} & { _id: string }; \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/availableLtps.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/availableLtps.ts
index fcf7ad5f6..dc6c7bc16 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/availableLtps.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/availableLtps.ts
@@ -16,16 +16,6 @@
* ============LICENSE_END==========================================================================
*/
export type LtpIds = {
- key: string
+ key : string
}
- export type Bucket<T>={
- buckets: T[]
- }
-
-/**
- * Represents distinct available ltps using elasticsearch aggregations structure.
- */
- export type DistinctLtp = {
- "uuid-interface": Bucket<LtpIds>
- }
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/chartTypes.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/chartTypes.ts
index 487cf029d..53039faa2 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/chartTypes.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/chartTypes.ts
@@ -45,5 +45,5 @@ export interface IDataSetsObject {
* Interface used by chart for sorting on time-stamp
*/
export interface ITimeStamp {
- "utcTimeStamp": string;
+ timeStamp: string;
}
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/connectedNetworkElements.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/connectedNetworkElements.ts
deleted file mode 100644
index b7277f777..000000000
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/connectedNetworkElements.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * Represents connected network elements.
- */
-
-export type ConnectedNetworkElementIds = {
- mountId: string;
- }
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/crossPolarDiscriminationDataType.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/crossPolarDiscriminationDataType.ts
index ef4415393..8adb16f45 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/crossPolarDiscriminationDataType.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/crossPolarDiscriminationDataType.ts
@@ -22,29 +22,20 @@ export { HitEntry, Result } from '../../../../framework/src/models';
* Represents Receive level data fields of the performance history table.
*/
export type CrossPolarDiscriminationDatabaseDataType = {
- "xpd-min": number;
- "xpd-avg": number;
- "xpd-max": number;
-};
-
-/**
- * Represents Result type of database query
- */
-export type CrossPolarDiscriminationResult = {
- "performance-data": CrossPolarDiscriminationDatabaseDataType
- "radio-signal-id": string;
- "scanner-id": string;
- "suspect-interval-flag": boolean;
- "time-stamp": string;
+ _id: string;
+ xpdMin: number;
+ xpdAvg: number;
+ xpdMax: number;
};
/**
* Internally used type to provide table and chart data
*/
export type CrossPolarDiscriminationDataType = {
+ performanceData: CrossPolarDiscriminationDatabaseDataType
radioSignalId: string;
scannerId: string;
- utcTimeStamp: string;
+ timeStamp: string;
suspectIntervalFlag: boolean;
xpdMin: number;
xpdAvg: number;
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/deviceListType.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/deviceListType.ts
new file mode 100644
index 000000000..db8f2d71e
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/deviceListType.ts
@@ -0,0 +1,25 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+
+/**
+ * Represents all the distinct devices from the performance history data.
+ */
+
+export type DeviceListType = {
+ nodeId: string;
+}
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/panelId.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/panelId.ts
index 1f05b47cc..5889a64c8 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/panelId.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/panelId.ts
@@ -1,4 +1,22 @@
/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+
+/**
* Represents PanelIds for the available Expansional panels.
*/
export type PanelId = null | "PerformanceData" | "ReceiveLevel" | "TransmissionPower" | "AdaptiveModulation" | "Temperature" | "SINR" | "CPD"; \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/performanceDataType.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/performanceDataType.ts
index 6af29c4a8..30f97fb54 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/performanceDataType.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/performanceDataType.ts
@@ -23,30 +23,21 @@ import { Moment } from "moment";
* Represents performance data fields of the performance history table as used in the database
*/
export type PerformanceDatabaseDataType = {
- "es": number;
- "ses": number;
- "unavailability": number;
-};
-
-
-/**
- * Represents Result type of database query
- */
-export type PerformanceResult = {
- "performance-data": PerformanceDatabaseDataType;
- "radio-signal-id": string;
- "scanner-id": string;
- "suspect-interval-flag": boolean;
- "time-stamp": string;
+ _id: string;
+ es: number;
+ ses: number;
+ unavailability: number;
};
/**
* Internally used type to provide table and chart data
*/
export type PerformanceDataType = {
+
+ performanceData: PerformanceDatabaseDataType;
radioSignalId: string;
scannerId: string;
- utcTimeStamp: string;
+ timeStamp: string;
suspectIntervalFlag: boolean;
es: number;
ses: number;
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/receiveLevelDataType.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/receiveLevelDataType.ts
index 836bf58d9..2748a3d5d 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/receiveLevelDataType.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/receiveLevelDataType.ts
@@ -21,29 +21,20 @@ export { HitEntry, Result } from '../../../../framework/src/models';
* Represents Receive level data fields of the performance history table.
*/
export type ReceiveLevelDatabaseDataType = {
- "rx-level-min": number;
- "rx-level-avg": number;
- "rx-level-max": number;
-};
-
-/**
- * Represents Result type of database query
- */
-export type ReceiveLevelResult = {
- "performance-data": ReceiveLevelDatabaseDataType
- "radio-signal-id": string;
- "scanner-id": string;
- "suspect-interval-flag": boolean;
- "time-stamp": string;
+ _id: string;
+ rxLevelMin: number;
+ rxLevelAvg: number;
+ rxLevelMax: number;
};
/**
* Internally used type to provide table and chart data
*/
export type ReceiveLevelDataType = {
+ performanceData: ReceiveLevelDatabaseDataType;
radioSignalId: string;
scannerId: string;
- utcTimeStamp: string;
+ timeStamp: string;
suspectIntervalFlag: boolean;
rxLevelMin: number;
rxLevelAvg: number;
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/signalToInteferenceDataType.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/signalToInteferenceDataType.ts
index deb1d8f18..5c675feb8 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/signalToInteferenceDataType.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/signalToInteferenceDataType.ts
@@ -22,30 +22,20 @@ export { HitEntry, Result } from '../../../../framework/src/models';
* Represents Receive level data fields of the performance history table.
*/
export type SignalToInterferenceDatabaseDataType = {
- "snir-min": number;
- "snir-avg": number;
- "snir-max": number;
-};
-
-/**
- * Represents Result type of database query
- */
-export type SignalToInterferenceResult = {
- "performance-data": SignalToInterferenceDatabaseDataType
- "radio-signal-id": string;
- "scanner-id": string;
- "suspect-interval-flag": boolean;
- "time-stamp": string;
+ _id: string;
+ snirMin: number;
+ snirAvg: number;
+ snirMax: number;
};
-
/**
* Internally used type to provide table and chart data
*/
export type SignalToInterferenceDataType = {
+ performanceData: SignalToInterferenceDatabaseDataType;
radioSignalId: string;
scannerId: string;
- utcTimeStamp: string;
+ timeStamp: string;
suspectIntervalFlag: boolean;
snirMin: number;
snirAvg: number;
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/temperatureDataType.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/temperatureDataType.ts
index dd3ce5253..3b0cb7683 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/temperatureDataType.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/temperatureDataType.ts
@@ -22,29 +22,20 @@ export { HitEntry, Result } from '../../../../framework/src/models';
* Represents Receive level data fields of the performance history table.
*/
export type TemperatureDatabaseDataType = {
- "rf-temp-min": number;
- "rf-temp-avg": number;
- "rf-temp-max": number;
-};
-
-/**
- * Represents Result type of database query
- */
-export type TemperatureResult = {
- "performance-data": TemperatureDatabaseDataType
- "radio-signal-id": string;
- "scanner-id": string;
- "suspect-interval-flag": boolean;
- "time-stamp": string;
+ _id: string;
+ rfTempMin: number;
+ rfTempAvg: number;
+ rfTempMax: number;
};
/**
* Internally used type to provide table and chart data
*/
export type TemperatureDataType = {
+ performanceData: TemperatureDatabaseDataType
radioSignalId: string;
scannerId: string;
- utcTimeStamp: string;
+ timeStamp: string;
suspectIntervalFlag: boolean;
rfTempMin: number;
rfTempAvg: number;
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/topologyNetConf.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/topologyNetconf.ts
index 6bd89411d..99123f55e 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/topologyNetConf.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/topologyNetconf.ts
@@ -15,15 +15,12 @@
* the License.
* ============LICENSE_END==========================================================================
*/
+
export interface TopologyNode {
"node-id": string;
- "netconf-node-topology:connection-status": string;
}
-/**
- * Represents restConf network element topology.
- */
export interface Topology {
"topology-id": string;
- "node": TopologyNode[];
+ node: TopologyNode[];
}
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/transmissionPowerDataType.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/transmissionPowerDataType.ts
index 2c31f5378..62c00bfe4 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/transmissionPowerDataType.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/transmissionPowerDataType.ts
@@ -22,29 +22,20 @@ export { HitEntry, Result } from '../../../../framework/src/models';
* Represents Receive level data fields of the performance history table.
*/
export type TransmissionPowerDatabaseDataType = {
- "tx-level-min": number;
- "tx-level-avg": number;
- "tx-level-max": number;
-};
-
-/**
- * Represents Result type of database query
- */
-export type TransmissionPowerResult = {
- "performance-data": TransmissionPowerDatabaseDataType
- "radio-signal-id": string;
- "scanner-id": string;
- "suspect-interval-flag": boolean;
- "time-stamp": string;
+ _id: string;
+ txLevelMin: number;
+ txLevelAvg: number;
+ txLevelMax: number;
};
/**
* Internally used type to provide table and chart data
*/
export type TransmissionPowerDataType = {
+ performanceData: TransmissionPowerDatabaseDataType;
radioSignalId: string;
scannerId: string;
- utcTimeStamp: string;
+ timeStamp: string;
suspectIntervalFlag: boolean;
txLevelMin: number;
txLevelAvg: number;
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/plugin.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/pluginPerformance.tsx
index a3fa2dbfe..df3ffd90a 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/plugin.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/pluginPerformance.tsx
@@ -29,7 +29,7 @@ import { ApplicationStore } from '../../../framework/src/store/applicationStore'
import connect, { Connect, IDispatcher } from '../../../framework/src/flux/connect';
import { IApplicationStoreState } from "../../../framework/src/store/applicationStore";
-import { updateMountIdActionCreator } from "./actions/connectedNetworkElementsActions";
+import { updateMountIdActionCreator } from "./actions/deviceListActions";
let api: {
readonly applicationStore: ApplicationStore | null;
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/services/performanceHistoryService.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/services/performanceHistoryService.ts
index 0f3c89b83..2b03d1c2e 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/services/performanceHistoryService.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/services/performanceHistoryService.ts
@@ -18,7 +18,10 @@
import { requestRest } from '../../../../framework/src/services/restService';
import { Result } from '../../../../framework/src/models/elasticSearch';
-import { DistinctLtp, LtpIds } from '../models/availableLtps';
+import { convertPropertyNames, replaceUpperCase } from '../../../../framework/src/utilities/yangHelper';
+import { LtpIds } from '../models/availableLtps';
+import { DeviceListType } from '../models/deviceListType';
+import { Topology, TopologyNode } from '../models/topologyNetconf';
/**
* Represents a web api accessor service for Network elements actions.
@@ -31,33 +34,75 @@ class PerformanceService {
public async getDistinctLtpsFromDatabase(networkElement: string, selectedTimePeriod: string): Promise<LtpIds[] | null> {
let path;
const query = {
- "size": 0,
- "query": {
- "match": {
- "node-name": networkElement
- }
- },
- "aggs": {
- "uuid-interface": {
- "terms": {
- "field": "uuid-interface"
- }
- }
+ "filter": [{
+ "property": "node-name",
+ "filtervalue": networkElement
+ }],
+ "sortorder": [],
+ "pagination": {
+ "size": 20,
+ "page": 1
}
- };
+ }
+
if (selectedTimePeriod === "15min") {
- path = 'database/sdnperformance/historicalperformance15min/_search';
+ path = '/restconf/operations/data-provider:read-pmdata-15m-ltp-list';
} else {
- path = 'database/sdnperformance/historicalperformance24h/_search';
+ path = '/restconf/operations/data-provider:read-pmdata-24h-ltp-list';
}
- const result = await requestRest<Result<DistinctLtp>>(path, { method: "POST", body: JSON.stringify(query) });
- return result && result.aggregations && result.aggregations["uuid-interface"].buckets.map(ne => ({
- key: ne.key
+ const result = await requestRest<Result<string>>(path, { method: "POST", body: JSON.stringify(convertPropertyNames({ input: query }, replaceUpperCase)) });
+ return result && result.output && result.output.data.map(ne => ({ key: ne })) || null;
+ }
+
+
+
+ /**
+ * Gets all devices from the performanceHistory 15min backend.
+ */
+ public async getDeviceListfromPerf15minHistory(): Promise<(DeviceListType)[] | null> {
+ const path = '/restconf/operations/data-provider:read-pmdata-15m-device-list';
+ const query = {
+ "input": {
+ "filter": [],
+ "sortorder": [],
+ "pagination": {
+ "size": 20,
+ "page": 1
+ }
+ }
+ };
+
+ const result = await requestRest<Result<string>>(path, { method: "POST", body: JSON.stringify(query) });
+ return result && result.output && result.output.data && result.output.data.map(ne => ({
+ nodeId: ne
+ })) || null;
+ }
+
+ /**
+ * Gets all devices from the performanceHistory 24h backend.
+ */
+ public async getDeviceListfromPerf24hHistory(): Promise<(DeviceListType)[] | null> {
+ const path = '/restconf/operations/data-provider:read-pmdata-24h-device-list';
+ const query = {
+ "input": {
+ "filter": [],
+ "sortorder": [],
+ "pagination": {
+ "size": 20,
+ "page": 1
+ }
+ }
+ };
+
+ const result = await requestRest<Result<string>>(path, { method: "POST", body: JSON.stringify(query) });
+ return result && result.output && result.output.data && result.output.data.map(ne => ({
+ nodeId: ne
})) || null;
}
}
+
export const PerformanceHistoryService = new PerformanceService();
export default PerformanceHistoryService;
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/chartUtils.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/chartUtils.tsx
index 52b5ddb58..3240f73f1 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/chartUtils.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/chartUtils.tsx
@@ -69,7 +69,7 @@ export const lineChart = (chartPagedData: IDataSetsObject) => {
export const sortDataByTimeStamp = <T extends ITimeStamp>(_rows: T[]): T[] => {
return (_rows.sort((a, b) => {
- const result = Date.parse(a["utcTimeStamp"]) - Date.parse(b["utcTimeStamp"]);
+ const result = Date.parse(a["timeStamp"]) - Date.parse(b["timeStamp"]);
return isNaN(result) ? 0 : result;
}));
} \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/tableUtils.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/tableUtils.ts
index 865d89c88..b5a3a3f36 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/tableUtils.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/tableUtils.ts
@@ -18,7 +18,7 @@
import { ColumnType, ColumnModel } from '../../../../framework/src/components/material-table';
import { PmDataInterval } from '../models/performanceDataType';
-import { getPmDataInterval } from '../plugin';
+import { getPmDataInterval } from '../pluginPerformance';
export const addColumnLabels = <T>(name: string, title: string, disableFilter = true, disableSorting = true): ColumnModel<T> => {
return { property: name as keyof T, title: title, type: ColumnType.text, disableFilter: disableFilter, disableSorting: disableSorting };
@@ -27,9 +27,9 @@ export const addColumnLabels = <T>(name: string, title: string, disableFilter =
export function getFilter(): string {
switch (getPmDataInterval()) {
case PmDataInterval.pmInterval15Min:
- return "sdnperformance/historicalperformance15min";
+ return "pmdata-15m";
case PmDataInterval.pmInterval24Hours:
- return "sdnperformance/historicalperformance24h";
+ return "pmdata-24h";
default:
throw new Error("Unknown time intervall");
}
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/views/performanceHistoryApplication.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/views/performanceHistoryApplication.tsx
index 218250d18..ae22f8041 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/views/performanceHistoryApplication.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/views/performanceHistoryApplication.tsx
@@ -25,7 +25,6 @@ import Select from '@material-ui/core/Select';
import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/connect';
import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore';
import { Panel } from '../../../../framework/src/components/material-ui';
-import { loadAllMountedNetworkElementsAsync } from '../../../connectApp/src/actions/mountedNetworkElementsActions';
import { NavigateToApplication } from '../../../../framework/src/actions/navigationActions';
import { Dispatch } from '../../../../framework/src/flux/store';
@@ -38,7 +37,7 @@ import AdaptiveModulation from '../components/adaptiveModulation';
import Temperature from '../components/temperature';
import SignalToInterference from '../components/signalToInterference';
import CrossPolarDiscrimination from '../components/crossPolarDiscrimination';
-import { loadAllConnectedNetworkElementsAsync } from '../actions/connectedNetworkElementsActions';
+import { loadAllDeviceListAsync } from '../actions/deviceListActions';
import { TimeChangeAction } from '../actions/timeChangeAction';
import { loadDistinctLtpsbyNetworkElementAsync } from '../actions/ltpAction';
import { SetPanelAction } from '../actions/panelChangeActions';
@@ -58,7 +57,7 @@ const PerformanceHistoryComponentStyles = (theme: Theme) => createStyles({
flexWrap: "wrap",
},
margin: {
- margin: theme.spacing.unit,
+ margin: theme.spacing(1),
},
display: {
display: "inline-block"
@@ -79,7 +78,7 @@ const mapProps = (state: IApplicationStoreState) => ({
...state.performanceHistory,
activePanel: state.performanceHistory.currentOpenPanel,
availableLtps: state.performanceHistory.ltps.distinctLtps,
- networkElements: state.performanceHistory.networkElements.connectedNetworkElementIds
+ networkElements: state.performanceHistory.networkElements.deviceList,
});
const mapDispatcher = (dispatcher: IDispatcher) => ({
@@ -104,9 +103,8 @@ const mapDispatcher = (dispatcher: IDispatcher) => ({
temperaturePreActions: createTemperaturePreActions(dispatcher.dispatch),
signalToInterferencePreActions: createSignalToInterferencePreActions(dispatcher.dispatch),
crossPolarDiscriminationPreActions: createCrossPolarDiscriminationPreActions(dispatcher.dispatch),
- getConnectedNetworkElementsIds: async () => {
- await dispatcher.dispatch(loadAllMountedNetworkElementsAsync)
- dispatcher.dispatch(loadAllConnectedNetworkElementsAsync);
+ getAllDevicesPMdata: async () => {
+ await dispatcher.dispatch(loadAllDeviceListAsync);
},
getDistinctLtpsIds: (selectedNetworkElement: string, selectedTimePeriod: string, selectedLtp: string, selectFirstLtp?: Function, resetLTP?: Function) => dispatcher.dispatch(loadDistinctLtpsbyNetworkElementAsync(selectedNetworkElement, selectedTimePeriod, selectedLtp, selectFirstLtp, resetLTP)),
setCurrentPanel: (panelId: PanelId) => dispatcher.dispatch(new SetPanelAction(panelId)),
@@ -117,7 +115,7 @@ const mapDispatcher = (dispatcher: IDispatcher) => ({
});
export type NetworkElementType = {
- mountId: string,
+ nodeId: string,
}
const NetworkElementTable = MaterialTable as MaterialTableCtorType<NetworkElementType>;
@@ -184,62 +182,62 @@ class PerformanceHistoryComponent extends React.Component<PerformanceHistoryComp
render(): JSX.Element {
const { classes } = this.props;
- const { activePanel, mountId } = this.props;
- if (mountId === "") {
+ const { activePanel, nodeId } = this.props;
+ if (nodeId === "") {
return (
<>
- <h2>Please select the network element !</h2>
- <NetworkElementTable idProperty={"mountId"} rows={ this.props.networkElements } asynchronus
- onHandleClick={(event, rowData) => { this.handleNetworkElementSelect(rowData.mountId) }} columns={
- [{ property: "mountId" }]
+ <NetworkElementTable title={"Please select the network element!"} idProperty={"nodeId"} rows={this.props.networkElements} asynchronus
+ onHandleClick={(event, rowData) => { this.handleNetworkElementSelect(rowData.nodeId) }} columns={
+ [{ property: "nodeId", title: "Node Name" }]
} />
</>
)
}
else {
- this.handleURLChange(mountId);
+ 3
+ this.handleURLChange(nodeId);
return (
<>
- <h2>Selected Network Element: { this.state.selectedNetworkElement } </h2>
- { this.state.showLtps && (
+ <h3>Selected Network Element: {this.state.selectedNetworkElement} </h3>
+ {this.state.showLtps && (
<div>
- <FormControl className={ classes.display }>
+ <FormControl className={classes.display}>
<span>
Select LTP
</span>
- <Select className={ classes.selectDropdown } value={ this.state.selectedLtp } onChange={ this.handleLtpChange } >
- <MenuItem value={ "-1" }><em>--Select--</em></MenuItem>
- { this.props.availableLtps.map(ltp =>
- (<MenuItem value={ ltp.key } key={ ltp.key }>{ ltp.key }</MenuItem>)) }
+ <Select className={classes.selectDropdown} value={this.state.selectedLtp} onChange={this.handleLtpChange} >
+ <MenuItem value={"-1"}><em>--Select--</em></MenuItem>
+ {this.props.availableLtps.map(ltp =>
+ (<MenuItem value={ltp.key} key={ltp.key}>{ltp.key}</MenuItem>))}
</Select>
<span> Time-Period </span>
- <Select className={ classes.selectDropdown } value={ this.state.selectedTimePeriod } onChange={ this.handleTimePeriodChange } >
- <MenuItem value={ "15min" }>15min</MenuItem>
- <MenuItem value={ "24hours" }>24hours</MenuItem>
+ <Select className={classes.selectDropdown} value={this.state.selectedTimePeriod} onChange={this.handleTimePeriodChange} >
+ <MenuItem value={"15min"}>15min</MenuItem>
+ <MenuItem value={"24hours"}>24hours</MenuItem>
</Select>
</FormControl>
- { this.state.showPanels && (
+ {this.state.showPanels && (
<div>
- <Panel activePanel={ activePanel } panelId={ "PerformanceData" } onToggle={ this.onTogglePanel } title={ "Performance Data" }>
- <PerformanceData selectedTimePeriod={ this.state.selectedTimePeriod } />
+ <Panel activePanel={activePanel} panelId={"PerformanceData"} onToggle={this.onTogglePanel} title={"Performance Data"}>
+ <PerformanceData selectedTimePeriod={this.state.selectedTimePeriod} />
</Panel>
- <Panel activePanel={ activePanel } panelId={ "ReceiveLevel" } onToggle={ this.onTogglePanel } title={ "Receive Level" }>
- <ReceiveLevel selectedTimePeriod={ this.state.selectedTimePeriod } />
+ <Panel activePanel={activePanel} panelId={"ReceiveLevel"} onToggle={this.onTogglePanel} title={"Receive Level"}>
+ <ReceiveLevel selectedTimePeriod={this.state.selectedTimePeriod} />
</Panel>
- <Panel activePanel={ activePanel } panelId={ "TransmissionPower" } onToggle={ this.onTogglePanel } title={ "Transmission Power" }>
- <TransmissionPower selectedTimePeriod={ this.state.selectedTimePeriod } />
+ <Panel activePanel={activePanel} panelId={"TransmissionPower"} onToggle={this.onTogglePanel} title={"Transmission Power"}>
+ <TransmissionPower selectedTimePeriod={this.state.selectedTimePeriod} />
</Panel>
- <Panel activePanel={ activePanel } panelId={ "AdaptiveModulation" } onToggle={ this.onTogglePanel } title={ "Adaptive Modulation" }>
- <AdaptiveModulation selectedTimePeriod={ this.state.selectedTimePeriod } />
+ <Panel activePanel={activePanel} panelId={"AdaptiveModulation"} onToggle={this.onTogglePanel} title={"Adaptive Modulation"}>
+ <AdaptiveModulation selectedTimePeriod={this.state.selectedTimePeriod} />
</Panel>
- <Panel activePanel={ activePanel } panelId={ "Temperature" } onToggle={ this.onTogglePanel } title={ "Temperature" }>
- <Temperature selectedTimePeriod={ this.state.selectedTimePeriod } />
+ <Panel activePanel={activePanel} panelId={"Temperature"} onToggle={this.onTogglePanel} title={"Temperature"}>
+ <Temperature selectedTimePeriod={this.state.selectedTimePeriod} />
</Panel>
- <Panel activePanel={ activePanel } panelId={ "SINR" } onToggle={ this.onTogglePanel } title={ "Signal-to-interference-plus-noise ratio (SINR)" }>
- <SignalToInterference selectedTimePeriod={ this.state.selectedTimePeriod } />
+ <Panel activePanel={activePanel} panelId={"SINR"} onToggle={this.onTogglePanel} title={"Signal-to-interference-plus-noise ratio (SINR)"}>
+ <SignalToInterference selectedTimePeriod={this.state.selectedTimePeriod} />
</Panel>
- <Panel activePanel={ activePanel } panelId={ "CPD" } onToggle={ this.onTogglePanel } title={ "Cross Polar Discrimination" }>
- <CrossPolarDiscrimination selectedTimePeriod={ this.state.selectedTimePeriod } />
+ <Panel activePanel={activePanel} panelId={"CPD"} onToggle={this.onTogglePanel} title={"Cross Polar Discrimination"}>
+ <CrossPolarDiscrimination selectedTimePeriod={this.state.selectedTimePeriod} />
</Panel>
</div>
)}
@@ -251,7 +249,7 @@ class PerformanceHistoryComponent extends React.Component<PerformanceHistoryComp
};
public componentDidMount() {
- this.props.getConnectedNetworkElementsIds();
+ this.props.getAllDevicesPMdata();
this.props.enableFilterPerformanceData.onToggleFilter();
this.props.enableFilterReceiveLevel.onToggleFilter();
this.props.enableFilterTransmissionPower.onToggleFilter();
@@ -290,38 +288,38 @@ class PerformanceHistoryComponent extends React.Component<PerformanceHistoryComp
}
- /**
- * Function which handles network element changes.
- */
- private handleNetworkElementSelect = (selectedNetworkElement: string) => {
-
- this.setState({
- showLtps: true,
- selectedNetworkElement: selectedNetworkElement,
- showNetworkElementsTable: false,
- showPanels: false,
- selectedLtp: "-1"
- });
- this.props.changeNode(selectedNetworkElement);
- this.props.getDistinctLtpsIds(selectedNetworkElement, this.state.selectedTimePeriod, "-1", this.selectFirstLtp);
-}
+ /**
+ * Function which handles network element changes.
+ */
+ private handleNetworkElementSelect = (selectedNetworkElement: string) => {
-private handleURLChange = (selectedNetworkElement: string) => {
- if(selectedNetworkElement !== this.state.selectedNetworkElement) {
this.setState({
showLtps: true,
selectedNetworkElement: selectedNetworkElement,
+ showNetworkElementsTable: false,
showPanels: false,
selectedLtp: "-1"
});
+ this.props.changeNode(selectedNetworkElement);
this.props.getDistinctLtpsIds(selectedNetworkElement, this.state.selectedTimePeriod, "-1", this.selectFirstLtp);
}
-}
-/**
- * Function which resets the ltps to "--select--" in the state if the passed parameter @ltpNotSelected is true.
- * @param ltpNotSelected: true, if existing selected is not available in the given time period, else false
- */
+ private handleURLChange = (selectedNetworkElement: string) => {
+ if (selectedNetworkElement !== this.state.selectedNetworkElement) {
+ this.setState({
+ showLtps: true,
+ selectedNetworkElement: selectedNetworkElement,
+ showPanels: false,
+ selectedLtp: "-1"
+ });
+ this.props.getDistinctLtpsIds(selectedNetworkElement, this.state.selectedTimePeriod, "-1", this.selectFirstLtp);
+ }
+ }
+
+ /**
+ * Function which resets the ltps to "--select--" in the state if the passed parameter @ltpNotSelected is true.
+ * @param ltpNotSelected: true, if existing selected is not available in the given time period, else false
+ */
private resetLtpDropdown = (ltpNotSelected: boolean) => {
if (ltpNotSelected) {
this.setState({
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/webpack.config.js b/sdnr/wt/odlux/apps/performanceHistoryApp/webpack.config.js
index 27a5949ac..9c2414864 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/webpack.config.js
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/webpack.config.js
@@ -26,7 +26,7 @@ module.exports = (env) => {
context: path.resolve(__dirname, "src"),
entry: {
- performanceHistoryApp: ["./plugin.tsx"]
+ performanceHistoryApp: ["./pluginPerformance.tsx"]
},
devtool: env === "release" ? false : "source-map",
@@ -125,12 +125,16 @@ module.exports = (env) => {
colors: true
},
proxy: {
+ "/oauth2/": {
+ target: "http://10.20.6.29:48181",
+ secure: false
+ },
"/restconf": {
- target: "http://localhost:8181",
+ target: "http://10.20.6.29:48181",
secure: false
},
"/database": {
- target: "http://localhost:8181",
+ target: "http://10.20.6.29:48181",
secure: false
}
}