summaryrefslogtreecommitdiffstats
path: root/vid-app-common
diff options
context:
space:
mode:
Diffstat (limited to 'vid-app-common')
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/properties/Features.java1
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/services/AAITreeNodeBuilder.java85
-rw-r--r--vid-app-common/src/main/webapp/WEB-INF/conf/dev.features.properties3
-rw-r--r--vid-app-common/src/test/resources/WEB-INF/conf/asdc.properties17
-rw-r--r--vid-app-common/src/test/resources/WEB-INF/conf/raptor_app_fusion.properties4
-rw-r--r--vid-app-common/src/test/resources/WEB-INF/conf/system.properties34
-rw-r--r--vid-app-common/src/test/resources/WEB-INF/conf/system.properties.cml93
-rw-r--r--vid-app-common/src/test/resources/WEB-INF/fusion/jsp/ds2/left-menu.jsp37
-rw-r--r--vid-app-common/src/test/resources/WEB-INF/fusion/jsp/ebz/ebz_header.jsp37
9 files changed, 70 insertions, 241 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/properties/Features.java b/vid-app-common/src/main/java/org/onap/vid/properties/Features.java
index a3343d36b..abee30025 100644
--- a/vid-app-common/src/main/java/org/onap/vid/properties/Features.java
+++ b/vid-app-common/src/main/java/org/onap/vid/properties/Features.java
@@ -80,6 +80,7 @@ public enum Features implements Feature {
FLAG_FLASH_MORE_ACTIONS_BUTTON_IN_OLD_VIEW_EDIT,
FLAG_FLASH_CLOUD_REGION_AND_NF_ROLE_OPTIONAL_SEARCH,
FLAG_1911_INSTANTIATION_ORDER_IN_ASYNC_ALACARTE,
+ FLAG_1911_INSTANTIATION_ORDER_BUTTON_IN_ASYNC_ALACARTE
;
diff --git a/vid-app-common/src/main/java/org/onap/vid/services/AAITreeNodeBuilder.java b/vid-app-common/src/main/java/org/onap/vid/services/AAITreeNodeBuilder.java
index d53eba8d3..c8434609e 100644
--- a/vid-app-common/src/main/java/org/onap/vid/services/AAITreeNodeBuilder.java
+++ b/vid-app-common/src/main/java/org/onap/vid/services/AAITreeNodeBuilder.java
@@ -20,8 +20,28 @@
package org.onap.vid.services;
+import static java.util.stream.Collectors.toList;
+import static java.util.stream.Collectors.toMap;
+import static java.util.stream.Collectors.toSet;
+import static org.onap.vid.utils.KotlinUtilsKt.JACKSON_OBJECT_MAPPER;
+import static org.onap.vid.utils.Streams.not;
+
import com.fasterxml.jackson.databind.JsonNode;
import com.google.common.collect.ImmutableList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.Set;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentSkipListSet;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+import javax.inject.Inject;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
@@ -42,19 +62,10 @@ import org.onap.vid.properties.VidProperties;
import org.onap.vid.utils.Streams;
import org.onap.vid.utils.Tree;
import org.onap.vid.utils.Unchecked;
+import org.slf4j.MDC;
import org.springframework.http.HttpMethod;
import org.springframework.stereotype.Component;
-import javax.inject.Inject;
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import static java.util.stream.Collectors.*;
-import static org.onap.vid.utils.KotlinUtilsKt.JACKSON_OBJECT_MAPPER;
-import static org.onap.vid.utils.Streams.not;
-
@Component
public class AAITreeNodeBuilder {
@@ -205,7 +216,7 @@ public class AAITreeNodeBuilder {
directly fetching a resource URI.
*/
- threadPool.execute(() -> {
+ Future<?> vfModulesTask = threadPool.submit(withCopyOfMDC(() -> {
// the response is an array of vf-modules
final JsonNode jsonNode;
try {
@@ -214,29 +225,40 @@ public class AAITreeNodeBuilder {
if (e.getHttpCode().equals(404)) {
// it's ok, as we're just optimistically fetching
// the /vf-modules uri; 404 says this time it was a bad guess
- return;
+ return true;
} else {
throw e;
}
}
if (isArray(jsonNode, NodeType.VF_MODULE)) {
-
//create list of AAITreeNode represent the VfModules from AAI result
List<AAITreeNode> vfModules = Streams.fromIterable(jsonNode.get(NodeType.VF_MODULE.getType()))
- .map(vfModuleNode -> createAaiNode(NodeType.VF_MODULE, vfModuleNode, nodesAccumulator))
- .collect(toList());
+ .map(vfModuleNode -> createAaiNode(NodeType.VF_MODULE, vfModuleNode, nodesAccumulator))
+ .collect(toList());
//enrich each of the VfModule with placement info
- vfModules.forEach(vfModule-> enrichPlacementDataUsingTenantInfo(
- vfModule,
- AAITreeNodeUtils.findFirstRelationshipByRelatedTo(vfModule.getRelationshipList(), "vserver")
+ vfModules.forEach(vfModule -> enrichPlacementDataUsingTenantInfo(
+ vfModule,
+ AAITreeNodeUtils.findFirstRelationshipByRelatedTo(vfModule.getRelationshipList(), "vserver")
));
//add all VfModules to children list of parent node
parentNode.getChildren().addAll(vfModules);
} else {
LOGGER.error(EELFLoggerDelegate.errorLogger, "Failed to get vf-modules for vnf " + parentNode.getId());
}
- });
+
+ return true; // the Callable<> contract requires a return value
+ }));
+
+ waitForCompletion(vfModulesTask);
+ }
+
+ private void waitForCompletion(Future<?> future) {
+ try {
+ future.get();
+ } catch (Exception e) {
+ throw new GenericUncheckedException(e);
+ }
}
List<Relationship> getFilteredRelationships(JsonNode json, Tree<AAIServiceTree.AaiRelationship> pathsTree) {
@@ -256,24 +278,33 @@ public class AAITreeNodeBuilder {
if (!relationships.isEmpty()) {
List<Callable<List<AAITreeNode>>> tasks = relationships.stream()
- .map(relationship ->
- (Callable<List<AAITreeNode>>) () ->
- getChildNode(threadPool, nodesAccumulator, relationship.getRelatedTo(),
- relationship.getRelatedLink(), pathsTree))
- .collect(Collectors.toList());
+ .map(relationship ->
+ withCopyOfMDC(() -> getChildNode(threadPool, nodesAccumulator, relationship.getRelatedTo(),
+ relationship.getRelatedLink(), pathsTree)))
+ .collect(Collectors.toList());
try {
int depth = pathsTree.getChildrenDepth();
threadPool.invokeAll(tasks, timeout * depth, TimeUnit.SECONDS)
- .forEach(future ->
- addChildren(node, future)
- );
+ .forEach(future ->
+ addChildren(node, future)
+ );
} catch (Exception e) {
throw new GenericUncheckedException(e);
}
}
}
+ private <V> Callable<V> withCopyOfMDC(Callable<V> callable) {
+ //in order to be able to write the correct data while creating the node on a new thread
+ // save a copy of the current thread's context map, with keys and values of type String.
+ final Map<String, String> copyOfParentMDC = MDC.getCopyOfContextMap();
+ return () -> {
+ MDC.setContextMap(copyOfParentMDC);
+ return callable.call();
+ };
+ }
+
private List<AAITreeNode> getChildNode(ExecutorService threadPool, ConcurrentSkipListSet<AAITreeNode> nodesAccumulator,
String childNodeType, String childNodeUrl,
Tree<AAIServiceTree.AaiRelationship> pathsTree) {
diff --git a/vid-app-common/src/main/webapp/WEB-INF/conf/dev.features.properties b/vid-app-common/src/main/webapp/WEB-INF/conf/dev.features.properties
index d4910bf25..6ed0c7bcd 100644
--- a/vid-app-common/src/main/webapp/WEB-INF/conf/dev.features.properties
+++ b/vid-app-common/src/main/webapp/WEB-INF/conf/dev.features.properties
@@ -36,4 +36,5 @@ FLAG_DISABLE_HOMING = true
FLAG_FLASH_CLOUD_REGION_AND_NF_ROLE_OPTIONAL_SEARCH=false
FLAG_FLASH_REDUCED_RESPONSE_CHANGEMG = false
FLAG_1911_INSTANTIATION_ORDER_IN_ASYNC_ALACARTE = false
-FLAG_SHOW_ORCHESTRATION_TYPE = false
+FLAG_SHOW_ORCHESTRATION_TYPE = false,
+FLAG_1911_INSTANTIATION_ORDER_BUTTON_IN_ASYNC_ALACARTE = false
diff --git a/vid-app-common/src/test/resources/WEB-INF/conf/asdc.properties b/vid-app-common/src/test/resources/WEB-INF/conf/asdc.properties
deleted file mode 100644
index c16d3f5d3..000000000
--- a/vid-app-common/src/test/resources/WEB-INF/conf/asdc.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-asdc.client.type=REST
-#
-#asdc.client.rest.protocol=http
-#asdc.client.rest.host=135.21.125.36
-#asdc.client.rest.port=8080
-#asdc.client.rest.auth=Basic VklEOnZpbjNSaXBlbmVkSnVtYjBKZXRTcHJpbmtsZXM=
-#
-#dev
-#asdc.client.rest.protocol=http
-#asdc.client.rest.host=135.21.125.105
-#asdc.client.rest.port=8080
-#asdc.client.rest.auth=Basic VGVzdDoxMjM0NTY=
-#IST
-asdc.client.rest.protocol=https
-asdc.client.rest.host=asdcbe.mtsnjpw1.aic.cip.att.com
-asdc.client.rest.port=8443
-asdc.client.rest.auth=Basic dmlkOnZpZGlzdA==
diff --git a/vid-app-common/src/test/resources/WEB-INF/conf/raptor_app_fusion.properties b/vid-app-common/src/test/resources/WEB-INF/conf/raptor_app_fusion.properties
index 4006c166d..b5ee2710e 100644
--- a/vid-app-common/src/test/resources/WEB-INF/conf/raptor_app_fusion.properties
+++ b/vid-app-common/src/test/resources/WEB-INF/conf/raptor_app_fusion.properties
@@ -3,8 +3,8 @@ upload_folder_path=/demeter/WebApps/dev/ECOMP_PORTAL/files/
excel_template_path=/demeter/WebApps/dev/ECOMP_PORTAL/files/raptor_template/
temp_folder_url=temp/
upload_folder_url=upload/
-smtp_server=zeus.homer.att.com
-default_email_sender=dev-local@homer.att.com
+smtp_server=todo.smtp.server
+default_email_sender=email-name@email.com
error_page=error_page.jsp
jsp_context_path=raptor/
img_folder_url=static/fusion/raptor/images/
diff --git a/vid-app-common/src/test/resources/WEB-INF/conf/system.properties b/vid-app-common/src/test/resources/WEB-INF/conf/system.properties
index 0fb8b1ca7..9c73e4cdd 100644
--- a/vid-app-common/src/test/resources/WEB-INF/conf/system.properties
+++ b/vid-app-common/src/test/resources/WEB-INF/conf/system.properties
@@ -19,7 +19,6 @@
#Mysql
db.driver = com.mysql.jdbc.Driver
-#db.connectionURL = jdbc:mysql://demeter.homer.att.com:3306/ecomp_sdk_1707_att
db.connectionURL = jdbc:mysql://localhost:3306/vid_portal
db.userName = euser
db.password = euser
@@ -100,14 +99,14 @@ mylogins_feed_cron = 0 0/60 * * * ?;
my_login_feed_output_dir = /tmp/MyLogins
# ECOMP Portal Shared Context REST API URL
-ecomp_shared_context_rest_url= https://www.ecomp.att.com:8080/ecompportal/context
+ecomp_shared_context_rest_url= https://shared.context.rest.url:8080/ecompportal/context
# Link shown in Help menu
-contact_us_link = https://wiki.web.att.com/display/EcompPortal/ECOMP+Portal+Home
+contact_us_link = https://todo.contact.us.link
homepage_contact_us_url = mailto:portal@lists.onap.org
# Camunda cockpit link
-camunda_cockpit_link = https://cloopwf.client.research.att.com:8443/camunda/app/cockpit/default/#/dashboard
+camunda_cockpit_link = https://camunda.cockpit.link/
# An Unique 128-bit value defined to identify a specific version
# of an application deployed on a specific virtual machine.
# This value must be generated and updated by the application
@@ -116,16 +115,7 @@ camunda_cockpit_link = https://cloopwf.client.research.att.com:8443/camunda/app/
instance_uuid=8da691c9-987d-43ed-a358-00ac2f35685d
# R Cloud feature
-guard_notebook_url=https://rcloud.research.att.com/mini.html?notebook=a06a9cf14211012e221bf842c168849d&
-
-#ECOMP redirect url
-#ecomp_redirect_url = https://webtest.csp.att.com/ecomp_portal_dev_n1/ecompui/process_csp
-#ecomp_rest_url = https://webtest.csp.att.com/ecomp_portal_dev_n1/ecompui/auxapi
-# Replace these default values with the ones for your specific App. Ecomp Portal admin obtains from EP website.
-#ueb_app_mailbox_name = ECOMP-PORTAL-OUTBOX-90
-#ueb_app_key = sYH0NJnsKmJC1B2A
-#ueb_app_secret = YOtknsT2wVFz9WISlSPDaAtd
-
+guard_notebook_url=https://todo.guard.notebook.url
#Policy related properties
#simulator
@@ -140,14 +130,6 @@ policy.Authorization=
policy.environment=
#MSO related properties
-#simulator
-#mso.server.url=http://localhost:8089
-#mso.server.url=https://msoapih-app.mtsnj.aic.cip.att.com:8443/ecomp/mso/infra
-#dev2dev
-#good
-#dev
-#mso.server.url=http://mtanjv9moah10-eth0.aic.cip.att.com:8080/ecomp/mso/infra
-#istScrum-Master
mso.restapi.svc.e2einstance=/e2eServiceInstances/v3
mso.client.type=LOCAL
mso.server.url=http://vm1.mso.simpledemo.openecomp.org:8080
@@ -203,9 +185,7 @@ scheduler.get.time.slots=/v1/ChangeManagement/schedules/
scheduler.get.schedules=/v1/ChangeManagement/schedules/scheduleDetails/
vid.truststore.passwd.x=OBF:1wgg1wfq1uus1uui1x131x0r1x1v1x1j1uvo1uve1wg81wfi
-#mso.dme2.server.url=http://mso-api-handler-anap-v1.mso.ecomp.att.com/services/ecomp/mso?
-mso.dme2.server.url=http://mso-api-handler-anap-v1.mso.ecomp.att.com/services/ecomp/mso?version=1607&envContext=TEST&routeOffer=st_mtsnj
-#mso.dme2.server.url=https://ActiveAndAvailableInventory-CloudNetwork-v1.aai.att.com/aai?version=1&envContext=DEV&routeOffer=devINT1
+mso.dme2.server.url=http://mso.dme2.server.url/services/ecomp/mso?version=1607&envContext=TEST&routeOffer=st_mtsnj
mso.dme2.enabled=false
asdc.model.namespace=org.openecomp.
sdc.svc.api.path=sdc/v1/catalog/services
@@ -215,10 +195,6 @@ sdc.resource.api.path=sdc/v1/catalog/resource
mso.maxOpenedInstantiationRequests=200
mso.asyncPollingIntervalSeconds=0
-# Application base URL has the host and app context only; a proper prefix of the on-boarded URL.
-# Only required for applications using WebJunction or FE/BE separation. For example:
-# app_base_url = https://www.e-access.att.com/app_junction/app_context/
-
features.set.filename=onap.features.properties
vid.asyncJob.howLongToKeepOldJobsInDays=7
diff --git a/vid-app-common/src/test/resources/WEB-INF/conf/system.properties.cml b/vid-app-common/src/test/resources/WEB-INF/conf/system.properties.cml
deleted file mode 100644
index 9c8b03caf..000000000
--- a/vid-app-common/src/test/resources/WEB-INF/conf/system.properties.cml
+++ /dev/null
@@ -1,93 +0,0 @@
-# Properties read by ECOMP Core library, epsdk-core.jar
-
-##########################################################################
-# The following properties should NOT be changed by partner applications.
-##########################################################################
-
-application_user_id = 30000
-post_default_role_id = 16
-clustered = true
-
-#Enable Fusion Mobile capabilities for the application
-mobile_enable = false
-
-# Cache config file is needed on the classpath
-cache_config_file_path = /WEB-INF/classes/cache.ccf
-cache_switch = 199
-cache_load_on_startup = false
-
-user_name = fullName
-decryption_key = AGLDdG4D04BKm2IxIWEr8o==
-
-##########################################################################
-# The following properties REQUIRE changes by partner applications.
-##########################################################################
-
-#Oracle
-#db.userName=quantumbd
-#db.password=c1syn2yhmr
-#db.connectionURL=jdbc:oracle:thin:@dbhost.yourcompany.com:1527:mod112a
-#db.hib.dialect=org.hibernate.dialect.Oracle10gDialect
-#db.driver=oracle.jdbc.driver.OracleDriver
-#Hibernate
-#hb.dialect=org.hibernate.dialect.Oracle10gDialect
-#hb.show_sql=true
-
-#Postgres
-#db.userName=quantumbd
-#db.password=c1syn2yhmr
-#db.connectionURL=jdbc:postgresql://dbhost.yourcompany.com:61382/quantum
-#db.hib.dialect=org.hibernate.dialect.PostgreSQLDialect
-#db.driver=org.postgresql.Driver
-#hb.dialect=org.hibernate.dialect.PostgreSQLDialect
-#hb.show_sql=true
-
-
-
-#Mysql
-db.driver = org.mariadb.jdbc.Driver
-#db.connectionURL = jdbc:mariadb://localhost:3306/vid_openecomp_epsdk
-#db.userName = ecomp_sdk_user
-#db.password = ecomp_sdk_pass
-db.hib.dialect = org.hibernate.dialect.MySQLDialect
-db.min_pool_size = 5
-db.max_pool_size = 10
-hb.dialect = org.hibernate.dialect.MySQLDialect
-# SQL statements are logged to stdout
-hb.show_sql = true
-hb.idle_connection_test_period = 3600
-
-app_display_name = EPSDK App ATT
-# license file area
-files_path = /tmp
-
-#element map files
-element_map_file_path = app/fusionapp/files/
-element_map_icon_path = app/fusionapp/icons/
-
-#Cron Schedules have 6 required fields and 1 optional field:
-# Seconds Minutes Hours Day-of-Month Month Day-of-Week Year
-log_cron = 0 0/1 * * * ?;
-
-# ECOMP Portal Shared Context REST API URL
-ecomp_shared_context_rest_url= https://www.ecomp.att.com:8080/ecompportal/context
-
-# Link shown in Help menu
-contact_us_link = https://wiki.web.att.com/display/EcompPortal/ECOMP+Portal+Home
-
-# Camunda cockpit link
-camunda_cockpit_link = https://cloopwf.client.research.att.com:8443/camunda/app/cockpit/default/#/dashboard
-
-# An Unique 128-bit value defined to identify a specific version
-# of an application deployed on a specific virtual machine.
-# This value must be generated and updated by the application
-# which is using the ECOMP SDK at the time of its deployment.
-# Online Unique UUID generator - https://www.uuidgenerator.net/
-instance_uuid=8da691c9-987d-43ed-a358-00ac2f35685d
-
-# R Cloud feature
-guard_notebook_url=https://rcloud.research.att.com/mini.html?notebook=a06a9cf14211012e221bf842c168849d&
-
-# Application base URL has the host and app context only; a proper prefix of the on-boarded URL.
-# Only required for applications using WebJunction or FE/BE separation. For example:
-# app_base_url = https://www.e-access.att.com/app_junction/app_context/
diff --git a/vid-app-common/src/test/resources/WEB-INF/fusion/jsp/ds2/left-menu.jsp b/vid-app-common/src/test/resources/WEB-INF/fusion/jsp/ds2/left-menu.jsp
index 8f6b5c2a8..afaf8b1ac 100644
--- a/vid-app-common/src/test/resources/WEB-INF/fusion/jsp/ds2/left-menu.jsp
+++ b/vid-app-common/src/test/resources/WEB-INF/fusion/jsp/ds2/left-menu.jsp
@@ -579,28 +579,7 @@
}
$scope.createFavoriteErrorMenu=function() {
- $scope.favoritesMenuItems = [
-// {
-// "menuId": "93",
-// "text": "JSONLint",
-// "url": "http://http://jsonlint.com"
-// },
-// {
-// "menuId": "22",
-// "text": "ECOMP Wasteland",
-// "url": "https://ecomp.homer.att.com/ecompportal/applicationsHome"
-// },
-// {
-// "menuId": "94",
-// "text": "HROneStop",
-// "url": "http://ebiz.sbc.com/hronestop"
-// },
-// {
-// "menuId": "91",
-// "text": "Andy and his Astrophotgraphy",
-// "url": "https://ecomp.homer.att.com/ecompportal/applicationsHome"
-// }
- ];
+ $scope.favoritesMenuItems = [];
$scope.favoriteItemsCount = Object.keys($scope.favoritesMenuItems).length;
$log.info('number of favorite menus: ' + $scope.favoriteItemsCount);
}
@@ -672,20 +651,6 @@
"url": "http://http://jsonlint.com"
},
{
- "menuId": 94,
- "column": 2,
- "text": "HROneStop",
- "parentMenuId": 4,
- "url": "http://ebiz.sbc.com/hronestop"
- },
- {
- "menuId": 95,
- "column": 2,
- "text": "4th Level App4a R16",
- "parentMenuId": 4,
- "url": "http://www.e-access.att.com/ecomp_portal_ist/ecompportal/widgets"
- },
- {
"menuId": 96,
"column": 3,
"text": "3rd Level App1c R200",
diff --git a/vid-app-common/src/test/resources/WEB-INF/fusion/jsp/ebz/ebz_header.jsp b/vid-app-common/src/test/resources/WEB-INF/fusion/jsp/ebz/ebz_header.jsp
index 067fce329..6ef2ea975 100644
--- a/vid-app-common/src/test/resources/WEB-INF/fusion/jsp/ebz/ebz_header.jsp
+++ b/vid-app-common/src/test/resources/WEB-INF/fusion/jsp/ebz/ebz_header.jsp
@@ -608,28 +608,7 @@
}
$scope.createFavoriteErrorMenu=function() {
- $scope.favoritesMenuItems = [
-// {
-// "menuId": "93",
-// "text": "JSONLint",
-// "url": "http://http://jsonlint.com"
-// },
-// {
-// "menuId": "22",
-// "text": "ECOMP Wasteland",
-// "url": "https://ecomp.homer.att.com/ecompportal/applicationsHome"
-// },
-// {
-// "menuId": "94",
-// "text": "HROneStop",
-// "url": "http://ebiz.sbc.com/hronestop"
-// },
-// {
-// "menuId": "91",
-// "text": "Andy and his Astrophotgraphy",
-// "url": "https://ecomp.homer.att.com/ecompportal/applicationsHome"
-// }
- ];
+ $scope.favoritesMenuItems = [];
$scope.favoriteItemsCount = Object.keys($scope.favoritesMenuItems).length;
$log.info('number of favorite menus: ' + $scope.favoriteItemsCount);
}
@@ -701,20 +680,6 @@
"url": "http://http://jsonlint.com"
},
{
- "menuId": 94,
- "column": 2,
- "text": "HROneStop",
- "parentMenuId": 4,
- "url": "http://ebiz.sbc.com/hronestop"
- },
- {
- "menuId": 95,
- "column": 2,
- "text": "4th Level App4a R16",
- "parentMenuId": 4,
- "url": "http://www.e-access.att.com/ecomp_portal_ist/ecompportal/widgets"
- },
- {
"menuId": 96,
"column": 3,
"text": "3rd Level App1c R200",