aboutsummaryrefslogtreecommitdiff
path: root/modules/sql/src/main/clojure
diff options
context:
space:
mode:
authorBen Smith-Mannschott <bsmith.occs@gmail.com>2010-08-23 20:51:51 +0200
committerStuart Sierra <mail@stuartsierra.com>2010-09-03 12:23:36 -0400
commit1be54b2f9bd3c9f35385a015b14fc93337bffcac (patch)
tree205388106c009877d1ed2dd0168231245493cc64 /modules/sql/src/main/clojure
parentbf85deddc000469cb2f7af06c2a63d72c1894a00 (diff)
remove deprecated clojure.contrib.properties
Signed-off-by: Stuart Sierra <mail@stuartsierra.com>
Diffstat (limited to 'modules/sql/src/main/clojure')
-rw-r--r--modules/sql/src/main/clojure/clojure/contrib/sql/internal.clj19
1 files changed, 17 insertions, 2 deletions
diff --git a/modules/sql/src/main/clojure/clojure/contrib/sql/internal.clj b/modules/sql/src/main/clojure/clojure/contrib/sql/internal.clj
index 59a05205..57d7050f 100644
--- a/modules/sql/src/main/clojure/clojure/contrib/sql/internal.clj
+++ b/modules/sql/src/main/clojure/clojure/contrib/sql/internal.clj
@@ -15,12 +15,11 @@
(:use
(clojure.contrib
[except :only (throwf throw-arg)]
- [properties :only (as-properties)]
[seq :only (indexed)]))
(:import
(clojure.lang RT)
(java.sql BatchUpdateException DriverManager SQLException Statement)
- (java.util Hashtable Map)
+ (java.util Hashtable Map Properties)
(javax.naming InitialContext Name)
(javax.sql DataSource)))
@@ -48,6 +47,22 @@
([val]
(swap! (:rollback *db*) (fn [_] val))))
+(defn- as-str
+ [x]
+ (if (instance? clojure.lang.Named x)
+ (name x)
+ (str x)))
+
+(defn- ^Properties as-properties
+ "Convert any seq of pairs to a java.utils.Properties instance.
+ Uses as-str to convert both keys and values into strings."
+ {:tag Properties}
+ [m]
+ (let [p (Properties.)]
+ (doseq [[k v] m]
+ (.setProperty p (as-str k) (as-str v)))
+ p))
+
(defn get-connection
"Creates a connection to a database. db-spec is a map containing values
for one of the following parameter sets: