From 0d97a835fa2052ded5a31e8921baf641c8e9bb57 Mon Sep 17 00:00:00 2001 From: Kanagaraj Manickam k00365106 Date: Mon, 11 Dec 2017 20:34:44 +0530 Subject: Make Http as separate plugin Issue-ID: CLI-66 Change-Id: I8ad78f417f6dbb00e29effdd3ed8ec1939aee81d Signed-off-by: Kanagaraj Manickam k00365106 --- products/sample/pom.xml | 41 ++++++++++++++++++ .../org/onap/cli/sample/OnapHelloWorldCommand.java | 46 +++++++++++++++++++++ .../services/org.onap.cli.fw.cmd.OnapCommand | 1 + .../open-cli-schema/hello-world-http.yaml | 48 ++++++++++++++++++++++ .../resources/open-cli-schema/hello-world.yaml | 28 +++++++++++++ 5 files changed, 164 insertions(+) create mode 100644 products/sample/pom.xml create mode 100644 products/sample/src/main/java/org/onap/cli/sample/OnapHelloWorldCommand.java create mode 100644 products/sample/src/main/resources/META-INF/services/org.onap.cli.fw.cmd.OnapCommand create mode 100644 products/sample/src/main/resources/open-cli-schema/hello-world-http.yaml create mode 100644 products/sample/src/main/resources/open-cli-schema/hello-world.yaml (limited to 'products/sample') diff --git a/products/sample/pom.xml b/products/sample/pom.xml new file mode 100644 index 00000000..bcd4fbed --- /dev/null +++ b/products/sample/pom.xml @@ -0,0 +1,41 @@ + + + + + 4.0.0 + + + org.onap.cli + cli-products + 2.0.0 + + + cli-products-sample + cli/products/sample + jar + + + + org.apache.maven.plugins + maven-dependency-plugin + + + + diff --git a/products/sample/src/main/java/org/onap/cli/sample/OnapHelloWorldCommand.java b/products/sample/src/main/java/org/onap/cli/sample/OnapHelloWorldCommand.java new file mode 100644 index 00000000..39311998 --- /dev/null +++ b/products/sample/src/main/java/org/onap/cli/sample/OnapHelloWorldCommand.java @@ -0,0 +1,46 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * 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. + */ + +package org.onap.cli.sample; + +import java.util.Map; + +import org.onap.cli.fw.cmd.OnapCommand; +import org.onap.cli.fw.error.OnapCommandException; +import org.onap.cli.fw.input.OnapCommandParameter; +import org.onap.cli.fw.schema.OnapCommandSchema; + +/** + * Hello world. + */ +@OnapCommandSchema(schema = "hello-world.yaml") +public class OnapHelloWorldCommand extends OnapCommand { + + @Override + protected void run() throws OnapCommandException { + //Read the input arguments + Map paramMap = getParametersMap(); + OnapCommandParameter nameP = paramMap.get("name"); + String name = String.valueOf(nameP.getValue()); + + //Process command + String output = "Hello " + name; + + //Populate outputs + this.getResult().getRecordsMap().get("output").getValues().add(output); + } + +} diff --git a/products/sample/src/main/resources/META-INF/services/org.onap.cli.fw.cmd.OnapCommand b/products/sample/src/main/resources/META-INF/services/org.onap.cli.fw.cmd.OnapCommand new file mode 100644 index 00000000..dfd6b3de --- /dev/null +++ b/products/sample/src/main/resources/META-INF/services/org.onap.cli.fw.cmd.OnapCommand @@ -0,0 +1 @@ +org.onap.cli.sample.OnapHelloWorldCommand \ No newline at end of file diff --git a/products/sample/src/main/resources/open-cli-schema/hello-world-http.yaml b/products/sample/src/main/resources/open-cli-schema/hello-world-http.yaml new file mode 100644 index 00000000..7acba741 --- /dev/null +++ b/products/sample/src/main/resources/open-cli-schema/hello-world-http.yaml @@ -0,0 +1,48 @@ +open_cli_schema_version: 1.0 + +name: hello-world-http + +description: | + First cmd hello world using http runing under + lighttpd in cli at http://:8080/version.json + +info: + product: sample-helloworld + service: hello-world + author: ONAP CLI Team onap-discuss@lists.onap.org + +parameters: + - name: name + description: name of the person + long_option: name + short_option: b + default_value: ${DEMO_NAME} + type: string + is_optional: false + +results: + direction: landscape + attributes: + - name: output + description: hello world output + type: string + scope: short + +http: + service: + name: sample-service + version: 1.0.0 + auth: none + mode: direct + + request: + uri: /version.json + method: GET + success_codes: + - 200 + - 201 + result_map: + output: Hello ${name}, You are running on $b{$.name} $b{$.version} + + sample_response: + body: {"name": "oclip", "version": "1.0"} \ No newline at end of file diff --git a/products/sample/src/main/resources/open-cli-schema/hello-world.yaml b/products/sample/src/main/resources/open-cli-schema/hello-world.yaml new file mode 100644 index 00000000..e87e6dff --- /dev/null +++ b/products/sample/src/main/resources/open-cli-schema/hello-world.yaml @@ -0,0 +1,28 @@ +open_cli_schema_version: 1.0 + +name: hello-world + +description: First cmd hello world + +info: + product: sample-helloworld + service: hello-world + author: ONAP CLI Team onap-discuss@lists.onap.org + +parameters: + - name: name + description: name of the person + long_option: name + short_option: b + default_value: ${env:DEMO_NAME} + type: string + is_optional: false + +results: + direction: landscape + attributes: + - name: output + description: hello world output + type: string + scope: short + -- cgit 1.2.3-korg