Connect App Bugfix 72/105572/1
authorAijana Schumann <aijana.schumann@highstreet-technologies.com>
Thu, 9 Apr 2020 00:07:03 +0000 (02:07 +0200)
committerAijana Schumann <aijana.schumann@highstreet-technologies.com>
Thu, 9 Apr 2020 00:07:03 +0000 (02:07 +0200)
Fix too many network calls made for gui cuttrough

Issue-ID: SDNC-1152
Signed-off-by: Aijana Schumann <aijana.schumann@highstreet-technologies.com>
Change-Id: I3f63d2f81ace802768d3e8814899de8d32dd4d11

sdnr/wt/data-provider/provider/pom.xml
sdnr/wt/odlux/apps/connectApp/src/actions/commonNetworkElementsActions.ts
sdnr/wt/odlux/apps/connectApp/src/handlers/connectAppRootHandler.ts
sdnr/wt/odlux/framework/pom.xml

index dd2e03a..0d133f8 100644 (file)
@@ -52,7 +52,7 @@
         <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
         <buildtime>${maven.build.timestamp}</buildtime>
         <databaseport>49402</databaseport>
-        <odlux.buildno>50.53aa73a(20/03/12)</odlux.buildno>
+        <odlux.buildno>52.3b24c2d(20/04/08)</odlux.buildno>
     </properties>
 
     <dependencies>
index a6d81c1..a3bdc68 100644 (file)
@@ -38,7 +38,7 @@ export class SetPanelAction extends Action {
 }
 
 export class AddWebUriList extends Action {
-  constructor(public searchedElements: guiCutThrough[], public notSearchedElements: string[], public newlySearchedElements?: string[]) {
+  constructor(public searchedElements: guiCutThrough[], public notSearchedElements: string[], public unsupportedElements: string[], public newlySearchedElements?: string[] ) {
     super();
   }
 }
@@ -72,35 +72,52 @@ export const findWebUrisForGuiCutThroughAsyncAction = (networkElements: NetworkE
   let notConnectedElements: string[] = [];
   let elementsToSearch: string[] = [];
   let prevFoundElements: string[] = [];
+  let unsupportedElements: string[]= [];
 
 
   networkElements.forEach(item => {
-    const id = item.id as string;
-    if (item.status === "Connected") {
-
-      // element is connected and is added to search list, if it doesn't exist already
-      const exists = guiCutThrough.searchedElements.filter(element => element.nodeId === id).length > 0;
-      if (!exists) {
-        elementsToSearch.push(id);
-
-        //element was found previously, but not searched for a weburi
-        if (guiCutThrough.notSearchedElements.length > 0 && guiCutThrough.notSearchedElements.includes(id)) {
-          prevFoundElements.push(id);
+      const id = item.id as string;
+      if (item.status === "Connected") {
+
+        if(item.coreModelCapability!== "Unsupported"){
+          // element is connected and is added to search list, if it doesn't exist already
+          const exists = guiCutThrough.searchedElements.filter(element => element.nodeId === id).length > 0;
+          if (!exists) {
+            elementsToSearch.push(id);
+    
+            //element was found previously, but wasn't connected
+            if (guiCutThrough.notSearchedElements.length > 0 && guiCutThrough.notSearchedElements.includes(id)) {
+              prevFoundElements.push(id);
+            }
+        }
+        }else{
+          // element does not support core model and must not be searched for a weburi
+          const id = item.id as string;
+          const exists = guiCutThrough.unsupportedElements.filter(element => element === id).length > 0;
+          if(!exists){
+            unsupportedElements.push(id);
+
+             //element was found previously, but wasn't connected
+          if (guiCutThrough.notSearchedElements.length > 0 && guiCutThrough.notSearchedElements.includes(id)) {
+            prevFoundElements.push(id);
+          }
+          }
         }
       }
-    }
-    else {
-      // element isn't connected and cannot be searched for a weburi
-      if (!guiCutThrough.notSearchedElements.includes(id)) {
-        notConnectedElements.push(item.id as string);
+      else {
+        // element isn't connected and cannot be searched for a weburi
+        if (!guiCutThrough.notSearchedElements.includes(id)) {
+          notConnectedElements.push(item.id as string);
+        }
       }
-    }
   });
 
-  if (elementsToSearch.length > 0 || notConnectedElements.length > 0) {
+  
+  if (elementsToSearch.length > 0 || notConnectedElements.length > 0 || unsupportedElements.length>0 ) {
     const result = await connectService.getAllWebUriExtensionsForNetworkElementListAsync(elementsToSearch);
-    dispatcher(new AddWebUriList(result, notConnectedElements, prevFoundElements));
+  dispatcher(new AddWebUriList(result, notConnectedElements, unsupportedElements, prevFoundElements));
   }
+
   isBusy = false;
 }
 
index 23a8014..302a981 100644 (file)
@@ -43,14 +43,17 @@ const currentOpenPanelHandler: IActionHandler<PanelId> = (state = null, action)
 interface guiCutThroughState {
   searchedElements: guiCutThrough[];
   notSearchedElements: string[];
+  unsupportedElements: string[];
 }
 
-const guiCutThroughHandler: IActionHandler<guiCutThroughState> = (state = { searchedElements: [], notSearchedElements: [] }, action) => {
+const guiCutThroughHandler: IActionHandler<guiCutThroughState> = (state = { searchedElements: [], notSearchedElements: [], unsupportedElements:[] }, action) => {
   if (action instanceof AddWebUriList) {
     let notSearchedElements: string[];
     let searchedElements: guiCutThrough[];
+    let unsupportedElements: string[];
 
     notSearchedElements = state.notSearchedElements.concat(action.notSearchedElements);
+    unsupportedElements = state.unsupportedElements.concat(action.unsupportedElements);
 
     //remove elements, which were just searched
     if (action.newlySearchedElements) {
@@ -61,13 +64,14 @@ const guiCutThroughHandler: IActionHandler<guiCutThroughState> = (state = { sear
 
     searchedElements = state.searchedElements.concat(action.searchedElements);
 
-    state = { searchedElements: searchedElements, notSearchedElements: notSearchedElements }
+    state = { searchedElements: searchedElements, notSearchedElements: notSearchedElements, unsupportedElements: unsupportedElements }
 
   } else if (action instanceof RemoveWebUri) {
     const nodeId = action.element;
     const webUris = state.searchedElements.filter(item => item.nodeId !== nodeId);
     const knownElements = state.notSearchedElements.filter(item => item !== nodeId);
-    state = { notSearchedElements: knownElements, searchedElements: webUris };
+    const unsupportedElement = state.unsupportedElements.filter(item => item != nodeId);
+    state = { notSearchedElements: knownElements, searchedElements: webUris, unsupportedElements: unsupportedElement  };
   }
   return state;
 }
index 5c7f846..b125a45 100644 (file)
@@ -46,7 +46,7 @@
     <properties>
         <buildtime>${maven.build.timestamp}</buildtime>
         <distversion>ONAP Frankfurt (Neon, mdsal ${odl.mdsal.version})</distversion>
-        <buildno>50.53aa73a(20/03/12)</buildno>
+         <buildno>52.3b24c2d(20/04/08)</buildno>
         <odlux.version>ONAP SDN-R | ONF Wireless for ${distversion} - Build: ${buildtime} ${buildno} ${project.version}</odlux.version>
     </properties>