This is the web UI for the ONAP Operations Manager, also known as the OOM Dashboard.
It consists of the following Maven projects:
-- ecd-app-common: Java classes that run in a web container like Tomcat
-- ecd-app-overlay: CSS, HTML and Javascript resources for the web application
-- ecd-app-os: Web application project with featurers for ONAP use
+- oom-app-common: Java classes that run in a web container like Tomcat
+- oom-app-overlay: CSS, HTML and Javascript resources for the web application
+- oom-app-os: Web application project with featurers for ONAP use
### Prerequites
+++ /dev/null
-package org.onap.oom.dashboard.exception;
-
-/**
- * A little something to placate the Sonar code-analysis tool.
- */
-public class OOMDashboardException extends Exception {
-
- private static final long serialVersionUID = -1373841666122351816L;
-
- public OOMDashboardException() {
- super();
- }
-
- public OOMDashboardException(String message) {
- super(message);
- }
-
- public OOMDashboardException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public OOMDashboardException(Throwable cause) {
- super(cause);
- }
-
-}
manage executions (virtual machines) inside the ONAP Operations Manager (OOM).
This application is based on the ONAP Portal SDK. Use Apache Maven to build
-and package this webapp for deployment. See the file ecd-app-deployment-guide.txt
-for complete details.
+and package this webapp for deployment.
-# ECOMP-C Dashboard Database Scripts
+# ONAP Operations Manager Dashboard Database Scripts
This directory has a DDL to create tables and and DML scripts to populate tables
-in Postgresql for the ECOMP-C Dashboard web application.
+in Postgresql for the ONAP Operations Manager Dashboard web application.
## Internal deployments
Set default schema for user:
ALTER USER <the-user-name> SET search_path to <the-schema-name>;
- (the above statement is not needed for version 9.4 and above)
\ No newline at end of file
+ (the above statement is not needed for version 9.4 and above)
-- ---------------------------------------------------------------------------------------------------------------
--- This script creates tables for the ECOMP Controller Dashboard web app.
--- in the 1707 release, same tables for both internal and external use.
+-- This script creates tables for the ONAP Operations Manager Dashboard web app.
+-- Same tables for both internal and external use.
-- ------------------------------------------------------------------------------------------------------------------
-CREATE SCHEMA (schema name);
-SET SEARCH_PATH = (schema name);
+-- Assumes no schema name for maximum flexibility
+-- CREATE SCHEMA (schema name);
+-- SET SEARCH_PATH = (schema name);
create table fn_lu_timezone (
timezone_id serial primary key,
-- ---------------------------------------------------------------------------------------------------------------
--- This script populates tables for the ECOMP Controller Dashboard web app.
--- in the 1707 release with data for all versions.
+-- This script populates tables for the ONAP Operations Manager Dashboard web app.
-- ---------------------------------------------------------------------------------------------------------------
-SET SEARCH_PATH = (schema name);
+-- Assumes no schema for maximum flexibility
+-- SET SEARCH_PATH = (schema name);
-- fn_lu_activity
Insert into fn_lu_activity (ACTIVITY_CD,ACTIVITY) values ('add_role','add_role');
<?xml version="1.0"?>
-<!-- =============LICENSE_START=========================================================
- =================================================================================
- Copyright (c) 2017 AT&T Intellectual Property. All rights reserved. ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License"); you may not
- use this file except in compliance with the License. You may obtain a copy
- of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
- by applicable law or agreed to in writing, software distributed under the
- License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
- OF ANY KIND, either express or implied. See the License for the specific
- language governing permissions and limitations under the License. ============LICENSE_END=========================================================
- ECOMP is a trademark and service mark of AT&T Intellectual Property. -->
-
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.onap.oom.dashboard</groupId>
- <artifactId>ecd-app-common</artifactId>
- <version>1707.4.1-SNAPSHOT</version>
+ <artifactId>oom-app-common</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>ONAP Operations Manager Dashboard common</name>
<description>OOM Dashboard common Java code</description>
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.onap.oom.dashboard.exception.OOMDashboardException;
+import org.onap.oom.dashboard.exception.DashboardControllerException;
import org.onap.oom.dashboard.model.CloudifyBlueprint;
import org.onap.oom.dashboard.model.CloudifyBlueprintUpload;
import org.onap.oom.dashboard.model.CloudifyDeployment;
* @param pageSize
* Number of items per browser page
* @return JSON block as String, see above.
- * @throws OOMDashboardException
+ * @throws DashboardControllerException
* On any error; e.g., Network failure.
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
private String getItemListForPage(long userId, CloudifyDataItem option, int pageNum, int pageSize)
- throws Exception {
+ throws DashboardControllerException, JsonProcessingException {
IControllerRestClient restClient = getControllerRestClient(userId);
List itemList = null;
switch (option) {
Collections.sort(itemList, deploymentComparator);
break;
default:
- throw new OOMDashboardException("getItemListForPage failed: unimplemented case: " + option.name());
+ throw new DashboardControllerException("getItemListForPage failed: unimplemented case: " + option.name());
}
// Shrink if needed
try {
User appUser = UserUtils.getUserSession(request);
if (appUser == null || appUser.getLoginId() == null || appUser.getLoginId().length() == 0)
- throw new OOMDashboardException("getItemListForPageWrapper: Failed to get application user");
+ throw new DashboardControllerException("getItemListForPageWrapper: Failed to get application user");
int pageNum = getRequestPageNumber(request);
int pageSize = getRequestPageSize(request);
outboundJson = getItemListForPage(appUser.getId(), option, pageNum, pageSize);
* @param request
* HttpServletRequest
* @return Blueprint as JSON; or error.
- * @throws Exception
+ * @throws JsonProcessingException
* on serialization error
*
*/
@RequestMapping(value = { BLUEPRINTS_PATH + "/{id}" }, method = RequestMethod.GET, produces = "application/json")
@ResponseBody
- public String getBlueprintById(@PathVariable("id") String id, HttpServletRequest request) throws Exception {
+ public String getBlueprintById(@PathVariable("id") String id, HttpServletRequest request) throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
ECTransportModel result = null;
* @param request
* HttpServletRequest
* @return Blueprint as YAML; or error.
- * @throws Exception
+ * @throws JsonProcessingException
* on serialization error
*
*/
@RequestMapping(value = {
VIEW_BLUEPRINTS_PATH + "/{id}" }, method = RequestMethod.GET, produces = "application/yaml")
@ResponseBody
- public String viewBlueprintContentById(@PathVariable("id") String id, HttpServletRequest request) throws Exception {
+ public String viewBlueprintContentById(@PathVariable("id") String id, HttpServletRequest request) throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
ECTransportModel result = null;
* @param blueprint
* Cloudify blueprint
* @return Blueprint as uploaded; or error.
- * @throws Exception
+ * @throws JsonProcessingException
* on serialization error
*/
@RequestMapping(value = { BLUEPRINTS_PATH }, method = RequestMethod.POST, produces = "application/json")
@ResponseBody
public String uploadBlueprint(HttpServletRequest request, @RequestBody CloudifyBlueprintUpload blueprint)
- throws Exception {
+ throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
ECTransportModel result = null;
* @param response
* HttpServletResponse
* @return No content on success; error on failure.
- * @throws Exception
+ * @throws JsonProcessingException
* On serialization failure
*/
@RequestMapping(value = { BLUEPRINTS_PATH + "/{id}" }, method = RequestMethod.DELETE, produces = "application/json")
@ResponseBody
public String deleteBlueprint(@PathVariable("id") String id, HttpServletRequest request,
- HttpServletResponse response) throws Exception {
+ HttpServletResponse response) throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
ECTransportModel result = null;
* @param request
* HttpServletRequest
* @return Deployment for the specified ID; error on failure.
- * @throws Exception
+ * @throws JsonProcessingException
* On serialization failure
*
*/
@RequestMapping(value = { DEPLOYMENTS_PATH + "/{id}" }, method = RequestMethod.GET, produces = "application/json")
@ResponseBody
- public String getDeploymentById(@PathVariable("id") String id, HttpServletRequest request) throws Exception {
+ public String getDeploymentById(@PathVariable("id") String id, HttpServletRequest request) throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
ECTransportModel result = null;
* @param deployment
* Deployment to upload
* @return Body of deployment; error on failure
- * @throws Exception
+ * @throws JsonProcessingException
* On serialization failure
*/
@RequestMapping(value = { DEPLOYMENTS_PATH }, method = RequestMethod.POST, produces = "application/json")
@ResponseBody
public String createDeployment(HttpServletRequest request, @RequestBody CloudifyDeploymentRequest deployment)
- throws Exception {
+ throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
ECTransportModel result = null;
* HttpServletResponse
* @return Passes thru HTTP status code from remote endpoint; no body on
* success
- * @throws Exception
+ * @throws JsonProcessingException
* on serialization failure
*/
@RequestMapping(value = {
@ResponseBody
public String deleteDeployment(@PathVariable("id") String id,
@RequestParam(value = "ignore_live_nodes", required = false) Boolean ignoreLiveNodes,
- HttpServletRequest request, HttpServletResponse response) throws Exception {
+ HttpServletRequest request, HttpServletResponse response) throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
ECTransportModel result = null;
* Optional request parameter; if found, only executions with
* that status are returned.
* @return List of CloudifyExecution objects
- * @throws Exception
+ * @throws JsonProcessingException
* on serialization failure
*/
@SuppressWarnings("unchecked")
@ResponseBody
public String getExecutionsByPage(HttpServletRequest request,
@RequestParam(value = "deployment_id", required = false) String deployment_id,
- @RequestParam(value = "status", required = false) String status) throws Exception {
+ @RequestParam(value = "status", required = false) String status) throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
ECTransportModel result = null;
* @param request
* HttpServletRequest
* @return CloudifyExecutionList
- * @throws Exception
+ * @throws JsonProcessingException
* on serialization failure
*/
@RequestMapping(value = { EXECUTIONS_PATH + "/{id}" }, method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public String getExecutionByIdAndDeploymentId(@PathVariable("id") String execution_id,
- @RequestParam("deployment_id") String deployment_id, HttpServletRequest request) throws Exception {
+ @RequestParam("deployment_id") String deployment_id, HttpServletRequest request) throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
ECTransportModel result = null;
* @param execution
* Execution model
* @return Information about the execution
- * @throws Exception
+ * @throws JsonProcessingException
* on serialization failure
*/
@RequestMapping(value = { EXECUTIONS_PATH }, method = RequestMethod.POST, produces = "application/json")
@ResponseBody
public String startExecution(HttpServletRequest request, @RequestBody CloudifyExecutionRequest execution)
- throws Exception {
+ throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
ECTransportModel result = null;
* HttpServletRequest
* @param response
* HttpServletRequest
- * @return Passes thru HTTP status code from remote endpoint; no body on
- * success
- * @throws Exception
+ * @return Passes thru HTTP status code from remote endpoint; no body on success
+ * @throws JsonProcessingException
* on serialization failure
*/
@RequestMapping(value = { EXECUTIONS_PATH + "/{id}" }, method = RequestMethod.DELETE, produces = "application/json")
@ResponseBody
public String cancelExecution(@PathVariable("id") String id,
@RequestParam(value = "deployment_id") String deploymentId, @RequestParam(value = "action") String action,
- HttpServletRequest request, HttpServletResponse response) throws Exception {
+ HttpServletRequest request, HttpServletResponse response) throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
ECTransportModel result = null;
import javax.servlet.http.HttpServletRequest;
-import org.onap.oom.dashboard.exception.OOMDashboardException;
+import org.onap.oom.dashboard.exception.DashboardControllerException;
import org.onap.oom.dashboard.model.ConsulHealthServiceRegistration;
import org.onap.oom.dashboard.model.ConsulNodeInfo;
import org.onap.oom.dashboard.model.ConsulServiceHealth;
};
/**
- * Gets one page of objects and supporting information via the REST client.
- * On success, returns a page of objects as String.
+ * Gets one page of objects and supporting information via the REST client. On
+ * success, returns a page of objects as String.
*
* @param option
* Specifies which item type to get
* @param pageSize
* Number of items per browser page
* @return JSON block as String, see above.
- * @throws Exception
- * On any error; e.g., Network failure.
+ * @throws DashboardControllerException,
+ * JsonProcessingException On any error; e.g., Network failure.
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
- private String getItemListForPage(long userId, ConsulDataItem option, int pageNum, int pageSize) throws Exception {
+ private String getItemListForPage(long userId, ConsulDataItem option, int pageNum, int pageSize)
+ throws DashboardControllerException, JsonProcessingException {
IControllerRestClient restClient = getControllerRestClient(userId);
List itemList = null;
switch (option) {
itemList = restClient.getDatacenters();
break;
default:
- throw new OOMDashboardException("getItemListForPage failed: unimplemented case: " + option.name());
+ throw new DashboardControllerException("getItemListForPage failed: unimplemented case: " + option.name());
}
// Shrink if needed
try {
User appUser = UserUtils.getUserSession(request);
if (appUser == null || appUser.getLoginId() == null || appUser.getLoginId().length() == 0)
- throw new OOMDashboardException("getItemListForPageWrapper: Failed to get application user");
+ throw new DashboardControllerException("getItemListForPageWrapper: Failed to get application user");
int pageNum = getRequestPageNumber(request);
int pageSize = getRequestPageSize(request);
outboundJson = getItemListForPage(appUser.getId(), option, pageNum, pageSize);
* @param request
* HttpServletRequest
* @return List of ConsulServiceInfo objects, as JSON
- * @throws Exception
+ * @throws JsonProcessingException
* if serialization fails
*/
@RequestMapping(value = { SERVICES_PATH }, method = RequestMethod.GET, produces = "application/json")
@ResponseBody
- public String getServices(HttpServletRequest request) throws Exception {
+ public String getServices(HttpServletRequest request) throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
Object result = null;
* @param serviceId
* Service ID
* @return List of ConsulServiceHealth objects as JSON
- * @throws Exception
+ * @throws JsonProcessingException
* if serialization fails
*/
@RequestMapping(value = {
SERVICES_PATH + "/{serviceId}" }, method = RequestMethod.GET, produces = "application/json")
@ResponseBody
- public String getServiceHealthDetails(HttpServletRequest request, @PathVariable String serviceId) throws Exception {
+ public String getServiceHealthDetails(HttpServletRequest request, @PathVariable String serviceId)
+ throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
Object result = null;
* Latest date-time as an ISO 8061 value, such as
* 2007-12-03T10:15:30+01:00
* @return List of ConsulServiceHealth objects as JSON
- * @throws Exception
+ * @throws JsonProcessingException
* if serialization fails
*/
@RequestMapping(value = { "/svchist/{serviceName}" }, method = RequestMethod.GET, produces = "application/json")
public String getServiceHealthHistory(HttpServletRequest request, //
@PathVariable String serviceName, //
@RequestParam String start, //
- @RequestParam String end) throws Exception {
+ @RequestParam String end) throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
Object result = null;
result = new RestResponseError(e.getResponseBodyAsString());
} catch (Throwable t) {
// Work around the hack to report no-match.
- result = new RestResponseError("getServiceHealthHistory failed: " + t.getMessage());
+ result = new RestResponseError("getServiceHealthHistory failed: " + t.getMessage());
}
MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, logDateFormat.format(new Date()));
logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
}
/**
- * Serves one page of service health information by getting all service
- * names, then iterating over them to get the health of each service.
+ * Serves one page of service health information by getting all service names,
+ * then iterating over them to get the health of each service.
*
* ECOMP-C does NOT provide an API to get the health of all services in one
* request.
* @param request
* HttpServletRequest
* @return List of ConsulServiceHealth objects, as JSON
- * @throws Exception
+ * @throws JsonProcessingException
* on serialization exception
*/
@SuppressWarnings("unchecked")
@RequestMapping(value = { "/serviceshealth" }, method = RequestMethod.GET, produces = "application/json")
@ResponseBody
- public String getServicesHealth(HttpServletRequest request) throws Exception {
+ public String getServicesHealth(HttpServletRequest request) throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
ECTransportModel result = null;
* @param nodeName
* Node name
* @return List of ConsulServiceHealth objects as JSON
- * @throws Exception
+ * @throws JsonProcessingException
* if serialization fails
*/
@RequestMapping(value = { NODES_PATH + "/{nodeName}" }, method = RequestMethod.GET, produces = "application/json")
@ResponseBody
- public String getNodeServicesHealth(HttpServletRequest request, @PathVariable String nodeName) throws Exception {
+ public String getNodeServicesHealth(HttpServletRequest request, @PathVariable String nodeName)
+ throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
Object result = null;
* @param registration
* Consul service registration
* @return URI of the newly registered resource
- * @throws Exception
+ * @throws JsonProcessingException
* on serialization error
*/
@RequestMapping(value = { "/register" }, method = RequestMethod.POST, produces = "application/json")
@ResponseBody
public String registerService(HttpServletRequest request, @RequestBody ConsulHealthServiceRegistration registration)
- throws Exception {
+ throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
ECTransportModel result = null;
* @param serviceName
* Consul service name to deregister
* @return Success or error indicator
- * @throws Exception
+ * @throws JsonProcessingException
* on serialization error
*/
- @RequestMapping(value = { "/deregister" + "/{serviceName}" }, method = RequestMethod.POST, produces = "application/json")
+ @RequestMapping(value = {
+ "/deregister" + "/{serviceName}" }, method = RequestMethod.POST, produces = "application/json")
@ResponseBody
- public String deregisterService(HttpServletRequest request,
- @PathVariable String serviceName) throws Exception {
+ public String deregisterService(HttpServletRequest request, @PathVariable String serviceName)
+ throws JsonProcessingException {
MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, logDateFormat.format(new Date()));
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
ECTransportModel result = null;
import javax.servlet.http.HttpServletRequest;
import org.onap.oom.dashboard.domain.ControllerEndpoint;
-import org.onap.oom.dashboard.exception.OOMDashboardException;
+import org.onap.oom.dashboard.exception.DashboardControllerException;
import org.onap.oom.dashboard.model.ControllerEndpointCredentials;
import org.onap.oom.dashboard.model.ControllerEndpointTransport;
import org.onap.oom.dashboard.model.RestResponseError;
import org.springframework.web.servlet.ModelAndView;
import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
/**
- * This controller maps requests for the application's landing page, which is
- * an Angular single-page application.
+ * This controller maps requests for the application's landing page, which is an
+ * Angular single-page application.
*/
@Controller
@RequestMapping("/")
public class DashboardHomeController extends DashboardRestrictedBaseController {
+ /**
+ * This path is embedded in the database, so it's nontrivial to change.
+ */
+ public static final String APP_CONTEXT_PATH = "/ecd";
+
private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(DashboardHomeController.class);
@Autowired
private static final String CONTROLLERS_PATH = "controllers";
/**
- * Never forget that Spring autowires fields AFTER the constructor is
- * called.
+ * Spring autowires fields AFTER the constructor is called.
*/
public DashboardHomeController() {
mapper = new ObjectMapper();
* @return View name key, which is resolved to a file using an Apache tiles
* "definitions.xml" file.
*/
- @RequestMapping(value = { "/ecd" }, method = RequestMethod.GET)
+ @RequestMapping(value = { APP_CONTEXT_PATH }, method = RequestMethod.GET)
public ModelAndView dbcDefaultController() {
// a model is only useful for JSP; this app is angular.
- return new ModelAndView("ecd_home_tdkey");
+ return new ModelAndView("oom_home_tdkey");
}
/**
*
* @param request
* HttpServletRequest
- * @return List of ControllerEndpointTransport objects, or an error on
- * failure
- * @throws Exception
- * if application user is not found
+ * @return List of ControllerEndpointTransport objects, or an error on failure
*/
@RequestMapping(value = { CONTROLLERS_PATH }, method = RequestMethod.GET, produces = "application/json")
@ResponseBody
try {
User appUser = UserUtils.getUserSession(request);
if (appUser == null || appUser.getLoginId() == null || appUser.getLoginId().length() == 0)
- throw new OOMDashboardException("getControllers: Failed to get application user");
+ throw new DashboardControllerException("getControllers: Failed to get application user");
ControllerEndpointCredentials selectedInDb = getOrSetControllerEndpointSelection(appUser.getId());
// Built result from properties
ArrayList<ControllerEndpointTransport> list = new ArrayList<>();
* @param endpoint
* Body with endpoint details
* @return Result indicating success or failure
- * @throws Exception
+ * @throws DashboardControllerException,
* if application user is not found
+ * @throws JsonProcessingException
+ * If serialization fails
*/
@RequestMapping(value = { CONTROLLERS_PATH }, method = RequestMethod.POST, produces = "application/json")
@ResponseBody
public String setControllerSelection(HttpServletRequest request, @RequestBody ControllerEndpointTransport endpoint)
- throws Exception {
+ throws DashboardControllerException, JsonProcessingException {
logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, APP_NAME);
logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
String outboundJson = null;
User appUser = UserUtils.getUserSession(request);
if (appUser == null || appUser.getLoginId() == null || appUser.getLoginId().length() == 0)
- throw new OOMDashboardException("setControllerSelection: Failed to get application user");
+ throw new DashboardControllerException("setControllerSelection: Failed to get application user");
ControllerEndpoint dbEntry = new ControllerEndpoint(appUser.getId(), endpoint.getName(), endpoint.getUrl());
controllerEndpointService.updateControllerEndpointSelection(dbEntry);
RestResponseSuccess success = new RestResponseSuccess("Updated selection to " + endpoint.getName());
import javax.servlet.http.HttpServletRequest;
import org.onap.oom.dashboard.domain.ControllerEndpoint;
-import org.onap.oom.dashboard.exception.OOMDashboardException;
+import org.onap.oom.dashboard.exception.DashboardControllerException;
import org.onap.oom.dashboard.model.ControllerEndpointCredentials;
import org.onap.oom.dashboard.rest.ControllerRestClientImpl;
import org.onap.oom.dashboard.rest.ControllerRestClientMockImpl;
* @param request
* HttpServletRequest
* @return REST client appropriate for the user
+ * @throws DashboardControllerException
*/
- protected IControllerRestClient getControllerRestClient(HttpServletRequest request) throws Exception {
+ protected IControllerRestClient getControllerRestClient(HttpServletRequest request) throws DashboardControllerException {
User appUser = UserUtils.getUserSession(request);
if (appUser == null || appUser.getLoginId() == null || appUser.getLoginId().length() == 0)
- throw new OOMDashboardException("getControllerRestClient: Failed to get application user");
+ throw new DashboardControllerException("getControllerRestClient: Failed to get application user");
return getControllerRestClient(appUser.getId());
}
* client with appropriate credentials from properties.
*
* @return REST client.
+ * @throws DashboardControllerException on any failure; e.g., if the password cannot be decrypted.
*/
- protected IControllerRestClient getControllerRestClient(long userId) throws Exception {
+ protected IControllerRestClient getControllerRestClient(long userId) throws DashboardControllerException {
IControllerRestClient result = null;
// Be robust to missing development-only property
boolean mock = false;
if (mock) {
result = new ControllerRestClientMockImpl();
} else {
+ try {
ControllerEndpointCredentials details = getOrSetControllerEndpointSelection(userId);
final String clearText = details.getEncryptedPassword() ? details.decryptPassword() : details.getPassword();
result = new ControllerRestClientImpl(details.getUrl(), details.getUsername(), clearText);
+ }
+ catch (Exception ex) {
+ logger.error("getControllerRestClient failed", ex);
+ throw new DashboardControllerException(ex);
+ }
}
return result;
}
package org.onap.oom.dashboard.controller;
+import java.io.UnsupportedEncodingException;
+
/*-
* ================================================================================
* ECOMP Portal SDK
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
+import org.onap.oom.dashboard.exception.DashboardControllerException;
import org.openecomp.portalsdk.core.auth.LoginStrategy;
import org.openecomp.portalsdk.core.command.LoginBean;
import org.openecomp.portalsdk.core.controller.UnRestrictedBaseController;
import org.openecomp.portalsdk.core.domain.User;
import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
import org.openecomp.portalsdk.core.menu.MenuProperties;
+import org.openecomp.portalsdk.core.onboarding.exception.PortalAPIException;
import org.openecomp.portalsdk.core.onboarding.listener.PortalTimeoutHandler;
import org.openecomp.portalsdk.core.onboarding.util.PortalApiConstants;
import org.openecomp.portalsdk.core.onboarding.util.PortalApiProperties;
private String welcomeView;
/**
- * Handles requests directed to the single sign-on page by the session
- * timeout interceptor.
+ * Handles requests directed to the single sign-on page by the session timeout
+ * interceptor.
*
* @param request
* HttpServletRequest
* @param response
* HttpServletResponse
* @return Redirect to an appropriate address
- * @throws Exception
- * On any failure
+ * @throws DashboardControllerException
+ * User not found
+ * @throws PortalAPIException
+ * User ID can't be fetched
+ * @throws UnsupportedEncodingException
+ * Encoding fails
*/
@RequestMapping(value = { "/single_signon.htm" }, method = RequestMethod.GET)
- public ModelAndView singleSignOnLogin(HttpServletRequest request, HttpServletResponse response) throws Exception {
+ public ModelAndView singleSignOnLogin(HttpServletRequest request, HttpServletResponse response)
+ throws DashboardControllerException, PortalAPIException, UnsupportedEncodingException {
Map<String, String> model = new HashMap<String, String>();
HashMap<String, String> additionalParamsMap = new HashMap<String, String>();
final String authMech = SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM);
String userId = loginStrategy.getUserId(request);
commandBean.setUserid(userId);
- commandBean = getLoginService().findUser(commandBean,
- (String) request.getAttribute(MenuProperties.MENU_PROPERTIES_FILENAME_KEY),
- additionalParamsMap);
+ try {
+ commandBean = getLoginService().findUser(commandBean,
+ (String) request.getAttribute(MenuProperties.MENU_PROPERTIES_FILENAME_KEY),
+ additionalParamsMap);
+ } catch (Exception ex) {
+ logger.error("singleSignOnLogin failed", ex);
+ throw new DashboardControllerException(ex);
+ }
if (commandBean.getUser() == null) {
String loginErrorMessage = (commandBean.getLoginErrorMessage() != null)
? commandBean.getLoginErrorMessage()
}
} else {
/*
- * Login cookie not found, or redirect-to-portal parameter was
- * found.
+ * Login cookie not found, or redirect-to-portal parameter was found.
*/
if (isPortalAvailable()) {
/*
- * Redirect the user to the portal with a suitable return URL.
- * The forwardURL parameter that arrives as a parameter is a
- * partial (not absolute) request path for a page in the
- * application. The challenge here is to compute the correct
- * absolute path for the original request so the portal can
- * redirect the user back to the right place. If the application
- * sits behind WebJunction, or if separate FE-BE hosts are used,
- * then the URL yielded by the request has a host name that is
- * not reachable by the user.
+ * Redirect the user to the portal with a suitable return URL. The forwardURL
+ * parameter that arrives as a parameter is a partial (not absolute) request
+ * path for a page in the application. The challenge here is to compute the
+ * correct absolute path for the original request so the portal can redirect the
+ * user back to the right place. If the application sits behind WebJunction, or
+ * if separate FE-BE hosts are used, then the URL yielded by the request has a
+ * host name that is not reachable by the user.
*/
String returnToAppUrl = null;
if (SystemProperties.containsProperty(SystemProperties.APP_BASE_URL)) {
"singleSignOnLogin: using app base URL {} and redirectURL {}", appUrl, returnToAppUrl);
} else {
/**
- * Be backward compatible with applications that don't need
- * this feature. This is the controller for the
- * single_signon.htm page, so the replace should always find
- * the specified token.
+ * Be backward compatible with applications that don't need this feature. This
+ * is the controller for the single_signon.htm page, so the replace should
+ * always find the specified token.
*/
returnToAppUrl = ((HttpServletRequest) request).getRequestURL().toString()
.replace("single_signon.htm", forwardURL);
else {
/*
- * Portal is not available. Redirect user to the login page,
- * ignoring the forwardURL parameter.
+ * Portal is not available. Redirect user to the login page, ignoring the
+ * forwardURL parameter.
*/
return new ModelAndView("redirect:login.htm");
}
}
/**
- * Discover if the portal is available by GET-ing a resource from the REST
- * URL specified in portal.properties, using a very short timeout.
+ * Discover if the portal is available by GET-ing a resource from the REST URL
+ * specified in portal.properties, using a very short timeout.
*
* @return True if the portal answers, otherwise false.
*/
--- /dev/null
+package org.onap.oom.dashboard.exception;
+
+/**
+ * A little something to placate the Sonar code-analysis tool.
+ */
+public class DashboardControllerException extends Exception {
+
+ private static final long serialVersionUID = -1373841666122351816L;
+
+ public DashboardControllerException() {
+ super();
+ }
+
+ public DashboardControllerException(String message) {
+ super(message);
+ }
+
+ public DashboardControllerException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public DashboardControllerException(Throwable cause) {
+ super(cause);
+ }
+
+}
*******************************************************************************/
package org.onap.oom.dashboard.model;
+import org.onap.oom.dashboard.exception.DashboardControllerException;
+import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
import org.openecomp.portalsdk.core.onboarding.util.CipherUtil;
/**
*/
public class ControllerEndpointCredentials extends ControllerEndpointTransport {
+ private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ControllerEndpointCredentials.class);
+
public String username;
public String password;
public boolean isEncryptedPass;
}
/**
- * Accepts clear text and stores an encrypted value; as a side effect, sets
- * the encrypted flag to true.
+ * Accepts clear text and stores an encrypted value; as a side effect, sets the
+ * encrypted flag to true.
*
* @param plainText
* Clear-text password
- * @throws Exception
+ * @throws DashboardControllerException
* If encryption fails
*/
- public void encryptPassword(final String plainText) throws Exception {
- this.password = CipherUtil.encrypt(plainText);
- this.isEncryptedPass = true;
+ public void encryptPassword(final String plainText) throws DashboardControllerException {
+ try {
+ this.password = CipherUtil.encrypt(plainText);
+ this.isEncryptedPass = true;
+ } catch (Exception ex) {
+ logger.error("encryptPassword failed", ex);
+ throw new DashboardControllerException(ex);
+ }
}
/**
* true.
*
* @return Clear-text password.
- * @throws Exception
+ * @throws DashboardControllerException
* If decryption fails
*/
- public String decryptPassword() throws Exception {
- return CipherUtil.decrypt(password);
+ public String decryptPassword() throws DashboardControllerException {
+ try {
+ return CipherUtil.decrypt(password);
+ } catch (Exception ex) {
+ logger.error("decryptPassword failed", ex);
+ throw new DashboardControllerException(ex);
+ }
}
}
\ No newline at end of file
*
* @param args
* blueprint ID
- * @throws Exception
- * On any failure
+ * @throws IllegalArgumentException
+ * On bad arguments
*/
- public static void main(String[] args) throws Exception {
+ public static void main(String[] args) throws IllegalArgumentException {
if (args.length != 1)
throw new IllegalArgumentException("Single argument expected: blueprint-id");
ControllerRestClientImpl client = new ControllerRestClientImpl("http://localhost:8081/controller", "dbus_user",
import java.util.Map;
import java.util.Scanner;
-import org.onap.oom.dashboard.exception.OOMDashboardException;
+import org.onap.oom.dashboard.exception.DashboardControllerException;
import org.onap.oom.dashboard.model.CloudifyBlueprintContent;
import org.onap.oom.dashboard.model.CloudifyBlueprintList;
import org.onap.oom.dashboard.model.CloudifyBlueprintUpload;
try {
InputStream is = getClass().getResourceAsStream(path);
if (is == null)
- throw new OOMDashboardException("Failed to find resource at path " + path);
+ throw new DashboardControllerException("Failed to find resource at path " + path);
Scanner scanner = new Scanner(is, "UTF-8");
result = scanner.useDelimiter("\\A").next();
scanner.close();
*
* @param args
* blueprint ID
- * @throws Exception
+ * @throws DashboardControllerException
* On any failure
*/
- public static void main(String[] args) throws Exception {
+ public static void main(String[] args) throws DashboardControllerException {
System.out.println("Testing paths and parsing mock data");
ControllerRestClientMockImpl client = new ControllerRestClientMockImpl();
CloudifyBlueprintList list1 = client.getBlueprints();
List<ConsulServiceHealthHistory> list9 = client.getServiceHealthHistory("mock", Instant.now(), Instant.now());
if (list1 == null || list2 == null || list3 == null || list4 == null || list5 == null || list6 == null
|| list7 == null || list8 == null || list9 == null)
- throw new OOMDashboardException("Failed");
+ throw new DashboardControllerException("Failed");
System.out.println("Pass.");
}
<?xml version="1.0"?>
-<!-- =============LICENSE_START=========================================================
- =================================================================================
- Copyright (c) 2017 AT&T Intellectual Property. All rights reserved. ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License"); you may not
- use this file except in compliance with the License. You may obtain a copy
- of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
- by applicable law or agreed to in writing, software distributed under the
- License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
- OF ANY KIND, either express or implied. See the License for the specific
- language governing permissions and limitations under the License. ============LICENSE_END=========================================================
- ECOMP is a trademark and service mark of AT&T Intellectual Property. -->
-
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.onap.oom.dashboard</groupId>
- <artifactId>ecd-app-os</artifactId>
- <version>1707.4.1-SNAPSHOT</version>
+ <artifactId>oom-app-os</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>ONAP Operations Manager Dashboard app</name>
<description>OOM Dashboard Web Application for external release</description>
<springframework.version>4.2.0.RELEASE</springframework.version>
<hibernate.version>4.3.11.Final</hibernate.version>
<epsdk.version>1.1.0</epsdk.version>
- <ecd.version>1707.4.1-SNAPSHOT</ecd.version>
+ <oom.version>1.1.0-SNAPSHOT</oom.version>
<nexusproxy>https://nexus.onap.org</nexusproxy>
<snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
<releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
<overlays>
<overlay>
<groupId>org.onap.oom.dashboard</groupId>
- <artifactId>ecd-app-overlay</artifactId>
+ <artifactId>oom-app-overlay</artifactId>
</overlay>
<overlay>
<groupId>org.openecomp.ecompsdkos</groupId>
<!-- ECD webapp resources -->
<dependency>
<groupId>org.onap.oom.dashboard</groupId>
- <artifactId>ecd-app-overlay</artifactId>
- <version>${ecd.version}</version>
+ <artifactId>oom-app-overlay</artifactId>
+ <version>${oom.version}</version>
<type>war</type>
</dependency>
<!-- ECD webapp controllers -->
<dependency>
<groupId>org.onap.oom.dashboard</groupId>
- <artifactId>ecd-app-common</artifactId>
- <version>${ecd.version}</version>
+ <artifactId>oom-app-common</artifactId>
+ <version>${oom.version}</version>
</dependency>
<!-- SDK webapp resources -->
<dependency>
List<String> definitions = new ArrayList<String>();
// DBC does not need the sample page:
// definitions.add("/WEB-INF/defs/definitions.xml");
- definitions.add("/WEB-INF/ecd-app-definitions.xml");
+ definitions.add("/WEB-INF/oom-app-definitions.xml");
if (logger.isDebugEnabled())
logger.debug(EELFLoggerDelegate.debugLogger, "addTileDefinitions: list is " + definitions);
return definitions;
// new ClassPathResource("../fusion/orm/Fusion.hbm.xml"),
// This is a COPY to work around a bug in the 1.1.0 release.
new ClassPathResource("../fusion-110-copy.hbm.xml"),
- new ClassPathResource("../ecd-app.hbm.xml")
+ new ClassPathResource("../oom-app.hbm.xml")
};
}
<!--<jmxConfigurator /> -->
<!-- specify the component name -->
- <property name="componentName" value="ecd_app_os"></property>
+ <property name="componentName" value="oom_app_os"></property>
<!-- specify the base path of the log directory -->
<property name="logDirPrefix" value="${catalina.base}/logs"></property>
instance_uuid = 12345678-90ab-cdef-1234-567890abcdef
# Application base URL is a proper prefix of the on-boarded URL.
-app_base_url = http://www.oom.onap.org:8080/ecd-app-os/
+app_base_url = http://www.oom.onap.org:8080/oom-app-os/
</head>
<body>
<div class="login">
- <img src="app/ecdapp/images/onap_logo_2257x496.png" style="height: 150px;" />
+ <img src="app/oom/images/onap_logo_2257x496.png" style="height: 150px;" />
<h2>
<%=appDisplayName%>
</h2>
-->
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
- <display-name>ecd-app-os</display-name>
+ <display-name>oom-os</display-name>
<session-config>
<session-timeout>60</session-timeout>
<tracking-mode>COOKIE</tracking-mode>
<?xml version="1.0"?>
-<!-- =============LICENSE_START=========================================================
- =================================================================================
- Copyright (c) 2017 AT&T Intellectual Property. All rights reserved. ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License"); you may not
- use this file except in compliance with the License. You may obtain a copy
- of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
- by applicable law or agreed to in writing, software distributed under the
- License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
- OF ANY KIND, either express or implied. See the License for the specific
- language governing permissions and limitations under the License. ============LICENSE_END=========================================================
- ECOMP is a trademark and service mark of AT&T Intellectual Property. -->
-
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.onap.oom.dashboard</groupId>
- <artifactId>ecd-app-overlay</artifactId>
- <version>1707.4.1-SNAPSHOT</version>
+ <artifactId>oom-app-overlay</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>ONAP Operations Manager Dashboard overlay</name>
<description>OOM Dashboard web resources</description>
<tiles-definitions>
<!-- Main page for the single-page app -->
- <definition name="ecd_home_tdkey" template="/app/ecdapp/home/ecd_spa.html"/>
+ <definition name="oom_home_tdkey" template="/app/oom/home/oom_spa.html"/>
</tiles-definitions>
</head>
<body>
<p>
- Redirecting to the <a href="ecd#">ECOMP-C Dashboard</a>..
+ Redirecting to the <a href="ecd#">ONAP Operations Manager Dashboard</a>..
</p>
</body>
</html>
-<link rel="stylesheet" href="app/ecdapp/external/bootstrap.min.css" />
+<link rel="stylesheet" href="app/oom/external/bootstrap.min.css" />
<style>
.csep-root1 {
background: white;
</div>
</div>
<div>
- <img src="app/ecdapp/images/ecomp-login-550x360.jpg">
+ <img src="app/oom/images/ecomp-login-550x360.jpg">
</div>
<div class="col-sm-12 text-center line-height">
<span ng-if="orgChartData.length"></span>
</div>
</div>
<div>
- <img src="app/ecdapp/images/ecomp.png">
+ <img src="app/oom/images/ecomp.png">
</div>
<div class="col-sm-12 text-center line-height"></div>
</div>
$routeProvider
.when('/orgchart', {
/* horizontal layout */
- templateUrl: 'app/ecdapp/home/tree_view.html',
+ templateUrl: 'app/oom/home/tree_view.html',
controller : 'treeViewController'
})
.when('/tosca', {
- templateUrl: 'app/ecdapp/cloudify/tosca_table.html',
+ templateUrl: 'app/oom/cloudify/tosca_table.html',
controller : 'toscaTableController'
})
.when('/bp', {
- templateUrl: 'app/ecdapp/cloudify/blueprint_table.html',
+ templateUrl: 'app/oom/cloudify/blueprint_table.html',
controller : 'blueprintTableController'
})
.when('/dep', {
- templateUrl: 'app/ecdapp/cloudify/deployment_table.html',
+ templateUrl: 'app/oom/cloudify/deployment_table.html',
controller : 'deploymentTableController'
})
.when('/exe', {
- templateUrl: 'app/ecdapp/cloudify/execution_table.html',
+ templateUrl: 'app/oom/cloudify/execution_table.html',
controller : 'executionTableController'
})
.when('/sh', {
- templateUrl: 'app/ecdapp/consul/service_health_table.html',
+ templateUrl: 'app/oom/consul/service_health_table.html',
controller : 'serviceHealthTableController'
})
.when('/nh', {
- templateUrl: 'app/ecdapp/consul/node_table.html',
+ templateUrl: 'app/oom/consul/node_table.html',
controller : 'nodeTableController'
})
.when('/dc', {
- templateUrl: 'app/ecdapp/consul/datacenter_table.html',
+ templateUrl: 'app/oom/consul/datacenter_table.html',
controller : 'datacenterTableController'
})
.when('/profile/:profileId', {
controller: 'usageListControllerDS2'
})
.otherwise({
- templateUrl: 'app/ecdapp/home/executions_view.html',
+ templateUrl: 'app/oom/home/executions_view.html',
controller : 'executionsViewController'
})
;
<!DOCTYPE html>
-<!-- ECOMP Controller Dashboard single-page application using B2B/DS2. -->
+<!-- ONAP Operations Manager Dashboard single-page application using B2B/DS2. -->
<html>
<head>
<meta charset="UTF-8">
- <title>ECOMP-C Dashboard</title>
- <link rel="icon" type="image/ico" href="app/ecdapp/images/onap_32x32.ico" />
+ <title>OOM Dashboard</title>
+ <link rel="icon" type="image/ico" href="app/oom/images/onap_32x32.ico" />
<!-- Third-party scripts from EPSDK overlay -->
<script src="app/fusion/external/angular-1.4.8/angular.js"></script>
<script src="app/fusion/external/angular-bootstrap/ui-bootstrap-tpls.min.js"></script>
<!-- Third-party scripts from app -->
- <script src="app/ecdapp/external/bootstrap.min.js" type="text/javascript"></script>
+ <script src="app/oom/external/bootstrap.min.js" type="text/javascript"></script>
<!-- https://github.com/jeremyfa/yaml.js -->
- <script src="app/ecdapp/external/yaml.js" type="text/javascript"></script>
+ <script src="app/oom/external/yaml.js" type="text/javascript"></script>
<script src="app/fusion/external/b2b/js/b2b-angular/b2b-library.min.js"></script>
<!-- Tweaked CSS -->
<link rel="stylesheet" type="text/css" href="app/fusion/styles/ecomp.css">
<!-- main app -->
- <script src="app/ecdapp/home/modal-service.js"></script>
- <script src="app/ecdapp/home/appDS2.js"></script>
+ <script src="app/oom/home/modal-service.js"></script>
+ <script src="app/oom/home/appDS2.js"></script>
<!-- directives and services -->
<script src="app/fusion/scripts/DS2-services/userInfoServiceDS2.js"></script>
<script src="app/fusion/scripts/DS2-directives/b2b-leftnav-ext.js"></script>
<!-- ECD home -->
- <script src="app/ecdapp/home/tree-view-controller.js"></script>
- <script src="app/ecdapp/home/tree-view-directive.js"></script>
- <script src="app/ecdapp/home/controller-service.js"></script>
- <script src="app/ecdapp/home/ecompc-instances-controller.js"></script>
- <script src="app/ecdapp/home/executions-view-controller.js"></script>
- <link rel="stylesheet" href="app/ecdapp/home/tree-view-style.css"/>
- <link rel="stylesheet" href="app/ecdapp/home/ecd-style.css"/>
+ <script src="app/oom/home/tree-view-controller.js"></script>
+ <script src="app/oom/home/tree-view-directive.js"></script>
+ <script src="app/oom/home/controller-service.js"></script>
+ <script src="app/oom/home/oom-instances-controller.js"></script>
+ <script src="app/oom/home/executions-view-controller.js"></script>
+ <link rel="stylesheet" href="app/oom/home/tree-view-style.css"/>
+ <link rel="stylesheet" href="app/oom/home/oom-style.css"/>
<!-- Cloudify -->
- <script src="app/ecdapp/cloudify/blueprint-service.js"></script>
- <script src="app/ecdapp/cloudify/deployment-service.js"></script>
- <script src="app/ecdapp/cloudify/execution-service.js"></script>
- <script src="app/ecdapp/cloudify/tosca-table-controller.js"></script>
- <script src="app/ecdapp/cloudify/blueprint-controllers.js"></script>
- <script src="app/ecdapp/cloudify/deployment-controllers.js"></script>
- <script src="app/ecdapp/cloudify/execution-table-controller.js"></script>
+ <script src="app/oom/cloudify/blueprint-service.js"></script>
+ <script src="app/oom/cloudify/deployment-service.js"></script>
+ <script src="app/oom/cloudify/execution-service.js"></script>
+ <script src="app/oom/cloudify/tosca-table-controller.js"></script>
+ <script src="app/oom/cloudify/blueprint-controllers.js"></script>
+ <script src="app/oom/cloudify/deployment-controllers.js"></script>
+ <script src="app/oom/cloudify/execution-table-controller.js"></script>
<!-- Consul -->
- <script src="app/ecdapp/consul/service-health-service.js"></script>
- <script src="app/ecdapp/consul/service-controllers.js"></script>
- <script src="app/ecdapp/consul/node-table-controller.js"></script>
- <script src="app/ecdapp/consul/node-health-service.js"></script>
- <script src="app/ecdapp/consul/node-services-controller.js"></script>
- <script src="app/ecdapp/consul/datacenter-table-controller.js"></script>
- <script src="app/ecdapp/consul/datacenter-health-service.js"></script>
+ <script src="app/oom/consul/service-health-service.js"></script>
+ <script src="app/oom/consul/service-controllers.js"></script>
+ <script src="app/oom/consul/node-table-controller.js"></script>
+ <script src="app/oom/consul/node-health-service.js"></script>
+ <script src="app/oom/consul/node-services-controller.js"></script>
+ <script src="app/oom/consul/datacenter-table-controller.js"></script>
+ <script src="app/oom/consul/datacenter-health-service.js"></script>
<!-- user admin pages -->
<script src="app/fusion/scripts/DS2-services/adminService.js"></script>
<script src="app/fusion/scripts/DS2-controllers/fn-menu-add-popup-controller.js"></script>
<!-- main page -->
- <script src="app/ecdapp/home/ecd-router.js"></script>
+ <script src="app/oom/home/oom-router.js"></script>
<style>
.csep-root1{
</head>
<body class="appBody" ng-app="abs">
<!-- double quotation marks are required for the popup templates - values are string literals -->
- <div ng-include src="'app/ecdapp/home/ecd_popup_templates.html'"></div>
- <div ng-include src="'app/ecdapp/home/ecompc_instances_popup.html'"></div>
- <div ng-include src="'app/ecdapp/cloudify/blueprint_popups.html'"></div>
- <div ng-include src="'app/ecdapp/cloudify/deployment_popups.html'"></div>
- <div ng-include src="'app/ecdapp/consul/service_popups.html'"></div>
- <div ng-include src="'app/ecdapp/consul/node_popups.html'"></div>
+ <div ng-include src="'app/oom/home/oom_popup_templates.html'"></div>
+ <div ng-include src="'app/oom/home/oom_instances_popup.html'"></div>
+ <div ng-include src="'app/oom/cloudify/blueprint_popups.html'"></div>
+ <div ng-include src="'app/oom/cloudify/deployment_popups.html'"></div>
+ <div ng-include src="'app/oom/consul/service_popups.html'"></div>
+ <div ng-include src="'app/oom/consul/node_popups.html'"></div>
<div ds2-header id="header" class="header-container"></div>
<div ds2-menu id="menu-container" class="menu-container"></div>
<div ng-view id="rightContentProfile" class="content-container"></div>
"type='button' data-toggle='dropdown'>"+
"</button>"+
"</div></div></br>"+
- "<div style='padding-top:25px'><img src='app/ecdapp/images/ecomp-login-550x360.jpg' width='180' height='100'></div>"+
+ "<div style='padding-top:25px'><img src='app/oom/images/ecomp-login-550x360.jpg' width='180' height='100'></div>"+
"<div class='expandBtn'><span id='exp_"+root.id+"'><i class='icon-controls-add-maximize'></i></span></div><ul>");
} else {
itemHtml = "<li class='child'>"+
"</div>"+
"</span>"+
"</span></div></br>"+
- "<div style='padding-top:35px'><img src='app/ecdapp/images/ecomp.png' width='180' height='100'></div></li>";
+ "<div style='padding-top:35px'><img src='app/oom/images/ecomp.png' width='180' height='100'></div></li>";
items.push(itemHtml);
}
} // End the generate html code
<!-- Included bootstrap files at a page level to avoid issues with DS2 library -->
-<script src="app/ecdapp/external/bootstrap.min.js"></script>
-<link rel="stylesheet" href="app/ecdapp/external/bootstrap.min.css"/>
+<script src="app/oom/external/bootstrap.min.js"></script>
+<link rel="stylesheet" href="app/oom/external/bootstrap.min.css"/>
<div id="page-content">
<modelVersion>4.0.0</modelVersion>
<!-- Maven parent project for convenience of building and cleaning -->
- <groupId>org.openecomp.controller.dashboard</groupId>
- <artifactId>ecd-app-parent</artifactId>
+ <groupId>org.onap.oom.dashboard</groupId>
+ <artifactId>oom-app-parent</artifactId>
<version>0</version>
<packaging>pom</packaging>
<name>ONAP Operations Manager Dashboard project</name>
<modules>
- <module>ecd-app-common</module>
- <module>ecd-app-overlay</module>
- <module>ecd-app-os</module>
+ <module>oom-app-common</module>
+ <module>oom-app-overlay</module>
+ <module>oom-app-os</module>
</modules>
<build>