in java-local/src/main/java/openwhisk/java/local/CLI.java [95:120]
private static JsonObject readParameters(CLI cli) {
if (cli.parameters == null || cli.parameters.isEmpty()) {
ExecutorService ex = Executors.newSingleThreadExecutor();
Future<JsonObject> result = ex.submit(() -> {
try(JsonReader reader = new JsonReader(new InputStreamReader(System.in))){
reader.setLenient(true);
JsonParser parser = new JsonParser();
JsonElement element = parser.parse(reader);
return element.getAsJsonObject();
}
});
try {
return result.get(1, TimeUnit.SECONDS);
} catch (InterruptedException | ExecutionException | TimeoutException e) {
result.cancel(true);
return new JsonObject();
}
} else {
JsonObject o = new JsonObject();
cli.parameters.forEach((name, value) -> {
o.addProperty(name, value);
});
return o;
}
}