summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKanagaraj M <mkr1481@gmail.com>2019-09-05 18:43:33 +0530
committerKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>2019-09-05 19:11:01 +0530
commitda1dbc7caabb874832ac417430d529cc861f537a (patch)
tree91c41960ad24d54210e34de1f711fc22bfb2a15b
parenta050aba6575423744b4d34df79aac857c25547ef (diff)
Make the search more flexible
Issue-ID: CLI-166 Change-Id: Ib00fe8325e46f30c773f9c886e08e21996ac18be Signed-off-by: Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
-rw-r--r--deployment/zip/src/main/release/conf/open-cli.properties2
-rw-r--r--framework/src/main/java/org/onap/cli/fw/store/OnapCommandExecutionStore.java25
-rw-r--r--framework/src/test/resources/open-cli.properties49
-rw-r--r--profiles/command/src/main/java/org/onap/cli/fw/cmd/cmd/OpenCommandShellCmd.java4
4 files changed, 72 insertions, 8 deletions
diff --git a/deployment/zip/src/main/release/conf/open-cli.properties b/deployment/zip/src/main/release/conf/open-cli.properties
index 76048e69..47df222a 100644
--- a/deployment/zip/src/main/release/conf/open-cli.properties
+++ b/deployment/zip/src/main/release/conf/open-cli.properties
@@ -20,7 +20,7 @@ cli.artifact.dir=$s{env:OPEN_CLI_HOME}/data/artifacts
cli.tmp.dir=$s{env:OPEN_CLI_HOME}/data/tmp
#timeout in seconds
cli.grpc.client.timeout=60
-cli.execution.search.mode=find
+cli.execution.search.mode=file
#schema validation
cli.schema.base.sections=open_cli_schema_version,name,description,parameters,results,info
diff --git a/framework/src/main/java/org/onap/cli/fw/store/OnapCommandExecutionStore.java b/framework/src/main/java/org/onap/cli/fw/store/OnapCommandExecutionStore.java
index d032a99c..e8b43891 100644
--- a/framework/src/main/java/org/onap/cli/fw/store/OnapCommandExecutionStore.java
+++ b/framework/src/main/java/org/onap/cli/fw/store/OnapCommandExecutionStore.java
@@ -214,7 +214,7 @@ public class OnapCommandExecutionStore {
String storePath = getBasePath() + File.separator + executionId + SEPARATOR + product +
SEPARATOR + service +
SEPARATOR + cmd +
- (profile != null ? (SEPARATOR + profile) : "" );
+ SEPARATOR + (profile != null ? profile : "" );
try {
File dir = new File(storePath);
@@ -319,9 +319,25 @@ public class OnapCommandExecutionStore {
try {
List <String> dirs = new ArrayList<>();
- if (SEARCH_MODE.equals(SearchMode.file)) {
- for (File f: new File(getBasePath()).listFiles())
- dirs.add(f.getAbsolutePath());
+ if (System.getProperty("os.name").toLowerCase().startsWith("windows") || SEARCH_MODE.equals(SearchMode.file)) {
+ for (File f: new File(getBasePath()).listFiles()) {
+ if(search.containsKey("execution-id")) {
+ if (f.getName().startsWith(search.get("execution-id")))
+ dirs.add(f.getAbsolutePath());
+
+ continue;
+ }
+
+ if(search.containsKey("request-id")) {
+ if (f.getName().startsWith(search.get("request-id")))
+ dirs.add(f.getAbsolutePath());
+
+ continue;
+ }
+
+ else
+ dirs.add(f.getAbsolutePath());
+ }
} else {
//find results -type d -newermt '2019-02-11 10:00:00' ! -newermt '2019-02-11 15:10:00' -name "*__*__profile-list*"
//find 'results' -type d -newermt '2019-02-11T10:00:00.000' ! -newermt '2019-02-11T15:10:00.000' -name "*__*__profile*"
@@ -388,7 +404,6 @@ public class OnapCommandExecutionStore {
if (new File(executionStorePath + File.separator + "executionId").exists())
exectuion.setId(FileUtils.readFileToString(new File(executionStorePath + File.separator + "executionId")));
exectuion.setProduct(FileUtils.readFileToString(new File(executionStorePath + File.separator + "product")));
- exectuion.setProfile(FileUtils.readFileToString(new File(executionStorePath + File.separator + "profile")));
exectuion.setService(FileUtils.readFileToString(new File(executionStorePath + File.separator + "service")));
exectuion.setCommand(FileUtils.readFileToString(new File(executionStorePath + File.separator + "command")));
if (new File(executionStorePath + File.separator + "profile").exists())
diff --git a/framework/src/test/resources/open-cli.properties b/framework/src/test/resources/open-cli.properties
new file mode 100644
index 00000000..bd8a6acf
--- /dev/null
+++ b/framework/src/test/resources/open-cli.properties
@@ -0,0 +1,49 @@
+# 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.
+
+cli.product_name=open-cli
+cli.version=3.0.0
+cli.discover_always=false
+cli.data.dir=./data
+cli.artifact.dir=./data/artifacts
+cli.tmp.dir=./data/tmp
+#timeout in seconds
+cli.grpc.client.timeout=60
+cli.execution.search.mode=file
+#schema validation
+cli.schema.base.sections=open_cli_schema_version,name,description,parameters,results,info
+cli.schema.base.sections.mandatory=open_cli_schema_version
+
+cli.schema.base.info.sections=product,service,type,author,ignore,state
+cli.schema.base.info.sections.mandatory=product,service
+
+cli.schema.base.parameters.sections=name,description,type,short_option,long_option, is_optional,default_value,is_secured,is_include,is_default_param
+cli.schema.base.parameters.sections.mandatory=name,description,type
+
+cli.schema.base.results.sections=name,description,scope,type,is_secured, default_value
+cli.schema.base.results.sections.mandatory=name, description, type, scope
+
+cli.schema.boolean_values=true,false
+cli.schema.command.type=cmd,auth,catalog
+
+# moco properties
+cli.sample.gen.enable=false
+cli.sample.gen.target=./open-cli-sample
+
+# mrkanag Move this to db, once exteranl command registration is supported in place of discovery
+cli.schema.profile.available=http,snmp,cmd
+
+#other properties to load (it should be hanled when plugins are made as externally register-able
+#when command plugin management support is enabled in oclip
+cli.schema.profile.confs= \ No newline at end of file
diff --git a/profiles/command/src/main/java/org/onap/cli/fw/cmd/cmd/OpenCommandShellCmd.java b/profiles/command/src/main/java/org/onap/cli/fw/cmd/cmd/OpenCommandShellCmd.java
index bc864529..3d2d4e4f 100644
--- a/profiles/command/src/main/java/org/onap/cli/fw/cmd/cmd/OpenCommandShellCmd.java
+++ b/profiles/command/src/main/java/org/onap/cli/fw/cmd/cmd/OpenCommandShellCmd.java
@@ -238,7 +238,7 @@ public class OpenCommandShellCmd extends OnapCommand {
}
if (this.output.equals("$stdout")) {
- if (pr.getStdout() != null) {
+ if (this.getExecutionContext() != null) {
try (FileInputStream is = new FileInputStream(this.getStdoutPath())){
outputValue = pr.streamToString(is);
} catch (IOException e) {
@@ -248,7 +248,7 @@ public class OpenCommandShellCmd extends OnapCommand {
outputValue = pr.getOutput();
} else if (this.output.equals("$stderr")) {
- if (pr.getStderr() != null) {
+ if (this.getExecutionContext() != null) {
try (FileInputStream is = new FileInputStream(this.getStderrPath())) {
outputValue = pr.streamToString(is);
} catch (IOException e) {