Author: ate
Date: Thu Sep 20 06:43:23 2012
New Revision: 1387873

URL: http://svn.apache.org/viewvc?rev=1387873&view=rev
Log:
RAVE-696: cleanup and align with changes on rave-web-jcr

Modified:
    rave/sandbox/content-services/demo-portal/pom.xml
    
rave/sandbox/content-services/demo-portal/src/main/resources/binary-data.json
    rave/sandbox/content-services/demo-portal/src/main/resources/documents.json
    
rave/sandbox/content-services/demo-portal/src/main/resources/page-config.json
    
rave/sandbox/content-services/demo-portal/src/main/resources/template-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/nested-dispatcher-servlet.xml
    rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/routes.xml

Modified: rave/sandbox/content-services/demo-portal/pom.xml
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/pom.xml?rev=1387873&r1=1387872&r2=1387873&view=diff
==============================================================================
--- rave/sandbox/content-services/demo-portal/pom.xml (original)
+++ rave/sandbox/content-services/demo-portal/pom.xml Thu Sep 20 06:43:23 2012
@@ -154,6 +154,14 @@
       <artifactId>apacheds-server-jndi</artifactId>
       <version>${apacheds.version}</version>
     </dependency>
+
+    <!-- force commons-collections >= 3.2.1 -->
+    <dependency>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+      <version>${commons-collections.version}</version>
+    </dependency>
+
   </dependencies>
 
   <build>

Modified: 
rave/sandbox/content-services/demo-portal/src/main/resources/binary-data.json
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/resources/binary-data.json?rev=1387873&r1=1387872&r2=1387873&view=diff
==============================================================================
--- 
rave/sandbox/content-services/demo-portal/src/main/resources/binary-data.json 
(original)
+++ 
rave/sandbox/content-services/demo-portal/src/main/resources/binary-data.json 
Thu Sep 20 06:43:23 2012
@@ -1,18 +1,15 @@
 {
+    "jcr:primaryType":"ravedata:folder",
     "images":{
-        "jcr:primaryType":"nt:unstructured",
+        "jcr:primaryType":"ravedata:folder",
         "rave-logo.png":{
-            "jcr:primaryType":"ravedata:binary",
+            "jcr:primaryType":"ravedata:resource",
             "ravedata:id":"logo",
-            "resource":{
-                "jcr:primaryType":"ravedata:resource",
-                "jcr:lastModifiedBy":"admin",
-                
"jcr:binary:jcr:data":"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",
-                "jcr:encoding":"test",
-                "jcr:mimeType":"image/png",
-                "jcr:lastModified":"2012-08-30T10:48:40.534+0200"
-            }
+            "jcr:lastModifiedBy":"admin",
+            
"jcr:binary:jcr:data":"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",
+            "jcr:encoding":"test",
+            "jcr:mimeType":"image/png",
+            "jcr:lastModified":"2012-08-30T10:48:40.534+0200"
         }
-
     }
 }
\ No newline at end of file

