 
 (defn element->num-range
   [concept-type element]
-  (let [string-double-fn #(when-not (str/blank? %) (Double. (remove-outer-single-quotes %)))
+  (let [string-double-fn #(when-not (string/blank? %) (Double. (remove-outer-single-quotes %)))
         range-val (-> (cx/attrs-at-path element [:range])
                       (set/rename-keys {:lower :min-value :upper :max-value})
                       (update-in [:min-value] string-double-fn)

  "Validates the aql pattern string, throws service error if the string contains backslash
  followed by characters other than backslash, % or _"
  [pattern]
  (let [pattern (str/replace pattern "\\\\" "")
        invalid-chars (->> ;; Split on \
                           (str/split pattern (re-pattern "\\\\"))
                           ;; Drop everything before the first \
                           (drop 1)
                           ;; Get the first character following each \

        condition (element->condition :collection (assoc element :tag coll-elem-name))]
    (qm/->CollectionQueryCondition condition)))

(defmethod element->condition :granule-concept-id
  [concept-type element]
  (let [gran-condition (string-element->condition concept-type element)
        provider-ids (->> element
                          :content
                          first
                          :content
                          (map (comp :provider-id cc/parse-concept-id))
                          distinct)
        coll-query-condition (qm/->CollectionQueryCondition
                              (common-params/parameter->condition
                               {} :collection :provider provider-ids {}))]
    (gc/and-conds [coll-query-condition gran-condition])))

(defmethod element->condition :equator-crossing-date
  [concept-type element]
  (let [[start-date stop-date] (parse-date-range-element (cx/element-at-path element [:dateRange]))]
