This repository was archived by the owner on Feb 18, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +25
-13
lines changed
src/main/clojure/au/com/permeance/clojure Expand file tree Collapse file tree 2 files changed +25
-13
lines changed Original file line number Diff line number Diff line change 12
12
processClojureRender [javax.portlet.RenderRequest javax.portlet.RenderResponse] void]])
13
13
14
14
(defn -processClojureAction [portlet request response]
15
- (set-render-parameter response " message" " An action occurred" ))
15
+ (set-render-parameters response { : message " An action occurred" } ))
16
16
17
17
(defn -processClojureRender [portlet request response]
18
- (set-render-attribute request " message "
19
- ( or ( get-request-paramater request " message" ) " Nothing happened" ))
20
- (dispatch portlet " /view.jsp" request response))
18
+ (let [param ( first ( :message ( get-request-parameters request)))
19
+ message ( or param " Nothing happened" )]
20
+ (dispatch portlet " /view.jsp" { :message message} request response) ))
Original file line number Diff line number Diff line change 1
1
(ns au.com.permeance.clojure.portlet )
2
2
3
- (defn set-render-parameter [response name value]
4
- (. response setRenderParameter name value))
3
+ (defn- do-with-map [f m]
4
+ (doseq [kv m]
5
+ (let [k (name (key kv))
6
+ v (val kv)]
7
+ (f k v))))
5
8
6
- (defn set-render-attribute [request name value ]
7
- (. request setAttribute name value ))
9
+ (defn- set-render-attributes [request attributes ]
10
+ (do-with-map #( . request setAttribute % 1 % 2 ) attributes ))
8
11
9
- (defn get-request-paramater [request name]
10
- (. request getParameter name))
12
+ (defn dispatch
13
+ ([portlet path request response]
14
+ (let [dispatcher (.. portlet (getPortletContext ) (getRequestDispatcher path))]
15
+ (. dispatcher include request response)))
16
+ ([portlet path attributes request response]
17
+ (set-render-attributes request attributes)
18
+ (dispatch portlet path request response)))
19
+
20
+ (defn get-request-parameters [request]
21
+ (let [parameters (. request getParameterMap)]
22
+ (into {} (for [[k v] parameters] [(keyword k) v]))))
23
+
24
+ (defn set-render-parameters [response parameters]
25
+ (do-with-map #(. response setRenderParameter %1 %2 ) parameters))
11
26
12
- (defn dispatch [portlet path request response]
13
- (let [dispatcher (.. portlet (getPortletContext ) (getRequestDispatcher path))]
14
- (. dispatcher include request response)))
You can’t perform that action at this time.
0 commit comments