aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src
diff options
context:
space:
mode:
authorKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>2018-09-05 11:30:36 +0530
committerKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>2018-09-05 12:04:39 +0530
commit0c60b45c8dfed2d3b66e36fd25aae6a100351f96 (patch)
treedf58eed862ca8c1e4a35f150277f41721dee35c4 /framework/src
parent6892f5ccd2395eac8c9ed8272a6afb547d1e289f (diff)
VTP: Add schema-list command
To list the commands available under given product Issue-ID: VNFSDK-305 Change-Id: I932b1cebd9d2493b175814c67a63b5c8267288ab Signed-off-by: Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
Diffstat (limited to 'framework/src')
-rw-r--r--framework/src/main/java/org/onap/cli/fw/cmd/OnapSchemaListCommand.java58
-rw-r--r--framework/src/main/resources/META-INF/services/org.onap.cli.fw.cmd.OnapCommand3
-rw-r--r--framework/src/main/resources/open-cli-schema/schema-list.yaml55
-rw-r--r--framework/src/test/java/org/onap/cli/fw/utils/OnapCommandUtilsTest.java2
4 files changed, 116 insertions, 2 deletions
diff --git a/framework/src/main/java/org/onap/cli/fw/cmd/OnapSchemaListCommand.java b/framework/src/main/java/org/onap/cli/fw/cmd/OnapSchemaListCommand.java
new file mode 100644
index 00000000..bbd350b7
--- /dev/null
+++ b/framework/src/main/java/org/onap/cli/fw/cmd/OnapSchemaListCommand.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2018 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.fw.cmd;
+
+import java.util.List;
+
+import org.onap.cli.fw.error.OnapCommandException;
+import org.onap.cli.fw.schema.OnapCommandSchema;
+import org.onap.cli.fw.schema.OnapCommandSchemaInfo;
+import org.onap.cli.fw.utils.OnapCommandDiscoveryUtils;
+
+/**
+ * Refresh external schema.
+ *
+ */
+@OnapCommandSchema(schema = "schema-list.yaml")
+public class OnapSchemaListCommand extends OnapCommand {
+
+ @Override
+ protected void run() throws OnapCommandException {
+
+ String product = getParametersMap().get("product").getValue().toString();
+
+ List<OnapCommandSchemaInfo> schemas = OnapCommandDiscoveryUtils.discoverOrLoadSchemas(true);
+ int i = 0;
+ for (OnapCommandSchemaInfo schema : schemas) {
+ if (schema.isIgnore()) {
+ continue;
+ }
+
+ if (schema.getProduct().equalsIgnoreCase(product)) {
+ i++;
+
+ this.getResult().getRecordsMap().get("sr.no").getValues().add(String.valueOf(i));
+ this.getResult().getRecordsMap().get("command").getValues().add(schema.getCmdName());
+ this.getResult().getRecordsMap().get("schema").getValues().add(schema.getSchemaName());
+ this.getResult().getRecordsMap().get("ocs-version").getValues().add(schema.getVersion());
+
+ this.getResult().getRecordsMap().get("type").getValues().add(schema.getSchemaProfile());
+ }
+ }
+ }
+
+}
diff --git a/framework/src/main/resources/META-INF/services/org.onap.cli.fw.cmd.OnapCommand b/framework/src/main/resources/META-INF/services/org.onap.cli.fw.cmd.OnapCommand
index 285f8f38..85294cbb 100644
--- a/framework/src/main/resources/META-INF/services/org.onap.cli.fw.cmd.OnapCommand
+++ b/framework/src/main/resources/META-INF/services/org.onap.cli.fw.cmd.OnapCommand
@@ -13,4 +13,5 @@
# limitations under the License.
org.onap.cli.fw.cmd.OnapSchemaValidateCommand
-org.onap.cli.fw.cmd.OnapSchemaRefreshCommand \ No newline at end of file
+org.onap.cli.fw.cmd.OnapSchemaRefreshCommand
+org.onap.cli.fw.cmd.OnapSchemaListCommand \ No newline at end of file
diff --git a/framework/src/main/resources/open-cli-schema/schema-list.yaml b/framework/src/main/resources/open-cli-schema/schema-list.yaml
new file mode 100644
index 00000000..44172d75
--- /dev/null
+++ b/framework/src/main/resources/open-cli-schema/schema-list.yaml
@@ -0,0 +1,55 @@
+# Copyright 2018 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.
+
+open_cli_schema_version: 1.0
+name: schema-list
+description: OCLIP command to list available schema
+
+info:
+ product: open-cli
+ service: schema
+ type: cmd
+ author: Kanagaraj Manickam kanagaraj.manickam@huawei.com
+
+parameters:
+ - name: product
+ type: string
+ description: For a given product version
+ short_option: l
+ long_option: product
+ is_optional: false
+
+results:
+ direction: landscape
+ attributes:
+ - name: sr.no
+ description: Serial Number
+ scope: short
+ type: string
+ - name: command
+ description: Command name
+ scope: short
+ type: string
+ - name: schema
+ description: Schema name
+ scope: short
+ type: string
+ - name: ocs-version
+ description: Schema version
+ scope: short
+ type: string
+ - name: type
+ description: Command type
+ scope: short
+ type: string \ No newline at end of file
diff --git a/framework/src/test/java/org/onap/cli/fw/utils/OnapCommandUtilsTest.java b/framework/src/test/java/org/onap/cli/fw/utils/OnapCommandUtilsTest.java
index c038e2dc..dd956b93 100644
--- a/framework/src/test/java/org/onap/cli/fw/utils/OnapCommandUtilsTest.java
+++ b/framework/src/test/java/org/onap/cli/fw/utils/OnapCommandUtilsTest.java
@@ -242,7 +242,7 @@ public class OnapCommandUtilsTest {
@Test
public void findOnapCommandsTest() {
List<Class<OnapCommand>> cmds = OnapCommandDiscoveryUtils.discoverCommandPlugins();
- assertTrue(cmds.size() == 3);
+ assertTrue(cmds.size() == 4);
}
@Test