 ;; embedded in them
 ;;
 
+;; NOTE: this cannot be replaced with s/lisp-case because it
+;; will treat a '/' in a resource name as a word separator. 
 (defn de-camelcase [str]
-  (superstring.core/join "-" (map superstring.core/lower-case (superstring.core/split str #"(?=[A-Z])"))))
+  (s/join "-" (map s/lower-case (s/split str #"(?=[A-Z])"))))
 
 (defn json-response
   [body]

   violations of the schema and a 400 ring response. If everything's
   OK, then the resource itself is returned."
   [schema]
   (let [checker (s/checker schema)]
    (fn [resource]
      (if-let [msg (checker resource)]        
        (let [msg (str "resource does not satisfy defined schema: " msg)

  (:require
    [clojure.tools.logging                                    :as log]
    [clojure.edn                                              :as edn]
    [superstring.core                                         :as s]
    [clj-time.core                                            :as time]
    [clj-time.format                                          :as time-fmt]
    [schema.core                                              :as schema]
    [ring.util.response                                       :as r]
    [com.sixsq.slipstream.ssclj.resources.common.debug-utils  :as du]
    [clojure.data.json                                        :as json])