Modified: 
rave/sandbox/content-services/demo-portal/src/main/resources/documents.json
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/resources/documents.json?rev=1387873&r1=1387872&r2=1387873&view=diff
==============================================================================
--- rave/sandbox/content-services/demo-portal/src/main/resources/documents.json 
(original)
+++ rave/sandbox/content-services/demo-portal/src/main/resources/documents.json 
Thu Sep 20 06:43:23 2012
@@ -1,11 +1,12 @@
 {
+    "jcr:primaryType":"ravedata:folder",
     "documents":{
-        "jcr:primaryType":"nt:unstructured",
+        "jcr:primaryType":"ravedata:folder",
         "rave.txt":{
-            "jcr:primaryType":"ravedata:document",
-            "ravedata:id":"rave",
-            "ravedata:title":"Apache Rave",
-            "ravedata:content":"Apache Rave is a new web and social mashup 
engine. It will provide an out-of-the-box as well as an extendible lightweight 
Java platform to host, serve and aggregate (Open)Social Gadgets and services 
through a highly customizable and Web 2.0 friendly front-end. Rave is targeted 
as engine for internet and intranet portals and as building block to provide 
context-aware personalization and collaboration features for 
multi-site/multi-channel (mobile) oriented and content driven websites and 
(social) network oriented services and platforms. For the OpenSocial container 
and services the (Java) Apache Shindig will be integrated. At a later stage 
further generalization is envisioned to also transparently support W3C Widgets 
using Apache Wookie."
+            "jcr:primaryType":"ravedata:content",
+            "id":"rave",
+            "title":"Apache Rave",
+            "body":"Apache Rave is a new web and social mashup engine. It will 
provide an out-of-the-box as well as an extendible lightweight Java platform to 
host, serve and aggregate (Open)Social Gadgets and services through a highly 
customizable and Web 2.0 friendly front-end. Rave is targeted as engine for 
internet and intranet portals and as building block to provide context-aware 
personalization and collaboration features for multi-site/multi-channel 
(mobile) oriented and content driven websites and (social) network oriented 
services and platforms. For the OpenSocial container and services the (Java) 
Apache Shindig will be integrated. At a later stage further generalization is 
envisioned to also transparently support W3C Widgets using Apache Wookie."
         }
 
     }

Modified: 
rave/sandbox/content-services/demo-portal/src/main/resources/page-config.json
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/resources/page-config.json?rev=1387873&r1=1387872&r2=1387873&view=diff
==============================================================================
--- 
rave/sandbox/content-services/demo-portal/src/main/resources/page-config.json 
(original)
+++ 
rave/sandbox/content-services/demo-portal/src/main/resources/page-config.json 
Thu Sep 20 06:43:23 2012
@@ -1,4 +1,5 @@
 {
+    "jcr:primaryType":"ravedata:folder",
     "routes":{
         "jcr:primaryType":"raveconfig:routes",
         "r1":{
@@ -25,6 +26,12 @@
             "jcr:primaryType":"raveconfig:route",
             "path":"/dynapi/rest/widgets",
             "target":"org.apache.rave.portal.web.mvc.api.rest.DynWidgetApi"
+        },
+        "binaries":{
+            "jcr:primaryType":"raveconfig:route",
+            "path":"/binaries",
+            "prop.contentPathPrefix":"/binaries",
+            
"target":"org.apache.rave.portal.web.mvc.view.BinaryRepositoryController"
         }
     },
     "pages":{

Modified: 
rave/sandbox/content-services/demo-portal/src/main/resources/template-data.json
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/resources/template-data.json?rev=1387873&r1=1387872&r2=1387873&view=diff
==============================================================================
--- 
rave/sandbox/content-services/demo-portal/src/main/resources/template-data.json 
(original)
+++ 
rave/sandbox/content-services/demo-portal/src/main/resources/template-data.json 
Thu Sep 20 06:43:23 2012
@@ -1,74 +1,78 @@
 {
-    "taglibs.ftl":{
-        "jcr:primaryType":"ravedata:script",
-        "id":"freemarker",
-        "jcr:lastModifiedBy":"admin",
-        "ravedata:src":"<#import \"/spring.ftl\" as spring />\n <#assign 
ravehmvc=JspTaglibs[\"http://www.apache-rave.org/jsp/hmvc\";] />\n <#assign 
tiles=JspTaglibs[\"http://tiles.apache.org/tags-tiles\";] />\n <#assign 
portal=JspTaglibs[\"http://www.apache.org/rave/tags\";] />\n <#assign 
sec=JspTaglibs[\"http://www.springframework.org/security/tags\";] />\n <#assign 
c=JspTaglibs[\"http://java.sun.com/jsp/jstl/core\";] />\n <#assign 
fmt=JspTaglibs[\"http://java.sun.com/jsp/jstl/fmt\";] />\n <#assign 
fn=JspTaglibs[\"http://java.sun.com/jsp/jstl/functions\";] />\n <#assign 
form=JspTaglibs[\"http://www.springframework.org/tags/form\";] />",
-        "ravedata:type":"freemarker",
-        "jcr:encoding":"test",
-        "jcr:mimeType":"text/plain",
-        "jcr:lastModified":"2012-08-30T10:48:40.534+0200"
+    "jcr:primaryType" : "ravedata:folder",
+    "jcr:createdBy" : "admin",
+    "taglibs.ftl" : {
+        "jcr:primaryType" : "ravedata:script",
+        "ravedata:type" : "freemarker",
+        "jcr:lastModifiedBy" : "admin",
+        "id" : "freemarker",
+        "jcr:createdBy" : "admin",
+        "jcr:encoding" : "test",
+        "jcr:mimeType" : "text/plain",
+        "ravedata:src" : "<#import \"/spring.ftl\" as spring />\n <#assign 
ravehmvc=JspTaglibs[\"http://www.apache-rave.org/jsp/hmvc\";] />\n <#assign 
tiles=JspTaglibs[\"http://tiles.apache.org/tags-tiles\";] />\n <#assign 
portal=JspTaglibs[\"http://www.apache.org/rave/tags\";] />\n <#assign 
sec=JspTaglibs[\"http://www.springframework.org/security/tags\";] />\n <#assign 
c=JspTaglibs[\"http://java.sun.com/jsp/jstl/core\";] />\n <#assign 
fmt=JspTaglibs[\"http://java.sun.com/jsp/jstl/fmt\";] />\n <#assign 
fn=JspTaglibs[\"http://java.sun.com/jsp/jstl/functions\";] />\n <#assign 
form=JspTaglibs[\"http://www.springframework.org/tags/form\";] />",
+        "jcr:lastModified" : "2012-08-30T10:48:40.534+0200"
     },
-    "footer.ftl":{
-        "jcr:primaryType":"ravedata:script",
-        "id":"footer",
-        "ravedata:src":"<#import \"/spring.ftl\" as spring/><#assign 
ravejcr=JspTaglibs[\"http://www.apache-rave.org/jsp/jcr\"]/><#assign 
form=JspTaglibs[\"http://www.springframework.org/tags/form\"]/><footer><div 
class=\"container\"><div class=\"row\"><div class=\"span12 
version\"><span><@ravejcr.content 
path=\"/content/documents/rave.txt\"name=\"title\"/>${applicationProperties['portal.version']}</span><a
 href=\"http://rave.apache.org\";><img class=\"footer-logo\" alt=\"Apache Rave\" 
title=\"Apache Rave\" 
src=\"binaries/images/rave-logo.png\"/></a></div></div></div></footer>",
-        "ravedata:type":"freemarker",
-        "jcr:lastModifiedBy":"admin",
-        "jcr:encoding":"test",
-        "jcr:mimeType":"text/plain",
-        "jcr:lastModified":"2012-08-30T10:48:40.534+0200"
-
+    "footer.ftl" : {
+        "jcr:primaryType" : "ravedata:script",
+        "ravedata:type" : "freemarker",
+        "jcr:lastModifiedBy" : "admin",
+        "id" : "footer",
+        "jcr:createdBy" : "admin",
+        "jcr:encoding" : "test",
+        "jcr:mimeType" : "text/plain",
+        "ravedata:src" : "<#import \"/spring.ftl\"as spring/>\n<#assign 
ravejcr=JspTaglibs[\"http://www.apache-rave.org/jsp/jcr\"]/>\n<#assign 
c=JspTaglibs[\"http://java.sun.com/jsp/jstl/core\";] />\n<footer>\n    <div 
class=\"container\">\n        <div class=\"row\">\n            <div 
class=\"span12 version\">\n            <@ravejcr.content 
path=\"/content/documents/rave.txt\" type=\"Article\" var=\"raveArticle\"/>\n   
             <span>${raveArticle.title} 
${applicationProperties['portal.version']}</span>\n                <a 
href=\"http://rave.apache.org\";><img class=\"footer-logo\" alt=\"Apache Rave\" 
title=\"Apache Rave\" src=\"<@c.url 
value=\"/dyn/binaries/images/rave-logo.png\"/>\"/></a>\n            </div>\n    
    </div>\n    </div>\n</footer>",
+        "jcr:lastModified" : "2012-08-30T10:48:40.534+0200"
     },
-    "userpage":{
-        "jcr:primaryType":"nt:unstructured",
-        "page.ftl":{
-            "jcr:primaryType":"ravedata:script",
-            "id":"userpage",
-            "ravedata:src":"<#include \"../taglibs.ftl\"/> \n<#import 
\"../macros/metaData.ftl\" as meta/>\n <#import \"../macros/css.ftl\" as 
css/>\n <#import \"../macros/raveJs.ftl\" as raveJavascript/>\n <!DOCTYPE 
html>\n <html class=\"no-js\">\n <head>\n <@meta.metaData />\n 
<title>rave</title>\n <@css.cssFiles/>\n <script 
src=\"//cdnjs.cloudflare.com/ajax/libs/modernizr/2.5.3/modernizr.min.js\"></script>\n
 </head>\n <body>\n <input id=\"currentPageId\" type=\"hidden\" 
value=\"${page.id}\"/>\n <#-- Header Content -->\n <@ravehmvc.include 
ref=\"header\"/>\n <#-- Main Body Content -->\n <@ravehmvc.include 
ref=\"body\"/>\n <#-- Footer Content -->\n <@ravehmvc.include 
ref=\"footer\"/>\n <#assign 
ScriptLocation=enums[\"org.apache.rave.portal.web.renderer.ScriptLocation\"]/>\n
 <#-- render any script that needs to execute pre-src includes -->\n 
<@portal[\"register-init-script\"] location=ScriptLocation.BEFORE_RAVE />\n 
<#-- render the javascript src includes at the bottom of th
 e page for performance -->\n <@raveJavascript.raveJavascript/>\n <#-- render 
custom javascript from extension projects if the tag is overlayed -->\n <#-- 
render any script that needs to execute post-src includes -->\n 
<@portal[\"render-init-script\"] location=ScriptLocation.AFTER_RAVE />\n 
</body>\n </html>",
-            "ravedata:type":"freemarker",
-            "jcr:lastModifiedBy":"admin",
-            "jcr:encoding":"test",
-            "jcr:mimeType":"text/plain",
-            "jcr:lastModified":"2012-08-30T10:48:40.534+0200"
-
+    "userpage" : {
+        "jcr:primaryType" : "ravedata:folder",
+        "jcr:createdBy" : "admin",
+        "page.ftl" : {
+            "jcr:primaryType" : "ravedata:script",
+            "ravedata:type" : "freemarker",
+            "jcr:lastModifiedBy" : "admin",
+            "id" : "userpage",
+            "jcr:createdBy" : "admin",
+            "jcr:encoding" : "test",
+            "ravedata:src" : "<#include \"../taglibs.ftl\"/> \n<#import 
\"../macros/metaData.ftl\" as meta/>\n <#import \"../macros/css.ftl\" as 
css/>\n <#import \"../macros/raveJs.ftl\" as raveJavascript/>\n <!DOCTYPE 
html>\n <html class=\"no-js\">\n <head>\n <@meta.metaData />\n 
<title>rave</title>\n <@css.cssFiles/>\n <script 
src=\"//cdnjs.cloudflare.com/ajax/libs/modernizr/2.5.3/modernizr.min.js\"></script>\n
 </head>\n <body>\n <input id=\"currentPageId\" type=\"hidden\" 
value=\"${page.id}\"/>\n <#-- Header Content -->\n <@ravehmvc.include 
ref=\"header\"/>\n <#-- Main Body Content -->\n <@ravehmvc.include 
ref=\"body\"/>\n <#-- Footer Content -->\n <@ravehmvc.include 
ref=\"footer\"/>\n <#assign 
ScriptLocation=enums[\"org.apache.rave.portal.web.renderer.ScriptLocation\"]/>\n
 <#-- render any script that needs to execute pre-src includes -->\n 
<@portal[\"register-init-script\"] location=ScriptLocation.BEFORE_RAVE />\n 
<#-- render the javascript src includes at the bottom of 
 the page for performance -->\n <@raveJavascript.raveJavascript/>\n <#-- render 
custom javascript from extension projects if the tag is overlayed -->\n <#-- 
render any script that needs to execute post-src includes -->\n 
<@portal[\"render-init-script\"] location=ScriptLocation.AFTER_RAVE />\n 
</body>\n </html>",
+            "jcr:mimeType" : "text/plain",
+            "jcr:lastModified" : "2012-08-30T10:48:40.534+0200"
         }
     },
-    "macros":{
-        "jcr:primaryType":"nt:unstructured",
-        "css.ftl":{
-            "jcr:primaryType":"ravedata:script",
-            "id":"macros",
-            "ravedata:src":"\n <#include \"../taglibs.ftl\"/>\n <#macro 
cssFiles>\n <link rel=\"stylesheet\" 
href=\"//ajax.aspnetcdn.com/ajax/jquery.ui/1.8.17/themes/base/jquery-ui.css\"/>\n
 <link rel=\"stylesheet\" href=\"<@spring.url \"/static/css/rave.css\" />\"/>\n 
</#macro>",
-            "ravedata:type":"freemarker",
-            "jcr:lastModifiedBy":"admin",
-            "jcr:encoding":"test",
-            "jcr:mimeType":"text/plain",
-            "jcr:lastModified":"2012-08-30T10:48:40.534+0200"
-
+    "macros" : {
+        "jcr:primaryType" : "ravedata:folder",
+        "jcr:createdBy" : "admin",
+        "css.ftl" : {
+            "jcr:primaryType" : "ravedata:script",
+            "ravedata:type" : "freemarker",
+            "jcr:lastModifiedBy" : "admin",
+            "id" : "macros",
+            "jcr:createdBy" : "admin",
+            "jcr:encoding" : "test",
+            "jcr:mimeType" : "text/plain",
+            "ravedata:src" : "\n <#include \"../taglibs.ftl\"/>\n <#macro 
cssFiles>\n <link rel=\"stylesheet\" 
href=\"//ajax.aspnetcdn.com/ajax/jquery.ui/1.8.17/themes/base/jquery-ui.css\"/>\n
 <link rel=\"stylesheet\" href=\"<@spring.url \"/static/css/rave.css\" />\"/>\n 
</#macro>",
+            "jcr:lastModified" : "2012-08-30T10:48:40.534+0200"
         },
-        "raveJs.ftl":{
-            "jcr:primaryType":"ravedata:script",
-            "id":"raveJs",
-            "ravedata:type":"freemarker",
-            "ravedata:src":"<#include \"../taglibs.ftl\"/>\n <#macro 
raveJavascript>\n <#assign 
ScriptLocation=enums[\"org.apache.rave.portal.web.renderer.ScriptLocation\"]/>\n
 <@portal[\"render-script\"] location=ScriptLocation.BEFORE_LIB />\n <script 
src=\"//cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js\"></script>\n 
<script 
src=\"//ajax.aspnetcdn.com/ajax/jquery/jquery-1.7.2.min.js\"></script>\n 
<script 
src=\"//ajax.aspnetcdn.com/ajax/jquery.ui/1.8.17/jquery-ui.min.js\"></script>\n 
<script 
src=\"//ajax.aspnetcdn.com/ajax/jquery.validate/1.8.1/jquery.validate.min.js\"></script>\n
 <script 
src=\"//cdnjs.cloudflare.com/ajax/libs/jquery-hashchange/v1.3/jquery.ba-hashchange.min.js\"></script>\n
 <script 
src=\"//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.0.3/bootstrap.min.js\"></script>\n
 <!--[if lt IE 9]><script 
src=\"//css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js\"></script><![endif]-->\n
 <@portal[\"render-script\"] location=ScriptLocation
 .AFTER_LIB />\n <@portal[\"render-script\"] 
location=ScriptLocation.BEFORE_RAVE />\n <#assign jsDebugMode>\n 
<@portal['render-js-debug-mode']/>\n </#assign>\n <#if jsDebugMode == '1'>\n 
<script src=\"<@spring.url \"/static/script/rave.js\"/>\"></script>\n <script 
src=\"<@spring.url \"/static/script/rave_api.js\"/>\"></script>\n <script 
src=\"<@spring.url \"/static/script/rave_opensocial.js\"/>\"></script>\n 
<script src=\"<@spring.url \"/static/script/rave_wookie.js\"/>\"></script>\n 
<script src=\"<@spring.url \"/static/script/rave_layout.js\"/>\"></script>\n 
<script src=\"<@spring.url \"/static/script/rave_forms.js\"/>\"></script>\n 
<script src=\"<@spring.url 
\"/static/script/rave_person_profile.js\"/>\"></script>\n <script 
src=\"<@spring.url \"/static/script/rave_store.js\"/>\"></script>\n <script 
src=\"<@spring.url \"/static/script/rave_admin.js\"/>\"></script>\n <#else>\n 
<script src=\"<@spring.url \"/static/script/rave_all.min.js\"/>\"></script>\n 
</#if>\n <script src=\"
 <@spring.url \"/app/messagebundle/rave_client_messages.js\"/>\"></script>\n 
<@portal[\"render-script\"] location=ScriptLocation.AFTER_RAVE />\n <#-- common 
javascript to execute on all pages -->\n <script>\n <#if requestContext??>\n 
rave.setContext(\"${requestContext.pathToServlet}/\");\n <#else>\n 
rave.setContext(\"<@spring.url \"/app/\" />\");\n </#if>\n 
rave.setJavaScriptDebugMode(${jsDebugMode});\n <@sec.authorize 
access=\"isAuthenticated()\">\n <@sec.authentication 
property=\"principal.username\" scope=\"request\" var=\"username\"/>\n 
<@sec.authentication property=\"principal.id\" scope=\"request\" var=\"id\"/>\n 
rave.setPageViewer({username:\"${username}\", id:\"${id}\"});\n 
</@sec.authorize>\n </script>\n </#macro>",
-            "jcr:lastModifiedBy":"admin",
-            "jcr:encoding":"test",
-            "jcr:mimeType":"text/plain",
-            "jcr:lastModified":"2012-08-30T10:48:40.534+0200"
+        "raveJs.ftl" : {
+            "jcr:primaryType" : "ravedata:script",
+            "ravedata:type" : "freemarker",
+            "jcr:lastModifiedBy" : "admin",
+            "id" : "raveJs",
+            "jcr:createdBy" : "admin",
+            "jcr:encoding" : "test",
+            "jcr:mimeType" : "text/plain",
+            "ravedata:src" : "<#include \"../taglibs.ftl\"/>\n <#macro 
raveJavascript>\n <#assign 
ScriptLocation=enums[\"org.apache.rave.portal.web.renderer.ScriptLocation\"]/>\n
 <@portal[\"render-script\"] location=ScriptLocation.BEFORE_LIB />\n <script 
src=\"//cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js\"></script>\n 
<script 
src=\"//ajax.aspnetcdn.com/ajax/jquery/jquery-1.7.2.min.js\"></script>\n 
<script 
src=\"//ajax.aspnetcdn.com/ajax/jquery.ui/1.8.17/jquery-ui.min.js\"></script>\n 
<script 
src=\"//ajax.aspnetcdn.com/ajax/jquery.validate/1.8.1/jquery.validate.min.js\"></script>\n
 <script 
src=\"//cdnjs.cloudflare.com/ajax/libs/jquery-hashchange/v1.3/jquery.ba-hashchange.min.js\"></script>\n
 <script 
src=\"//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.0.3/bootstrap.min.js\"></script>\n
 <!--[if lt IE 9]><script 
src=\"//css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js\"></script><![endif]-->\n
 <@portal[\"render-script\"] location=ScriptLocati
 on.AFTER_LIB />\n <@portal[\"render-script\"] 
location=ScriptLocation.BEFORE_RAVE />\n <#assign jsDebugMode>\n 
<@portal['render-js-debug-mode']/>\n </#assign>\n <#if jsDebugMode == '1'>\n 
<script src=\"<@spring.url \"/static/script/rave.js\"/>\"></script>\n <script 
src=\"<@spring.url \"/static/script/rave_api.js\"/>\"></script>\n <script 
src=\"<@spring.url \"/static/script/rave_opensocial.js\"/>\"></script>\n 
<script src=\"<@spring.url \"/static/script/rave_wookie.js\"/>\"></script>\n 
<script src=\"<@spring.url \"/static/script/rave_layout.js\"/>\"></script>\n 
<script src=\"<@spring.url \"/static/script/rave_forms.js\"/>\"></script>\n 
<script src=\"<@spring.url 
\"/static/script/rave_person_profile.js\"/>\"></script>\n <script 
src=\"<@spring.url \"/static/script/rave_store.js\"/>\"></script>\n <script 
src=\"<@spring.url \"/static/script/rave_admin.js\"/>\"></script>\n <#else>\n 
<script src=\"<@spring.url \"/static/script/rave_all.min.js\"/>\"></script>\n 
</#if>\n <script src=
 \"<@spring.url \"/app/messagebundle/rave_client_messages.js\"/>\"></script>\n 
<@portal[\"render-script\"] location=ScriptLocation.AFTER_RAVE />\n <#-- common 
javascript to execute on all pages -->\n <script>\n <#if requestContext??>\n 
rave.setContext(\"${requestContext.pathToServlet}/\");\n <#else>\n 
rave.setContext(\"<@spring.url \"/app/\" />\");\n </#if>\n 
rave.setJavaScriptDebugMode(${jsDebugMode});\n <@sec.authorize 
access=\"isAuthenticated()\">\n <@sec.authentication 
property=\"principal.username\" scope=\"request\" var=\"username\"/>\n 
<@sec.authentication property=\"principal.id\" scope=\"request\" var=\"id\"/>\n 
rave.setPageViewer({username:\"${username}\", id:\"${id}\"});\n 
</@sec.authorize>\n </script>\n </#macro>",
+            "jcr:lastModified" : "2012-08-30T10:48:40.534+0200"
         },
-        "metaData.ftl":{
-            "id":"metadata",
-            "ravedata:type":"freemarker",
-            "ravedata:src":"<#macro metaData>\n<meta 
charset=\"ISO-8859-1\"/>\n<meta name=\"viewport\" 
content=\"width=device-width\"/>\n</#macro>",
-            "jcr:primaryType":"ravedata:script",
-            "jcr:lastModifiedBy":"admin",
-            "jcr:encoding":"test",
-            "jcr:mimeType":"text/plain",
-            "jcr:lastModified":"2012-08-30T10:48:40.534+0200"
-
+        "metaData.ftl" : {
+            "jcr:primaryType" : "ravedata:script",
+            "ravedata:type" : "freemarker",
+            "jcr:lastModifiedBy" : "admin",
+            "id" : "metadata",
+            "jcr:createdBy" : "admin",
+            "jcr:encoding" : "test",
+            "jcr:mimeType" : "text/plain",
+            "ravedata:src" : "<#macro metaData>\n<meta 
charset=\"ISO-8859-1\"/>\n<meta name=\"viewport\" 
content=\"width=device-width\"/>\n</#macro>",
+            "jcr:lastModified" : "2012-08-30T10:48:40.534+0200"
         }
     }
-
-
 }
\ No newline at end of file

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=1387873&r1=1387872&r2=1387873&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
 Thu Sep 20 06:43:23 2012
@@ -1,4 +1,3 @@
-<#-- @ftlvariable name="raveDocument" 
type="org.apache.rave.portal.web.mvc.data.document.impl.Content" -->
 <#import "/spring.ftl"as spring/>
 <#assign ravejcr=JspTaglibs["http://www.apache-rave.org/jsp/jcr"]/>
 <#assign c=JspTaglibs["http://java.sun.com/jsp/jstl/core";] />
@@ -6,11 +5,10 @@
     <div class="container">
         <div class="row">
             <div class="span12 version">
-            <@ravejcr.content path="/content/documents/rave.txt" 
var="raveDocument"/>
-                <span>${raveDocument.title} 
${applicationProperties['portal.version']}</span>
+            <@ravejcr.content path="/content/documents/rave.txt" 
type="Article" var="raveArticle"/>
+                <span>${raveArticle.title} 
${applicationProperties['portal.version']}</span>
                 <a href="http://rave.apache.org";><img class="footer-logo" 
alt="Apache Rave" title="Apache Rave" src="<@c.url 
value="/dyn/binaries/images/rave-logo.png"/>"/></a>
             </div>
         </div>
     </div>
-</footer>
-
+</footer>
\ 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=1387873&r1=1387872&r2=1387873&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
 Thu Sep 20 06:43:23 2012
@@ -224,7 +224,6 @@
             <property name="viewName" value="page"/>
           </bean>
         </entry>
-        <entry key="/binaries/**" value-ref="binaryViewController"/>
       </map>
     </property>
   </bean>
@@ -291,26 +290,21 @@
     </property>
   </bean>
 
-  <bean id="documentManager" 
class="org.apache.rave.portal.web.mvc.data.mapping.DefaultDocumentManager" 
destroy-method="shutdown">
-    <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 id="contentManager" 
class="org.apache.rave.portal.web.mvc.data.mapping.DefaultContentManager" 
destroy-method="shutdown">
+    <constructor-arg index="0" ref="lazyRepositoryFactory"/>
+    <constructor-arg index="1" ref="jcrCredentials"/>
+    <constructor-arg index="2" value="default"/>
   </bean>
 
 
-  <bean id="jcrResourceLoader" 
class="org.apache.rave.portal.web.mvc.view.JcrRepositoryResourceLoader">
-    <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">
       <list>
-        <bean 
class="org.apache.rave.portal.web.mvc.view.FreeMarkerTemplateLoader">
-          <property name="loader" ref="jcrResourceLoader"/>
+        <bean 
class="org.apache.rave.portal.web.mvc.view.JcrFreeMarkerTemplateLoader">
+          <property name="contentManager" ref="contentManager"/>
         </bean>
       </list>
 
@@ -342,32 +336,13 @@
   </bean>
 
   <!--
-  
//*************************************************************************************
-  // BINARY CONTROLLER AND RESOLVERS
-  // see also: 
org.springframework.web.servlet.config.viewControllerHandlerMapping
-  
//*************************************************************************************
-  -->
-  <bean id="binaryViewController" 
class="org.apache.rave.portal.web.mvc.view.BinaryRepositoryController">
-    <property name="methodNameResolver" ref="binaryNameResolver"/>
-    <property name="documentManager" ref="documentManager"/>
-  </bean>
-
-  <bean id="binaryNameResolver" 
class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
-    <property name="mappings">
-      <props>
-        <prop key="/binaries/**">render</prop>
-      </props>
-    </property>
-  </bean>
-
-  <!--
   //############################################
   // Inject document service into JSP tags 
   //############################################  
   -->
 
   <bean class="org.apache.rave.portal.web.mvc.tags.RepositoryContentTag">
-    <property name="documentManager" ref="documentManager"/>
+    <property name="contentManager" ref="contentManager"/>
   </bean>
 
 

Modified: 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/routes.xml
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/routes.xml?rev=1387873&r1=1387872&r2=1387873&view=diff
==============================================================================
--- 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/routes.xml 
(original)
+++ 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/routes.xml 
Thu Sep 20 06:43:23 2012
@@ -23,4 +23,7 @@
   <route path="/page/view"           target="/userPage"/>
   <route path="/page/view/{pageId}"  target="/userPage"/>
   <route path="/dynapi/rest/widgets" 
target="org.apache.rave.portal.web.mvc.api.rest.DynWidgetApi"/>
+  <route path="/binaries"            
target="org.apache.rave.portal.web.mvc.view.BinaryRepositoryController">
+    <property name="contentPathPrefix">/binaries</property>
+  </route>
 </routes>


Reply via email to