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>
<!--