diff options
Diffstat (limited to 'framework')
3 files changed, 84 insertions, 70 deletions
diff --git a/framework/src/main/java/org/onap/cli/fw/schema/OnapCommandSchemaMerger.java b/framework/src/main/java/org/onap/cli/fw/schema/OnapCommandSchemaMerger.java index 7e0d40ee..d8f29800 100644 --- a/framework/src/main/java/org/onap/cli/fw/schema/OnapCommandSchemaMerger.java +++ b/framework/src/main/java/org/onap/cli/fw/schema/OnapCommandSchemaMerger.java @@ -77,9 +77,10 @@ public class OnapCommandSchemaMerger { public static void mergeYamlMap(Map<String, Object> mergedResult, Map<String, Object> yamlContents) { if (yamlContents == null) return; - for (String key : yamlContents.keySet()) { + for (Map.Entry<String,Object> entry : yamlContents.entrySet()) { - Object yamlValue = yamlContents.get(key); + String key = entry.getKey(); + Object yamlValue = entry.getValue(); if (yamlValue == null) { mergedResult.put(key, yamlValue); continue; 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 e72327fe..91f45f02 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 @@ -55,6 +55,8 @@ public class OnapCommandExecutionStore { private static final String FAILED = "failed"; private static final String EXECUTIONID = "execution-id"; private static final String REQUESTID = "request-id"; + private static final String OS_NAME = "os.name"; + private static final String WINDOWS = "windows"; private SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.US); @@ -338,78 +340,89 @@ public class OnapCommandExecutionStore { log.error("Failed to store the execution output details {}", context.storePath); } } - public List<OnapCommandExecutionStore.Execution> listExecutions(Map<String, String> search) throws OnapCommandExecutionFailed { - List <OnapCommandExecutionStore.Execution> list = new ArrayList<>(); - try { - List <String> dirs = new ArrayList<>(); - if (System.getProperty("os.name").toLowerCase().startsWith("windows") || searchMode.equals(SearchMode.FILE)) { - for (File f: new File(getBasePath()).listFiles()) { - if(search.containsKey(EXECUTIONID)) { - if (f.getName().startsWith(search.get(EXECUTIONID))) - dirs.add(f.getAbsolutePath()); + public List <String> listExecutionsWindows(Map<String, String> search, List <String> dirs){ + for (File f: new File(getBasePath()).listFiles()) { + if(search.containsKey(EXECUTIONID)) { + if (f.getName().startsWith(search.get(EXECUTIONID))) + dirs.add(f.getAbsolutePath()); + + continue; + } + + if(search.containsKey(REQUESTID)) { + if (f.getName().startsWith(search.get(REQUESTID))) + dirs.add(f.getAbsolutePath()); + + } + + else + dirs.add(f.getAbsolutePath()); + } + return dirs; + } + + public List <String> searchAndListExecutions(Map<String, String> search, List <String> dirs) throws OnapCommandExecutionFailed, IOException, InterruptedException { + StringBuilder searchString = new StringBuilder("find " + new File(getBasePath()).getAbsolutePath() + " -type d "); + + String startTime = search.get("startTime"); + if (startTime != null) { + searchString.append(" -newermt " + startTime); + } + + String endTime = search.get("endTime"); + if (endTime != null) { + searchString.append(" ! -newermt " + endTime); + } + + searchString.append(" -name \""); - continue; - } + if(search.containsKey(EXECUTIONID)) { + searchString.append(search.get(EXECUTIONID)); + } else if(search.containsKey(REQUESTID)) { + searchString.append(search.get(REQUESTID) + "*"); + } else { + searchString.append("*"); + } - if(search.containsKey(REQUESTID)) { - if (f.getName().startsWith(search.get(REQUESTID))) - dirs.add(f.getAbsolutePath()); + for (String term: Arrays.asList("product", "service", "command", "profile")) { + searchString.append("__"); + if (search.get(term) != null && !search.get(term).isEmpty()) { + searchString.append(search.get(term)); + } else { + searchString.append("*"); + } + } + if (!searchString.toString().endsWith("*")) + searchString.append("*"); + + searchString.append("\""); + + ProcessRunner pr = new ProcessRunner(new String [] {searchString.toString()}, null, "."); + pr.setTimeout(10000); + pr.overrideToUnix(); + pr.run(); + if (pr.getExitCode() != 0) { + throw new OnapCommandExecutionFailed("System failed to search the executions with error " + pr.getError()); + } - } + if (!pr.getOutput().trim().isEmpty()) + dirs = Arrays.asList(pr.getOutput().split("\\r?\\n")); - else - dirs.add(f.getAbsolutePath()); - } + return dirs; + } + + public List<OnapCommandExecutionStore.Execution> listExecutions(Map<String, String> search) throws OnapCommandExecutionFailed { + List <OnapCommandExecutionStore.Execution> list = new ArrayList<>(); + + try { + List <String> dirs = new ArrayList<>(); + if (System.getProperty(OS_NAME).toLowerCase().startsWith(WINDOWS) || searchMode.equals(SearchMode.FILE)) { + dirs = listExecutionsWindows(search, dirs); } 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*" - - StringBuilder searchString = new StringBuilder("find " + new File(getBasePath()).getAbsolutePath() + " -type d "); - - String startTime = search.get("startTime"); - if (startTime != null) { - searchString.append(" -newermt " + startTime); - } - - String endTime = search.get("endTime"); - if (endTime != null) { - searchString.append(" ! -newermt " + endTime); - } - - searchString.append(" -name \""); - - if(search.containsKey(EXECUTIONID)) { - searchString.append(search.get(EXECUTIONID)); - } else if(search.containsKey(REQUESTID)) { - searchString.append(search.get(REQUESTID) + "*"); - } else { - searchString.append("*"); - } - - for (String term: Arrays.asList("product", "service", "command", "profile")) { - searchString.append("__"); - if (search.get(term) != null && !search.get(term).isEmpty()) { - searchString.append(search.get(term)); - } else { - searchString.append("*"); - } - } - if (!searchString.toString().endsWith("*")) - searchString.append("*"); - - searchString.append("\""); - - ProcessRunner pr = new ProcessRunner(new String [] {searchString.toString()}, null, "."); - pr.setTimeout(10000); - pr.overrideToUnix(); - pr.run(); - if (pr.getExitCode() != 0) { - throw new OnapCommandExecutionFailed("System failed to search the executions with error " + pr.getError()); - } - - if (!pr.getOutput().trim().isEmpty()) - dirs = Arrays.asList(pr.getOutput().split("\\r?\\n")); + dirs = searchAndListExecutions(search, dirs); } for (String dir: dirs) { @@ -470,7 +483,7 @@ public class OnapCommandExecutionStore { public String showExecutionOut(String executionId) throws OnapCommandExecutionNotFound { try { - return FileUtils.readFileToString(new File (this.getExecutionDir(executionId).getAbsolutePath() + File.separator + "stdout")); + return FileUtils.readFileToString(new File (this.getExecutionDir(executionId).getAbsolutePath() + File.separator + STDOUT)); } catch (IOException e) { return ""; } @@ -478,7 +491,7 @@ public class OnapCommandExecutionStore { public String showExecutionErr(String executionId) throws OnapCommandExecutionNotFound { try { - return FileUtils.readFileToString(new File (this.getExecutionDir(executionId).getAbsolutePath() + File.separator + "stderr")); + return FileUtils.readFileToString(new File (this.getExecutionDir(executionId).getAbsolutePath() + File.separator + STDERR)); } catch (IOException e) { return ""; } diff --git a/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandDiscoveryUtils.java b/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandDiscoveryUtils.java index b2bbfd47..c970e3ab 100644 --- a/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandDiscoveryUtils.java +++ b/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandDiscoveryUtils.java @@ -338,7 +338,7 @@ public class OnapCommandDiscoveryUtils { if (!schema.getVersion().equalsIgnoreCase(OnapCommandConstants.OPEN_CLI_SCHEMA_VERSION_VALUE_1_0)) { String schemaURI = schema.getSchemaURI(); - OnapCommandUtils.log.info("Unsupported Schema version found {} " + schemaURI); + OnapCommandUtils.log.info("Unsupported Schema version found {} ", schemaURI); } else{ @@ -556,7 +556,7 @@ public class OnapCommandDiscoveryUtils { * @throws OnapCommandInvalidSchema * exception */ - public static Map<String, ?> loadYaml(Resource resource, boolean ignoreInvalidSchema) throws OnapCommandInvalidSchema, IOException { + public static Map<String, ?> loadYaml(Resource resource, boolean ignoreInvalidSchema) throws OnapCommandInvalidSchema, IOException {//NOSONAR Map<String, ?> values = null; try { values = loadYaml(resource.getInputStream()); |