Author: ate
Date: Mon Sep 17 00:16:28 2012
New Revision: 1385398

URL: http://svn.apache.org/viewvc?rev=1385398&view=rev
Log:
RAVE-696: rave-web-jcr
- a few enhancements and fixes for freemarker macros needing support for enums 
like ScriptLocation
   freemarker based page rendering now is mostly equal to jsp based rendering

Modified:
    
rave/sandbox/content-services/demo-portal/src/main/resources/initial-data.json
    
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/freemarker/views/pages/footer.ftl
    
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/freemarker/views/pages/macros/raveJs.ftl
    
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/freemarker/views/pages/userpage/page.ftl
    
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/nested-dispatcher-servlet.xml

Modified: 
rave/sandbox/content-services/demo-portal/src/main/resources/initial-data.json
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/resources/initial-data.json?rev=1385398&r1=1385397&r2=1385398&view=diff
==============================================================================
--- 
rave/sandbox/content-services/demo-portal/src/main/resources/initial-data.json 
(original)
+++ 
rave/sandbox/content-services/demo-portal/src/main/resources/initial-data.json 
Mon Sep 17 00:16:28 2012
@@ -24,18 +24,18 @@
             "jcr:lastModified":"2012-08-30T10:48:40.534+0200"
         }
     },
-    "userpage":{
-        "jcr:primaryType":"ravedata:folder",
-        "page.ftl":{
-            "jcr:primaryType":"ravedata:binary",
-            "id":"freemarker",
-            "resource":{
-                "jcr:primaryType":"ravedata:resource",
-                "jcr:lastModifiedBy":"admin",
-                
"jcr:binary:jcr:data":"PCNpbmNsdWRlICIuLi90YWdsaWJzLmZ0bCIvPgo8I2ltcG9ydCAiLi4vbWFjcm9zL21ldGFEYXRhLmZ0bCIgYXMgbWV0YS8+CjwjaW1wb3J0ICIuLi9tYWNyb3MvY3NzLmZ0bCIgYXMgY3NzLz4KPCNpbXBvcnQgIi4uL21hY3Jvcy9yYXZlSnMuZnRsIiBhcyByYXZlSmF2YXNjcmlwdC8+CjwhRE9DVFlQRSBodG1sPgo8aHRtbCBjbGFzcz0ibm8tanMiPgo8aGVhZD4KPEBtZXRhLm1ldGFEYXRhIC8+CiAgICA8dGl0bGU+cmF2ZTwvdGl0bGU+CjxAY3NzLmNzc0ZpbGVzLz4KICAgIDxzY3JpcHQgc3JjPSIvL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9tb2Rlcm5penIvMi41LjMvbW9kZXJuaXpyLm1pbi5qcyI+PC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHk+CjxpbnB1dCBpZD0iY3VycmVudFBhZ2VJZCIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iJHtwYWdlLmlkfSIvPgo8Iy0tIEhlYWRlciBDb250ZW50IC0tPgo8QHJhdmVobXZjLmluY2x1ZGUgcmVmPSJoZWFkZXIiLz4KPCMtLSBNYWluIEJvZHkgQ29udGVudCAtLT4KPEByYXZlaG12Yy5pbmNsdWRlIHJlZj0iYm9keSIvPgo8Iy0tIEZvb3RlciBDb250ZW50IC0tPgo8QHJhdmVobXZjLmluY2x1ZGUgcmVmPSJmb290ZXIiLz4KPCMtLSByZW5kZXIgYW55IHNjcmlwdCB0aGF0IG5lZWRzIHRvIGV4ZWN1dGUgcHJlLXNyYyBpbmNsdWRlcyAtLT4KPCMtLTxAcG9ydGFsWyJyZWdpc3Rlci1pbml0LXNjcmlwdC
 
Bsb2NhdGlvbiJdIGxvY2F0aW9uPSIkeydCRUZPUkVfUkFWRSd9Ii8+LS0+CjwjLS0gcmVuZGVyIHRoZSBqYXZhc2NyaXB0IHNyYyBpbmNsdWRlcyBhdCB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIGZvciBwZXJmb3JtYW5jZSAtLT4KPEByYXZlSmF2YXNjcmlwdC5yYXZlSmF2YXNjcmlwdC8+CjwjLS0gcmVuZGVyIGN1c3RvbSBqYXZhc2NyaXB0IGZyb20gZXh0ZW5zaW9uIHByb2plY3RzIGlmIHRoZSB0YWcgaXMgb3ZlcmxheWVkIC0tPgoKPCMtLSByZW5kZXIgYW55IHNjcmlwdCB0aGF0IG5lZWRzIHRvIGV4ZWN1dGUgcG9zdC1zcmMgaW5jbHVkZXMgLS0+CjwjLS08QHBvcnRhbFsicmVuZGVyLWluaXQtc2NyaXB0Il0gbG9jYXRpb249IiR7J0FGVEVSX1JBVkUnfSIvPi0tPgo8L2JvZHk+CjwvaHRtbD4K",
-                "jcr:encoding":"test",
-                "jcr:mimeType":"text/plain",
-                "jcr:lastModified":"2012-08-30T10:48:40.534+0200"
+    "userpage" : {
+        "jcr:primaryType" : "ravedata:folder",
+        "page.ftl" : {
+            "jcr:primaryType" : "ravedata:binary",
+            "id" : "freemarker",
+            "resource" : {
+                "jcr:primaryType" : "ravedata:resource",
+                "jcr:lastModifiedBy" : "admin",
+                "jcr:binary:jcr:data" : 
"PCNpbmNsdWRlICIuLi90YWdsaWJzLmZ0bCIvPgo8I2ltcG9ydCAiLi4vbWFjcm9zL21ldGFEYXRhLmZ0bCIgYXMgbWV0YS8+CjwjaW1wb3J0ICIuLi9tYWNyb3MvY3NzLmZ0bCIgYXMgY3NzLz4KPCNpbXBvcnQgIi4uL21hY3Jvcy9yYXZlSnMuZnRsIiBhcyByYXZlSmF2YXNjcmlwdC8+CjwhRE9DVFlQRSBodG1sPgo8aHRtbCBjbGFzcz0ibm8tanMiPgo8aGVhZD4KPEBtZXRhLm1ldGFEYXRhIC8+CiAgICA8dGl0bGU+cmF2ZTwvdGl0bGU+CjxAY3NzLmNzc0ZpbGVzLz4KICAgIDxzY3JpcHQgc3JjPSIvL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9tb2Rlcm5penIvMi41LjMvbW9kZXJuaXpyLm1pbi5qcyI+PC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHk+CjxpbnB1dCBpZD0iY3VycmVudFBhZ2VJZCIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iJHtwYWdlLmlkfSIvPgo8Iy0tIEhlYWRlciBDb250ZW50IC0tPgo8QHJhdmVobXZjLmluY2x1ZGUgcmVmPSJoZWFkZXIiLz4KPCMtLSBNYWluIEJvZHkgQ29udGVudCAtLT4KPEByYXZlaG12Yy5pbmNsdWRlIHJlZj0iYm9keSIvPgo8Iy0tIEZvb3RlciBDb250ZW50IC0tPgo8QHJhdmVobXZjLmluY2x1ZGUgcmVmPSJmb290ZXIiLz4KCjwjYXNzaWduIFNjcmlwdExvY2F0aW9uPWVudW1zWyJvcmcuYXBhY2hlLnJhdmUucG9ydGFsLndlYi5yZW5kZXJlci5TY3JpcHRMb2NhdGlvbiJdLz4KCjwjLS0gcmVuZGVy
 
IGFueSBzY3JpcHQgdGhhdCBuZWVkcyB0byBleGVjdXRlIHByZS1zcmMgaW5jbHVkZXMgLS0+CjxAcG9ydGFsWyJyZWdpc3Rlci1pbml0LXNjcmlwdCJdIGxvY2F0aW9uPVNjcmlwdExvY2F0aW9uLkJFRk9SRV9SQVZFIC8+CjwjLS0gcmVuZGVyIHRoZSBqYXZhc2NyaXB0IHNyYyBpbmNsdWRlcyBhdCB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIGZvciBwZXJmb3JtYW5jZSAtLT4KPEByYXZlSmF2YXNjcmlwdC5yYXZlSmF2YXNjcmlwdC8+CjwjLS0gcmVuZGVyIGN1c3RvbSBqYXZhc2NyaXB0IGZyb20gZXh0ZW5zaW9uIHByb2plY3RzIGlmIHRoZSB0YWcgaXMgb3ZlcmxheWVkIC0tPgoKPCMtLSByZW5kZXIgYW55IHNjcmlwdCB0aGF0IG5lZWRzIHRvIGV4ZWN1dGUgcG9zdC1zcmMgaW5jbHVkZXMgLS0+CjxAcG9ydGFsWyJyZW5kZXItaW5pdC1zY3JpcHQiXSBsb2NhdGlvbj1TY3JpcHRMb2NhdGlvbi5BRlRFUl9SQVZFIC8+CjwvYm9keT4KPC9odG1sPg==",
+                "jcr:encoding" : "test",
+                "jcr:mimeType" : "text/plain",
+                "jcr:lastModified" : "2012-08-30T10:48:40.534+0200"
             }
         }
     },
@@ -53,16 +53,16 @@
                 "jcr:lastModified":"2012-08-30T10:48:40.534+0200"
             }
         },
-        "raveJs.ftl":{
-            "jcr:primaryType":"ravedata:binary",
-            "id":"freemarker",
-            "resource":{
-                "jcr:primaryType":"ravedata:resource",
-                "jcr:lastModifiedBy":"admin",
-                
"jcr:binary:jcr:data":"PCNpbmNsdWRlICIuLi90YWdsaWJzLmZ0bCIvPgo8I21hY3JvIHJhdmVKYXZhc2NyaXB0PgoKPHNjcmlwdCBzcmM9Ii8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2pzb24yLzIwMTEwMjIzL2pzb24yLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii8vYWpheC5hc3BuZXRjZG4uY29tL2FqYXgvanF1ZXJ5L2pxdWVyeS0xLjcuMi5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy9hamF4LmFzcG5ldGNkbi5jb20vYWpheC9qcXVlcnkudWkvMS44LjE3L2pxdWVyeS11aS5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy9hamF4LmFzcG5ldGNkbi5jb20vYWpheC9qcXVlcnkudmFsaWRhdGUvMS44LjEvanF1ZXJ5LnZhbGlkYXRlLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9qcXVlcnktaGFzaGNoYW5nZS92MS4zL2pxdWVyeS5iYS1oYXNoY2hhbmdlLm1pbi5qcyI+PC9zY3JpcHQ+Cgo8c2NyaXB0IHNyYz0iLy9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvdHdpdHRlci1ib290c3RyYXAvMi4wLjMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CjwhLS1baWYgbHQgSUUgOV0+PHNjcmlwdCBzcmM9Ii8vY3NzMy1tZWRpYXF1ZXJpZXMtanMuZ29vZ2xlY29kZS5jb20vc3ZuL3RydW5rL2NzczMtbWVkaWFxdWVyaWVzLmpzIj48L3NjcmlwdD48IVtlbm
 
RpZl0tLT4KICAgIDwjYXNzaWduIGpzRGVidWdNb2RlPgogICAgICAgIDxAcG9ydGFsWydyZW5kZXItanMtZGVidWctbW9kZSddLz4KICAgIDwvI2Fzc2lnbj4KCiAgICA8I2lmIGpzRGVidWdNb2RlID09ICcxJz4KICAgIDxzY3JpcHQgc3JjPSI8QHNwcmluZy51cmwgIi9zdGF0aWMvc2NyaXB0L3JhdmUuanMiLz4iPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9IjxAc3ByaW5nLnVybCAiL3N0YXRpYy9zY3JpcHQvcmF2ZV9hcGkuanMiLz4iPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9IjxAc3ByaW5nLnVybCAiL3N0YXRpYy9zY3JpcHQvcmF2ZV9vcGVuc29jaWFsLmpzIi8+Ij48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSI8QHNwcmluZy51cmwgIi9zdGF0aWMvc2NyaXB0L3JhdmVfd29va2llLmpzIi8+Ij48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSI8QHNwcmluZy51cmwgIi9zdGF0aWMvc2NyaXB0L3JhdmVfbGF5b3V0LmpzIi8+Ij48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSI8QHNwcmluZy51cmwgIi9zdGF0aWMvc2NyaXB0L3JhdmVfZm9ybXMuanMiLz4iPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9IjxAc3ByaW5nLnVybCAiL3N0YXRpYy9zY3JpcHQvcmF2ZV9wZXJzb25fcHJvZmlsZS5qcyIvPiI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iPEBzcHJpbmcudXJsICIvc3RhdGljL3NjcmlwdC9yYXZlX3N0b3JlLmpzIi8+Ij48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSI8QHN
 
wcmluZy51cmwgIi9zdGF0aWMvc2NyaXB0L3JhdmVfYWRtaW4uanMiLz4iPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9IjxAc3ByaW5nLnVybCAiL3N0YXRpYy9zY3JpcHQvcmF2ZV9hbGwubWluLmpzIi8+Ij48L3NjcmlwdD4KCiAgICA8I2Vsc2U+CiAgICA8c2NyaXB0IHNyYz0iPEBzcHJpbmcudXJsICIvYXBwL21lc3NhZ2VidW5kbGUvcmF2ZV9jbGllbnRfbWVzc2FnZXMuanMiLz4iPjwvc2NyaXB0PgogICAgPC8jaWY+CgoKCgo8c2NyaXB0PgoKICAgIHJhdmUuc2V0Q29udGV4dCgiPEBzcHJpbmcudXJsICIvYXBwLyIgLz4iKTsKICAgIHJhdmUuc2V0SmF2YVNjcmlwdERlYnVnTW9kZSgke2pzRGVidWdNb2RlfSk7CiAgICAgICAgPEBzZWMuYXV0aG9yaXplIGFjY2Vzcz0iaXNBdXRoZW50aWNhdGVkKCkiPgogICAgICAgICAgICA8QHNlYy5hdXRoZW50aWNhdGlvbiBwcm9wZXJ0eT0icHJpbmNpcGFsLnVzZXJuYW1lIiBzY29wZT0icmVxdWVzdCIgdmFyPSJ1c2VybmFtZSIvPgogICAgICAgICAgICA8QHNlYy5hdXRoZW50aWNhdGlvbiBwcm9wZXJ0eT0icHJpbmNpcGFsLmlkIiBzY29wZT0icmVxdWVzdCIgdmFyPSJpZCIvPgogICAgICAgIHJhdmUuc2V0UGFnZVZpZXdlcih7dXNlcm5hbWU6IiR7dXNlcm5hbWV9IiwgaWQ6IiR7aWR9In0pOwogICAgICAgIDwvQHNlYy5hdXRob3JpemU+Cjwvc2NyaXB0PgoKPCMtLQoKCjwlLS0gY29tbW9uIGphdmFzY3JpcHQgdG8gZXhlY3V0ZSBvbiBhbGwgcGFnZXMg
 LS0lPgoKLS0+Cgo8LyNtYWNybz4K",
-                "jcr:encoding":"test",
-                "jcr:mimeType":"text/plain",
-                "jcr:lastModified":"2012-08-30T10:48:40.534+0200"
+        "raveJs.ftl" : {
+            "jcr:primaryType" : "ravedata:binary",
+            "id" : "freemarker",
+            "resource" : {
+                "jcr:primaryType" : "ravedata:resource",
+                "jcr:lastModifiedBy" : "admin",
+                "jcr:binary:jcr:data" : 
"PCNpbmNsdWRlICIuLi90YWdsaWJzLmZ0bCIvPgo8I21hY3JvIHJhdmVKYXZhc2NyaXB0PgoKICAgIDwjYXNzaWduIFNjcmlwdExvY2F0aW9uPWVudW1zWyJvcmcuYXBhY2hlLnJhdmUucG9ydGFsLndlYi5yZW5kZXJlci5TY3JpcHRMb2NhdGlvbiJdLz4KICAgIDxAcG9ydGFsWyJyZW5kZXItc2NyaXB0Il0gbG9jYXRpb249U2NyaXB0TG9jYXRpb24uQkVGT1JFX0xJQiAvPgoKPHNjcmlwdCBzcmM9Ii8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2pzb24yLzIwMTEwMjIzL2pzb24yLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii8vYWpheC5hc3BuZXRjZG4uY29tL2FqYXgvanF1ZXJ5L2pxdWVyeS0xLjcuMi5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy9hamF4LmFzcG5ldGNkbi5jb20vYWpheC9qcXVlcnkudWkvMS44LjE3L2pxdWVyeS11aS5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy9hamF4LmFzcG5ldGNkbi5jb20vYWpheC9qcXVlcnkudmFsaWRhdGUvMS44LjEvanF1ZXJ5LnZhbGlkYXRlLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9qcXVlcnktaGFzaGNoYW5nZS92MS4zL2pxdWVyeS5iYS1oYXNoY2hhbmdlLm1pbi5qcyI+PC9zY3JpcHQ+Cgo8c2NyaXB0IHNyYz0iLy9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvdHdpdHRl
 
ci1ib290c3RyYXAvMi4wLjMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CjwhLS1baWYgbHQgSUUgOV0+PHNjcmlwdCBzcmM9Ii8vY3NzMy1tZWRpYXF1ZXJpZXMtanMuZ29vZ2xlY29kZS5jb20vc3ZuL3RydW5rL2NzczMtbWVkaWFxdWVyaWVzLmpzIj48L3NjcmlwdD48IVtlbmRpZl0tLT4KCiAgICA8QHBvcnRhbFsicmVuZGVyLXNjcmlwdCJdIGxvY2F0aW9uPVNjcmlwdExvY2F0aW9uLkFGVEVSX0xJQiAvPgoKICAgIDxAcG9ydGFsWyJyZW5kZXItc2NyaXB0Il0gbG9jYXRpb249U2NyaXB0TG9jYXRpb24uQkVGT1JFX1JBVkUgLz4KCiAgICA8I2Fzc2lnbiBqc0RlYnVnTW9kZT4KICAgICAgICA8QHBvcnRhbFsncmVuZGVyLWpzLWRlYnVnLW1vZGUnXS8+CiAgICA8LyNhc3NpZ24+CgogICAgPCNpZiBqc0RlYnVnTW9kZSA9PSAnMSc+CiAgICA8c2NyaXB0IHNyYz0iPEBzcHJpbmcudXJsICIvc3RhdGljL3NjcmlwdC9yYXZlLmpzIi8+Ij48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSI8QHNwcmluZy51cmwgIi9zdGF0aWMvc2NyaXB0L3JhdmVfYXBpLmpzIi8+Ij48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSI8QHNwcmluZy51cmwgIi9zdGF0aWMvc2NyaXB0L3JhdmVfb3BlbnNvY2lhbC5qcyIvPiI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iPEBzcHJpbmcudXJsICIvc3RhdGljL3NjcmlwdC9yYXZlX3dvb2tpZS5qcyIvPiI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iPEBzcHJpbmcud
 
XJsICIvc3RhdGljL3NjcmlwdC9yYXZlX2xheW91dC5qcyIvPiI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iPEBzcHJpbmcudXJsICIvc3RhdGljL3NjcmlwdC9yYXZlX2Zvcm1zLmpzIi8+Ij48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSI8QHNwcmluZy51cmwgIi9zdGF0aWMvc2NyaXB0L3JhdmVfcGVyc29uX3Byb2ZpbGUuanMiLz4iPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9IjxAc3ByaW5nLnVybCAiL3N0YXRpYy9zY3JpcHQvcmF2ZV9zdG9yZS5qcyIvPiI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iPEBzcHJpbmcudXJsICIvc3RhdGljL3NjcmlwdC9yYXZlX2FkbWluLmpzIi8+Ij48L3NjcmlwdD4KICAgIDwjZWxzZT4KICAgIDxzY3JpcHQgc3JjPSI8QHNwcmluZy51cmwgIi9zdGF0aWMvc2NyaXB0L3JhdmVfYWxsLm1pbi5qcyIvPiI+PC9zY3JpcHQ+CiAgICA8LyNpZj4KPHNjcmlwdCBzcmM9IjxAc3ByaW5nLnVybCAiL2FwcC9tZXNzYWdlYnVuZGxlL3JhdmVfY2xpZW50X21lc3NhZ2VzLmpzIi8+Ij48L3NjcmlwdD4KCiAgICA8QHBvcnRhbFsicmVuZGVyLXNjcmlwdCJdIGxvY2F0aW9uPVNjcmlwdExvY2F0aW9uLkFGVEVSX1JBVkUgLz4KCjwjLS0gY29tbW9uIGphdmFzY3JpcHQgdG8gZXhlY3V0ZSBvbiBhbGwgcGFnZXMgLS0+CjxzY3JpcHQ+CiAgICAgICAgPCNpZiByZXF1ZXN0Q29udGV4dD8/PgogICAgICAgIHJhdmUuc2V0Q29udGV4dCgiJHtyZXF1ZXN0Q29udGV4dC5wYX
 
RoVG9TZXJ2bGV0fS8iKTsKICAgICAgICA8I2Vsc2U+CiAgICAgICAgcmF2ZS5zZXRDb250ZXh0KCI8QHNwcmluZy51cmwgIi9hcHAvIiAvPiIpOwogICAgICAgIDwvI2lmPgogICAgcmF2ZS5zZXRKYXZhU2NyaXB0RGVidWdNb2RlKCR7anNEZWJ1Z01vZGV9KTsKICAgICAgICA8QHNlYy5hdXRob3JpemUgYWNjZXNzPSJpc0F1dGhlbnRpY2F0ZWQoKSI+CiAgICAgICAgICAgIDxAc2VjLmF1dGhlbnRpY2F0aW9uIHByb3BlcnR5PSJwcmluY2lwYWwudXNlcm5hbWUiIHNjb3BlPSJyZXF1ZXN0IiB2YXI9InVzZXJuYW1lIi8+CiAgICAgICAgICAgIDxAc2VjLmF1dGhlbnRpY2F0aW9uIHByb3BlcnR5PSJwcmluY2lwYWwuaWQiIHNjb3BlPSJyZXF1ZXN0IiB2YXI9ImlkIi8+CiAgICAgICAgcmF2ZS5zZXRQYWdlVmlld2VyKHt1c2VybmFtZToiJHt1c2VybmFtZX0iLCBpZDoiJHtpZH0ifSk7CiAgICAgICAgPC9Ac2VjLmF1dGhvcml6ZT4KPC9zY3JpcHQ+CjwvI21hY3JvPg==",
+                "jcr:encoding" : "test",
+                "jcr:mimeType" : "text/plain",
+                "jcr:lastModified" : "2012-08-30T10:48:40.534+0200"
             }
         },
         "metaData.ftl":{

Modified: 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/freemarker/views/pages/footer.ftl
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/freemarker/views/pages/footer.ftl?rev=1385398&r1=1385397&r2=1385398&view=diff
==============================================================================
--- 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/freemarker/views/pages/footer.ftl
 (original)
+++ 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/freemarker/views/pages/footer.ftl
 Mon Sep 17 00:16:28 2012
@@ -1,4 +1,3 @@
-<#-- @ftlvariable name="applicationProperties" type="java.util.Map" -->
 <#import "/spring.ftl" as spring />
 <footer>
     <div class="container">

Modified: 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/freemarker/views/pages/macros/raveJs.ftl
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/freemarker/views/pages/macros/raveJs.ftl?rev=1385398&r1=1385397&r2=1385398&view=diff
==============================================================================
--- 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/freemarker/views/pages/macros/raveJs.ftl
 (original)
+++ 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/freemarker/views/pages/macros/raveJs.ftl
 Mon Sep 17 00:16:28 2012
@@ -1,6 +1,9 @@
 <#include "../taglibs.ftl"/>
 <#macro raveJavascript>
 
+    <#assign 
ScriptLocation=enums["org.apache.rave.portal.web.renderer.ScriptLocation"]/>
+    <@portal["render-script"] location=ScriptLocation.BEFORE_LIB />
+
 <script 
src="//cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js"></script>
 <script src="//ajax.aspnetcdn.com/ajax/jquery/jquery-1.7.2.min.js"></script>
 <script 
src="//ajax.aspnetcdn.com/ajax/jquery.ui/1.8.17/jquery-ui.min.js"></script>
@@ -9,6 +12,11 @@
 
 <script 
src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.0.3/bootstrap.min.js"></script>
 <!--[if lt IE 9]><script 
src="//css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script><![endif]-->
+
+    <@portal["render-script"] location=ScriptLocation.AFTER_LIB />
+
+    <@portal["render-script"] location=ScriptLocation.BEFORE_RAVE />
+
     <#assign jsDebugMode>
         <@portal['render-js-debug-mode']/>
     </#assign>
@@ -23,18 +31,20 @@
     <script src="<@spring.url 
"/static/script/rave_person_profile.js"/>"></script>
     <script src="<@spring.url "/static/script/rave_store.js"/>"></script>
     <script src="<@spring.url "/static/script/rave_admin.js"/>"></script>
-    <script src="<@spring.url "/static/script/rave_all.min.js"/>"></script>
-
     <#else>
-    <script src="<@spring.url 
"/app/messagebundle/rave_client_messages.js"/>"></script>
+    <script src="<@spring.url "/static/script/rave_all.min.js"/>"></script>
     </#if>
+<script src="<@spring.url 
"/app/messagebundle/rave_client_messages.js"/>"></script>
 
+    <@portal["render-script"] location=ScriptLocation.AFTER_RAVE />
 
-
-
+<#-- common javascript to execute on all pages -->
 <script>
-
-    rave.setContext("<@spring.url "/app/" />");
+        <#if requestContext??>
+        rave.setContext("${requestContext.pathToServlet}/");
+        <#else>
+        rave.setContext("<@spring.url "/app/" />");
+        </#if>
     rave.setJavaScriptDebugMode(${jsDebugMode});
         <@sec.authorize access="isAuthenticated()">
             <@sec.authentication property="principal.username" scope="request" 
var="username"/>
@@ -42,12 +52,4 @@
         rave.setPageViewer({username:"${username}", id:"${id}"});
         </@sec.authorize>
 </script>
-
-<#--
-
-
-<%-- common javascript to execute on all pages --%>
-
--->
-
-</#macro>
+</#macro>
\ No newline at end of file

Modified: 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/freemarker/views/pages/userpage/page.ftl
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/freemarker/views/pages/userpage/page.ftl?rev=1385398&r1=1385397&r2=1385398&view=diff
==============================================================================
--- 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/freemarker/views/pages/userpage/page.ftl
 (original)
+++ 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/freemarker/views/pages/userpage/page.ftl
 Mon Sep 17 00:16:28 2012
@@ -18,13 +18,16 @@
 <@ravehmvc.include ref="body"/>
 <#-- Footer Content -->
 <@ravehmvc.include ref="footer"/>
+
+<#assign 
ScriptLocation=enums["org.apache.rave.portal.web.renderer.ScriptLocation"]/>
+
 <#-- render any script that needs to execute pre-src includes -->
-<#--<@portal["register-init-script location"] location="${'BEFORE_RAVE'}"/>-->
+<@portal["register-init-script"] location=ScriptLocation.BEFORE_RAVE />
 <#-- render the javascript src includes at the bottom of the page for 
performance -->
 <@raveJavascript.raveJavascript/>
 <#-- render custom javascript from extension projects if the tag is overlayed 
-->
 
 <#-- render any script that needs to execute post-src includes -->
-<#--<@portal["render-init-script"] location="${'AFTER_RAVE'}"/>-->
+<@portal["render-init-script"] location=ScriptLocation.AFTER_RAVE />
 </body>
-</html>
+</html>
\ No newline at end of file

Modified: 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/nested-dispatcher-servlet.xml
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/nested-dispatcher-servlet.xml?rev=1385398&r1=1385397&r2=1385398&view=diff
==============================================================================
--- 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/nested-dispatcher-servlet.xml
 (original)
+++ 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/nested-dispatcher-servlet.xml
 Mon Sep 17 00:16:28 2012
@@ -274,10 +274,10 @@
   </bean>
 
   <bean id="documentManager" 
class="org.apache.rave.portal.web.mvc.data.mapping.DefaultDocumentManager" 
destroy-method="shutdown">
-    <constructor-arg value="#{servletContext}"/>
-    <constructor-arg ref="lazyRepositoryFactory"/>
-    <constructor-arg ref="jcrCredentials"/>
-    <constructor-arg value="default"/>
+    <constructor-arg index="0" value="#{servletContext}"/>
+    <constructor-arg index="1" ref="lazyRepositoryFactory"/>
+    <constructor-arg index="2" ref="jcrCredentials"/>
+    <constructor-arg index="3" value="default"/>
   </bean>
 
 
@@ -285,6 +285,8 @@
     <constructor-arg ref="documentManager"/>
   </bean>
 
+  <bean id="fmtBeanWrapperInstance" class="freemarker.ext.beans.BeansWrapper" 
factory-method="getDefaultInstance"/>
+
   <bean id="freemarkerConfig" 
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
     <property name="templateLoaderPath" value="/WEB-INF/freemarker/views/"/>
     <property name="preTemplateLoaders">
@@ -299,6 +301,14 @@
       <map>
         <entry key="templateLoaderPath" value-ref="fmXmlEscape"/>
         <entry key="xml_escape" value-ref="fmXmlEscape"/>
+        <!-- add enum support -->
+        <entry key="enums">
+          <bean factory-bean="fmtBeanWrapperInstance" 
factory-method="getEnumModels"/>
+        </entry>
+        <!-- add static method support -->
+        <entry key="statics">
+          <bean factory-bean="fmtBeanWrapperInstance" 
factory-method="getStaticModels"/>
+        </entry>
       </map>
     </property>
   </bean>
@@ -310,6 +320,7 @@
     <property name="cache" value="false"/>
     <property name="prefix" value=""/>
     <property name="suffix" value=".ftl"/>
+    <property name="requestContextAttribute" value="requestContext"/>
   </bean>
 
   <!--


Reply via email to