Sorted out the resource access problem on Tomcat.
This commit is contained in:
parent
03cf9b79e0
commit
a0f59ac2dd
|
@ -5,6 +5,7 @@
|
||||||
[mw-engine.natural-rules :as rules]
|
[mw-engine.natural-rules :as rules]
|
||||||
[mw-parser.bulk :as compiler]
|
[mw-parser.bulk :as compiler]
|
||||||
[hiccup.core :refer [html]]
|
[hiccup.core :refer [html]]
|
||||||
|
[noir.io :as io]
|
||||||
[noir.session :as session]))
|
[noir.session :as session]))
|
||||||
|
|
||||||
|
|
||||||
|
@ -41,12 +42,14 @@
|
||||||
(let [world (or (session/get :world)
|
(let [world (or (session/get :world)
|
||||||
(engine/transform-world
|
(engine/transform-world
|
||||||
(heightmap/apply-heightmap
|
(heightmap/apply-heightmap
|
||||||
"resources/public/img/heightmaps/small_hill.png"
|
(io/get-resource "/img/heightmaps/small_hill.png")
|
||||||
;; "resources/public/img/heightmaps/great_britain_and_ireland_small.png"
|
;; "resources/public/img/heightmaps/great_britain_and_ireland_small.png"
|
||||||
)
|
)
|
||||||
rules/init-rules))
|
rules/init-rules))
|
||||||
rules (or (session/get :rules)
|
rules (or (session/get :rules)
|
||||||
(do (session/put! :rules (compiler/compile-file "resources/rulesets/basic.txt"))
|
(do (session/put! :rules
|
||||||
|
(compiler/compile-file
|
||||||
|
(io/get-resource "/rulesets/basic.txt")))
|
||||||
(session/get :rules)))
|
(session/get :rules)))
|
||||||
generation (+ (or (session/get :generation) 0) 1)
|
generation (+ (or (session/get :generation) 0) 1)
|
||||||
w2 (engine/transform-world world rules)
|
w2 (engine/transform-world world rules)
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
(ns mw-ui.routes.params
|
(ns mw-ui.routes.params
|
||||||
(:use clojure.walk
|
(:use clojure.walk
|
||||||
|
clojure.java.io
|
||||||
compojure.core)
|
compojure.core)
|
||||||
(:require [hiccup.core :refer [html]]
|
(:require [hiccup.core :refer [html]]
|
||||||
[mw-engine.heightmap :as heightmap]
|
[mw-engine.heightmap :as heightmap]
|
||||||
|
@ -7,13 +8,14 @@
|
||||||
[mw-ui.layout :as layout]
|
[mw-ui.layout :as layout]
|
||||||
[mw-ui.util :as util]
|
[mw-ui.util :as util]
|
||||||
[mw-ui.render-world :as world]
|
[mw-ui.render-world :as world]
|
||||||
|
[noir.io :as io]
|
||||||
[noir.session :as session]))
|
[noir.session :as session]))
|
||||||
|
|
||||||
(defn- send-params []
|
(defn- send-params []
|
||||||
{:title "Choose your world"
|
{:title "Choose your world"
|
||||||
:heightmaps (util/list-resources "resources/public/img/heightmaps" #"([0-9a-z-_]+).png")
|
:heightmaps (util/list-resources "/img/heightmaps" #"([0-9a-z-_]+).png")
|
||||||
:pause (or (session/get :pause) 5)
|
:pause (or (session/get :pause) 5)
|
||||||
:rulesets (util/list-resources "resources/rulesets" #"([0-9a-z-_]+).txt")
|
:rulesets (util/list-resources "/rulesets" #"([0-9a-z-_]+).txt")
|
||||||
})
|
})
|
||||||
|
|
||||||
(defn params-page
|
(defn params-page
|
||||||
|
@ -28,15 +30,15 @@
|
||||||
map (:heightmap params)
|
map (:heightmap params)
|
||||||
pause (:pause params)
|
pause (:pause params)
|
||||||
rulefile (:ruleset params)
|
rulefile (:ruleset params)
|
||||||
rulepath (str "resources/rulesets/" rulefile ".txt")]
|
rulepath (str "/rulesets/" rulefile ".txt")]
|
||||||
(if (not (= map ""))
|
(if (not (= map ""))
|
||||||
(session/put! :world
|
(session/put! :world
|
||||||
(heightmap/apply-heightmap
|
(heightmap/apply-heightmap
|
||||||
(str "resources/public/img/heightmaps/" map ".png"))))
|
(io/get-resource (str "/img/heightmaps/" map ".png")))))
|
||||||
(if (not (= rulefile ""))
|
(if (not (= rulefile ""))
|
||||||
(do
|
(do
|
||||||
(session/put! :rule-text (slurp rulepath))
|
(session/put! :rule-text (io/slurp-resource rulepath))
|
||||||
(session/put! :rules (compiler/compile-file rulepath))))
|
(session/put! :rules (compiler/compile-file (io/get-resource rulepath)))))
|
||||||
(if (not (= pause ""))
|
(if (not (= pause ""))
|
||||||
(session/put! :pause pause))
|
(session/put! :pause pause))
|
||||||
(layout/render "params.html"
|
(layout/render "params.html"
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
[mw-ui.layout :as layout]
|
[mw-ui.layout :as layout]
|
||||||
[mw-ui.util :as util]
|
[mw-ui.util :as util]
|
||||||
[mw-ui.render-world :as world]
|
[mw-ui.render-world :as world]
|
||||||
|
[noir.io :as io]
|
||||||
[noir.session :as session]))
|
[noir.session :as session]))
|
||||||
|
|
||||||
(defn process-rules-request
|
(defn process-rules-request
|
||||||
|
@ -21,7 +22,7 @@
|
||||||
" rules") })
|
" rules") })
|
||||||
true {:rule-text (or
|
true {:rule-text (or
|
||||||
(session/get :rule-text)
|
(session/get :rule-text)
|
||||||
(slurp "resources/rulesets/basic.txt"))
|
(io/slurp-resource "/rulesets/basic.txt"))
|
||||||
:message "No rules found in request; loading defaults"})
|
:message "No rules found in request; loading defaults"})
|
||||||
(catch Exception e
|
(catch Exception e
|
||||||
{:rule-text src
|
{:rule-text src
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
(ns mw-ui.util
|
(ns mw-ui.util
|
||||||
(:require [noir.io :as io]
|
(:require [noir.io :as io]
|
||||||
|
[noir.session :as session]
|
||||||
[markdown.core :as md]))
|
[markdown.core :as md]))
|
||||||
|
|
||||||
(defn md->html
|
(defn md->html
|
||||||
|
@ -11,7 +12,10 @@
|
||||||
|
|
||||||
(defn list-resources [directory pattern]
|
(defn list-resources [directory pattern]
|
||||||
"List resource files matching `pattern` in `directory`."
|
"List resource files matching `pattern` in `directory`."
|
||||||
(sort
|
(let
|
||||||
(filter #(not (nil? %))
|
[path (str (io/resource-path) directory)]
|
||||||
|
(session/put! :list-resources-path path)
|
||||||
|
(sort
|
||||||
|
(filter #(not (nil? %))
|
||||||
(map #(first (rest (re-matches pattern (.getName %))))
|
(map #(first (rest (re-matches pattern (.getName %))))
|
||||||
(file-seq (clojure.java.io/file directory))))))
|
(file-seq (clojure.java.io/file path)))))))
|
||||||
|
|
Loading…
Reference in a new issue