From 5ea7fa478617518cf920e8df9563ac238b2ada7c Mon Sep 17 00:00:00 2001 From: Manuel Fuchs Date: Thu, 13 Apr 2023 13:30:59 +0200 Subject: [PATCH] Add convert endpoint --- project.clj | 3 ++- src/clj/clojure_getting_started/routes.clj | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/project.clj b/project.clj index dc38243..aef97dd 100644 --- a/project.clj +++ b/project.clj @@ -23,7 +23,8 @@ [ring/ring-core "1.9.6"] [ring/ring-defaults "0.3.4"] [org.clojure/java.jdbc "0.7.12"] - [selmer "1.12.55"]] + [selmer "1.12.55"] + [org.jscience/jscience "4.3.1"]] :min-lein-version "2.0.0" diff --git a/src/clj/clojure_getting_started/routes.clj b/src/clj/clojure_getting_started/routes.clj index 14addd7..66f1d13 100644 --- a/src/clj/clojure_getting_started/routes.clj +++ b/src/clj/clojure_getting_started/routes.clj @@ -7,7 +7,10 @@ [ring.util.response] [clojure.java.jdbc :as jdbc] [ring.util.http-response :as response]) - ) + (:import + org.jscience.physics.amount.Amount + org.jscience.physics.model.RelativisticModel + javax.measure.unit.SI)) (defn home [request] (layout/render request "home.html")) @@ -19,9 +22,16 @@ (map :tick (jdbc/query connection "SELECT tick FROM ticks"))))] (str "Database Output\n\n" (clojure.string/join "\n" (map #(str "Read from DB: " %) ticks)))))) +(defn convert [request] + (layout/plain + (let [energy-amount (Amount/valueOf "12 GeV")] + (do (RelativisticModel/select) + (str "E=mc^2: " energy-amount " = " (.to energy-amount SI/KILOGRAM)))))) + (defn routes [] ["" {:middleware [middleware/wrap-csrf middleware/wrap-formats]} ["/" {:get home}] - ["/database" {:get database}]]) + ["/database" {:get database}] + ["/convert" {:get convert}]])