Name should be Control Panel, not Controlpanel.
Change-Id: Icbb222cb0136ce9dff9efaf97d396e5673e323e0
Issue-ID: NONRTRIC-166
Signed-off-by: elinuxhenrik <henrik.b.andersson@est.tech>
-# O-RAN-SC NonRT RIC Controlpanel Web Application
+# O-RAN-SC NonRT RIC Control Panel Web Application
-The O-RAN Non-RT RIC Controlpanel provides administrative and operator functions for a Near-RT RIC through the A1 API.
+The O-RAN Non-RT RIC Control Panel provides administrative and operator functions for a Near-RT RIC through the A1 API.
This web app consists of an Angular (version 8) front end
and a Java (version 11) Spring-Boot (version 2.1) back end.
Developer Guide
===============
-This document provides a quickstart for developers of the Non-RT RIC Controlpanel.
+This document provides a quickstart for developers of the Non-RT RIC Control Panel.
-The Non-RT RIC Controlpanel is an interface that allows human users to create, edit and delete policy instances, for
+The Non-RT RIC Control Panel is an interface that allows human users to create, edit and delete policy instances, for
each existing policy type. The policy types and their definitions are retrieved from each Near-RT RIC.
See the README.md file in the nonrtric-controlpanel repo for info about how to use it.
-Start the Controlpanel for development
-======================================
+Start the Control Panel for development
+=======================================
-To run the control panel locally for development with simulated services, follow these steps:
+To run the Control Panel locally for development with simulated services, follow these steps:
- Fetch the latest code from `gerrit`_
mvn clean install
- mvn -Dorg.oransc.portal.nonrtric.controlpanel=mock -Dtest=ControlpanelTestServer -DfailIfNoTests=false test
+ mvn -Dorg.oransc.portal.nonrtric.controlpanel=mock -Dtest=ControlPanelTestServer -DfailIfNoTests=false test
- Now you can open URL: `localhost:8080`_ in a browser to access the backend directly.
./ng serve --proxy-config proxy.conf.json
-- Now you can open URL: `localhost:4200`_ in a browser to access the Controlpanel.
+- Now you can open URL: `localhost:4200`_ in a browser to access the Control Panel.
.. _localhost:4200: localhost:4200
.. SPDX-License-Identifier: CC-BY-4.0
-Non-RT RIC Controlpanel
-=======================
-
-.. Add or remove sections below as appropriate for the platform component.
+Non-RT RIC Control Panel
+========================
.. toctree::
:maxdepth: 2
Abstract
--------
-This document describes how to install the Non-RT RIC Controlpanel, its dependencies and required system resources.
+This document describes how to install the Non-RT RIC Control Panel, its dependencies and required system resources.
-This work is in progress. For now, it is possible to use the Non-RT RIC Controlpanel.
+This work is in progress. For now, it is possible to use the Non-RT RIC Control Panel.
Version history
.. SPDX-License-Identifier: CC-BY-4.0
-Controlpanel Overview
-=====================
+Control Panel Overview
+======================
-The Non-RT RIC Controlpanel is a graphical user user interface that enables the user to manage the Policies in the
-network. The Controlpanel interacts with the Policy agent via a REST API.
-The Controlpanel generates its GUI from JSON schemas in a model driven fashion.
+The Non-RT RIC Control Panel is a graphical user user interface that enables the user to manage the Policies in the
+network. The Control Panel interacts with the Policy agent via a REST API.
+The Control Panel generates its GUI from JSON schemas in a model driven fashion.
-The Controlpanel consists of a back end implemented as a Java Spring Boot application and a fronted developed using the
+The Control Panel consists of a back end implemented as a Java Spring Boot application and a fronted developed using the
Angular framework.
-Controlpanel architecture
--------------------------
+Control Panel architecture
+--------------------------
-The architecture of the Controlpanel is as shown on the following picture:
+The architecture of the Control Panel is as shown on the following picture:
.. image:: ./images/architecture.png
:scale: 50 %
-The Controlpanel itself is split into the backend and the frontend, and can be deployed following the instructions in
+The Control Panel itself is split into the backend and the frontend, and can be deployed following the instructions in
the README.md file in the repo.
\ No newline at end of file
=============
-This document provides the release notes for the release of the Non-RT RIC Controlpanel.
+This document provides the release notes for the release of the Non-RT RIC Control Panel.
.. contents::
:depth: 3
Bronze
------
+--------------------------------------+--------------------------------------------------+
-| **Project** | Non-RT RIC Controlpanel |
+| **Project** | Non-RT RIC Control Panel |
| | |
+--------------------------------------+--------------------------------------------------+
| **Repo/commit-ID** | |
| **Release date** | |
| | |
+--------------------------------------+--------------------------------------------------+
-| **Purpose of the delivery** | Introducing Non-RT RIC Controlpanel |
+| **Purpose of the delivery** | Introducing Non-RT RIC Control Panel |
| | |
+--------------------------------------+--------------------------------------------------+
</parent>
<groupId>org.o-ran-sc.portal.nonrtric.controlpanel</groupId>
<artifactId>nonrtric-controlpanel-parent</artifactId>
- <name>Non-RT RIC Controlpanel project</name>
+ <name>Non-RT RIC Control Panel project</name>
<packaging>pom</packaging>
<version>1.0.0-SNAPSHOT</version>
<properties>
-# Non-RT RIC Controlpanel Web Application Backend
+# Non-RT RIC Control Panel Web Application Backend
-The Non-RT RIC Controlpanel back-end provides REST services to the Controlpanel
+The Non-RT RIC Control Panel back-end provides REST services to the Control Panel
front-end Typescript features running in the user's browser. For
production use, it also serves the Angular application files.
# limitations under the License.
# ========================LICENSE_END===================================
-# Template for the file that provides a secret key for the Non-RT RIC Controlpanel.
+# Template for the file that provides a secret key for the Non-RT RIC Control Panel.
cipher.enc.key =
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>nonrtric-controlpanel-be</artifactId>
- <name>Non-RT RIC Controlpanel Webapp backend</name>
+ <name>Non-RT RIC Control Panel Webapp backend</name>
<properties>
<epsdk-fw.version>2.6.0</epsdk-fw.version>
<springfox.version>2.9.2</springfox.version>
<arg>-Xmx256m</arg>
<arg>-cp</arg>
<arg>maven:maven/${project.artifactId}-${project.version}.${project.packaging}</arg>
- <arg>-Dloader.main=org.oransc.portal.nonrtric.controlpanel.ControlpanelApplication</arg>
+ <arg>-Dloader.main=org.oransc.portal.nonrtric.controlpanel.ControlPanelApplication</arg>
<arg>-Djava.security.egd=file:/dev/./urandom</arg>
<arg>org.springframework.boot.loader.PropertiesLauncher</arg>
</exec>
@SpringBootApplication
// Limit scan to controlpanel classes; exclude generated API classes
@ComponentScan("org.oransc.portal.nonrtric.controlpanel")
-public class ControlpanelApplication {
+public class ControlPanelApplication {
private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
public static void main(String[] args) {
- SpringApplication.run(ControlpanelApplication.class);
+ SpringApplication.run(ControlPanelApplication.class);
// Ensure this appears on the console by using level WARN
logger.warn("main: version '{}' successful start",
getImplementationVersion(MethodHandles.lookup().lookupClass()));
*/
package org.oransc.portal.nonrtric.controlpanel;
-public abstract class ControlpanelConstants {
+public abstract class ControlPanelConstants {
- private ControlpanelConstants() {
+ private ControlPanelConstants() {
// Sonar insists on hiding the constructor
}
*
* This first implementation serializes user details to a file.
*/
-public class ControlpanelUserManager {
+public class ControlPanelUserManager {
private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
* @throws IOException
* On file error
*/
- public ControlpanelUserManager(boolean clear) throws IOException {
+ public ControlPanelUserManager(boolean clear) throws IOException {
this(USER_FILE_PATH);
if (clear) {
logger.debug("ctor: removing file {}", userFile.getAbsolutePath());
- File f = new File(ControlpanelUserManager.USER_FILE_PATH);
+ File f = new File(ControlPanelUserManager.USER_FILE_PATH);
if (f.exists())
Files.delete(f.toPath());
users.clear();
* @throws IOException
* If file cannot be read
*/
- public ControlpanelUserManager(final String userFilePath) throws IOException {
+ public ControlPanelUserManager(final String userFilePath) throws IOException {
logger.debug("ctor: userfile {}", userFilePath);
if (userFilePath == null)
throw new IllegalArgumentException("Missing or empty user file property");
// Test infrastructure
public static void main(String[] args) throws Exception {
- ControlpanelUserManager dum = new ControlpanelUserManager(false);
+ ControlPanelUserManager dum = new ControlPanelUserManager(false);
EcompUser user = new EcompUser();
user.setActive(true);
user.setLoginId("demo");
user.setLastName("Last");
EcompRole role = new EcompRole();
role.setId(1L);
- role.setName(ControlpanelConstants.ROLE_NAME_ADMIN);
+ role.setName(ControlPanelConstants.ROLE_NAME_ADMIN);
Set<EcompRole> roles = new HashSet<>();
roles.add(role);
user.setRoles(roles);
import java.io.IOException;
import java.lang.invoke.MethodHandles;
-import org.oransc.portal.nonrtric.controlpanel.ControlpanelUserManager;
+import org.oransc.portal.nonrtric.controlpanel.ControlPanelUserManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@Bean
// The bean (method) name must be globally unique
- public ControlpanelUserManager userManager() throws IOException {
- return new ControlpanelUserManager(userfile);
+ public ControlPanelUserManager userManager() throws IOException {
+ return new ControlPanelUserManager(userfile);
}
}
package org.oransc.portal.nonrtric.controlpanel.config;
-import org.oransc.portal.nonrtric.controlpanel.ControlpanelApplication;
+import org.oransc.portal.nonrtric.controlpanel.ControlPanelApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2).select() //
- .apis(RequestHandlerSelectors.basePackage(ControlpanelApplication.class.getPackage().getName())) //
+ .apis(RequestHandlerSelectors.basePackage(ControlPanelApplication.class.getPackage().getName())) //
.paths(PathSelectors.any()) //
.build() //
.apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
- final String version = ControlpanelApplication.class.getPackage().getImplementationVersion();
+ final String version = ControlPanelApplication.class.getPackage().getImplementationVersion();
return new ApiInfoBuilder() //
- .title("Non-RT RIC Controlpanel backend") //
+ .title("Non-RT RIC Control Panel backend") //
.description("Proxies access to Near-RT RIC.")//
.termsOfServiceUrl("Terms of service") //
- .contact(new Contact("Non-RT RIC Controlpanel Dev Team", //
+ .contact(new Contact("Non-RT RIC Control Panel Dev Team", //
"http://no-docs-yet.org/", //
"noreply@O-RAN-SC.org")) //
.license("Apache 2.0 License").licenseUrl("http://www.apache.org/licenses/LICENSE-2.0") //
import java.lang.reflect.InvocationTargetException;
import org.onap.portalsdk.core.onboarding.util.PortalApiConstants;
-import org.oransc.portal.nonrtric.controlpanel.ControlpanelUserManager;
+import org.oransc.portal.nonrtric.controlpanel.ControlPanelUserManager;
import org.oransc.portal.nonrtric.controlpanel.controller.PolicyController;
import org.oransc.portal.nonrtric.controlpanel.controller.SimpleErrorController;
import org.oransc.portal.nonrtric.controlpanel.portalapi.PortalAuthManager;
private String userCookie;
@Autowired
- ControlpanelUserManager userManager;
+ ControlPanelUserManager userManager;
@Override
protected void configure(HttpSecurity http) throws Exception {
import java.lang.invoke.MethodHandles;
import javax.servlet.http.HttpServletResponse;
-import org.oransc.portal.nonrtric.controlpanel.ControlpanelConstants;
+import org.oransc.portal.nonrtric.controlpanel.ControlPanelConstants;
import org.oransc.portal.nonrtric.controlpanel.policyagentapi.PolicyAgentApi;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
// Publish paths in constants so tests are easy to write
- public static final String CONTROLLER_PATH = ControlpanelConstants.ENDPOINT_PREFIX + "/policy";
+ public static final String CONTROLLER_PATH = ControlPanelConstants.ENDPOINT_PREFIX + "/policy";
// Endpoints
- public static final String VERSION_METHOD = ControlpanelConstants.VERSION_METHOD;
+ public static final String VERSION_METHOD = ControlPanelConstants.VERSION_METHOD;
public static final String POLICY_TYPES_METHOD = "policytypes";
public static final String POLICY_TYPE_ID_NAME = "policy_type_id";
public static final String POLICIES_NAME = "policies";
*/
@ApiOperation(value = "Gets the policy types from Near Realtime-RIC")
@GetMapping(POLICY_TYPES_METHOD)
- @Secured({ControlpanelConstants.ROLE_ADMIN, ControlpanelConstants.ROLE_STANDARD})
+ @Secured({ControlPanelConstants.ROLE_ADMIN, ControlPanelConstants.ROLE_STANDARD})
public ResponseEntity<String> getAllPolicyTypes(HttpServletResponse response) {
logger.debug("getAllPolicyTypes");
return this.policyAgentApi.getAllPolicyTypes();
@ApiOperation(value = "Returns the policy instances for the given policy type.")
@GetMapping(POLICY_TYPES_METHOD + "/{" + POLICY_TYPE_ID_NAME + "}/" + POLICIES_NAME)
- @Secured({ControlpanelConstants.ROLE_ADMIN, ControlpanelConstants.ROLE_STANDARD})
+ @Secured({ControlPanelConstants.ROLE_ADMIN, ControlPanelConstants.ROLE_STANDARD})
public ResponseEntity<String> getPolicyInstances(@PathVariable(POLICY_TYPE_ID_NAME) String policyTypeIdString) {
logger.debug("getPolicyInstances {}", policyTypeIdString);
return this.policyAgentApi.getPolicyInstancesForType(policyTypeIdString);
@ApiOperation(value = "Returns a policy instance of a type")
@GetMapping(POLICY_TYPES_METHOD + "/{" + POLICY_TYPE_ID_NAME + "}/" + POLICIES_NAME + "/{" + POLICY_INSTANCE_ID_NAME
+ "}")
- @Secured({ControlpanelConstants.ROLE_ADMIN, ControlpanelConstants.ROLE_STANDARD})
+ @Secured({ControlPanelConstants.ROLE_ADMIN, ControlPanelConstants.ROLE_STANDARD})
public ResponseEntity<Object> getPolicyInstance(@PathVariable(POLICY_TYPE_ID_NAME) String policyTypeIdString,
@PathVariable(POLICY_INSTANCE_ID_NAME) String policyInstanceId) {
logger.debug("getPolicyInstance {}:{}", policyTypeIdString, policyInstanceId);
@ApiOperation(value = "Creates the policy instances for the given policy type.")
@PutMapping(POLICY_TYPES_METHOD + "/{" + POLICY_TYPE_ID_NAME + "}/" + POLICIES_NAME + "/{" + POLICY_INSTANCE_ID_NAME
+ "}")
- @Secured({ControlpanelConstants.ROLE_ADMIN})
+ @Secured({ControlPanelConstants.ROLE_ADMIN})
public ResponseEntity<String> putPolicyInstance(@PathVariable(POLICY_TYPE_ID_NAME) String policyTypeIdString,
@RequestParam(name = "ric", required = true) String ric,
@PathVariable(POLICY_INSTANCE_ID_NAME) String policyInstanceId, @RequestBody String instance) {
@ApiOperation(value = "Deletes the policy instances for the given policy type.")
@DeleteMapping(POLICY_TYPES_METHOD + "/{" + POLICY_TYPE_ID_NAME + "}/" + POLICIES_NAME + "/{"
+ POLICY_INSTANCE_ID_NAME + "}")
- @Secured({ControlpanelConstants.ROLE_ADMIN})
+ @Secured({ControlPanelConstants.ROLE_ADMIN})
public ResponseEntity<String> deletePolicyInstance(@PathVariable(POLICY_TYPE_ID_NAME) String policyTypeIdString,
@PathVariable(POLICY_INSTANCE_ID_NAME) String policyInstanceId) {
logger.debug("deletePolicyInstance typeId: {}, instanceId: {}", policyTypeIdString, policyInstanceId);
@ApiOperation(value = "Returns the rics supporting the given policy type.")
@GetMapping("/rics")
- @Secured({ControlpanelConstants.ROLE_ADMIN, ControlpanelConstants.ROLE_STANDARD})
+ @Secured({ControlPanelConstants.ROLE_ADMIN, ControlPanelConstants.ROLE_STANDARD})
public ResponseEntity<String> getRicsSupportingType(
@RequestParam(name = "policyType", required = true) String supportingPolicyType) {
logger.debug("getRicsSupportingType {}", supportingPolicyType);
* This mimics the model Spring-Boot uses for a message returned on failure, to
* be serialized as JSON.
*/
-public class ErrorTransport implements IControlpanelResponse {
+public class ErrorTransport implements IControlPanelResponse {
private Instant timestamp;
private Integer status;
/**
* Marker interface used by all transport models.
*/
-public interface IControlpanelResponse {
+public interface IControlPanelResponse {
}
*/
package org.oransc.portal.nonrtric.controlpanel.model;
-public class SuccessTransport implements IControlpanelResponse {
+public class SuccessTransport implements IControlPanelResponse {
private int status;
private Object data;
import org.onap.portalsdk.core.onboarding.util.PortalApiProperties;
import org.onap.portalsdk.core.restful.domain.EcompRole;
import org.onap.portalsdk.core.restful.domain.EcompUser;
-import org.oransc.portal.nonrtric.controlpanel.ControlpanelConstants;
-import org.oransc.portal.nonrtric.controlpanel.ControlpanelUserManager;
+import org.oransc.portal.nonrtric.controlpanel.ControlPanelConstants;
+import org.oransc.portal.nonrtric.controlpanel.ControlPanelUserManager;
import org.oransc.portal.nonrtric.controlpanel.model.EcompUserDetails;
import org.owasp.esapi.reference.DefaultSecurityConfiguration;
import org.slf4j.Logger;
private final boolean enforcePortalSecurity;
private final PortalAuthManager authManager;
- private final ControlpanelUserManager userManager;
+ private final ControlPanelUserManager userManager;
public PortalAuthenticationFilter(boolean portalSecurity, PortalAuthManager authManager,
- ControlpanelUserManager userManager) throws IOException {
+ ControlPanelUserManager userManager) throws IOException {
this.enforcePortalSecurity = portalSecurity;
this.authManager = authManager;
this.userManager = userManager;
}
EcompRole admin = new EcompRole();
admin.setId(1L);
- admin.setName(ControlpanelConstants.ROLE_ADMIN);
+ admin.setName(ControlPanelConstants.ROLE_ADMIN);
HashSet<EcompRole> roles = new HashSet<>();
roles.add(admin);
EcompUser user = new EcompUser();
System.getProperty("line.separator"), //
"<html>", //
"<head>", //
- "<title>Non-RT RIC Controlpanel</title>", //
+ "<title>Non-RT RIC Control Panel</title>", //
"<style>", //
"html, body { ", //
" font-family: Helvetica, Arial, sans-serif;", //
"</style>", //
"</head>", //
"<body>", //
- "<h2>Non-RT RIC Controlpanel</h2>", //
+ "<h2>Non-RT RIC Control Panel</h2>", //
"<h4>Please log in.</h4>", //
"<p>", //
aHref, "Click here to authenticate at the ONAP Portal</a>", //
import org.onap.portalsdk.core.onboarding.crossapi.IPortalRestCentralService;
import org.onap.portalsdk.core.onboarding.exception.PortalAPIException;
import org.onap.portalsdk.core.restful.domain.EcompUser;
-import org.oransc.portal.nonrtric.controlpanel.ControlpanelUserManager;
+import org.oransc.portal.nonrtric.controlpanel.ControlPanelUserManager;
import org.oransc.portal.nonrtric.controlpanel.config.SpringContextCache;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Autowired
private SpringContextCache springContextCache;
private final PortalAuthManager authManager;
- private final ControlpanelUserManager userManager;
+ private final ControlPanelUserManager userManager;
public PortalRestCentralServiceImpl() throws IOException, PortalAPIException {
final ApplicationContext context = springContextCache.getApplicationContext();
authManager = context.getBean(PortalAuthManager.class);
- userManager = context.getBean(ControlpanelUserManager.class);
+ userManager = context.getBean(ControlPanelUserManager.class);
}
/*
# limitations under the License.
# ========================LICENSE_END===================================
-# Defines Non-RT RIC Controlpanel property keys and default values.
+# Defines Non-RT RIC Control Panel property keys and default values.
# Create a copy in the launch directory to override values; or
# copy to "application-abc.properties" as mentioned in the README.
portalapi.usercookie = UserId
# portal credentials must be supplied at deployment time
-portalapi.appname = Non-RT RIC Controlpanel
+portalapi.appname = Non-RT RIC Control Panel
portalapi.username =
portalapi.password =
</style>
</head>
<body>
-<h2>Non-RT RIC Controlpanel Error</h2>
+<h2>Non-RT RIC Control Panel Error</h2>
<h4>The previous request could not be processed.</h4>
<a href="/">Click here to reload the application</a>
</body>
*/
@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = WebEnvironment.DEFINED_PORT)
-public class ControlpanelTestServer {
+public class ControlPanelTestServer {
private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
import org.onap.portalsdk.core.onboarding.exception.PortalAPIException;
import org.onap.portalsdk.core.restful.domain.EcompRole;
import org.onap.portalsdk.core.restful.domain.EcompUser;
-import org.oransc.portal.nonrtric.controlpanel.ControlpanelConstants;
-import org.oransc.portal.nonrtric.controlpanel.ControlpanelUserManager;
+import org.oransc.portal.nonrtric.controlpanel.ControlPanelConstants;
+import org.oransc.portal.nonrtric.controlpanel.ControlPanelUserManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.ActiveProfiles;
@ActiveProfiles("test")
-public class ControlpanelUserManagerTest {
+public class ControlPanelUserManagerTest {
private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
user.setLastName("Last");
EcompRole role = new EcompRole();
role.setId(1L);
- role.setName(ControlpanelConstants.ROLE_NAME_ADMIN);
+ role.setName(ControlPanelConstants.ROLE_NAME_ADMIN);
Set<EcompRole> roles = new HashSet<>();
roles.add(role);
user.setRoles(roles);
@Test
public void testUserMgr() throws Exception {
final String loginId = "demo";
- ControlpanelUserManager dum = new ControlpanelUserManager(true);
+ ControlPanelUserManager dum = new ControlPanelUserManager(true);
EcompUser user = createEcompUser(loginId);
dum.createUser(user);
logger.info("Created user {}", user);
package org.oransc.portal.nonrtric.controlpanel.config;
import java.lang.invoke.MethodHandles;
-import org.oransc.portal.nonrtric.controlpanel.ControlpanelConstants;
+import org.oransc.portal.nonrtric.controlpanel.ControlPanelConstants;
import org.oransc.portal.nonrtric.controlpanel.config.WebSecurityConfiguration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
// The admin user has the admin AND standard roles
.withUser(TEST_CRED_ADMIN) //
.password(encoder.encode(TEST_CRED_ADMIN))
- .roles(ControlpanelConstants.ROLE_NAME_ADMIN, ControlpanelConstants.ROLE_NAME_STANDARD)//
+ .roles(ControlPanelConstants.ROLE_NAME_ADMIN, ControlPanelConstants.ROLE_NAME_STANDARD)//
.and()//
// The standard user has only the standard role
.withUser(TEST_CRED_STANDARD) //
.password(encoder.encode(TEST_CRED_STANDARD)) //
- .roles(ControlpanelConstants.ROLE_NAME_STANDARD);
+ .roles(ControlPanelConstants.ROLE_NAME_STANDARD);
}
@Override
* EcompRole role = new EcompRole();
* role.setRoleFunctions(Collections.EMPTY_SET);
* role.setId(1L);
- * role.setName(ControlpanelConstants.ROLE_NAME_ADMIN);
+ * role.setName(ControlPanelConstants.ROLE_NAME_ADMIN);
* Set<EcompRole> roles = new HashSet<>();
* roles.add(role);
* user.setRoles(roles);
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.onap.portalsdk.core.onboarding.util.PortalApiConstants;
-import org.oransc.portal.nonrtric.controlpanel.ControlpanelUserManager;
+import org.oransc.portal.nonrtric.controlpanel.ControlPanelUserManager;
import org.oransc.portal.nonrtric.controlpanel.portalapi.PortalAuthManager;
import org.oransc.portal.nonrtric.controlpanel.portalapi.PortalAuthenticationFilter;
import org.slf4j.Logger;
logger.debug("validateEcompSso answers {}", s);
Assert.assertNull(s);
- ControlpanelUserManager dum = new ControlpanelUserManager(true);
+ ControlPanelUserManager dum = new ControlPanelUserManager(true);
PortalAuthenticationFilter filter = new PortalAuthenticationFilter(false, m, dum);
filter.init(null);
filter.destroy();
-# Non-RT RIC Controlpanel Web Application Frontend
+# Non-RT RIC Control Panel Web Application Frontend
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.2.3.
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>nonrtric-controlpanel-fe</artifactId>
- <name>Non-RT RIC Controlpanel Webapp frontend</name>
+ <name>Non-RT RIC Control Panel Webapp frontend</name>
<build>
<plugins>
<plugin>
class="hamburger__icon__fill" data-name="Rectangle 11" rx="2" transform="translate(31.5 30)" />
</svg>
<img src="../../assets/oran-logo.png" width="180%" height="100%" style="position: relative; z-index: 50" />
- <svg class="logo__icon" viewBox="150.3 22.2 400 50">
+ <svg class="logo__icon" viewBox="150.3 22.2 450 50">
<text [ngClass]="{'logo__text-dark': darkMode}" class="logo__text" fill="#432c85" font-size="30"
font-weight="600" letter-spacing=".1em" transform="translate(149 56)">
- <tspan x="0" y="0">Non-RT RIC Controlpanel</tspan>
+ <tspan x="0" y="0">Non-RT RIC Control Panel</tspan>
</text>
</svg>
class="hamburger__icon__fill" data-name="Rectangle 11" rx="2" transform="translate(31.5 30)" />
</svg>
<img src="../../assets/oran-logo.png" width="180%" height="100%" style="position: relative; z-index: 50" />
- <svg class="logo__icon" viewBox="150.3 22.2 400 50">
+ <svg class="logo__icon" viewBox="150.3 22.2 450 50">
<text [ngClass]="{'logo__text-dark': darkMode}" class="logo__text" fill="#432c85" font-size="30"
font-weight="600" letter-spacing=".1em" transform="translate(149 56)">
- <tspan x="0" y="0">Non-RT RIC Controlpanel</tspan>
+ <tspan x="0" y="0">Non-RT RIC Control Panel</tspan>
</text>
</svg>
.mode-toggle__bg {
height: 1rem;
- width: 2rem;
+ width: 2.7rem;
border-radius: 0.5rem;
background-color: rgba(0, 0, 0, 0.5);
display: inline-block;
* ========================LICENSE_END===================================
*/
-// Models of data used by Controlpanel admin services
+// Models of data used by Control Panel admin services
export interface ControlpanelSuccessTransport {
status: number;
import { Observable } from 'rxjs';
/**
-* Services for calling the Controlpanel caas-ingress endpoints to get Kubernetes details.
+* Services for calling the Control Panel caas-ingress endpoints to get Kubernetes details.
*/
@Injectable({
providedIn: 'root'
})
/**
- * Services to query the Controlpanel's admin endpoints.
+ * Services to query the Control Panel's admin endpoints.
*/
export class ControlpanelService {
}
/**
- * Gets Controlpanel version details
+ * Gets Control Panel version details
* @returns Observable that should yield a ControlpanelSuccessTransport object
*/
getVersion(): Observable<ControlpanelSuccessTransport> {
}
/**
- * Gets Controlpanel users
+ * Gets Control Panel users
* @returns Observable that should yield a EcompUser array
*/
getUsers(): Observable<EcompUser[]> {
<html lang="en">
<head>
<meta charset="utf-8">
- <title>Non-RT RIC Controlpanel</title>
+ <title>Non-RT RIC Control Panel</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="assets/oran-logo.png">