From f60eabf0527a3b800d63e4c59097e49bb860fb16 Mon Sep 17 00:00:00 2001 From: Kanagaraj Manickam k00365106 Date: Sat, 23 Sep 2017 21:58:32 +0530 Subject: Add sample plugin CLI-48 Change-Id: Iaef4fec04df0eaedf84616bdcaf03612627feb8c Signed-off-by: Kanagaraj Manickam k00365106 --- plugins/sample/pom.xml | 41 ++++++++++++++++++++ .../org/onap/cli/sample/OnapHelloWorldCommand.java | 45 ++++++++++++++++++++++ .../META-INF/services/org.onap.cli.fw.OnapCommand | 1 + .../onap-cli-schema/hello-world-http.yaml | 43 +++++++++++++++++++++ .../resources/onap-cli-schema/hello-world.yaml | 31 +++++++++++++++ 5 files changed, 161 insertions(+) create mode 100644 plugins/sample/pom.xml create mode 100644 plugins/sample/src/main/java/org/onap/cli/sample/OnapHelloWorldCommand.java create mode 100644 plugins/sample/src/main/resources/META-INF/services/org.onap.cli.fw.OnapCommand create mode 100644 plugins/sample/src/main/resources/onap-cli-schema/hello-world-http.yaml create mode 100644 plugins/sample/src/main/resources/onap-cli-schema/hello-world.yaml (limited to 'plugins/sample') diff --git a/plugins/sample/pom.xml b/plugins/sample/pom.xml new file mode 100644 index 00000000..2283e9f0 --- /dev/null +++ b/plugins/sample/pom.xml @@ -0,0 +1,41 @@ + + + + + 4.0.0 + + + org.onap.cli + cli-plugins + 1.0.0-SNAPSHOT + + + cli-plugins-sample + cli/plugins/sample + jar + + + + org.apache.maven.plugins + maven-dependency-plugin + + + + diff --git a/plugins/sample/src/main/java/org/onap/cli/sample/OnapHelloWorldCommand.java b/plugins/sample/src/main/java/org/onap/cli/sample/OnapHelloWorldCommand.java new file mode 100644 index 00000000..01d9da19 --- /dev/null +++ b/plugins/sample/src/main/java/org/onap/cli/sample/OnapHelloWorldCommand.java @@ -0,0 +1,45 @@ +/* + * 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.OnapCommand; +import org.onap.cli.fw.OnapCommandSchema; +import org.onap.cli.fw.error.OnapCommandException; +import org.onap.cli.fw.input.OnapCommandParameter; + +/** + * Hello world. + */ +@OnapCommandSchema(name = "hello-world", version = "sample-1.0", 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/plugins/sample/src/main/resources/META-INF/services/org.onap.cli.fw.OnapCommand b/plugins/sample/src/main/resources/META-INF/services/org.onap.cli.fw.OnapCommand new file mode 100644 index 00000000..dfd6b3de --- /dev/null +++ b/plugins/sample/src/main/resources/META-INF/services/org.onap.cli.fw.OnapCommand @@ -0,0 +1 @@ +org.onap.cli.sample.OnapHelloWorldCommand \ No newline at end of file diff --git a/plugins/sample/src/main/resources/onap-cli-schema/hello-world-http.yaml b/plugins/sample/src/main/resources/onap-cli-schema/hello-world-http.yaml new file mode 100644 index 00000000..64144d37 --- /dev/null +++ b/plugins/sample/src/main/resources/onap-cli-schema/hello-world-http.yaml @@ -0,0 +1,43 @@ +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 + +version: sample-1.0 + +service: + name: sample-service + version: 1.0.0 + auth: none + mode: direct + +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: + 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/plugins/sample/src/main/resources/onap-cli-schema/hello-world.yaml b/plugins/sample/src/main/resources/onap-cli-schema/hello-world.yaml new file mode 100644 index 00000000..9a2c6b67 --- /dev/null +++ b/plugins/sample/src/main/resources/onap-cli-schema/hello-world.yaml @@ -0,0 +1,31 @@ +open_cli_schema_version: 1.0 + +name: hello-world + +description: First cmd hello world + +version: sample-1.0 + +service: + name: sample-service + version: 1.0.0 + auth: none + mode: direct + +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 + -- cgit 1.2.3-korg