3 (:use clj-stacktrace.repl))
6 " Replacing these characters http encoded ones
16 (clojure.contrib.string/replace-str " " "%20"
17 (clojure.contrib.string/replace-str "'" "%27"
18 (clojure.contrib.string/replace-str ";" "%3B"
19 (clojure.contrib.string/replace-str "[" "%5B"
20 (clojure.contrib.string/replace-str "@" "%40"
21 (clojure.contrib.string/replace-str "=" "%3D"
22 (clojure.contrib.string/replace-str "]" "%5D" text
27 (defn filterSpacesFromXML [text]
29 (clojure.contrib.string/replace-str "< " "<"
30 (clojure.contrib.string/replace-str " : " ":"
31 (clojure.contrib.string/replace-str " / >" " />"
32 (clojure.contrib.string/replace-str "< /" "</"
33 (clojure.contrib.string/replace-str "</ " "</"
34 (clojure.contrib.string/replace-str " / " "/"
35 (clojure.contrib.string/replace-re #"=\"\s" "=\""
36 (clojure.contrib.string/replace-re #"\s\"" "\""
37 (clojure.contrib.string/replace-str " = " "="
43 ;; set get base URL ...TODO - put in config
44 (def db-base-URL "http://localhost:8080/exist/rest/")
46 ;; set root/system dir fragment ...TODO - put in config
47 (def db-system-DIR "rootDir/system.main.system/")
49 ;; working directory lookup ...TODO - put these lookups into config
50 (defn working-dir-lookup [token]
52 ;;(println "DEBUG > 'working-dir-lookup' CALLED > ["(keyword token)"]" )
53 ( { :group "aauthentication.main.authentication/groups.aauth.groups"
54 :user "aauthentication.main.authentication/users.aauth.users"
55 :users "aauthentication.main.authentication/users.aauth.users"
56 :account "groups.main.groups"
57 :journal "groups.main.groups"
58 :entry "groups.main.groups"
59 :entries "groups.main.groups"
60 :debit "groups.main.groups"
61 :credit "groups.main.groups"
62 :bookkeeping "groups.main.groups"
68 (defn namespace-lookup
71 ;;(println "DEBUG > 'namespace-lookup' CALLED > ["token"]" )
72 ( { "group" "com/interrupt/bookkeeping/users"
73 "user" "com/interrupt/bookkeeping/users"
74 "account" "com/interrupt/bookkeeping/account"
75 "journal" "com/interrupt/bookkeeping/journal"
76 "entry" "com/interrupt/bookkeeping/journal"
77 "entries" "com/interrupt/bookkeeping/journal"
78 "debit" "com/interrupt/bookkeeping/account"
79 "credit" "com/interrupt/bookkeeping/account"
85 (defn execute-http-call [ full-URL http-method header-hash xml-content ]
87 ;; from DB, get 'token' for 'option' args & value
88 (println "DEBUG > FINAL http query[" full-URL "]")
90 (let [agt (clojure.contrib.http.agent/http-agent
92 ;; TODO - parse results, check for i) null or ii) multiple results
98 (if (clojure.contrib.http.agent/error? agt)
99 (str "<error method='GET' query='" full-URL "' errors='" (agent-errors agt) "' />")
100 (clojure.contrib.http.agent/string agt))