Enhancing BluePrintJinjaTemplateService

* Using CustomJinjavaInterpreter to override getAsString API, and returning context.currentNode.master.image instead of empty string
* Earlier rendered result was not keeping unresolved variable rather replacing with empty string, and above helps keeping those.
* Upgrading jinja.version to 2.7.0 from 2.5.1 and adding related Junit Test

Issue-ID: CCSDK-3895
Signed-off-by: Singal, Kapil (ks220y) <ks220y@att.com>
Change-Id: I00da64811883957f44f819a44405e073ed7a7755
7 files changed
tree: 980a42b431ce7a193b757a9f0d744b15b2f470c2
  1. cds-ui/
  2. components/
  3. docs/
  4. ms/
  5. py-modules/
  6. releases/
  7. .editorconfig
  8. .gitignore
  9. .gitreview
  10. .readthedocs.yaml
  11. INFO.yaml
  12. ONAP-Java-Code-Style.xml
  13. pom.xml
  14. README.md
  15. TagVersion.groovy
  16. version.properties
README.md

Controller Design Studio (CDS)

Basic Architecture

Basic_Architecture

Basic Requirements

Before you can build this project, you must install and configure the following dependencies on your machine:

  1. Java 11 SDK
  2. Maven 3.6.X
  3. MySQL Database
  4. Node and npm installed
  5. Angular CLI & Angular v8

Running in Development Mode

Run mvn clean install command to install all libraries and dependencies for the maven and npm. Run mvn clean install -Pdocker command to install all libraries and create below docker images.

  • ccsdk-blueprintsprocessor
  • ccsdk-commandexecutor
  • ccsdk-py-executor
  • ccsdk-sdclistener
  • ccsdk-cds-ui-server
  • ccsdk-cds-ui

Note: Run mvn clean install -Pdocker -Ddocker.skip.push=true to build but skip pushing docker image.

  1. Back-end MS

    Create sdnctl table in MySQL
    (Optional) You could run the project in a specific profile(dev, local) by adding -Dspring.profiles.active=profile-name

  2. Loop-back server:

    That allow your request to reach the backend from cds-ui
    Move to ./cds-ui/server/ folder and run the command npm start

  3. cds-ui

    Move to ./cds-ui/designer-client/ folder and run the command npm start
    This command will make sure all the files follow the linting rules and then connect to the loopback server.

Using an IDE

Front-end: you could use vscode or webstorm
Back-end: IntelliJ with kotlin plugin or any other editor


For more information check: CDS Docs

Format code with ktlint checkstyle tool use the following command

mvn process-sources -P format

Reference: ktlint docs | ktlint codebase