diff options
author | Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com> | 2017-12-11 20:34:44 +0530 |
---|---|---|
committer | Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com> | 2017-12-12 15:48:55 +0530 |
commit | 0d97a835fa2052ded5a31e8921baf641c8e9bb57 (patch) | |
tree | 800584529f77c8ff26f05a73abd3fa71205a69a7 /products/sample | |
parent | 03c54a40daf75644ec0bcbc73636e3eb427c1604 (diff) |
Make Http as separate plugin
Issue-ID: CLI-66
Change-Id: I8ad78f417f6dbb00e29effdd3ed8ec1939aee81d
Signed-off-by: Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
Diffstat (limited to 'products/sample')
5 files changed, 164 insertions, 0 deletions
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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. + --> + +<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.cli</groupId> + <artifactId>cli-products</artifactId> + <version>2.0.0</version> + </parent> + + <artifactId>cli-products-sample</artifactId> + <name>cli/products/sample</name> + <packaging>jar</packaging> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + </plugin> + </plugins> + </build> +</project> 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<String, OnapCommandParameter> 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://<cli-ip>: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 + |