diff options
author | Dan Timoney <dtimoney@att.com> | 2020-06-04 15:10:06 -0400 |
---|---|---|
committer | Dan Timoney <dtimoney@att.com> | 2020-06-04 15:10:57 -0400 |
commit | 4ddd6ac987341285d5f10636018e84afb9751b27 (patch) | |
tree | 1c6151db660245af52709c3ad5dc8e877ce8acf4 | |
parent | 180d84761326fae9c222211d09b4f7496a40f974 (diff) |
Refactor sliapi springboot
Move springboot implementation of sliapi from sli/core to apps
repository.
Change-Id: I6e1dfdc39704935ba7e46d047149071defc101a6
Issue-ID: CCSDK-2096
Signed-off-by: Dan Timoney <dtimoney@att.com>
40 files changed, 890 insertions, 1930 deletions
diff --git a/sliapi/model/pom.xml b/sliapi/model/pom.xml index dfe7753a..4ac5a851 100755 --- a/sliapi/model/pom.xml +++ b/sliapi/model/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> - <artifactId>binding-parent</artifactId> + <artifactId>odlparent-lite</artifactId> <version>2.0.0-SNAPSHOT</version> <relativePath/> </parent> @@ -12,16 +12,13 @@ <groupId>org.onap.ccsdk.sli.core</groupId> <artifactId>sliapi-model</artifactId> <version>1.0.0-SNAPSHOT</version> - <packaging>bundle</packaging> + <packaging>pom</packaging> - <name>ccsdk-sli-core :: sliapi :: ${project.artifactId}</name> + <name>ccsdk-sli-core :: sliapi</name> - <dependencies> - <dependency> - <groupId>org.opendaylight.mdsal.binding.model.ietf</groupId> - <artifactId>rfc6991</artifactId> - </dependency> + <modules> + <module>yang</module> + <module>swagger</module> + </modules> - - </dependencies> </project> diff --git a/sliapi/model/swagger/pom.xml b/sliapi/model/swagger/pom.xml new file mode 100644 index 00000000..544f4f9e --- /dev/null +++ b/sliapi/model/swagger/pom.xml @@ -0,0 +1,222 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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> + + <parent> + <groupId>org.onap.ccsdk.parent</groupId> + <artifactId>oparent</artifactId> + <version>2.0.0-SNAPSHOT</version> + </parent> + + <groupId>org.onap.ccsdk.sli.core</groupId> + <artifactId>sliapi-model-swagger</artifactId> + <version>1.0.0-SNAPSHOT</version> + <packaging>jar</packaging> + + <name>ccsdk-sli-core :: sliapi :: ${project.artifactId}</name> + <description>Generates swagger model from yang model</description> + <url>http://wiki.onap.org</url> + + <properties> + <api.name>sliapi</api.name> + <jackson.version>2.9.5</jackson.version> + </properties> + + <dependencies> + <!-- This is where the yang comes from --> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>sliapi-model-yang</artifactId> + <version>${project.version}</version> + </dependency> + <!-- End this is where the yang comes from --> + </dependencies> + + <repositories> + <repository> + <id>>bintray-yang2swagger-yang2swagge</id> + <name>bintray</name> + <url>https://dl.bintray.com/yang2swagger/yang2swagger</url> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + </repositories> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <version>2.10</version> + <configuration> + <outputDirectory>${project.build.directory}/dependency</outputDirectory> + <includes>**\/*.yang</includes> + <includeGroupIds>org.opendaylight.mdsal.model,org.opendaylight.mdsal.binding.model.ietf,org.onap.ccsdk.sli.core</includeGroupIds> + </configuration> + <executions> + <execution> + <id>unpack-shared-resources</id> + <goals> + <goal>unpack-dependencies</goal> + </goals> + <phase>initialize</phase> + </execution> + </executions> + </plugin> + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <version>1.8</version> + <executions> + <execution> + <phase>initialize</phase> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + <configuration> + <tasks> + <!-- flatten out structure --> + <move todir="${project.build.directory}/dependency" failonerror="false"> + <fileset dir="${project.build.directory}/dependency"/> + <mapper type="flatten"/> + </move> + <!-- move to yang folder --> + <copy todir="${project.build.directory}/yang" failonerror="false"> + <fileset dir="${project.build.directory}/dependency" includes="**/*.yang"/> + <mapper type="flatten"/> + </copy> + </tasks> + </configuration> + </plugin> + <plugin> + <groupId>org.opendaylight.yangtools</groupId> + <artifactId>yang-maven-plugin</artifactId> + <version>1.2.3</version> + <dependencies> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-core</artifactId> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-annotations</artifactId> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.module</groupId> + <artifactId>jackson-module-jaxb-annotations</artifactId> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.jaxrs</groupId> + <artifactId>jackson-jaxrs-base</artifactId> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.jaxrs</groupId> + <artifactId>jackson-jaxrs-json-provider</artifactId> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>com.mrv.yangtools</groupId> + <artifactId>swagger-maven-plugin</artifactId> + <version>1.1.12</version> + </dependency> + <dependency> + <groupId>com.github.romix</groupId> + <artifactId>java-concurrent-hash-trie-map</artifactId> + <version>0.2.23</version> + </dependency> + </dependencies> + <executions> + <execution> + <id>yang2swagger-json</id> + <goals> + <goal>generate-sources</goal> + </goals> + <configuration> + <codeGenerators> + <generator> + <codeGeneratorClass>com.mrv.yangtools.maven.gen.swagger.MavenSwaggerGenerator</codeGeneratorClass> + <outputBaseDir>${project.basedir}/src/main/json</outputBaseDir> + <resourceBaseDir>${project.build.directory}/yang</resourceBaseDir> + <additionalConfiguration> + <api-version>${project.version}</api-version> + <base-module>${api.name}</base-module> + <swagger-format>json</swagger-format> + <path-format>odl</path-format> + <use-namespaces>true</use-namespaces> + </additionalConfiguration> + </generator> + </codeGenerators> + <inspectDependencies>false</inspectDependencies> + <yangFilesRootDir>${project.build.directory}/yang</yangFilesRootDir> + </configuration> + </execution> + <execution> + <id>yang2swagger-yaml</id> + <goals> + <goal>generate-sources</goal> + </goals> + <configuration> + <codeGenerators> + <generator> + <codeGeneratorClass>com.mrv.yangtools.maven.gen.swagger.MavenSwaggerGenerator</codeGeneratorClass> + <outputBaseDir>${project.basedir}/src/main/yaml</outputBaseDir> + <resourceBaseDir>${project.build.directory}/yang</resourceBaseDir> + <additionalConfiguration> + <api-version>${project.version}</api-version> + <base-module>${api.name}</base-module> + <swagger-format>yaml</swagger-format> + <path-format>odl</path-format> + <use-namespaces>true</use-namespaces> + </additionalConfiguration> + </generator> + </codeGenerators> + <inspectDependencies>false</inspectDependencies> + <yangFilesRootDir>${project.build.directory}/yang</yangFilesRootDir> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-source-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>1.10</version> + <executions> + <execution> + <id>attach-artifacts</id> + <phase>package</phase> + <goals> + <goal>attach-artifact</goal> + </goals> + <configuration> + <artifacts> + <artifact> + <file>src/main/json/${api.name}.json</file> + <type>json</type> + </artifact> + <artifact> + <file>src/main/yaml/${api.name}.yaml</file> + <type>yaml</type> + </artifact> + </artifacts> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> diff --git a/sliapi/model/swagger/src/main/json/sliapi.json b/sliapi/model/swagger/src/main/json/sliapi.json new file mode 100644 index 00000000..99a69861 --- /dev/null +++ b/sliapi/model/swagger/src/main/json/sliapi.json @@ -0,0 +1 @@ +{"swagger":"2.0","info":{"description":"Defines API to service logic interpreter,This module contains a collection of generally useful derived\nYANG data types.\n\nCopyright (c) 2013 IETF Trust and the persons identified as\nauthors of the code. All rights reserved.\n\nRedistribution and use in source and binary forms, with or\nwithout modification, is permitted pursuant to, and subject\nto the license terms contained in, the Simplified BSD License\nset forth in Section 4.c of the IETF Trust's Legal Provisions\nRelating to IETF Documents\n(http://trustee.ietf.org/license-info).\n\nThis version of this YANG module is part of RFC 6991; see\nthe RFC itself for full legal notices.,This module contains a collection of generally useful derived\nYANG data types for Internet addresses and related things.\n\nCopyright (c) 2013 IETF Trust and the persons identified as\nauthors of the code. All rights reserved.\n\nRedistribution and use in source and binary forms, with or\nwithout modification, is permitted pursuant to, and subject\nto the license terms contained in, the Simplified BSD License\nset forth in Section 4.c of the IETF Trust's Legal Provisions\nRelating to IETF Documents\n(http://trustee.ietf.org/license-info).\n\nThis version of this YANG module is part of RFC 6991; see\nthe RFC itself for full legal notices.","version":"1.0.0-SNAPSHOT","title":"SLI-API,ietf-yang-types,ietf-inet-types API"},"consumes":["application/json","application/xml"],"produces":["application/json","application/xml"],"paths":{"/config/SLI-API:test-results/":{"get":{"tags":["SLI-API"],"description":"returns sli.api.TestResults","parameters":[],"responses":{"400":{"description":"Internal error"},"200":{"description":"sli.api.TestResults","schema":{"$ref":"#/definitions/sli.api.TestResults","originalRef":"#/definitions/sli.api.TestResults"},"responseSchema":{"$ref":"#/definitions/sli.api.TestResults","originalRef":"#/definitions/sli.api.TestResults"}}}},"post":{"tags":["SLI-API"],"description":"creates sli.api.TestResults","parameters":[{"in":"body","name":"sli.api.TestResults.body-param","description":"sli.api.TestResults to be added to list","required":false,"schema":{"$ref":"#/definitions/sli.api.TestResults","originalRef":"#/definitions/sli.api.TestResults"}}],"responses":{"400":{"description":"Internal error"},"201":{"description":"Object created"},"409":{"description":"Object already exists"}}},"put":{"tags":["SLI-API"],"description":"creates or updates sli.api.TestResults","parameters":[{"in":"body","name":"sli.api.TestResults.body-param","description":"sli.api.TestResults to be added or updated","required":false,"schema":{"$ref":"#/definitions/sli.api.TestResults","originalRef":"#/definitions/sli.api.TestResults"}}],"responses":{"400":{"description":"Internal error"},"201":{"description":"Object created"},"204":{"description":"Object modified"}}},"delete":{"tags":["SLI-API"],"description":"removes sli.api.TestResults","parameters":[],"responses":{"400":{"description":"Internal error"},"204":{"description":"Object deleted"}}}},"/config/SLI-API:test-results/SLI-API:test-result/":{"post":{"description":"creates sli.api.testresults.TestResult","parameters":[{"in":"body","name":"sli.api.testresults.TestResult.body-param","description":"sli.api.testresults.TestResult to be added to list","required":false,"schema":{"$ref":"#/definitions/sli.api.testresults.TestResult","originalRef":"#/definitions/sli.api.testresults.TestResult"}}],"responses":{"400":{"description":"Internal error"},"201":{"description":"Object created"},"409":{"description":"Object already exists"}}}},"/config/SLI-API:test-results/SLI-API:test-result/{test-identifier}/":{"get":{"tags":["SLI-API"],"description":"returns sli.api.testresults.TestResult","parameters":[{"name":"test-identifier","in":"path","description":"Id of test-result","required":true,"type":"string"}],"responses":{"400":{"description":"Internal error"},"200":{"description":"sli.api.testresults.TestResult","schema":{"$ref":"#/definitions/sli.api.testresults.TestResult","originalRef":"#/definitions/sli.api.testresults.TestResult"},"responseSchema":{"$ref":"#/definitions/sli.api.testresults.TestResult","originalRef":"#/definitions/sli.api.testresults.TestResult"}}}},"post":{"tags":["SLI-API"],"description":"creates sli.api.testresults.TestResult","parameters":[{"name":"test-identifier","in":"path","description":"Id of test-result","required":true,"type":"string"},{"in":"body","name":"sli.api.testresults.TestResult.body-param","description":"sli.api.testresults.TestResult to be added to list","required":false,"schema":{"$ref":"#/definitions/sli.api.testresults.TestResult","originalRef":"#/definitions/sli.api.testresults.TestResult"}}],"responses":{"400":{"description":"Internal error"},"201":{"description":"Object created"},"409":{"description":"Object already exists"}}},"put":{"tags":["SLI-API"],"description":"creates or updates sli.api.testresults.TestResult","parameters":[{"name":"test-identifier","in":"path","description":"Id of test-result","required":true,"type":"string"},{"in":"body","name":"sli.api.testresults.TestResult.body-param","description":"sli.api.testresults.TestResult to be added or updated","required":false,"schema":{"$ref":"#/definitions/sli.api.testresults.TestResult","originalRef":"#/definitions/sli.api.testresults.TestResult"}}],"responses":{"400":{"description":"Internal error"},"201":{"description":"Object created"},"204":{"description":"Object modified"}}},"delete":{"tags":["SLI-API"],"description":"removes sli.api.testresults.TestResult","parameters":[{"name":"test-identifier","in":"path","description":"Id of test-result","required":true,"type":"string"}],"responses":{"400":{"description":"Internal error"},"204":{"description":"Object deleted"}}}},"/operational/SLI-API:test-results/":{"get":{"tags":["SLI-API"],"description":"returns sli.api.TestResults","parameters":[],"responses":{"400":{"description":"Internal error"},"200":{"description":"sli.api.TestResults","schema":{"$ref":"#/definitions/sli.api.TestResults","originalRef":"#/definitions/sli.api.TestResults"},"responseSchema":{"$ref":"#/definitions/sli.api.TestResults","originalRef":"#/definitions/sli.api.TestResults"}}}}},"/operational/SLI-API:test-results/SLI-API:test-result/{test-identifier}/":{"get":{"tags":["SLI-API"],"description":"returns sli.api.testresults.TestResult","parameters":[{"name":"test-identifier","in":"path","description":"Id of test-result","required":true,"type":"string"}],"responses":{"400":{"description":"Internal error"},"200":{"description":"sli.api.testresults.TestResult","schema":{"$ref":"#/definitions/sli.api.testresults.TestResult","originalRef":"#/definitions/sli.api.testresults.TestResult"},"responseSchema":{"$ref":"#/definitions/sli.api.testresults.TestResult","originalRef":"#/definitions/sli.api.testresults.TestResult"}}}}},"/operations/SLI-API:execute-graph/":{"post":{"tags":["SLI-API"],"parameters":[{"in":"body","name":"sli.api.executegraph.Input.body-param","required":false,"schema":{"properties":{"input":{"$ref":"#/definitions/sli.api.executegraph.Input","originalRef":"#/definitions/sli.api.executegraph.Input"}}}}],"responses":{"400":{"description":"Internal error"},"200":{"description":"Correct response","schema":{"$ref":"#/definitions/sli.api.ExecuteGraph","originalRef":"#/definitions/sli.api.ExecuteGraph"},"responseSchema":{"$ref":"#/definitions/sli.api.ExecuteGraph","originalRef":"#/definitions/sli.api.ExecuteGraph"}},"201":{"description":"No response"}}}},"/operations/SLI-API:healthcheck/":{"post":{"tags":["SLI-API"],"parameters":[],"responses":{"400":{"description":"Internal error"},"200":{"description":"Correct response","schema":{"$ref":"#/definitions/sli.api.Healthcheck","originalRef":"#/definitions/sli.api.Healthcheck"},"responseSchema":{"$ref":"#/definitions/sli.api.Healthcheck","originalRef":"#/definitions/sli.api.Healthcheck"}},"201":{"description":"No response"}}}},"/operations/SLI-API:vlbcheck/":{"post":{"tags":["SLI-API"],"parameters":[],"responses":{"400":{"description":"Internal error"},"200":{"description":"Correct response","schema":{"$ref":"#/definitions/sli.api.Vlbcheck","originalRef":"#/definitions/sli.api.Vlbcheck"},"responseSchema":{"$ref":"#/definitions/sli.api.Vlbcheck","originalRef":"#/definitions/sli.api.Vlbcheck"}},"201":{"description":"No response"}}}}},"definitions":{"sli.api.ExecuteGraph":{"type":"object","properties":{"output":{"$ref":"#/definitions/sli.api.ResponseFields","originalRef":"#/definitions/sli.api.ResponseFields"}}},"sli.api.Healthcheck":{"type":"object","properties":{"output":{"$ref":"#/definitions/sli.api.ResponseFields","originalRef":"#/definitions/sli.api.ResponseFields"}}},"sli.api.ModeEnumeration":{"type":"string","enum":["sync","async"]},"sli.api.ParameterSetting":{"type":"object","properties":{"string-value":{"type":"string"},"boolean-value":{"type":"boolean"},"parameter-name":{"type":"string","description":"Parameter name"},"int-value":{"type":"integer","format":"int32"}}},"sli.api.ResponseFields":{"type":"object","properties":{"response-code":{"type":"string"},"response-message":{"type":"string"},"context-memory-json":{"type":"string"},"ack-final-indicator":{"type":"string"}}},"sli.api.TestResults":{"type":"object","properties":{"test-result":{"type":"array","items":{"$ref":"#/definitions/sli.api.testresults.TestResult","originalRef":"#/definitions/sli.api.testresults.TestResult"}}}},"sli.api.Vlbcheck":{"type":"object","properties":{"output":{"$ref":"#/definitions/sli.api.ResponseFields","originalRef":"#/definitions/sli.api.ResponseFields"}}},"sli.api.executegraph.Input":{"type":"object","properties":{"mode":{"$ref":"#/definitions/sli.api.ModeEnumeration","originalRef":"#/definitions/sli.api.ModeEnumeration"},"module-name":{"type":"string"},"sli-parameter":{"type":"array","items":{"$ref":"#/definitions/sli.api.ParameterSetting","originalRef":"#/definitions/sli.api.ParameterSetting"}},"rpc-name":{"type":"string"}}},"sli.api.testresults.TestResult":{"type":"object","properties":{"results":{"type":"array","items":{"type":"string"}},"test-identifier":{"type":"string"}}}}}
\ No newline at end of file diff --git a/sliapi/model/swagger/src/main/yaml/sliapi.yaml b/sliapi/model/swagger/src/main/yaml/sliapi.yaml new file mode 100644 index 00000000..c8f2997e --- /dev/null +++ b/sliapi/model/swagger/src/main/yaml/sliapi.yaml @@ -0,0 +1,378 @@ +--- +swagger: "2.0" +info: + description: "Defines API to service logic interpreter,This module contains a collection\ + \ of generally useful derived\nYANG data types.\n\nCopyright (c) 2013 IETF Trust\ + \ and the persons identified as\nauthors of the code. All rights reserved.\n\n\ + Redistribution and use in source and binary forms, with or\nwithout modification,\ + \ is permitted pursuant to, and subject\nto the license terms contained in, the\ + \ Simplified BSD License\nset forth in Section 4.c of the IETF Trust's Legal Provisions\n\ + Relating to IETF Documents\n(http://trustee.ietf.org/license-info).\n\nThis version\ + \ of this YANG module is part of RFC 6991; see\nthe RFC itself for full legal\ + \ notices.,This module contains a collection of generally useful derived\nYANG\ + \ data types for Internet addresses and related things.\n\nCopyright (c) 2013\ + \ IETF Trust and the persons identified as\nauthors of the code. All rights reserved.\n\ + \nRedistribution and use in source and binary forms, with or\nwithout modification,\ + \ is permitted pursuant to, and subject\nto the license terms contained in, the\ + \ Simplified BSD License\nset forth in Section 4.c of the IETF Trust's Legal Provisions\n\ + Relating to IETF Documents\n(http://trustee.ietf.org/license-info).\n\nThis version\ + \ of this YANG module is part of RFC 6991; see\nthe RFC itself for full legal\ + \ notices." + version: "1.0.0-SNAPSHOT" + title: "SLI-API,ietf-yang-types,ietf-inet-types API" +consumes: +- "application/json" +- "application/xml" +produces: +- "application/json" +- "application/xml" +paths: + /config/SLI-API:test-results/: + get: + tags: + - "SLI-API" + description: "returns sli.api.TestResults" + parameters: [] + responses: + 400: + description: "Internal error" + 200: + description: "sli.api.TestResults" + schema: + $ref: "#/definitions/sli.api.TestResults" + originalRef: "#/definitions/sli.api.TestResults" + responseSchema: + $ref: "#/definitions/sli.api.TestResults" + originalRef: "#/definitions/sli.api.TestResults" + post: + tags: + - "SLI-API" + description: "creates sli.api.TestResults" + parameters: + - in: "body" + name: "sli.api.TestResults.body-param" + description: "sli.api.TestResults to be added to list" + required: false + schema: + $ref: "#/definitions/sli.api.TestResults" + originalRef: "#/definitions/sli.api.TestResults" + responses: + 400: + description: "Internal error" + 201: + description: "Object created" + 409: + description: "Object already exists" + put: + tags: + - "SLI-API" + description: "creates or updates sli.api.TestResults" + parameters: + - in: "body" + name: "sli.api.TestResults.body-param" + description: "sli.api.TestResults to be added or updated" + required: false + schema: + $ref: "#/definitions/sli.api.TestResults" + originalRef: "#/definitions/sli.api.TestResults" + responses: + 400: + description: "Internal error" + 201: + description: "Object created" + 204: + description: "Object modified" + delete: + tags: + - "SLI-API" + description: "removes sli.api.TestResults" + parameters: [] + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /config/SLI-API:test-results/SLI-API:test-result/: + post: + description: "creates sli.api.testresults.TestResult" + parameters: + - in: "body" + name: "sli.api.testresults.TestResult.body-param" + description: "sli.api.testresults.TestResult to be added to list" + required: false + schema: + $ref: "#/definitions/sli.api.testresults.TestResult" + originalRef: "#/definitions/sli.api.testresults.TestResult" + responses: + 400: + description: "Internal error" + 201: + description: "Object created" + 409: + description: "Object already exists" + /config/SLI-API:test-results/SLI-API:test-result/{test-identifier}/: + get: + tags: + - "SLI-API" + description: "returns sli.api.testresults.TestResult" + parameters: + - name: "test-identifier" + in: "path" + description: "Id of test-result" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 200: + description: "sli.api.testresults.TestResult" + schema: + $ref: "#/definitions/sli.api.testresults.TestResult" + originalRef: "#/definitions/sli.api.testresults.TestResult" + responseSchema: + $ref: "#/definitions/sli.api.testresults.TestResult" + originalRef: "#/definitions/sli.api.testresults.TestResult" + post: + tags: + - "SLI-API" + description: "creates sli.api.testresults.TestResult" + parameters: + - name: "test-identifier" + in: "path" + description: "Id of test-result" + required: true + type: "string" + - in: "body" + name: "sli.api.testresults.TestResult.body-param" + description: "sli.api.testresults.TestResult to be added to list" + required: false + schema: + $ref: "#/definitions/sli.api.testresults.TestResult" + originalRef: "#/definitions/sli.api.testresults.TestResult" + responses: + 400: + description: "Internal error" + 201: + description: "Object created" + 409: + description: "Object already exists" + put: + tags: + - "SLI-API" + description: "creates or updates sli.api.testresults.TestResult" + parameters: + - name: "test-identifier" + in: "path" + description: "Id of test-result" + required: true + type: "string" + - in: "body" + name: "sli.api.testresults.TestResult.body-param" + description: "sli.api.testresults.TestResult to be added or updated" + required: false + schema: + $ref: "#/definitions/sli.api.testresults.TestResult" + originalRef: "#/definitions/sli.api.testresults.TestResult" + responses: + 400: + description: "Internal error" + 201: + description: "Object created" + 204: + description: "Object modified" + delete: + tags: + - "SLI-API" + description: "removes sli.api.testresults.TestResult" + parameters: + - name: "test-identifier" + in: "path" + description: "Id of test-result" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /operational/SLI-API:test-results/: + get: + tags: + - "SLI-API" + description: "returns sli.api.TestResults" + parameters: [] + responses: + 400: + description: "Internal error" + 200: + description: "sli.api.TestResults" + schema: + $ref: "#/definitions/sli.api.TestResults" + originalRef: "#/definitions/sli.api.TestResults" + responseSchema: + $ref: "#/definitions/sli.api.TestResults" + originalRef: "#/definitions/sli.api.TestResults" + /operational/SLI-API:test-results/SLI-API:test-result/{test-identifier}/: + get: + tags: + - "SLI-API" + description: "returns sli.api.testresults.TestResult" + parameters: + - name: "test-identifier" + in: "path" + description: "Id of test-result" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 200: + description: "sli.api.testresults.TestResult" + schema: + $ref: "#/definitions/sli.api.testresults.TestResult" + originalRef: "#/definitions/sli.api.testresults.TestResult" + responseSchema: + $ref: "#/definitions/sli.api.testresults.TestResult" + originalRef: "#/definitions/sli.api.testresults.TestResult" + /operations/SLI-API:execute-graph/: + post: + tags: + - "SLI-API" + parameters: + - in: "body" + name: "sli.api.executegraph.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/sli.api.executegraph.Input" + originalRef: "#/definitions/sli.api.executegraph.Input" + responses: + 400: + description: "Internal error" + 200: + description: "Correct response" + schema: + $ref: "#/definitions/sli.api.ExecuteGraph" + originalRef: "#/definitions/sli.api.ExecuteGraph" + responseSchema: + $ref: "#/definitions/sli.api.ExecuteGraph" + originalRef: "#/definitions/sli.api.ExecuteGraph" + 201: + description: "No response" + /operations/SLI-API:healthcheck/: + post: + tags: + - "SLI-API" + parameters: [] + responses: + 400: + description: "Internal error" + 200: + description: "Correct response" + schema: + $ref: "#/definitions/sli.api.Healthcheck" + originalRef: "#/definitions/sli.api.Healthcheck" + responseSchema: + $ref: "#/definitions/sli.api.Healthcheck" + originalRef: "#/definitions/sli.api.Healthcheck" + 201: + description: "No response" + /operations/SLI-API:vlbcheck/: + post: + tags: + - "SLI-API" + parameters: [] + responses: + 400: + description: "Internal error" + 200: + description: "Correct response" + schema: + $ref: "#/definitions/sli.api.Vlbcheck" + originalRef: "#/definitions/sli.api.Vlbcheck" + responseSchema: + $ref: "#/definitions/sli.api.Vlbcheck" + originalRef: "#/definitions/sli.api.Vlbcheck" + 201: + description: "No response" +definitions: + sli.api.ExecuteGraph: + type: "object" + properties: + output: + $ref: "#/definitions/sli.api.ResponseFields" + originalRef: "#/definitions/sli.api.ResponseFields" + sli.api.Healthcheck: + type: "object" + properties: + output: + $ref: "#/definitions/sli.api.ResponseFields" + originalRef: "#/definitions/sli.api.ResponseFields" + sli.api.ModeEnumeration: + type: "string" + enum: + - "sync" + - "async" + sli.api.ParameterSetting: + type: "object" + properties: + string-value: + type: "string" + boolean-value: + type: "boolean" + parameter-name: + type: "string" + description: "Parameter name" + int-value: + type: "integer" + format: "int32" + sli.api.ResponseFields: + type: "object" + properties: + response-code: + type: "string" + response-message: + type: "string" + context-memory-json: + type: "string" + ack-final-indicator: + type: "string" + sli.api.TestResults: + type: "object" + properties: + test-result: + type: "array" + items: + $ref: "#/definitions/sli.api.testresults.TestResult" + originalRef: "#/definitions/sli.api.testresults.TestResult" + sli.api.Vlbcheck: + type: "object" + properties: + output: + $ref: "#/definitions/sli.api.ResponseFields" + originalRef: "#/definitions/sli.api.ResponseFields" + sli.api.executegraph.Input: + type: "object" + properties: + mode: + $ref: "#/definitions/sli.api.ModeEnumeration" + originalRef: "#/definitions/sli.api.ModeEnumeration" + module-name: + type: "string" + sli-parameter: + type: "array" + items: + $ref: "#/definitions/sli.api.ParameterSetting" + originalRef: "#/definitions/sli.api.ParameterSetting" + rpc-name: + type: "string" + sli.api.testresults.TestResult: + type: "object" + properties: + results: + type: "array" + items: + type: "string" + test-identifier: + type: "string" diff --git a/sliapi/model/yang/pom.xml b/sliapi/model/yang/pom.xml new file mode 100755 index 00000000..420d2ee0 --- /dev/null +++ b/sliapi/model/yang/pom.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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> + + <parent> + <groupId>org.onap.ccsdk.parent</groupId> + <artifactId>binding-parent</artifactId> + <version>2.0.0-SNAPSHOT</version> + <relativePath/> + </parent> + + <groupId>org.onap.ccsdk.sli.core</groupId> + <artifactId>sliapi-model-yang</artifactId> + <version>1.0.0-SNAPSHOT</version> + <packaging>bundle</packaging> + + <name>ccsdk-sli-core :: sliapi :: ${project.artifactId}</name> + + <dependencies> + <dependency> + <groupId>org.opendaylight.mdsal.binding.model.ietf</groupId> + <artifactId>rfc6991</artifactId> + </dependency> + + + </dependencies> +</project> diff --git a/sliapi/model/src/main/resources/sli-api.20161110.json b/sliapi/model/yang/src/main/resources/sli-api.20161110.json index 1c6cdabf..1c6cdabf 100644 --- a/sliapi/model/src/main/resources/sli-api.20161110.json +++ b/sliapi/model/yang/src/main/resources/sli-api.20161110.json diff --git a/sliapi/model/yang/src/main/resources/sli-api.20161110.yaml b/sliapi/model/yang/src/main/resources/sli-api.20161110.yaml new file mode 100644 index 00000000..3420c66b --- /dev/null +++ b/sliapi/model/yang/src/main/resources/sli-api.20161110.yaml @@ -0,0 +1,254 @@ +--- +swagger: '2.0' +info: + version: 1.0.0 + title: "SLI API" +basePath: '/restconf' +schemes: + - http + - https +paths: + '/restconf/config/SLI-API:test-results': + delete: + produces: + - application/json + - application/xml + responses: + '200': + description: No response was specified + description: Test results + operationId: delete-test-results + get: + produces: + - application/json + - application/xml + responses: + '200': + description: No response was specified + schema: + $ref: '#/definitions/test-results' + description: Test results + operationId: get-test-results + post: + consumes: + - application/json + - application/xml + produces: + - application/json + - application/xml + parameters: + - in: body + name: testResults + required: false + schema: + $ref: '#/definitions/test-results' + responses: + '200': + description: No response was specified + schema: + $ref: '#/definitions/test-results' + description: Test results + operationId: post-test-results + put: + consumes: + - application/json + - application/xml + produces: + - application/json + - application/xml + parameters: + - in: body + name: testResults + required: false + schema: + $ref: '#/definitions/test-results' + responses: + '200': + description: No response was specified + schema: + $ref: '#/definitions/test-results' + description: Test results + operationId: put-test-results + + '/restconf/config/SLI-API:test-results/test-result/{test-identifier}': + delete: + produces: + - application/json + - application/xml + parameters: + - in: path + name: test-identifier + required: true + type: string + responses: + '200': + description: No response was specified + operationId: delete-test-result + get: + produces: + - application/json + - application/xml + parameters: + - in: path + name: test-identifier + required: true + type: string + responses: + '200': + description: No response was specified + schema: + $ref: '#/definitions/test-result' + operationId: get-test-result + put: + consumes: + - application/json + - application/xml + produces: + - application/json + - application/xml + parameters: + - in: path + name: test-identifier + required: true + type: string + - in: body + name: testResult + required: false + schema: + $ref: '#/definitions/test-result' + responses: + '200': + description: No response was specified + schema: + $ref: '#/definitions/test-result' + operationId: PUT-test-result + + '/restconf/operational/SLI-API:test-results': + get: + produces: + - application/json + - application/xml + responses: + '200': + description: No response was specified + schema: + $ref: '#/definitions/test-results' + description: Test results + operationId: GET-test-results + '/restconf/operations/SLI-API:execute-graph': + post: + consumes: + - application/json + - application/xml + produces: + - application/json + - application/xml + parameters: + - in: body + name: executeGraphInput + required: false + schema: + $ref: '#/definitions/execute-graph-input' + responses: + '200': + description: No response was specified + schema: + $ref: '#/definitions/response-fields' + description: ' Method to add a new parameter.' + operationId: execute-graph + '/restconf/operations/SLI-API:healthcheck': + post: + consumes: + - application/json + - application/xml + produces: + - application/json + - application/xml + responses: + '200': + description: No response was specified + schema: + $ref: '#/definitions/response-fields' + operationId: healthcheck + '/restconf/operations/SLI-API:vlbcheck': + post: + consumes: + - application/json + - application/xml + produces: + - application/json + - application/xml + responses: + '200': + description: No response was specified + schema: + $ref: '#/definitions/response-fields' + operationId: vlbcheck + +definitions: + parameter-setting: + type: object + properties: + parameter-name: + type: string + int-value: + type: integer + string-value: + type: string + boolean-value: + type: boolean + + response-fields: + type: object + properties: + response-code: + type: string + ack-final-indicator: + type: string + response-message: + type: string + context-memory-json: + type: string + + test-results: + type: object + properties: + test-results: + type: array + items: + $ref: '#/definitions/test-result' + + test-result: + type: object + properties: + test-identifier: + type: string + results: + type: array + items: + type: string + + execute-graph-input: + properties: + 'input': + type: object + properties: + 'mode': + type: string + 'module-name': + type: string + 'rpc-name': + type: string + 'sli-parameter': + items: + $ref: '#/definitions/parameter-setting' + type: array + type: object + + + + + + + unique_empty_identifier: {} + diff --git a/sliapi/model/src/main/yang/sliapi.yang b/sliapi/model/yang/src/main/yang/sliapi.yang index b3272be8..98cbb2aa 100755 --- a/sliapi/model/src/main/yang/sliapi.yang +++ b/sliapi/model/yang/src/main/yang/sliapi.yang @@ -103,25 +103,12 @@ module SLI-API { } rpc healthcheck { - // OpenDaylight Fluorine version of restconf cannot handle RPCs with no input - input { - leaf dummy { - type string; - } - } output { uses response-fields; } } rpc vlbcheck { - // OpenDaylight Fluorine version of restconf cannot handle RPCs with no input - input { - leaf dummy - { - type string; - } - } output { uses response-fields; } diff --git a/sliapi/pom.xml b/sliapi/pom.xml index e2c91080..367d82cf 100755 --- a/sliapi/pom.xml +++ b/sliapi/pom.xml @@ -19,7 +19,6 @@ <modules> <module>model</module> <module>provider</module> - <module>springboot</module> <module>installer</module> </modules> diff --git a/sliapi/provider/pom.xml b/sliapi/provider/pom.xml index e726b24f..f8000376 100755 --- a/sliapi/provider/pom.xml +++ b/sliapi/provider/pom.xml @@ -28,7 +28,7 @@ <dependencies> <dependency> <groupId>org.onap.ccsdk.sli.core</groupId> - <artifactId>sliapi-model</artifactId> + <artifactId>sliapi-model-yang</artifactId> <version>${project.version}</version> </dependency> diff --git a/sliapi/springboot/.swagger-codegen-ignore b/sliapi/springboot/.swagger-codegen-ignore deleted file mode 100644 index d14d7b94..00000000 --- a/sliapi/springboot/.swagger-codegen-ignore +++ /dev/null @@ -1 +0,0 @@ -**/RestconfApiController.java diff --git a/sliapi/springboot/README.md b/sliapi/springboot/README.md deleted file mode 100644 index 38be1c2f..00000000 --- a/sliapi/springboot/README.md +++ /dev/null @@ -1,33 +0,0 @@ -This directory contains a demo springboot implementation of the SLI-API healthcheck method. - -To start this server with out AAF authentication, run: -mvn -DserviceLogicDirectory=src/main/resources spring-boot:run - -To start this server with AAF authentication, run: -mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Dcadi_prop_files=/opt/onap/sdnc/data/properties/org.onap.sdnc.props -DserviceLogicDirectory=src/main/resources" - - -This will start a servlet on port 8080. To test to that servlet, post a blank -message to that port: - -curl http://127.0.0.1:8080/restconf/operations/SLI-API:healthcheck -X POST -H "Content-Type: application/json" - -Requests can also be sent to `http://localhost:8080/executeGraph` - -The graph details need to match a graph which has been loaded and activated - -An example request -``` -{ - "graphDetails": { - "module": "prov", - "rpc": "test", - "mode": "sync" - }, - "input": { - "name": "Hello World", - "test": "one", - "mixed": "cAsE" - } -} -``` diff --git a/sliapi/springboot/pom.xml b/sliapi/springboot/pom.xml deleted file mode 100644 index 269caa47..00000000 --- a/sliapi/springboot/pom.xml +++ /dev/null @@ -1,179 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<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> - - <parent> - <groupId>org.onap.ccsdk.parent</groupId> - <artifactId>spring-boot-starter-parent</artifactId> - <version>2.0.0-SNAPSHOT</version> - <relativePath/> - </parent> - - <groupId>org.onap.ccsdk.sli.core</groupId> - <artifactId>sliapi-springboot</artifactId> - <version>1.0.0-SNAPSHOT</version> - <packaging>jar</packaging> - - <name>ccsdk-sli-core :: sliapi :: ${project.artifactId}</name> - - <properties> - <start-class>org.onap.ccsdk.sli.core.sliapi.springboot.App</start-class> - <shiro.version>1.5.0</shiro.version> - <aaf-shiro-bundle.version>2.1.13</aaf-shiro-bundle.version> - </properties> - - <dependencies> - <dependency> - <groupId>io.swagger</groupId> - <artifactId>swagger-annotations</artifactId> - </dependency> - <dependency> - <groupId>org.apache.shiro</groupId> - <artifactId>shiro-spring-boot-web-starter</artifactId> - <version>${shiro.version}</version> - <exclusions> - <exclusion> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-logging</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-log4j2</artifactId> - </dependency> - <dependency> - <groupId>org.onap.aaf.cadi</groupId> - <artifactId>aaf-cadi-shiro</artifactId> - <version>${aaf-shiro-bundle.version}</version> - </dependency> - - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-test</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-data-jpa</artifactId> - </dependency> - <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-swagger2</artifactId> - <version>2.9.2</version> - </dependency> - <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-swagger-ui</artifactId> - <version>2.9.2</version> - </dependency> - <!-- Need to explicitly declare indirect sli-core dependencies --> - <!-- to force version to be same as $project.version --> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>dblib-provider</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>sli-common</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>sli-provider-base</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>com.google.code.gson</groupId> - <artifactId>gson</artifactId> - </dependency> - <dependency> - <groupId>org.apache.derby</groupId> - <artifactId>derby</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.mariadb.jdbc</groupId> - <artifactId>mariadb-java-client</artifactId> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.onap.logging-analytics</groupId> - <artifactId>logging-filter-spring</artifactId> - <version>1.6.6</version> - </dependency> - <dependency> - <groupId>javax.ws.rs</groupId> - <artifactId>javax.ws.rs-api</artifactId> - </dependency> - <dependency> - <groupId>org.onap.ccsdk.sli.core</groupId> - <artifactId>sliPluginUtils-provider</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.onap.ccsdk.sli.plugins</groupId> - <artifactId>restapi-call-node-provider</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.onap.ccsdk.sli.plugins</groupId> - <artifactId>properties-node-provider</artifactId> - <version>${project.version}</version> - </dependency> - <!-- this jersey jar is needed for rest api call node to function properly --> - <dependency> - <groupId>org.glassfish.jersey.inject</groupId> - <artifactId>jersey-hk2</artifactId> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>io.swagger</groupId> - <artifactId>swagger-codegen-maven-plugin</artifactId> - <version>2.3.1</version> - <executions> - <execution> - <goals> - <goal>generate</goal> - </goals> - <configuration> - <output>target/generated-sources</output> - <inputSpec>${project.basedir}/../model/src/main/resources/sli-api.20161110.yaml</inputSpec> - <language>spring</language> - <apiPackage>org.onap.ccsdk.sli.core.sliapi.springboot.controllers.swagger</apiPackage> - <modelPackage>org.onap.ccsdk.sli.core.sliapi.model</modelPackage> - <invokerPackage>org.onap.ccsdk.sli.core.sliapi.springboot.controllers.swagger</invokerPackage> - <generateApis>true</generateApis> - <generateApiTests>true</generateApiTests> - <ignoreFileOverride>${project.basedir}/.swagger-codegen-ignore</ignoreFileOverride> - <withXml>true</withXml> - <configOptions> - <java8>true</java8> - <springBootVersion>2.2.4-RELEASE</springBootVersion> - </configOptions> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>repackage</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> diff --git a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/App.java b/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/App.java deleted file mode 100644 index f4e78beb..00000000 --- a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/App.java +++ /dev/null @@ -1,80 +0,0 @@ -/*-
- * ============LICENSE_START=======================================================
- * ONAP - CCSDK
- * ================================================================================
- * Copyright (C) 2020 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=========================================================
- */
-
-package org.onap.ccsdk.sli.core.sliapi.springboot;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.context.annotation.ComponentScan;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
-import org.apache.shiro.realm.Realm;
-import org.apache.shiro.realm.text.PropertiesRealm;
-import org.apache.shiro.realm.text.TextConfigurationRealm;
-import org.apache.shiro.spring.web.config.DefaultShiroFilterChainDefinition;
-import org.apache.shiro.spring.web.config.ShiroFilterChainDefinition;
-import org.springframework.context.annotation.Bean;
-import org.onap.aaf.cadi.shiro.AAFRealm;
-
-@SpringBootApplication
-@EnableSwagger2
-@ComponentScan(basePackages = { "org.onap.ccsdk.sli.core.sliapi.springboot.*" })
-
-public class App {
-
- private static final Logger log = LoggerFactory.getLogger(App.class);
-
- public static void main(String[] args) throws Exception {
- SpringApplication.run(App.class, args);
- }
-
- @Bean
- public Realm realm() {
-
- // If cadi prop files is not defined use local properties realm
- // src/main/resources/shiro-users.properties
- if ("none".equals(System.getProperty("cadi_prop_files", "none"))) {
- log.info("cadi_prop_files undefined, AAF Realm will not be set");
- PropertiesRealm realm = new PropertiesRealm();
- return realm;
- } else {
- AAFRealm realm = new AAFRealm();
- return realm;
- }
-
- }
-
- @Bean
- public ShiroFilterChainDefinition shiroFilterChainDefinition() {
- DefaultShiroFilterChainDefinition chainDefinition = new DefaultShiroFilterChainDefinition();
-
- // if cadi prop files is not set disable authentication
- if ("none".equals(System.getProperty("cadi_prop_files", "none"))) {
- chainDefinition.addPathDefinition("/**", "anon");
- } else {
- log.info("Loaded property cadi_prop_files, AAF REALM set");
- chainDefinition.addPathDefinition("/**", "authcBasic, rest[org.onap.sdnc.odl:odl-api]");
- }
-
- return chainDefinition;
- }
-
-}
diff --git a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/ExecuteGraphController.java b/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/ExecuteGraphController.java deleted file mode 100644 index 809cfe59..00000000 --- a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/ExecuteGraphController.java +++ /dev/null @@ -1,112 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - CCSDK - * ================================================================================ - * Copyright (C) 2020 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========================================================= - */ - -package org.onap.ccsdk.sli.core.sliapi.springboot.controllers; - -import java.util.HashMap; -import java.util.Map.Entry; -import java.util.Properties; -import org.onap.ccsdk.sli.core.sli.SvcLogicException; -import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicServiceBase; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.ResponseBody; -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; - -@Controller -@EnableAutoConfiguration -public class ExecuteGraphController { - @Autowired - protected SvcLogicServiceBase svc; - - @RequestMapping(value = "/executeGraph", method = RequestMethod.POST) - @ResponseBody - public HashMap<String, String> executeGraph(@RequestBody String input) { - HashMap<String, String> hash = new HashMap<String, String>(); - Properties parms = new Properties(); - - hash.put("status", "success"); - JsonObject jsonInput = new Gson().fromJson(input, JsonObject.class); - JsonObject passthroughObj = jsonInput.get("input").getAsJsonObject(); - - writeResponseToCtx(passthroughObj.toString(), parms, "input"); - - JsonObject inputObject = jsonInput.get("graphDetails").getAsJsonObject(); - try { - // Any of these can throw a nullpointer exception - String calledModule = inputObject.get("module").getAsString(); - String calledRpc = inputObject.get("rpc").getAsString(); - String modeStr = inputObject.get("mode").getAsString(); - // execute should only throw a SvcLogicException - Properties respProps = svc.execute(calledModule, calledRpc, null, modeStr, parms); - for (Entry<Object, Object> prop : respProps.entrySet()) { - hash.put((String) prop.getKey(), (String) prop.getValue()); - } - } catch (NullPointerException npe) { - HashMap<String, String> errorHash = new HashMap<String, String>(); - errorHash.put("error-message", "check that you populated module, rpc and or mode correctly."); - return errorHash; - } catch (SvcLogicException e) { - HashMap<String, String> errorHash = new HashMap<String, String>(); - errorHash.put("status", "failure"); - errorHash.put("message", e.getMessage()); - return errorHash; - } - return hash; - } - - public static void writeResponseToCtx(String resp, Properties ctx, String prefix) { - JsonParser jp = new JsonParser(); - JsonElement element = jp.parse(resp); - writeJsonObject(element.getAsJsonObject(), ctx, prefix + "."); - } - - public static void writeJsonObject(JsonObject obj, Properties ctx, String root) { - for (Entry<String, JsonElement> entry : obj.entrySet()) { - if (entry.getValue().isJsonObject()) { - writeJsonObject(entry.getValue().getAsJsonObject(), ctx, root + entry.getKey() + "."); - } else if (entry.getValue().isJsonArray()) { - JsonArray array = entry.getValue().getAsJsonArray(); - ctx.put(root + entry.getKey() + "_length", String.valueOf(array.size())); - Integer arrayIdx = 0; - for (JsonElement element : array) { - if (element.isJsonObject()) { - writeJsonObject(element.getAsJsonObject(), ctx, root + entry.getKey() + "[" + arrayIdx + "]."); - } - arrayIdx++; - } - } else { - ctx.put(root + entry.getKey(), entry.getValue().getAsString()); - } - } - } - - -} diff --git a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/data/TestResultConfig.java b/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/data/TestResultConfig.java deleted file mode 100644 index f8ed1b4c..00000000 --- a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/data/TestResultConfig.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.onap.ccsdk.sli.core.sliapi.springboot.controllers.data; - -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; - -@Entity -public class TestResultConfig { - - - @Id - @GeneratedValue(strategy= GenerationType.AUTO) - private Long id; - - private String testIdentifier; - private String results; - - public TestResultConfig() - { - - } - public TestResultConfig(String testIdentifier, String results) { - this.testIdentifier = testIdentifier; - this.results = results; - } - - public String getTestIdentifier() { - return testIdentifier; - } - - public void setTestIdentifier(String testIdentifier) { - this.testIdentifier = testIdentifier; - } - - public String getResults() { - return results; - } - - public void setResults(String results) { - this.results = results; - } - - - - -} diff --git a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/data/TestResultOperational.java b/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/data/TestResultOperational.java deleted file mode 100644 index 4c3709e6..00000000 --- a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/data/TestResultOperational.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.onap.ccsdk.sli.core.sliapi.springboot.controllers.data; - -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; - -@Entity -public class TestResultOperational { - - - @Id - @GeneratedValue(strategy= GenerationType.AUTO) - private Long id; - - private String testIdentifier; - private String results; - - public TestResultOperational() - { - - } - - public TestResultOperational(String testIdentifier, String results) { - this.testIdentifier = testIdentifier; - this.results = results; - } - - public String getTestIdentifier() { - return testIdentifier; - } - - public void setTestIdentifier(String testIdentifier) { - this.testIdentifier = testIdentifier; - } - - public String getResults() { - return results; - } - - public void setResults(String results) { - this.results = results; - } - - - - -} diff --git a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/data/TestResultsConfigRepository.java b/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/data/TestResultsConfigRepository.java deleted file mode 100644 index 1a73b3f5..00000000 --- a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/data/TestResultsConfigRepository.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.onap.ccsdk.sli.core.sliapi.springboot.controllers.data; - -import org.springframework.data.repository.CrudRepository; - -import java.util.List; - -public interface TestResultsConfigRepository extends CrudRepository<TestResultConfig, Long> { - - List<TestResultConfig> findByTestIdentifier(String testIdentifier); - - -} diff --git a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/data/TestResultsOperationalRepository.java b/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/data/TestResultsOperationalRepository.java deleted file mode 100644 index d81c02b2..00000000 --- a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/data/TestResultsOperationalRepository.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.onap.ccsdk.sli.core.sliapi.springboot.controllers.data; - -import org.springframework.data.repository.CrudRepository; - -import java.util.List; - -public interface TestResultsOperationalRepository extends CrudRepository<TestResultOperational, Long> { - - List<TestResultOperational> findByTestIdentifier(String testIdentifier); - - -} diff --git a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/swagger/RestconfApiController.java b/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/swagger/RestconfApiController.java deleted file mode 100644 index aa9a9d7e..00000000 --- a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/swagger/RestconfApiController.java +++ /dev/null @@ -1,364 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - CCSDK - * ================================================================================ - * Copyright (C) 2020 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========================================================= - */ - -package org.onap.ccsdk.sli.core.sliapi.springboot.controllers.swagger; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.gson.Gson; -import com.google.gson.JsonObject; -import org.onap.ccsdk.sli.core.sli.SvcLogicContext; -import org.onap.ccsdk.sli.core.sli.SvcLogicException; -import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicServiceBase; -import org.onap.ccsdk.sli.core.sliapi.model.ExecuteGraphInput; -import org.onap.ccsdk.sli.core.sliapi.model.ResponseFields; -import org.onap.ccsdk.sli.core.sliapi.model.TestResult; -import org.onap.ccsdk.sli.core.sliapi.model.TestResults; -import org.onap.ccsdk.sli.core.sliapi.springboot.controllers.data.TestResultConfig; -import org.onap.ccsdk.sli.core.sliapi.springboot.controllers.data.TestResultsConfigRepository; -import org.onap.ccsdk.sli.core.sliapi.springboot.controllers.data.TestResultsOperationalRepository; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.domain.EntityScan; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.stereotype.Controller; - -import javax.servlet.http.HttpServletRequest; -import javax.validation.Valid; -import java.util.*; - -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2020-02-20T12:50:11.207-05:00") - -@Controller -@ComponentScan(basePackages = {"org.onap.ccsdk.sli.core.sliapi.springboot.*"}) -@EntityScan("org.onap.ccsdk.sli.core.sliapi.springboot.*") -public class RestconfApiController implements RestconfApi { - - private final ObjectMapper objectMapper; - private final HttpServletRequest request; - - @Autowired - protected SvcLogicServiceBase svc; - - @Autowired - private TestResultsConfigRepository testResultsConfigRepository; - - @Autowired - private TestResultsOperationalRepository testResultsOperationalRepository; - - private static final Logger log = LoggerFactory.getLogger(RestconfApiController.class); - - @org.springframework.beans.factory.annotation.Autowired - public RestconfApiController(ObjectMapper objectMapper, HttpServletRequest request) { - this.objectMapper = objectMapper; - this.request = request; - } - - @Override - public ResponseEntity<ResponseFields> healthcheck() { - ResponseFields resp = new ResponseFields(); - - try { - log.info("Calling SLI-API:healthcheck DG"); - SvcLogicContext ctxIn = new SvcLogicContext(); - SvcLogicContext ctxOut = svc.execute("sli", "healthcheck", null, "sync", ctxIn); - Properties respProps = ctxOut.toProperties(); - - resp.setAckFinalIndicator(respProps.getProperty("ack-final-indicator", "Y")); - resp.setResponseCode(respProps.getProperty("error-code", "200")); - resp.setResponseMessage(respProps.getProperty("error-message", "Success")); - resp.setContextMemoryJson(propsToJson(respProps, "context-memory")); - - return (new ResponseEntity<>(resp, HttpStatus.OK)); - } catch (Exception e) { - resp.setAckFinalIndicator("true"); - resp.setResponseCode("500"); - resp.setResponseMessage(e.getMessage()); - log.error("Error calling healthcheck directed graph", e); - - } - return (new ResponseEntity<>(resp, HttpStatus.INTERNAL_SERVER_ERROR)); - } - - @Override - public ResponseEntity<ResponseFields> vlbcheck() { - ResponseFields resp = new ResponseFields(); - - try { - log.info("Calling SLI-API:vlbcheck DG"); - SvcLogicContext ctxIn = new SvcLogicContext(); - SvcLogicContext ctxOut = svc.execute("sli", "vlbcheck", null, "sync", ctxIn); - Properties respProps = ctxOut.toProperties(); - resp.setAckFinalIndicator(respProps.getProperty("ack-final-indicator", "Y")); - resp.setResponseCode(respProps.getProperty("error-code", "200")); - resp.setResponseMessage(respProps.getProperty("error-message", "Success")); - resp.setContextMemoryJson(propsToJson(respProps, "context-memory")); - - return (new ResponseEntity<>(resp, HttpStatus.OK)); - } catch (Exception e) { - resp.setAckFinalIndicator("true"); - resp.setResponseCode("500"); - resp.setResponseMessage(e.getMessage()); - log.error("Error calling vlbcheck directed graph", e); - - } - return (new ResponseEntity<>(resp, HttpStatus.INTERNAL_SERVER_ERROR)); - } - - - @Override - public Optional<ObjectMapper> getObjectMapper() { - return Optional.ofNullable(objectMapper); - } - - @Override - public Optional<HttpServletRequest> getRequest() { - return Optional.ofNullable(request); - } - - @Override - public ResponseEntity<ResponseFields> executeGraph(@Valid ExecuteGraphInput executeGraphInput) { - SvcLogicContext ctxIn = new SvcLogicContext(); - ResponseFields resp = new ResponseFields(); - String executeGraphInputJson = null; - - try { - executeGraphInputJson = objectMapper.writeValueAsString(executeGraphInput); - log.info("Input as JSON is "+executeGraphInputJson); - } catch (JsonProcessingException e) { - - resp.setAckFinalIndicator("true"); - resp.setResponseCode("500"); - resp.setResponseMessage(e.getMessage()); - log.error("Cannot create JSON from input object", e); - return (new ResponseEntity<>(resp, HttpStatus.INTERNAL_SERVER_ERROR)); - - } - JsonObject jsonInput = new Gson().fromJson(executeGraphInputJson, JsonObject.class); - JsonObject passthroughObj = jsonInput.get("input").getAsJsonObject(); - - ctxIn.mergeJson("input", passthroughObj.toString()); - - try { - // Any of these can throw a nullpointer exception - String calledModule = executeGraphInput.getInput().getModuleName(); - String calledRpc = executeGraphInput.getInput().getRpcName(); - String modeStr = executeGraphInput.getInput().getMode(); - // execute should only throw a SvcLogicException - SvcLogicContext ctxOut = svc.execute(calledModule, calledRpc, null, modeStr, ctxIn); - Properties respProps = ctxOut.toProperties(); - - resp.setAckFinalIndicator(respProps.getProperty("ack-final-indicator", "Y")); - resp.setResponseCode(respProps.getProperty("error-code", "200")); - resp.setResponseMessage(respProps.getProperty("error-message", "SUCCESS")); - resp.setContextMemoryJson(propsToJson(respProps, "context-memory")); - return (new ResponseEntity<>(resp, HttpStatus.valueOf(Integer.parseInt(resp.getResponseCode())))); - - } catch (NullPointerException npe) { - resp.setAckFinalIndicator("true"); - resp.setResponseCode("500"); - resp.setResponseMessage("Check that you populated module, rpc and or mode correctly."); - - return (new ResponseEntity<>(resp, HttpStatus.INTERNAL_SERVER_ERROR)); - } catch (SvcLogicException e) { - resp.setAckFinalIndicator("true"); - resp.setResponseCode("500"); - resp.setResponseMessage(e.getMessage()); - - return (new ResponseEntity<>(resp, HttpStatus.INTERNAL_SERVER_ERROR)); - } - } - - @Override - public ResponseEntity<Void> deleteTestResult(String testIdentifier) { - - List<TestResultConfig> testResultConfigs = testResultsConfigRepository.findByTestIdentifier(testIdentifier); - - if (testResultConfigs != null) { - Iterator<TestResultConfig> testResultConfigIterator = testResultConfigs.iterator(); - while (testResultConfigIterator.hasNext()) { - testResultsConfigRepository.delete(testResultConfigIterator.next()); - } - } - - return (new ResponseEntity<>(HttpStatus.OK)); - } - - @Override - public ResponseEntity<Void> deleteTestResults() { - - testResultsConfigRepository.deleteAll(); - - return (new ResponseEntity<>(HttpStatus.OK)); - } - - @Override - public ResponseEntity<TestResults> gETTestResults() { - - TestResults results = new TestResults(); - - testResultsOperationalRepository.findAll().forEach(testResult -> { - TestResult item = null; - try { - item = objectMapper.readValue(testResult.getResults(), TestResult.class); - results.addTestResultsItem(item); - } catch (JsonProcessingException e) { - log.error("Could not convert testResult", e); - } - }); - - - return new ResponseEntity<>(results, HttpStatus.OK); - } - - @Override - public ResponseEntity<TestResult> getTestResult(String testIdentifier) { - List<TestResultConfig> testResultConfigs = testResultsConfigRepository.findByTestIdentifier(testIdentifier); - - if ((testResultConfigs == null) || (testResultConfigs.size() == 0)) { - return new ResponseEntity<>(HttpStatus.NOT_FOUND); - } else { - TestResultConfig testResultConfig = testResultConfigs.get(0); - TestResult testResult = null; - try { - testResult = objectMapper.readValue(testResultConfig.getResults(), TestResult.class); - } catch (JsonProcessingException e) { - log.error("Cannot convert test result", e); - return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); - } - - - return new ResponseEntity<>(testResult, HttpStatus.OK); - } - } - - @Override - public ResponseEntity<TestResults> getTestResults() { - if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) { - } else { - log.warn("ObjectMapper or HttpServletRequest not configured in default RestconfApi interface so no example is generated"); - } - - TestResults results = new TestResults(); - - testResultsConfigRepository.findAll().forEach(testResult -> { - TestResult item = null; - try { - item = objectMapper.readValue(testResult.getResults(), TestResult.class); - results.addTestResultsItem(item); - } catch (JsonProcessingException e) { - log.error("Could not convert testResult", e); - } - }); - - - return new ResponseEntity<>(results, HttpStatus.OK); - } - - @Override - public ResponseEntity<TestResult> pUTTestResult(String testIdentifier, @Valid TestResult testResult) { - if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) { - } else { - log.warn("ObjectMapper or HttpServletRequest not configured in default RestconfApi interface so no example is generated"); - } - - List<TestResultConfig> testResultConfigs = testResultsConfigRepository.findByTestIdentifier(testIdentifier); - Iterator<TestResultConfig> testResultIter = testResultConfigs.iterator(); - while (testResultIter.hasNext()) { - testResultsConfigRepository.delete(testResultIter.next()); - } - - TestResultConfig testResultConfig = null; - try { - testResultConfig = new TestResultConfig(testResult.getTestIdentifier(), objectMapper.writeValueAsString(testResult)); - testResultsConfigRepository.save(testResultConfig); - } catch (JsonProcessingException e) { - log.error("Could not save test result", e); - return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); - } - - return new ResponseEntity<>(testResult, HttpStatus.OK); - } - - @Override - public ResponseEntity<TestResults> postTestResults(@Valid TestResults testResults) { - List<TestResult> resultList = testResults.getTestResults(); - - Iterator<TestResult> resultIterator = resultList.iterator(); - - while (resultIterator.hasNext()) { - TestResult curResult = resultIterator.next(); - try { - testResultsConfigRepository.save(new TestResultConfig(curResult.getTestIdentifier(), objectMapper.writeValueAsString(curResult))); - } catch (JsonProcessingException e) { - log.error("Could not save test result", e); - return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); - } - } - - return new ResponseEntity<>(testResults, HttpStatus.OK); - } - - @Override - public ResponseEntity<TestResults> putTestResults(@Valid TestResults testResults) { - testResultsConfigRepository.deleteAll(); - - List<TestResult> resultList = testResults.getTestResults(); - - Iterator<TestResult> resultIterator = resultList.iterator(); - - - while (resultIterator.hasNext()) { - TestResult curResult = resultIterator.next(); - try { - testResultsConfigRepository.save(new TestResultConfig(curResult.getTestIdentifier(), objectMapper.writeValueAsString(curResult))); - } catch (JsonProcessingException e) { - log.error("Could not save test result", e); - return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); - } - } - - return new ResponseEntity<>(testResults, HttpStatus.OK); - } - - public static String propsToJson(Properties props, String root) - { - StringBuffer sbuff = new StringBuffer(); - - sbuff.append("{ \""+root+"\" : { "); - boolean needComma = false; - for (Map.Entry<Object, Object> prop : props.entrySet()) { - sbuff.append("\""+(String) prop.getKey()+"\" : \""+(String)prop.getValue()+"\""); - if (needComma) { - sbuff.append(" , "); - } else { - needComma = true; - } - } - sbuff.append(" } }"); - - return(sbuff.toString()); - } - -} diff --git a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/core/SvcLogicFactory.java b/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/core/SvcLogicFactory.java deleted file mode 100644 index 0c8480e1..00000000 --- a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/core/SvcLogicFactory.java +++ /dev/null @@ -1,150 +0,0 @@ -/*-
- * ============LICENSE_START=======================================================
- * ONAP - CCSDK
- * ================================================================================
- * Copyright (C) 2020 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=========================================================
- */
-
-package org.onap.ccsdk.sli.core.sliapi.springboot.core;
-
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.List;
-import java.util.Properties;
-import org.onap.ccsdk.sli.core.sli.ConfigurationException;
-import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin;
-import org.onap.ccsdk.sli.core.sli.SvcLogicLoader;
-import org.onap.ccsdk.sli.core.sli.SvcLogicRecorder;
-import org.onap.ccsdk.sli.core.sli.SvcLogicStore;
-import org.onap.ccsdk.sli.core.sli.SvcLogicStoreFactory;
-import org.onap.ccsdk.sli.core.sli.provider.base.HashMapResolver;
-import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicPropertiesProvider;
-import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicResolver;
-import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicServiceBase;
-import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicServiceImplBase;
-import org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder;
-import org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils;
-import org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils;
-import org.onap.ccsdk.sli.plugins.prop.PropertiesNode;
-import org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class SvcLogicFactory {
- private static final Logger log = LoggerFactory.getLogger(SvcLogicFactory.class);
-
- @Autowired
- List<SvcLogicRecorder> recorders;
-
- @Autowired
- List<SvcLogicJavaPlugin> plugins;
-
- @Bean
- public SvcLogicStore getStore() throws Exception {
- SvcLogicPropertiesProvider propProvider = new SvcLogicPropertiesProvider() {
-
- @Override
- public Properties getProperties() {
- Properties props = new Properties();
-
-
- String propPath = System.getProperty("serviceLogicProperties", "");
-
- if ("".equals(propPath)) {
- propPath = System.getenv("SVCLOGIC_PROPERTIES");
- }
-
-
- if ((propPath == null) || propPath.length() == 0) {
- propPath = "src/main/resources/svclogic.properties";
- }
- System.out.println(propPath);
- try (FileInputStream fileInputStream = new FileInputStream(propPath)) {
- props = new Properties();
- props.load(fileInputStream);
- } catch (final IOException e) {
- log.error("Failed to load properties for file: {}", propPath,
- new ConfigurationException("Failed to load properties for file: " + propPath, e));
- }
- return props;
- }
- };
- SvcLogicStore store = SvcLogicStoreFactory.getSvcLogicStore(propProvider.getProperties());
- return store;
- }
-
- @Bean
- public SvcLogicLoader createLoader() throws Exception {
- String serviceLogicDirectory = System.getProperty("serviceLogicDirectory");
- if (serviceLogicDirectory == null) {
- serviceLogicDirectory = "src/main/resources";
- }
-
- System.out.println("serviceLogicDirectory is " + serviceLogicDirectory);
- SvcLogicLoader loader = new SvcLogicLoader(serviceLogicDirectory, getStore());
-
- try {
- loader.loadAndActivate();
- } catch (IOException e) {
- log.error("Cannot load directed graphs", e);
- }
- return loader;
- }
-
- @Bean
- public SvcLogicServiceBase createService() throws Exception {
- HashMapResolver resolver = new HashMapResolver();
- for (SvcLogicRecorder recorder : recorders) {
- resolver.addSvcLogicRecorder(recorder.getClass().getName(), recorder);
-
- }
- for (SvcLogicJavaPlugin plugin : plugins) {
- resolver.addSvcLogicSvcLogicJavaPlugin(plugin.getClass().getName(), plugin);
-
- }
- return new SvcLogicServiceImplBase(getStore(), resolver);
- }
-
- @Bean
- public Slf4jRecorder slf4jRecorderNode() {
- return new Slf4jRecorder();
- }
-
- @Bean
- public SliPluginUtils sliPluginUtil() {
- return new SliPluginUtils();
- }
-
- @Bean
- public SliStringUtils sliStringUtils() {
- return new SliStringUtils();
- }
-
- @Bean
- public RestapiCallNode restapiCallNode() {
- return new RestapiCallNode();
- }
-
- @Bean
- public PropertiesNode propertiesNode() {
- return new PropertiesNode();
- }
-
-}
diff --git a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/core/WebConfig.java b/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/core/WebConfig.java deleted file mode 100644 index 558a82a1..00000000 --- a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/core/WebConfig.java +++ /dev/null @@ -1,55 +0,0 @@ -/*-
- * ============LICENSE_START=======================================================
- * ONAP - CCSDK
- * ================================================================================
- * Copyright (C) 2020 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=========================================================
- */
-
-package org.onap.ccsdk.sli.core.sliapi.springboot.core;
-
-import org.onap.logging.filter.spring.LoggingInterceptor;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-import org.springframework.jdbc.datasource.DriverManagerDataSource;
-import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
-import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
-import org.springframework.orm.jpa.JpaTransactionManager;
-import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
-import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
-import org.springframework.transaction.PlatformTransactionManager;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-import org.springframework.web.servlet.config.annotation.EnableWebMvc;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-import javax.persistence.EntityManagerFactory;
-import javax.sql.DataSource;
-
-@EnableWebMvc
-@Configuration
-@EnableJpaRepositories("org.onap.ccsdk.sli.core.sliapi.springboot.*")
-@ComponentScan(basePackages = {"org.onap.ccsdk.sli.core.sliapi.springboot.*"})
-@EntityScan("org.onap.ccsdk.sli.core.sliapi.springboot.*")
-@EnableTransactionManagement
-public class WebConfig implements WebMvcConfigurer {
-
-
-}
\ No newline at end of file diff --git a/sliapi/springboot/src/main/resources/DEMO_DEMO.xml b/sliapi/springboot/src/main/resources/DEMO_DEMO.xml deleted file mode 100755 index 1b304f18..00000000 --- a/sliapi/springboot/src/main/resources/DEMO_DEMO.xml +++ /dev/null @@ -1,35 +0,0 @@ -<service-logic
- xmlns='http://www.onap.org/sdnc/svclogic'
- xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='DEMO' version='1'>
- <method rpc='DEMO' mode='sync'>
- <block>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log" />
- <parameter name="level" value="error" />
- <parameter name="field1" value="Slf4jRecorder must be working!" />
- </record>
- <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">
- <parameter name="ctx-destination" value="requestID" />
- </execute>
- <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains" emitsOutcome='true' >
- <parameter name="source" value="TEAM" />
- <parameter name="target" value="I" />
- </execute>
- <execute plugin="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" method="readProperties" >
- <parameter name="fileName" value="%SDNC_CONFIG_DIR%/aaf.properties" />
- <parameter name="contextPrefix" value="tmp.props" />
- </execute>
- <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
- <parameter name="restapiUrl" value="http://127.0.0.1:8080/restconf/config/SLI-API:test-results/"/>
- <parameter name="restapiUser" value="admin"/>
- <parameter name="restapiPassword" value="test"/>
- <parameter name="format" value="json" />
- <parameter name="httpMethod" value="get" />
- <parameter name="responsePrefix" value="restapi-result" />
- </execute>
- <return status='success'>
- <parameter name='' value='' />
- </return>
- </block>
- </method>
-</service-logic>
\ No newline at end of file diff --git a/sliapi/springboot/src/main/resources/application.properties b/sliapi/springboot/src/main/resources/application.properties deleted file mode 100644 index f083ed5e..00000000 --- a/sliapi/springboot/src/main/resources/application.properties +++ /dev/null @@ -1,18 +0,0 @@ -springfox.documentation.swagger.v2.path=/api-docs -server.contextPath=/restconf -server.port=8080 -spring.jackson.date-format=org.onap.ccsdk.sli.core.sliapi.springboot.controllers.swagger.RFC3339DateFormat -spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false -logging.level.com.att=TRACE -logging.level.org.onap=TRACE -spring.datasource.url=jdbc:mariadb://localhost:3306/sdnctl -spring.datasource.username=sli -spring.datasource.password=abc123 -spring.datasource.driver-class-name=org.mariadb.jdbc.Driver -spring.datasource.testWhileIdle=true -spring.datasource.validationQuery=SELECT 1 -spring.jpa.show-sql=true -spring.jpa.hibernate.ddl-auto=update -spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyHbmImpl -spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy -spring.jpa.database=mysql
\ No newline at end of file diff --git a/sliapi/springboot/src/main/resources/graph.versions b/sliapi/springboot/src/main/resources/graph.versions deleted file mode 100644 index d21278aa..00000000 --- a/sliapi/springboot/src/main/resources/graph.versions +++ /dev/null @@ -1,3 +0,0 @@ -sli healthcheck 0.7.0 sync -sli vlbcheck 0.7.0 sync -DEMO DEMO 1 sync diff --git a/sliapi/springboot/src/main/resources/log4j2.properties b/sliapi/springboot/src/main/resources/log4j2.properties deleted file mode 100644 index 40d18d15..00000000 --- a/sliapi/springboot/src/main/resources/log4j2.properties +++ /dev/null @@ -1,160 +0,0 @@ - #- - # ============LICENSE_START======================================================= - # ONAP - CCSDK - # ================================================================================ - # Copyright (C) 2020 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========================================================= - # - -property.logDir = ${sys:LOG_PATH:-./target} - -property.pattern = %d{ISO8601} | %-5p | %-16t | %-32c{1} | %X{currentGraph} - %X{nodeId} | %m%n - -#default mdc values -property.ServiceName = INTERNAL -property.ErrorCode = 900 -property.ErrorDesc = UnknownError - -rootLogger.level = INFO -rootLogger.appenderRef.AppFile.ref = AppFile -rootLogger.appenderRef.Console.ref = Console -rootLogger.appenderRef.DebugFile.ref = DebugFile -rootLogger.appenderRef.ErrorFile.ref = ErrorFile -rootLogger.appenderRef.Console.filter.threshold.type = ThresholdFilter -rootLogger.appenderRef.Console.filter.threshold.level = DEBUG - -appender.console.type = Console -appender.console.name = Console -appender.console.layout.type = PatternLayout -appender.console.layout.pattern = ${pattern} - -appender.app.type = RollingRandomAccessFile -appender.app.name = AppFile -appender.app.fileName = ${logDir}/app.log -appender.app.filePattern = ${logDir}/app.log.%i -appender.app.immediateFlush = true -appender.app.append = true -appender.app.layout.type = PatternLayout -appender.app.layout.pattern = ${pattern} -appender.app.policies.type = Policies -appender.app.policies.size.type = SizeBasedTriggeringPolicy -appender.app.policies.size.size = 10MB -appender.app.strategy.type = DefaultRolloverStrategy -appender.app.strategy.max = 100 -appender.app.strategy.fileIndex = min - -appender.debug.type = RollingRandomAccessFile -appender.debug.name = DebugFile -appender.debug.fileName = ${logDir}/debug.log -appender.debug.filePattern = ${logDir}/debug.log.%i -appender.debug.immediateFlush = true -appender.debug.append = true -appender.debug.layout.type = PatternLayout -appender.debug.layout.pattern = %d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|%-16.16t|%-5.5p|%-32.32c{1}|%X{currentGraph} - %X{nodeId}|%m%n -appender.debug.policies.type = Policies -appender.debug.policies.size.type = SizeBasedTriggeringPolicy -appender.debug.policies.size.size = 10MB -appender.debug.strategy.type = DefaultRolloverStrategy -appender.debug.strategy.max = 200 -appender.debug.strategy.fileIndex = min - -appender.error.type = RollingRandomAccessFile -appender.error.name = ErrorFile -appender.error.fileName = ${logDir}/error.log -appender.error.filePattern = ${logDir}/error.log.%i -appender.error.immediateFlush = true -appender.error.append = true -appender.error.layout.type = PatternLayout -appender.error.layout.pattern = %d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|%-16.16t|$${ctx:ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%p|$${ctx:ErrorCode}|$${ctx:ErrorDesc}|%m%n - -appender.error.policies.type = Policies -appender.error.policies.size.type = SizeBasedTriggeringPolicy -appender.error.policies.size.size = 10MB -appender.error.strategy.type = DefaultRolloverStrategy -appender.error.strategy.max = 100 -appender.error.strategy.fileIndex = min -appender.error.filter.threshold.type = ThresholdFilter -appender.error.filter.threshold.level = WARN - -appender.metric.type = RollingRandomAccessFile -appender.metric.name = MetricFile -appender.metric.fileName = ${logDir}/metric.log -appender.metric.filePattern = ${logDir}/metric.log.%i -appender.metric.immediateFlush = true -appender.metric.append = true -appender.metric.layout.type = PatternLayout -appender.metric.layout.pattern=%X{InvokeTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%-16.16t|%X{ServerFQDN}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceID}|%p|%X{Severity}|192.168.23.111|%X{ElapsedTime}|${hostName}|%X{ClientIPAddress}|%C{1}|||%X{TargetElement}|%markerSimpleName|%X|%X{currentGraph} - %X{nodeId}||%m%n -appender.metric.policies.type = Policies -appender.metric.policies.size.type = SizeBasedTriggeringPolicy -appender.metric.policies.size.size = 10MB -appender.metric.strategy.type = DefaultRolloverStrategy -appender.metric.strategy.max = 100 -appender.metric.strategy.fileIndex = min - -appender.audit.type = RollingRandomAccessFile -appender.audit.name = AuditFile -appender.audit.fileName = ${logDir}/audit.log -appender.audit.filePattern = ${logDir}/audit.log.%i -appender.audit.immediateFlush = true -appender.audit.append = true -appender.audit.layout.type = PatternLayout -appender.audit.layout.pattern=%X{EntryTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%-16.16t|%X{ServerFQDN}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceID}|INFO|%X{Severity}|192.168.23.111|%X{ElapsedTime}|${hostName}|%X{ClientIPAddress}|%C{1}|%X{AUDIT-Unused}|%X{AUDIT-ProcessKey}|%markerSimpleName|%X|||%m%n -appender.audit.policies.type = Policies -appender.audit.policies.size.type = SizeBasedTriggeringPolicy -appender.audit.policies.size.size = 10MB -appender.audit.strategy.type = DefaultRolloverStrategy -appender.audit.strategy.max = 200 -appender.audit.strategy.fileIndex = min - -appender.rr.name = RequestResponseFile -appender.rr.type = RollingRandomAccessFile -appender.rr.fileName = ${logDir}/request-response.log -appender.rr.filePattern = ${logDir}/request-response.log.%i -appender.rr.immediateFlush = true -appender.rr.append = true -appender.rr.layout.type = PatternLayout -appender.rr.layout.pattern = %d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|%X{PartnerName}|%m%n -appender.rr.policies.type = Policies -appender.rr.policies.size.type = SizeBasedTriggeringPolicy -appender.rr.policies.size.size = 10MB -appender.rr.strategy.type = DefaultRolloverStrategy -appender.rr.strategy.max = 100 -appender.rr.strategy.fileIndex = min - -logger.metric.name = org.onap.ccsdk.sli.core.filters.metric -logger.metric.level = INFO -logger.metric.additivity = false -logger.metric.appenderRef.MetricFile.ref = MetricFile - -logger.metric2.name = org.onap.logging.filter.base.AbstractMetricLogFilter -logger.metric2.level = INFO -logger.metric2.additivity = false -logger.metric2.appenderRef.MetricFile.ref = MetricFile - -logger.audit.name = org.onap.logging.filter.base.AbstractAuditLogFilter -logger.audit.level = INFO -logger.audit.additivity = false -logger.audit.appenderRef.AuditFile.ref = AuditFile - -logger.rr.name = org.onap.logging.filter.base.PayloadLoggingServletFilter -logger.rr.level = INFO -logger.rr.additivity = false -logger.rr.appenderRef.RequestResponseFile.ref = RequestResponseFile - -logger.ccsdk.name = org.onap.ccsdk -logger.ccsdk.level = DEBUG - -logger.onaplogging.name = org.onap.logging -logger.onaplogging.level = DEBUG
\ No newline at end of file diff --git a/sliapi/springboot/src/main/resources/shiro-users.properties b/sliapi/springboot/src/main/resources/shiro-users.properties deleted file mode 100644 index df4b1ae7..00000000 --- a/sliapi/springboot/src/main/resources/shiro-users.properties +++ /dev/null @@ -1,3 +0,0 @@ -user.admin = Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U,service -role.service = odl-api:* - diff --git a/sliapi/springboot/src/main/resources/sli_healthcheck.xml b/sliapi/springboot/src/main/resources/sli_healthcheck.xml deleted file mode 100644 index bc8e2f70..00000000 --- a/sliapi/springboot/src/main/resources/sli_healthcheck.xml +++ /dev/null @@ -1,27 +0,0 @@ -<!-- - ============LICENSE_START======================================================= - openECOMP : SDN-C - ================================================================================ - 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========================================================= - --> - -<service-logic xmlns="http://www.onap.org/sdnc/svclogic" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module='sli' version='0.7.0'><method rpc='healthcheck' mode='sync'> -<set> -<parameter name='error-code' value='200' /> -<parameter name='error-message' value='SDN-C is healthy'/> -<parameter name='ack-final' value='Y'/> -</set></method></service-logic> diff --git a/sliapi/springboot/src/main/resources/sli_vlbcheck.xml b/sliapi/springboot/src/main/resources/sli_vlbcheck.xml deleted file mode 100644 index 820a85c1..00000000 --- a/sliapi/springboot/src/main/resources/sli_vlbcheck.xml +++ /dev/null @@ -1,27 +0,0 @@ -<!-- - ============LICENSE_START======================================================= - openECOMP : SDN-C - ================================================================================ - 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========================================================= - --> - -<service-logic xmlns="http://www.onap.org/sdnc/svclogic" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module='sli' version='0.7.0'><method rpc='vlbcheck' mode='sync'> -<set> -<parameter name='error-code' value='200' /> -<parameter name='error-message' value='SDN-C is healthy'/> -<parameter name='ack-final' value='Y'/> -</set></method></service-logic> diff --git a/sliapi/springboot/src/main/resources/svclogic.properties b/sliapi/springboot/src/main/resources/svclogic.properties deleted file mode 100644 index ae396add..00000000 --- a/sliapi/springboot/src/main/resources/svclogic.properties +++ /dev/null @@ -1,29 +0,0 @@ -### -# ============LICENSE_START======================================================= -# ONAP : CCSDK -# ================================================================================ -# 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========================================================= -### - -org.onap.ccsdk.sli.dbtype = jdbc -org.onap.ccsdk.sli.jdbc.url=jdbc:mariadb://localhost:3306/sdnctl -org.onap.ccsdk.sli.jdbc.driver=org.mariadb.jdbc.Driver -org.onap.ccsdk.sli.jdbc.database = sdnctl -org.onap.ccsdk.sli.jdbc.user = sli -org.onap.ccsdk.sli.jdbc.password = abc123 - -sliapi.serviceLogicDirectory=/opt/onap/sdnc/svclogic/graphs diff --git a/sliapi/springboot/src/test/java/org/onap/ccsdk/sli/core/sliapi/springboot/AppTest.java b/sliapi/springboot/src/test/java/org/onap/ccsdk/sli/core/sliapi/springboot/AppTest.java deleted file mode 100644 index 5ad6da9f..00000000 --- a/sliapi/springboot/src/test/java/org/onap/ccsdk/sli/core/sliapi/springboot/AppTest.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.onap.ccsdk.sli.core.sliapi.springboot; - -import org.apache.shiro.realm.Realm; -import org.apache.shiro.realm.text.PropertiesRealm; -import org.apache.shiro.spring.web.config.ShiroFilterChainDefinition; -import org.junit.Before; -import org.junit.Test; -import org.onap.aaf.cadi.shiro.AAFRealm; - -import java.util.Map; - -import static org.junit.Assert.*; - -public class AppTest { - - App app; - - @Before - public void setUp() throws Exception { - app = new App(); - System.setProperty("serviceLogicProperties", "src/test/resources/svclogic.properties"); - } - - @Test - public void realm() { - Realm realm = app.realm(); - assertTrue(realm instanceof PropertiesRealm); - - - } - - @Test - public void shiroFilterChainDefinition() { - ShiroFilterChainDefinition chainDefinition = app.shiroFilterChainDefinition(); - Map<String, String> chainMap = chainDefinition.getFilterChainMap(); - assertEquals("anon", chainMap.get("/**")); - - - } -}
\ No newline at end of file diff --git a/sliapi/springboot/src/test/java/org/onap/ccsdk/sli/core/sliapi/springboot/RestconfApiControllerTest.java b/sliapi/springboot/src/test/java/org/onap/ccsdk/sli/core/sliapi/springboot/RestconfApiControllerTest.java deleted file mode 100644 index ae21cef5..00000000 --- a/sliapi/springboot/src/test/java/org/onap/ccsdk/sli/core/sliapi/springboot/RestconfApiControllerTest.java +++ /dev/null @@ -1,162 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - CCSDK - * ================================================================================ - * Copyright (C) 2020 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========================================================= - */ - -package org.onap.ccsdk.sli.core.sliapi.springboot; - -import static org.junit.Assert.assertEquals; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.onap.ccsdk.sli.core.sliapi.model.ExecuteGraphInput; -import org.onap.ccsdk.sli.core.sliapi.model.ExecutegraphinputInput; -import org.onap.ccsdk.sli.core.sliapi.model.ResponseFields; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.http.MediaType; -import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.MvcResult; -import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; - -@RunWith(SpringRunner.class) -@SpringBootTest -@AutoConfigureMockMvc -public class RestconfApiControllerTest { - - private static final Logger log = LoggerFactory.getLogger(RestconfApiControllerTest.class); - - @Autowired - private MockMvc mvc; - - @Test - public void testHealthcheck() throws Exception { - String url = "/restconf/operations/SLI-API:healthcheck"; - - MvcResult mvcResult = - mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content("")) - .andReturn(); - - assertEquals(200, mvcResult.getResponse().getStatus()); - } - - @Test - public void testVlbcheck() throws Exception { - String url = "/restconf/operations/SLI-API:vlbcheck"; - - MvcResult mvcResult = - mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content("")) - .andReturn(); - - assertEquals(200, mvcResult.getResponse().getStatus()); - } - - @Test - public void testExecuteHealthcheck() throws Exception { - String url = "/restconf/operations/SLI-API:execute-graph"; - - ExecuteGraphInput executeGraphInput = new ExecuteGraphInput(); - ExecutegraphinputInput executeGraphData = new ExecutegraphinputInput(); - - executeGraphData.setModuleName("sli"); - executeGraphData.setRpcName("healthcheck"); - executeGraphData.setMode("sync"); - executeGraphInput.setInput(executeGraphData); - - String jsonString = mapToJson(executeGraphInput); - log.error("jsonString is {}", jsonString); - - MvcResult mvcResult = - mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content(jsonString)) - .andReturn(); - - assertEquals(200, mvcResult.getResponse().getStatus()); - - } - - @Test - public void testExecuteMissingDg() throws Exception { - String url = "/restconf/operations/SLI-API:execute-graph"; - - ExecuteGraphInput executeGraphInput = new ExecuteGraphInput(); - ExecutegraphinputInput executeGraphData = new ExecutegraphinputInput(); - - executeGraphData.setModuleName("sli"); - executeGraphData.setRpcName("noSuchRPC"); - executeGraphData.setMode("sync"); - executeGraphInput.setInput(executeGraphData); - - String jsonString = mapToJson(executeGraphInput); - - log.error("jsonString is {}", jsonString); - - MvcResult mvcResult = - mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content(jsonString)) - .andReturn(); - - assertEquals(401, mvcResult.getResponse().getStatus()); - - } - - @Test - public void testTestResultAdd() throws Exception { - String url = "/restconf/config/SLI-API:test-results"; - - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(url)).andReturn(); - - assertEquals(200, mvcResult.getResponse().getStatus()); - - // Delete any existing content before testing insert - mvcResult = mvc.perform(MockMvcRequestBuilders.delete(url)).andReturn(); - assertEquals(200, mvcResult.getResponse().getStatus()); - - String jsonString = "{\n" + - " \"test-results\" : [\n" + - " {\n" + - " \"test-identifier\" : \"test-1\",\n" + - " \"results\" : [\"test result 1\"]\n" + - " }\n" + - " ]\n" + - "}"; - - mvcResult = mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content(jsonString)) - .andReturn(); - - assertEquals(200, mvcResult.getResponse().getStatus()); - - mvcResult = mvc.perform(MockMvcRequestBuilders.get(url)).andReturn(); - - assertEquals(200, mvcResult.getResponse().getStatus()); - assertEquals(jsonString.replaceAll("\\s+",""), mvcResult.getResponse().getContentAsString().replaceAll("\\s+","")); - } - - private String mapToJson(Object obj) throws JsonProcessingException { - ObjectMapper objectMapper = new ObjectMapper(); - return objectMapper.writeValueAsString(obj); - } - - private ResponseFields respFromJson(String jsonString) throws JsonProcessingException { - ObjectMapper objectMapper = new ObjectMapper(); - return (objectMapper.readValue(jsonString, ResponseFields.class)); - } -} diff --git a/sliapi/springboot/src/test/resources/DEMO_DEMO.xml b/sliapi/springboot/src/test/resources/DEMO_DEMO.xml deleted file mode 100755 index 1b304f18..00000000 --- a/sliapi/springboot/src/test/resources/DEMO_DEMO.xml +++ /dev/null @@ -1,35 +0,0 @@ -<service-logic
- xmlns='http://www.onap.org/sdnc/svclogic'
- xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='DEMO' version='1'>
- <method rpc='DEMO' mode='sync'>
- <block>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log" />
- <parameter name="level" value="error" />
- <parameter name="field1" value="Slf4jRecorder must be working!" />
- </record>
- <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">
- <parameter name="ctx-destination" value="requestID" />
- </execute>
- <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains" emitsOutcome='true' >
- <parameter name="source" value="TEAM" />
- <parameter name="target" value="I" />
- </execute>
- <execute plugin="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" method="readProperties" >
- <parameter name="fileName" value="%SDNC_CONFIG_DIR%/aaf.properties" />
- <parameter name="contextPrefix" value="tmp.props" />
- </execute>
- <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
- <parameter name="restapiUrl" value="http://127.0.0.1:8080/restconf/config/SLI-API:test-results/"/>
- <parameter name="restapiUser" value="admin"/>
- <parameter name="restapiPassword" value="test"/>
- <parameter name="format" value="json" />
- <parameter name="httpMethod" value="get" />
- <parameter name="responsePrefix" value="restapi-result" />
- </execute>
- <return status='success'>
- <parameter name='' value='' />
- </return>
- </block>
- </method>
-</service-logic>
\ No newline at end of file diff --git a/sliapi/springboot/src/test/resources/application.properties b/sliapi/springboot/src/test/resources/application.properties deleted file mode 100644 index dbe2633d..00000000 --- a/sliapi/springboot/src/test/resources/application.properties +++ /dev/null @@ -1,18 +0,0 @@ -springfox.documentation.swagger.v2.path=/api-docs -server.contextPath=/restconf -server.port=8080 -spring.jackson.date-format=org.onap.ccsdk.sli.core.sliapi.springboot.controllers.swagger.RFC3339DateFormat -spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false -logging.level.com.att=TRACE -logging.level.org.onap=TRACE -spring.datasource.url=jdbc:derby:sdnctl;create=true -spring.datasource.username=sli -spring.datasource.password=abc123 -spring.datasource.driver-class-name=org.apache.derby.jdbc.EmbeddedDriver -spring.datasource.testWhileIdle=true -spring.datasource.validationQuery=SELECT 1 -spring.jpa.show-sql=true -spring.jpa.hibernate.ddl-auto=update -spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyHbmImpl -spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy -spring.jpa.database=derby
\ No newline at end of file diff --git a/sliapi/springboot/src/test/resources/graph.versions b/sliapi/springboot/src/test/resources/graph.versions deleted file mode 100644 index d21278aa..00000000 --- a/sliapi/springboot/src/test/resources/graph.versions +++ /dev/null @@ -1,3 +0,0 @@ -sli healthcheck 0.7.0 sync -sli vlbcheck 0.7.0 sync -DEMO DEMO 1 sync diff --git a/sliapi/springboot/src/test/resources/log4j2.properties b/sliapi/springboot/src/test/resources/log4j2.properties deleted file mode 100644 index 40d18d15..00000000 --- a/sliapi/springboot/src/test/resources/log4j2.properties +++ /dev/null @@ -1,160 +0,0 @@ - #- - # ============LICENSE_START======================================================= - # ONAP - CCSDK - # ================================================================================ - # Copyright (C) 2020 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========================================================= - # - -property.logDir = ${sys:LOG_PATH:-./target} - -property.pattern = %d{ISO8601} | %-5p | %-16t | %-32c{1} | %X{currentGraph} - %X{nodeId} | %m%n - -#default mdc values -property.ServiceName = INTERNAL -property.ErrorCode = 900 -property.ErrorDesc = UnknownError - -rootLogger.level = INFO -rootLogger.appenderRef.AppFile.ref = AppFile -rootLogger.appenderRef.Console.ref = Console -rootLogger.appenderRef.DebugFile.ref = DebugFile -rootLogger.appenderRef.ErrorFile.ref = ErrorFile -rootLogger.appenderRef.Console.filter.threshold.type = ThresholdFilter -rootLogger.appenderRef.Console.filter.threshold.level = DEBUG - -appender.console.type = Console -appender.console.name = Console -appender.console.layout.type = PatternLayout -appender.console.layout.pattern = ${pattern} - -appender.app.type = RollingRandomAccessFile -appender.app.name = AppFile -appender.app.fileName = ${logDir}/app.log -appender.app.filePattern = ${logDir}/app.log.%i -appender.app.immediateFlush = true -appender.app.append = true -appender.app.layout.type = PatternLayout -appender.app.layout.pattern = ${pattern} -appender.app.policies.type = Policies -appender.app.policies.size.type = SizeBasedTriggeringPolicy -appender.app.policies.size.size = 10MB -appender.app.strategy.type = DefaultRolloverStrategy -appender.app.strategy.max = 100 -appender.app.strategy.fileIndex = min - -appender.debug.type = RollingRandomAccessFile -appender.debug.name = DebugFile -appender.debug.fileName = ${logDir}/debug.log -appender.debug.filePattern = ${logDir}/debug.log.%i -appender.debug.immediateFlush = true -appender.debug.append = true -appender.debug.layout.type = PatternLayout -appender.debug.layout.pattern = %d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|%-16.16t|%-5.5p|%-32.32c{1}|%X{currentGraph} - %X{nodeId}|%m%n -appender.debug.policies.type = Policies -appender.debug.policies.size.type = SizeBasedTriggeringPolicy -appender.debug.policies.size.size = 10MB -appender.debug.strategy.type = DefaultRolloverStrategy -appender.debug.strategy.max = 200 -appender.debug.strategy.fileIndex = min - -appender.error.type = RollingRandomAccessFile -appender.error.name = ErrorFile -appender.error.fileName = ${logDir}/error.log -appender.error.filePattern = ${logDir}/error.log.%i -appender.error.immediateFlush = true -appender.error.append = true -appender.error.layout.type = PatternLayout -appender.error.layout.pattern = %d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|%-16.16t|$${ctx:ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%p|$${ctx:ErrorCode}|$${ctx:ErrorDesc}|%m%n - -appender.error.policies.type = Policies -appender.error.policies.size.type = SizeBasedTriggeringPolicy -appender.error.policies.size.size = 10MB -appender.error.strategy.type = DefaultRolloverStrategy -appender.error.strategy.max = 100 -appender.error.strategy.fileIndex = min -appender.error.filter.threshold.type = ThresholdFilter -appender.error.filter.threshold.level = WARN - -appender.metric.type = RollingRandomAccessFile -appender.metric.name = MetricFile -appender.metric.fileName = ${logDir}/metric.log -appender.metric.filePattern = ${logDir}/metric.log.%i -appender.metric.immediateFlush = true -appender.metric.append = true -appender.metric.layout.type = PatternLayout -appender.metric.layout.pattern=%X{InvokeTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%-16.16t|%X{ServerFQDN}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceID}|%p|%X{Severity}|192.168.23.111|%X{ElapsedTime}|${hostName}|%X{ClientIPAddress}|%C{1}|||%X{TargetElement}|%markerSimpleName|%X|%X{currentGraph} - %X{nodeId}||%m%n -appender.metric.policies.type = Policies -appender.metric.policies.size.type = SizeBasedTriggeringPolicy -appender.metric.policies.size.size = 10MB -appender.metric.strategy.type = DefaultRolloverStrategy -appender.metric.strategy.max = 100 -appender.metric.strategy.fileIndex = min - -appender.audit.type = RollingRandomAccessFile -appender.audit.name = AuditFile -appender.audit.fileName = ${logDir}/audit.log -appender.audit.filePattern = ${logDir}/audit.log.%i -appender.audit.immediateFlush = true -appender.audit.append = true -appender.audit.layout.type = PatternLayout -appender.audit.layout.pattern=%X{EntryTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%-16.16t|%X{ServerFQDN}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceID}|INFO|%X{Severity}|192.168.23.111|%X{ElapsedTime}|${hostName}|%X{ClientIPAddress}|%C{1}|%X{AUDIT-Unused}|%X{AUDIT-ProcessKey}|%markerSimpleName|%X|||%m%n -appender.audit.policies.type = Policies -appender.audit.policies.size.type = SizeBasedTriggeringPolicy -appender.audit.policies.size.size = 10MB -appender.audit.strategy.type = DefaultRolloverStrategy -appender.audit.strategy.max = 200 -appender.audit.strategy.fileIndex = min - -appender.rr.name = RequestResponseFile -appender.rr.type = RollingRandomAccessFile -appender.rr.fileName = ${logDir}/request-response.log -appender.rr.filePattern = ${logDir}/request-response.log.%i -appender.rr.immediateFlush = true -appender.rr.append = true -appender.rr.layout.type = PatternLayout -appender.rr.layout.pattern = %d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|%X{PartnerName}|%m%n -appender.rr.policies.type = Policies -appender.rr.policies.size.type = SizeBasedTriggeringPolicy -appender.rr.policies.size.size = 10MB -appender.rr.strategy.type = DefaultRolloverStrategy -appender.rr.strategy.max = 100 -appender.rr.strategy.fileIndex = min - -logger.metric.name = org.onap.ccsdk.sli.core.filters.metric -logger.metric.level = INFO -logger.metric.additivity = false -logger.metric.appenderRef.MetricFile.ref = MetricFile - -logger.metric2.name = org.onap.logging.filter.base.AbstractMetricLogFilter -logger.metric2.level = INFO -logger.metric2.additivity = false -logger.metric2.appenderRef.MetricFile.ref = MetricFile - -logger.audit.name = org.onap.logging.filter.base.AbstractAuditLogFilter -logger.audit.level = INFO -logger.audit.additivity = false -logger.audit.appenderRef.AuditFile.ref = AuditFile - -logger.rr.name = org.onap.logging.filter.base.PayloadLoggingServletFilter -logger.rr.level = INFO -logger.rr.additivity = false -logger.rr.appenderRef.RequestResponseFile.ref = RequestResponseFile - -logger.ccsdk.name = org.onap.ccsdk -logger.ccsdk.level = DEBUG - -logger.onaplogging.name = org.onap.logging -logger.onaplogging.level = DEBUG
\ No newline at end of file diff --git a/sliapi/springboot/src/test/resources/shiro-users.properties b/sliapi/springboot/src/test/resources/shiro-users.properties deleted file mode 100644 index df4b1ae7..00000000 --- a/sliapi/springboot/src/test/resources/shiro-users.properties +++ /dev/null @@ -1,3 +0,0 @@ -user.admin = Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U,service -role.service = odl-api:* - diff --git a/sliapi/springboot/src/test/resources/sli_healthcheck.xml b/sliapi/springboot/src/test/resources/sli_healthcheck.xml deleted file mode 100644 index bc8e2f70..00000000 --- a/sliapi/springboot/src/test/resources/sli_healthcheck.xml +++ /dev/null @@ -1,27 +0,0 @@ -<!-- - ============LICENSE_START======================================================= - openECOMP : SDN-C - ================================================================================ - 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========================================================= - --> - -<service-logic xmlns="http://www.onap.org/sdnc/svclogic" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module='sli' version='0.7.0'><method rpc='healthcheck' mode='sync'> -<set> -<parameter name='error-code' value='200' /> -<parameter name='error-message' value='SDN-C is healthy'/> -<parameter name='ack-final' value='Y'/> -</set></method></service-logic> diff --git a/sliapi/springboot/src/test/resources/sli_vlbcheck.xml b/sliapi/springboot/src/test/resources/sli_vlbcheck.xml deleted file mode 100644 index 820a85c1..00000000 --- a/sliapi/springboot/src/test/resources/sli_vlbcheck.xml +++ /dev/null @@ -1,27 +0,0 @@ -<!-- - ============LICENSE_START======================================================= - openECOMP : SDN-C - ================================================================================ - 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========================================================= - --> - -<service-logic xmlns="http://www.onap.org/sdnc/svclogic" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module='sli' version='0.7.0'><method rpc='vlbcheck' mode='sync'> -<set> -<parameter name='error-code' value='200' /> -<parameter name='error-message' value='SDN-C is healthy'/> -<parameter name='ack-final' value='Y'/> -</set></method></service-logic> diff --git a/sliapi/springboot/src/test/resources/svclogic.properties b/sliapi/springboot/src/test/resources/svclogic.properties deleted file mode 100644 index 1d90ab9b..00000000 --- a/sliapi/springboot/src/test/resources/svclogic.properties +++ /dev/null @@ -1,29 +0,0 @@ -### -# ============LICENSE_START======================================================= -# ONAP : CCSDK -# ================================================================================ -# 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========================================================= -### - -org.onap.ccsdk.sli.dbtype = jdbc -org.onap.ccsdk.sli.jdbc.url=jdbc:derby:memory:sdnctl;create=true -org.onap.ccsdk.sli.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver -org.onap.ccsdk.sli.jdbc.database = sdnctl -org.onap.ccsdk.sli.jdbc.user = test -org.onap.ccsdk.sli.jdbc.password = test - -sliapi.serviceLogicDirectory=/opt/onap/sdnc/svclogic/graphs |