Web Client context menu item display 56/136856/1
authorRavi Pendurty <ravi.pendurty@highstreet-technologies.com>
Mon, 18 Dec 2023 07:45:28 +0000 (13:15 +0530)
committerRavi Pendurty <ravi.pendurty@highstreet-technologies.com>
Mon, 18 Dec 2023 07:45:39 +0000 (13:15 +0530)
Irrespective of connection state of the mountpoint

Issue-ID: CCSDK-3975
Change-Id: I10f785024c7cca42e4c6dfe568ecb9f2412de213
Signed-off-by: Ravi Pendurty <ravi.pendurty@highstreet-technologies.com>
sdnr/wt-odlux/odlux/apps/connectApp/src/actions/commonNetworkElementsActions.ts
sdnr/wt-odlux/odlux/apps/connectApp/src/handlers/networkElementsHandler.ts
sdnr/wt/data-provider/dblib/src/main/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/database/sqldb/data/SqlDBDataProvider.java

index 948f2aa..2942c1a 100644 (file)
@@ -82,7 +82,7 @@ export const findWebUrisForGuiCutThroughAsyncAction = (networkElementIds: string
   networkElementIds.forEach(id => {
     const item = networkElements.rows.find((ne) => ne.id === id);
     if (item) {
-      if (item.status === 'Connected') {
+      if (item.status) {
 
         // if (item.coreModelCapability !== "Unsupported") {
         // element is connected and is added to search list, if it doesn't exist already
@@ -118,7 +118,7 @@ export const findWebUrisForGuiCutThroughAsyncAction = (networkElementIds: string
   });
 
 
-  if (elementsToSearch.length > 0 || notConnectedElements.length > 0 || unsupportedElements.length > 0) {
+  if (elementsToSearch.length > 0 || unsupportedElements.length > 0) {
     const result = await connectService.getAllWebUriExtensionsForNetworkElementListAsync(elementsToSearch);
     dispatcher(new AddWebUriList(result, notConnectedElements, unsupportedElements, prevFoundElements));
   }
index 42d2824..71d62f9 100644 (file)
@@ -42,7 +42,7 @@ export const {
 
     appState.connect.networkElements.rows.forEach(element => {
 
-      if (element.status === 'Connected') {
+      if (element.status) {
         const webUri = webUris.find(item => item.id === element.id as string);
         if (webUri) {
           element.weburi = webUri.weburi;
index e04e109..0293030 100644 (file)
@@ -28,6 +28,7 @@ import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 import java.util.concurrent.TimeUnit;
 import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.sqldb.SqlDBClient;
 import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.sqldb.SqlDBConfig;
@@ -87,6 +88,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.pro
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateNetworkElementConnectionInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateNetworkElementConnectionOutputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.Filter;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.FilterKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.mediator.server.list.output.Data;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -474,27 +476,27 @@ public class SqlDBDataProvider extends HtDatabaseEventsService implements Databa
     @Override
     public ReadGuiCutThroughEntryOutputBuilder readGuiCutThroughEntry(EntityInput input) {
         ReadGuiCutThroughEntryOutputBuilder outputBuilder = new ReadGuiCutThroughEntryOutputBuilder();
-        QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.gui.cut.through.entry.output.Data> result =
-                this.guicutthroughRW.getData(input);
 
         if (!guicutthroughOverride.isEmpty()) {
-            List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.gui.cut.through.entry.output.Data> gcData =
-                    result.getResult();
-            List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.gui.cut.through.entry.output.Data> updatedGcData =
-                    new ArrayList<>();
-            for (int i = 0; i < gcData.size(); i++) {
-                org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.gui.cut.through.entry.output.Data gcDataItem =
-                        gcData.get(i);
-                Guicutthrough gcItem =
-                        new GuicutthroughBuilder().setId(gcDataItem.getId()).setName(gcDataItem.getName())
-                                .setWeburi(guicutthroughOverride + "/" + gcDataItem.getId()).build();
-                org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.gui.cut.through.entry.output.DataBuilder gcDataBuilder =
-                        new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.gui.cut.through.entry.output.DataBuilder(
-                                gcItem);
-                updatedGcData.add(gcDataBuilder.build());
+            if (input.getFilter() != null) {
+                // Iterate through the Filter map, get the ID and populate the GuicutThrough object accordingly.
+                Map<FilterKey, Filter> inputFilter = input.getFilter();
+                List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.gui.cut.through.entry.output.Data> gcData =
+                        new ArrayList<>();
+                for (FilterKey fk : inputFilter.keySet()) {
+                    String fkVal = inputFilter.get(fk).getFiltervalue();
+                    if (fkVal != null) {
+                        addGcItem(gcData, fkVal);
+                    }
+                    for (String fkVals : inputFilter.get(fk).getFiltervalues()) {
+                        addGcItem(gcData, fkVals);
+                    }
+                }
+                outputBuilder.setData(gcData);
             }
-            outputBuilder.setData(updatedGcData);
         } else {
+            QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.gui.cut.through.entry.output.Data> result =
+                    this.guicutthroughRW.getData(input);
             outputBuilder.setData(result.getResult());
         }
         outputBuilder.setPagination(
@@ -503,6 +505,17 @@ public class SqlDBDataProvider extends HtDatabaseEventsService implements Databa
         return outputBuilder;
     }
 
+    private void addGcItem(
+            List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.gui.cut.through.entry.output.Data> gcData,
+            String value) {
+        Guicutthrough gcItem = new GuicutthroughBuilder().setId(value).setName(value)
+                .setWeburi(guicutthroughOverride + "/" + value).build();
+        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.gui.cut.through.entry.output.DataBuilder gcDataBuilder =
+                new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.gui.cut.through.entry.output.DataBuilder(
+                        gcItem);
+        gcData.add(gcDataBuilder.build());
+    }
+
     @Override
     public boolean waitForYellowDatabaseStatus(long timeout, TimeUnit unit) {
         return true;