aboutsummaryrefslogtreecommitdiffstats
path: root/src/sch/util.clj
diff options
context:
space:
mode:
authorMichael Hwang <mhwang@research.att.com>2016-10-17 17:32:25 -0400
committerMichael Hwang <mhwang@research.att.com>2017-08-23 13:43:09 -0400
commit16a9c5b8c6b91ea856450d99cdfa6a18c57b7f1b (patch)
tree14e7baadd42e8d8dcfa9e9b177b1bb6f05d8522a /src/sch/util.clj
parent5c203e2c84b5ebcb0eb827038b370fb962595745 (diff)
Make first commit
Change-Id: I7dd166e4052d48e2b333cfaadb8a0b64009b2cbc Issue-Id: DCAEGEN2-44 Signed-off-by: Michael Hwang <mhwang@research.att.com>
Diffstat (limited to 'src/sch/util.clj')
-rw-r--r--src/sch/util.clj48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/sch/util.clj b/src/sch/util.clj
new file mode 100644
index 0000000..f5b0bc2
--- /dev/null
+++ b/src/sch/util.clj
@@ -0,0 +1,48 @@
+; ============LICENSE_START=======================================================
+; org.onap.dcae
+; ================================================================================
+; Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+; ================================================================================
+; 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.
+; ============LICENSE_END=========================================================
+;
+; ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+(ns sch.util
+ (:require [clj-http.client :as client]
+ [clj-yaml.core :as yaml]
+ [cheshire.core :refer [parse-string]]
+ )
+ (:gen-class))
+
+
+(defn- read-config-http-json
+ [config-url]
+ (let [resp (client/get config-url)]
+ (if (= (:status resp) 200)
+ (parse-string (:body resp) true)
+ )))
+
+(defn read-config
+ "Read configuration from file or from an http server
+
+ Returns a native map representation of the configuration"
+ [config-path]
+ (letfn [(is-http? [config-path]
+ (not (nil? (re-find #"(?:https|http)://.*" config-path))))]
+ (if (is-http? config-path)
+ (read-config-http-json config-path)
+ (yaml/parse-string (slurp config-path))
+ )
+ ))
+