Switch odlux from Biermann-RestConf to RFC8040 interface
Switched rest-calls in odlux to use RFC8040 interface
Issue-ID: CCSDK-2565
Signed-off-by: Aijana Schumann <aijana.schumann@highstreet-technologies.com>
Change-Id: Ia59dd02bc6456bad648083146c0256f204e134d1
diff --git a/sdnr/wt/odlux/framework/pom.xml b/sdnr/wt/odlux/framework/pom.xml
index c7d9c32..db42ef1 100644
--- a/sdnr/wt/odlux/framework/pom.xml
+++ b/sdnr/wt/odlux/framework/pom.xml
@@ -46,7 +46,7 @@
<properties>
<buildtime>${maven.build.timestamp}</buildtime>
<distversion>ONAP Frankfurt (Neon, mdsal ${odl.mdsal.version})</distversion>
- <buildno>56.139cd6d(20/07/08)</buildno>
+ <buildno>57.3e1d5cf(20/08/11)</buildno>
<odlux.version>ONAP SDN-R | ONF Wireless for ${distversion} - Build: ${buildtime} ${buildno} ${project.version}</odlux.version>
</properties>
@@ -56,6 +56,10 @@
<directory>dist</directory>
<targetPath>odlux</targetPath>
</resource>
+ <resource>
+ <directory>src2/main/resources</directory>
+ <targetPath>odlux</targetPath>
+ </resource>
</resources>
<plugins>
<plugin>
@@ -172,12 +176,21 @@
<basedir>${project.build.directory}/classes/odlux</basedir>
<includes>
<include>app.js</include>
+ <include>version.json</include>
</includes>
<replacements>
<replacement>
<token>##odlux.version##</token>
<value>${odlux.version}</value>
</replacement>
+ <replacement>
+ <token>##buildno##</token>
+ <value>${buildno}</value>
+ </replacement>
+ <replacement>
+ <token>##build-timestamp##</token>
+ <value>${buildtime}</value>
+ </replacement>
</replacements>
</configuration>
</plugin>
diff --git a/sdnr/wt/odlux/framework/src/models/elasticSearch.ts b/sdnr/wt/odlux/framework/src/models/elasticSearch.ts
index 12cfd7d..b5f2509 100644
--- a/sdnr/wt/odlux/framework/src/models/elasticSearch.ts
+++ b/sdnr/wt/odlux/framework/src/models/elasticSearch.ts
@@ -16,16 +16,21 @@
* ============LICENSE_END==========================================================================
*/
export type Result<TSource extends {}> = {
- output: {
+ "data-provider:output": {
pagination?: {
- size: number,
- page: number,
- total: number
+ size: number;
+ page: number;
+ total: number;
},
data: TSource[];
}
}
+export type SingeResult<TSource extends {}> = {
+ "data-provider:output": TSource;
+}
+
+
export type HitEntry<TSource extends {}> = {
_index: string;
_type: string;
diff --git a/sdnr/wt/odlux/framework/src/services/restService.ts b/sdnr/wt/odlux/framework/src/services/restService.ts
index b02d7d1..19ef34f 100644
--- a/sdnr/wt/odlux/framework/src/services/restService.ts
+++ b/sdnr/wt/odlux/framework/src/services/restService.ts
@@ -33,7 +33,7 @@
/** Sends a rest request to the given path.
* @returns The data, or null it there was any error
*/
-export async function requestRest<TData>(path: string = '', init: RequestInit = {}, authenticate: boolean = true, isResource: boolean = false): Promise<TData | null> {
+export async function requestRest<TData>(path: string = '', init: RequestInit = {}, authenticate: boolean = true, isResource: boolean = false): Promise<TData | null | undefined> {
const res = await requestRestExt<TData>(path, init, authenticate, isResource);
if (res && res.status >= 200 && res.status < 300) {
return res.data;
@@ -42,9 +42,9 @@
}
/** Sends a rest request to the given path and reports the server state.
- * @returns An object with the server state, a message and the data.
+ * @returns An object with the server state, a message and the data or undefined in case of a json parse error.
*/
-export async function requestRestExt<TData>(path: string = '', init: RequestInit = {}, authenticate: boolean = true, isResource: boolean = false): Promise<{ status: number, message?: string, data: TData | null }> {
+export async function requestRestExt<TData>(path: string = '', init: RequestInit = {}, authenticate: boolean = true, isResource: boolean = false): Promise<{ status: number, message?: string, data: TData | null | undefined }> {
const result: { status: number, message?: string, data: TData | null } = {
status: -1,
data: null,
@@ -99,7 +99,7 @@
...result,
status: fetchResult.status,
message: error && error.message || String(error),
- data: null
+ data: undefined
};
}
}
\ No newline at end of file
diff --git a/sdnr/wt/odlux/framework/src/utilities/elasticSearch.ts b/sdnr/wt/odlux/framework/src/utilities/elasticSearch.ts
index c18a40b..6f4c71e 100644
--- a/sdnr/wt/odlux/framework/src/utilities/elasticSearch.ts
+++ b/sdnr/wt/odlux/framework/src/utilities/elasticSearch.ts
@@ -33,14 +33,14 @@
*/
export function createSearchDataHandler<TResult>(typeName: (() => string) | string, additionalFilters?: {} | null | undefined): DataCallback<(TResult)> {
const fetchData: DataCallback<(TResult)> = async (pageIndex, rowsPerPage, orderBy, order, filter) => {
- const url = `/restconf/operations/data-provider:read-${typeof typeName === "function" ? typeName(): typeName}-list`;
+ const url = `/rests/operations/data-provider:read-${typeof typeName === "function" ? typeName(): typeName}-list`;
filter = { ...filter, ...additionalFilters };
const filterKeys = filter && Object.keys(filter) || [];
const query = {
- input: {
+ "data-provider:input": {
filter: filterKeys.filter(f => filter![f] != null && filter![f] !== "").map(property => ({ property, filtervalue: filter![property]})),
sortorder: orderBy ? [{ property: orderBy, sortorder: order === "desc" ? "descending" : "ascending" }] : [],
pagination: { size: rowsPerPage, page: (pageIndex != null && pageIndex > 0 && pageIndex || 0) +1 }
@@ -60,12 +60,12 @@
if (result) {
let rows: TResult[] = [];
- if (result && result.output && result.output.data) {
- rows = result.output.data.map(obj => convertPropertyNames(obj, replaceHyphen)) || []
+ if (result && result["data-provider:output"] && result["data-provider:output"].data) {
+ rows = result["data-provider:output"].data.map(obj => convertPropertyNames(obj, replaceHyphen)) || []
}
const data = {
- page: result.output.pagination && result.output.pagination.page != null && result.output.pagination.page - 1 || 0 , total: result.output.pagination && result.output.pagination.total || 0, rows: rows
+ page: +(result["data-provider:output"].pagination && result["data-provider:output"].pagination.page != null && result["data-provider:output"].pagination.page - 1 || 0) , total: +(result["data-provider:output"].pagination && result["data-provider:output"].pagination.total || 0), rows: rows
};
return data;
}
diff --git a/sdnr/wt/odlux/framework/src/views/about.tsx b/sdnr/wt/odlux/framework/src/views/about.tsx
index ca3953a..c4a5488 100644
--- a/sdnr/wt/odlux/framework/src/views/about.tsx
+++ b/sdnr/wt/odlux/framework/src/views/about.tsx
@@ -44,7 +44,7 @@
requestRestExt<string>('/about').then((response) => {
const content = response.status == 200 ? response.data : `${response.status} ${response.message}` || "Server error";
const loadedSucessfully = response.status == 200 ? true : false;
- this.setState({ content: content, isContentLoadedSucessfully: loadedSucessfully });
+ this.setState({ content: content || null, isContentLoadedSucessfully: loadedSucessfully });
}).catch((error) => {
this.setState({ content: error })
})
diff --git a/sdnr/wt/odlux/framework/src2/main/resources/version.json b/sdnr/wt/odlux/framework/src2/main/resources/version.json
new file mode 100644
index 0000000..f74d2c9
--- /dev/null
+++ b/sdnr/wt/odlux/framework/src2/main/resources/version.json
@@ -0,0 +1,4 @@
+{
+ "version":"##buildno##",
+ "build":"##build-timestamp##"
+}
\ No newline at end of file
diff --git a/sdnr/wt/odlux/framework/webpack.config.js b/sdnr/wt/odlux/framework/webpack.config.js
index 4887a75..c7ef72e 100644
--- a/sdnr/wt/odlux/framework/webpack.config.js
+++ b/sdnr/wt/odlux/framework/webpack.config.js
@@ -176,7 +176,7 @@
],
devServer: {
- public: "http://localhost:3100",
+ public: "http://10.20.6.29:3100",
contentBase: distPath,
compress: true,
@@ -195,23 +195,23 @@
},
proxy: {
"/oauth2/": {
- target: "http://localhost:48181",
+ target: "http://10.20.6.29:48181",
secure: false
},
"/database/": {
- target: "http://localhost:48181",
+ target: "http://10.20.6.29:48181",
secure: false
},
"/restconf/": {
- target: "http://localhost:48181",
+ target: "http://10.20.6.29:48181",
secure: false
},
"/help/": {
- target: "http://localhost:48181",
+ target: "http://10.20.6.29:48181",
secure: false
},
"/websocket": {
- target: "http://localhost:48181",
+ target: "http://10.20.6.29:48181",
ws: true,
changeOrigin: true,
secure: false