\r
COPY conf.d/ /etc/onap/vid/conf.d/\r
\r
-RUN sed -i 's/# alias/alias/g' /root/.bashrc\r
-\r
-ENV JAVA_OPTS="-Xmx1536m -Xms1536m -Dlogback.configurationFile=/etc/onap/vid/conf.d/logback.xml"\r
+# MariaDB variables\r
+ENV VID_MYSQL_HOST="vid-mariadb-docker-instance" \\r
+ VID_MYSQL_PORT="3306" \\r
+ VID_MYSQL_DBNAME="vid_portal" \\r
+ VID_MYSQL_USER="vidadmin" \\r
+ VID_MYSQL_PASS="Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" \\r
+ VID_MYSQL_MAXCONNECTIONS="5"\r
+\r
+# General variables\r
+ENV VID_APP_DISPLAY_NAME="VID" \\r
+ VID_MYLOGIN_FEED_DIRECTORY="/tmp/MyLogins" \\r
+ VID_ROLE_ACCESS_CENTRALIZED="local" \\r
+ VID_DECRYPTION_KEY="AGLDdG4D04BKm2IxIWEr8o=" \\r
+ VID_ECOMP_PORTAL_INBOX_NAME="ECOMP-PORTAL-INBOX"\r
\r
ENV ROOT_DIR /opt/app/vid\r
-\r
-ENV ASDC_CLIENT_TYPE REST\r
-ENV ASDC_CLIENT_REST_HOST c2.vm1.sdc.simpledemo.onap.org\r
-#old creds 1/9/2017 ENV ASDC_CLIENT_REST_AUTH Basic dmlkOnZpZG9z\r
-ENV ASDC_CLIENT_REST_AUTH Basic dmlkOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=\r
-ENV ASDC_CLIENT_REST_PROTOCOL http\r
-ENV ASDC_CLIENT_REST_PORT 8080\r
-ENV ASDC_CLIENT_MODEL_NAMESPACE org.onap\r
-\r
-ENV CACHE_DIRECTORY $ROOT_DIR/cache\r
-\r
-ENV LOG4J_LOGLEVEL INFO\r
-ENV LOG4J_APPENDER rollingfile\r
-ENV LOG4J_LOGS_DIRECTORY ${ROOT_DIR}/logs\r
-\r
-ENV VID_AAI_URL https://aai.api.simpledemo.onap.org:8443\r
-ENV VID_APP_DISPLAY_NAME VID\r
-ENV VID_ECOMP_SHARED_CONTEXT_REST_URL https://portal.api.simpledemo.onap.org:8080/onapportal/context\r
-ENV VID_MSO_SERVER_URL http://vm1.mso.simpledemo.onap.org:8080/onap/so/infra\r
-ENV VID_MYLOGIN_FEED_DIRECTORY /tmp/MyLogins\r
-ENV VID_MSO_USER InfraPortalClient\r
-ENV VID_MSO_PASS OBF:1ih71i271vny1yf41ymf1ylz1yf21vn41hzj1icz\r
-ENV MSO_DME2_CLIENT_TIMEOUT 10000\r
-ENV MSO_DME2_CLIENT_READ_TIMEOUT 10000\r
-ENV MSO_DME2_SERVER_URL http://localhost:8081\r
-ENV MSO_DME2_ENABLED false\r
-ENV MSO_POLLING_INTERVAL_MSECS 10000\r
-ENV AAI_TRUSTSTORE_FILENAME tomcat_keystore\r
-ENV AAI_TRUSTSTORE_PASSWD_X OBF:1ks51l8d1o3i1pcc1r2r1e211r391kls1pyj1z7u1njf1lx51go21hnj1y0k1mli1sop1k8o1j651vu91mxw1vun1mze1vv11j8x1k5i1sp11mjc1y161hlr1gm41m111nkj1z781pw31kku1r4p1e391r571pbm1o741l4x1ksp\r
-ENV AAI_KEYSTORE_FILENAME tomcat_keystore\r
-ENV AAI_KEYSTORE_PASSWD_X OBF:1ks51l8d1o3i1pcc1r2r1e211r391kls1pyj1z7u1njf1lx51go21hnj1y0k1mli1sop1k8o1j651vu91mxw1vun1mze1vv11j8x1k5i1sp11mjc1y161hlr1gm41m111nkj1z781pw31kku1r4p1e391r571pbm1o741l4x1ksp\r
-ENV AAI_VID_UID VID\r
-ENV AAI_VID_PASSWD_X OBF:1jm91i0v1jl9\r
-ENV AAI_USE_CLIENT_CERT false\r
-ENV AAI_VNF_PROV_STATUS PREPROV,NVTPROV,PROV,CAPPED\r
-ENV VID_ECOMP_REDIRECT_URL http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/login.htm\r
-ENV VID_ECOMP_REST_URL http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/auxapi\r
-ENV VID_ECOMP_SHARED_CONTEXT_REST_URL http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/context\r
-ENV VID_ROLE_ACCESS_CENTRALIZED local\r
-ENV VID_CONTACT_US_LINK https://todo_contact_us_link.com\r
-\r
-ENV VID_DECRYPTION_KEY AGLDdG4D04BKm2IxIWEr8o=\r
-ENV VID_UEB_URL_LIST ueb.api.simpledemo.onap.org\r
-ENV VID_UEB_CONSUMER_GROUP VID\r
-ENV VID_ECOMP_PORTAL_INBOX_NAME ECOMP-PORTAL-INBOX\r
-ENV VID_UEB_APP_KEY 2Re7Pvdkgw5aeAUD\r
-ENV VID_UEB_APP_SECRET S31PrbOzGgL4hg4owgtx47Da\r
-ENV VID_UEB_APP_MAILBOX_NAME ECOMP-PORTAL-OUTBOX-90\r
-ENV VID_UEB_LISTENERS_ENABLE false\r
-\r
-ENV VID_LOG_DIR ${ROOT_DIR}/logs\r
-ENV VID_LOG_LEVEL INFO\r
-\r
-ENV VID_MYSQL_HOST vid-mariadb-docker-instance\r
-ENV VID_MYSQL_PORT 3306\r
-ENV VID_MYSQL_DBNAME vid_portal\r
-ENV VID_MYSQL_USER vidadmin\r
-ENV VID_MYSQL_MAXCONNECTIONS 5\r
-ENV VID_MYSQL_PASS Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U\r
-\r
-ENV VID_KEYSTORE_FILENAME ${ROOT_DIR}/etc/org.onap.vid.jks\r
-ENV VID_KEYSTORE_PASSWORD Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U\r
-ENV VID_TRUSTSTORE_FILENAME ${ROOT_DIR}/etc/org.onap.vid.trust.jks\r
-ENV VID_TRUSTSTORE_PASSWORD OBF:1dx01j0e1hs01t981mis1dws156s1ojc1qjc1zsx1pw31qob1qr71pyj1zst1qhy1ojq156i1dua1mm21tb61hvi1j0g1du2\r
-ENV VID_TOMCAT_PATH /usr/local/tomcat/conf/\r
-ENV CATALINA_OPTS "-Dvid.keystore.password=${VID_KEYSTORE_PASSWORD} -Dvid.keyalias=vid@vid.onap.org -Dvid.keystore.filename=${VID_KEYSTORE_FILENAME}"\r
+ENV CACHE_DIRECTORY="$ROOT_DIR/cache"\r
+\r
+# Keystore variables\r
+ENV VID_KEYSTORE_FILENAME="${ROOT_DIR}/etc/org.onap.vid.jks" \\r
+ VID_TRUSTSTORE_FILENAME="${ROOT_DIR}/etc/org.onap.vid.trust.jks" \\r
+ VID_KEYSTORE_PASSWORD="Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" \\r
+ VID_TRUSTSTORE_PASSWORD="OBF:1dx01j0e1hs01t981mis1dws156s1ojc1qjc1zsx1pw31qob1qr71pyj1zst1qhy1ojq156i1dua1mm21tb61hvi1j0g1du2" \\r
+ VID_TOMCAT_PATH="/usr/local/tomcat/conf/"\r
+\r
+# Logging variables\r
+ENV VID_LOG_DIR="${ROOT_DIR}/logs" \\r
+ VID_LOG_LEVEL="INFO" \\r
+ LOG4J_LOGLEVEL="INFO" \\r
+ LOG4J_APPENDER="rollingfile" \\r
+ LOG4J_LOGS_DIRECTORY="${ROOT_DIR}/logs"\r
+\r
+# UEB variables\r
+ENV VID_UEB_URL_LIST="ueb.api.simpledemo.onap.org" \\r
+ VID_UEB_CONSUMER_GROUP="VID" \\r
+ VID_UEB_APP_KEY="2Re7Pvdkgw5aeAUD" \\r
+ VID_UEB_APP_SECRET="S31PrbOzGgL4hg4owgtx47Da" \\r
+ VID_UEB_APP_MAILBOX_NAME="ECOMP-PORTAL-OUTBOX-90" \\r
+ VID_UEB_LISTENERS_ENABLE="false"\r
+\r
+# SDC variables\r
+ENV ASDC_CLIENT_REST_PROTOCOL="http" \\r
+ ASDC_CLIENT_REST_HOST="c2.vm1.sdc.simpledemo.onap.org" \\r
+ ASDC_CLIENT_REST_PORT="8080" \\r
+ ASDC_CLIENT_REST_AUTH="Basic dmlkOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=" \\r
+ ASDC_CLIENT_MODEL_NAMESPACE="org.onap" \\r
+ ASDC_CLIENT_TYPE="REST"\r
+\r
+# AAI variables\r
+ENV VID_AAI_URL="https://aai.api.simpledemo.onap.org:8443" \\r
+ AAI_TRUSTSTORE_FILENAME="tomcat_keystore" \\r
+ AAI_KEYSTORE_FILENAME="tomcat_keystore" \\r
+ AAI_TRUSTSTORE_PASSWD_X="OBF:1ks51l8d1o3i1pcc1r2r1e211r391kls1pyj1z7u1njf1lx51go21hnj1y0k1mli1sop1k8o1j651vu91mxw1vun1mze1vv11j8x1k5i1sp11mjc1y161hlr1gm41m111nkj1z781pw31kku1r4p1e391r571pbm1o741l4x1ksp" \\r
+ AAI_KEYSTORE_PASSWD_X="OBF:1ks51l8d1o3i1pcc1r2r1e211r391kls1pyj1z7u1njf1lx51go21hnj1y0k1mli1sop1k8o1j651vu91mxw1vun1mze1vv11j8x1k5i1sp11mjc1y161hlr1gm41m111nkj1z781pw31kku1r4p1e391r571pbm1o741l4x1ksp" \\r
+ AAI_VID_PASSWD_X="OBF:1jm91i0v1jl9" \\r
+ AAI_VID_UID="VID" \\r
+ AAI_USE_CLIENT_CERT="false" \\r
+ AAI_VNF_PROV_STATUS="PREPROV,NVTPROV,PROV,CAPPED"\r
+\r
+# SO environment variables\r
+ENV VID_MSO_SERVER_URL="http://vm1.mso.simpledemo.onap.org:8080/onap/so/infra" \\r
+ MSO_DME2_SERVER_URL="http://localhost:8081" \\r
+ VID_MSO_PASS="OBF:1ih71i271vny1yf41ymf1ylz1yf21vn41hzj1icz" \\r
+ MSO_DME2_CLIENT_TIMEOUT="10000" \\r
+ MSO_DME2_CLIENT_READ_TIMEOUT="10000" \\r
+ MSO_POLLING_INTERVAL_MSECS="10000" \\r
+ VID_MSO_USER="InfraPortalClient" \\r
+ MSO_DME2_ENABLED="false"\r
+\r
+# Portal variables\r
+ENV VID_CONTACT_US_LINK="https://todo_contact_us_link.com" \\r
+ VID_ECOMP_REDIRECT_URL="http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/login.htm" \\r
+ VID_ECOMP_REST_URL="http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/auxapi" \\r
+ VID_ECOMP_SHARED_CONTEXT_REST_URL="http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/context"\r
+\r
+# Custom options\r
+ENV JAVA_OPTS="-Xmx1536m -Xms1536m"\r
+ENV CATALINA_OPTS="-Dvid.keystore.password=${VID_KEYSTORE_PASSWORD} -Dvid.keyalias=vid@vid.onap.org -Dvid.keystore.filename=${VID_KEYSTORE_FILENAME}"\r
\r
ADD maven/config/org.onap.vid.jks ${VID_KEYSTORE_FILENAME}\r
ADD maven/config/org.onap.vid.trust.jks ${VID_TRUSTSTORE_FILENAME}\r
ADD maven/config/server.xml ${VID_TOMCAT_PATH}\r
-\r
ADD maven/scripts/*.sh /tmp/vid/\r
ADD maven/artifacts/vid.war /tmp/vid/stage/\r
\r
@EnableAspectJAutoProxy(proxyTargetClass=true)
public class ExternalAppConfig extends AppConfig implements Configurable {
- private RegistryAdapter schedulerRegistryAdapter;
- /** The Constant LOG. */
+ /** The Constant LOG. */
private static final EELFLoggerDelegate LOG = EELFLoggerDelegate.getLogger(ExternalAppConfig.class);
/** The vid schema script. */
static class InnerConfiguration {
}
- /**
- * @see org.onap.portalsdk.core.conf.AppConfig#viewResolver()
- */
- @Override
- public ViewResolver viewResolver() {
- return super.viewResolver();
- }
-
- /**
- * @see org.onap.portalsdk.core.conf.AppConfig#addResourceHandlers(ResourceHandlerRegistry)
- *
- * @param registry
- */
- @Override
- public void addResourceHandlers(ResourceHandlerRegistry registry) {
- super.addResourceHandlers(registry);
- }
-
/**
* @see org.onap.portalsdk.core.conf.AppConfig#dataAccessService()
*/
@Override
public DataAccessService dataAccessService() {
// Echo the JDBC URL to assist developers when starting the app.
- System.out.println("ExternalAppConfig: " + SystemProperties.DB_CONNECTIONURL + " is "
+ LOG.info("ExternalAppConfig: " + SystemProperties.DB_CONNECTIONURL + " is "
+ SystemProperties.getProperty(SystemProperties.DB_CONNECTIONURL));
return super.dataAccessService();
}
* @return New instance of {@link SchedulerFactoryBean}
*/
@Bean
+ @DependsOn("dataSourceInitializer")
public SchedulerFactoryBean schedulerFactoryBean() {
SchedulerFactoryBean schedulerFactory = new SchedulerFactoryBean();
schedulerFactory.setJobFactory(new SpringBeanJobFactory());
populator.addScript(vidDataScript);
return populator;
}
-
-
- /*@Bean
- public SpringLiquibase liquibaseBean(DataSource dataSource) {
- SpringLiquibase springLiquibase = new SpringLiquibase();
- springLiquibase.setDataSource(dataSource);
- springLiquibase.setChangeLog("classpath:db-master-changelog.xml");
- return springLiquibase;
- }*/
-
- /**
- * Sets the scheduler registry adapter.
- *
- * @param schedulerRegistryAdapter
- */
- @Autowired
- public void setSchedulerRegistryAdapter(final RegistryAdapter schedulerRegistryAdapter) {
- this.schedulerRegistryAdapter = schedulerRegistryAdapter;
- }
@Bean
public LoginStrategy loginStrategy() {
package org.onap.portalapp.conf;
import org.onap.portalsdk.core.conf.AppInitializer;
+import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
import java.util.TimeZone;
public class ExternalAppInitializer extends AppInitializer {
- @Override
- protected Class<?>[] getRootConfigClasses() {
- return super.getRootConfigClasses();
- }
+ private static final EELFLoggerDelegate LOG = EELFLoggerDelegate.getLogger(ExternalAppInitializer.class);
@Override
protected Class<?>[] getServletConfigClasses() {
Class<?> appConfigClass = ExternalAppConfig.class;
// Show something on stdout to indicate the app is starting.
- System.out.println("ExternalAppInitializer: servlet configuration class is " + appConfigClass.getName());
+ LOG.info("ExternalAppInitializer: servlet configuration class is " + appConfigClass.getName());
return new Class[] { appConfigClass };
}
- /*
- * URL request will direct to the Spring dispatcher for processing
- */
- @Override
- protected String[] getServletMappings() {
- return super.getServletMappings();
- }
-
-// @Override
-// public void onStartup(ServletContext servletContext) throws ServletException {
-// super.onStartup(servletContext);
-// setDefaultTimeZoneToUTC();
-// servletContext.addFilter("requestFromLocalhost", LocalhostFilter.class)
-// .addMappingForUrlPatterns(null, false,
-// String.format("/%s/%s/*", ChangeManagementController.CHANGE_MANAGEMENT, ChangeManagementController.VNF_WORKFLOW_RELATION),
-// String.format("/%s/*", RoleGeneratorController.GENERATE_ROLE_SCRIPT),
-// String.format("/%s/*", MaintenanceController.MAINTENANCE));
-// }
-
//set time zone to UTC so Dates would be written to DB in UTC timezone
private void setDefaultTimeZoneToUTC() {
System.setProperty("user.timezone", "UTC");
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
- if (request.getMethod().equalsIgnoreCase("POST") || request.getMethod().equalsIgnoreCase("PUT")) {
+ if ("POST".equalsIgnoreCase(request.getMethod())|| "PUT".equalsIgnoreCase(request.getMethod())) {
HttpServletRequest requestToCache = new ContentCachingRequestWrapper(request);
HttpServletResponse responseToCache = new ContentCachingResponseWrapper(response);
filterChain.doFilter(requestToCache, responseToCache);
String requestData = getRequestData(requestToCache);
- String responseData = getResponseData(responseToCache);
+ getResponseData(responseToCache);
if (StringUtils.isNotBlank(requestData) && validator.denyXSS(requestData)) {
throw new SecurityException(BAD_REQUEST);
}
// default test
testSubject = createTestSubject();
- testSubject.setSchedulerRegistryAdapter(schedulerRegistryAdapter);
}
@Test
* VID\r
* ================================================================================\r
* Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
+ * Modifications Copyright (C) 2019 IBM.\r
* ================================================================================\r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
function _setPnf(data) { // data is the $scope.service.instance object\r
return PnfService.getPnfs(data)\r
.then(\r
- function success(response) {\r
+ function (response) {\r
return response.data;\r
// * can add here changes on the data that are needed to the view ( filter, ect..)\r
},\r
- function error(error) {\r
+ function (error) {\r
console.error(error);\r
}\r
);\r
function _setCr(data) { // data is the $scope.service.instance object\r
return CrService.getCr(data)\r
.then(\r
- function success(response) {\r
+ function (response) {\r
return response.data.results;\r
// * can add here changes on the data that are needed to the view ( filter, ect..)\r
},\r
- function error(error) {\r
+ function (error) {\r
console.error(error);\r
}\r
);\r
* VID\r
* ================================================================================\r
* Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
+ * Modifications Copyright (C) 2019 IBM.\r
* ================================================================================\r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
$scope.status = FIELD.STATUS.FETCHING_SERVICE_CATALOG_ASDC;\r
\r
$http.get(pathQuery)\r
- .then(function successCallback(response) {\r
+ .then(function (response) {\r
$scope.services = [];\r
if (response.data && angular.isArray(response.data.services)) {\r
wholeData = response.data.services;\r
$scope.isSpinnerVisible = false;\r
}\r
$scope.deployButtonType = response.data.readOnly ? 'disabled' : 'primary';\r
- }, function errorCallback(response) {\r
+ }, function (response) {\r
console.log("Error: " + response);\r
});\r
};\r
console.log("Instantiating SDC service " + service.uuid);\r
\r
$http.get(COMPONENT.SERVICES_PATH + service.uuid)\r
- .then(function successCallback(getServiceResponse) {\r
+ .then(function (getServiceResponse) {\r
\r
var serviceModel = getServiceResponse.data;\r
\r
}\r
}\r
});\r
- }, function errorCallback(response) {\r
+ }, function (response) {\r
console.log("Error: " + response);\r
});\r
};\r
* VID\r
* ================================================================================\r
* Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
+ * Modifications Copyright (C) 2019 IBM.\r
* ================================================================================\r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
console.log("Instantiating ASDC service " + service.uuid);\r
\r
$http.get('rest/models/services/' + service.uuid)\r
- .then(function successCallback(getServiceResponse) {\r
+ .then(function (getServiceResponse) {\r
getServiceResponse.data['service'].serviceTypeName = $scope.serviceTypeName;\r
getServiceResponse.data['service'].createSubscriberName = $scope.createSubscriberName;\r
var serviceModel = getServiceResponse.data;\r
}\r
});\r
\r
- }, function errorCallback(response) {\r
+ }, function (response) {\r
$log.error("Error: ", response);\r
});\r
};\r
return $http({\r
method: 'GET',\r
url: pathQuery\r
- }).then(function successCallback(response) {\r
+ }).then(function (response) {\r
if (response.headers()['content-type'].includes('json')) {\r
vidService.setModel(response.data);\r
console.log("aaiSubscriber getAsdcModel DONE!!!!");\r
\r
$scope.getTenants = function (globalCustomerId) {\r
$http.get(FIELD.ID.AAI_GET_TENTANTS + globalCustomerId)\r
- .then(function successCallback(response) {\r
+ .then(function (response) {\r
return response.data;\r
//$location.path("/instantiate");\r
- }, function errorCallback(response) {\r
+ }, function (response) {\r
//TODO\r
});\r
}\r
* VID\r
* ================================================================================\r
* Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
+ * Modifications Copyright (C) 2019 IBM.\r
* ================================================================================\r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
if (parameter.value) {\r
return "<select" + attributeString + " style='" + selectStyle\r
+ additionalStyle + "'>" + "<option value=true>true</option>"\r
- + "<option value=false>false</option>";\r
+ + "<option value=false>false</option>"\r
+ "</select>";\r
}else{\r
return "<select" + attributeString + " style='" + selectStyle\r