Author: marijan
Date: Wed Sep 19 10:50:10 2012
New Revision: 1387520

URL: http://svn.apache.org/viewvc?rev=1387520&view=rev
Log:
RAVE-696 Create new rave-web-jcr module providing a JCR based implementation of 
the rave-web-hmvc provided page model and controllers and integration of other 
content services

- fix templates and data loading

Modified:
    
rave/sandbox/content-services/demo-portal/src/main/resources/binary-data.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/jsp/views/pages/footer.jsp
    
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/Document.java
    
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/impl/BinaryContent.java
    
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/impl/Content.java
    
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/impl/ContentFolder.java
    
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/mapping/DefaultDocumentManager.java
    
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/tags/RepositoryContentTag.java

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=1387520&r1=1387519&r2=1387520&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 
Wed Sep 19 10:50:10 2012
@@ -1,11 +1,11 @@
 {
     "images":{
         "jcr:primaryType":"nt:unstructured",
-        "rave-log.png":{
+        "rave-logo.png":{
             "jcr:primaryType":"ravedata:binary",
             "ravedata:id":"logo",
             "resource":{
-                "jcr:primaryType":"nt:resource",
+                "jcr:primaryType":"ravedata:resource",
                 "jcr:lastModifiedBy":"admin",
                 
"jcr:binary:jcr:data":"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",
                 "jcr:encoding":"test",

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=1387520&r1=1387519&r2=1387520&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 
Wed Sep 19 10:50:10 2012
@@ -12,7 +12,7 @@
     "footer.ftl":{
         "jcr:primaryType":"ravedata:script",
         "id":"footer",
-        "ravedata:src":"<#import\"/spring.ftl\"as spring/>n<#assign 
ravejcr=JspTaglibs[\"http://www.apache-rave.org/jsp/jcr\"]/>n<#assign 
form=JspTaglibs[\"http://www.springframework.org/tags/form\"]/>n<footer>n<div 
class=\"container\">n<div class=\"row\">n<div class=\"span12 
version\">n<span><@ravejcr.content 
path=\"/content/documents/footer.txt\"name=\"title\"/>${applicationProperties['portal.version']}</span>n<a
 href=\"http://rave.apache.org\";><img class=\"footer-logo\"alt=\"Apache Rave\" 
title=\"Apache Rave\" src=\"<@ravejcr.resource 
path=\"/binaries/images/rave-logo.png\"/>\"/></a>n</div>n</div>n</div>n</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",

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=1387520&r1=1387519&r2=1387520&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
 Wed Sep 19 10:50:10 2012
@@ -1,14 +1,14 @@
-<#import "/spring.ftl" as spring />
-<#assign ravejcr=JspTaglibs["http://www.apache-rave.org/jsp/jcr";] />
-<#assign form=JspTaglibs["http://www.springframework.org/tags/form";] />
+<#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";] />
 <footer>
     <div class="container">
         <div class="row">
             <div class="span12 version">
-                <span><@ravejcr.content path="/content/documents/footer.txt" 
name="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="binaries/images/rave-logo.png"/>"/></a>
+                <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="<@c.url 
value="dyn/binaries/images/rave-logo.png"/>"/></a>
             </div>
         </div>
     </div>
-</footer>
\ No newline at end of file
+</footer>
+

Modified: 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/pages/footer.jsp
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/pages/footer.jsp?rev=1387520&r1=1387519&r2=1387520&view=diff
==============================================================================
--- 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/pages/footer.jsp
 (original)
+++ 
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/pages/footer.jsp
 Wed Sep 19 10:50:10 2012
@@ -18,15 +18,10 @@ under the License.
 --%>
 <%-- Common footer --%>
 <%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %>
-<%@ taglib uri="http://www.apache-rave.org/jsp/jcr"; prefix="rave-jcr" %>
 <footer>
   <div class="container">
     <div class="row">
       <div class="span12 version">
-        <span>FOOTER TITLE:<rave-jcr:content 
path="/content/documents/footer.txt" propertyName="title"/></span>
-        <span>FOOTER BOOLEAN:<rave-jcr:resource 
path="/content/documents/footer.txt"/></span>
-        <span>image:<img src="<c:url value="/content/documents/footer.png" 
/>"/></span>
-        <span><rave-jcr:content path="/content/documents/footer.png" 
propertyName="title"/></span>
         <span>Apache Rave ${applicationProperties['portal.version']}</span>
         <a href="http://rave.apache.org";><img class="footer-logo" alt="Apache 
Rave" title="Apache Rave" src="<c:url value="/static/images/rave-logo.png" 
/>"/></a>
       </div>

Modified: 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/Document.java
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/Document.java?rev=1387520&r1=1387519&r2=1387520&view=diff
==============================================================================
--- 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/Document.java
 (original)
+++ 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/Document.java
 Wed Sep 19 10:50:10 2012
@@ -48,12 +48,10 @@ public interface Document {
     /**
      * Get a document property.
      *
-     * @param name  full qualified property name e.g. <strong>{@code 
jcr:date}</strong>
-     * @param clazz class to convert property to.
-     * @param <T>   type of above class. May be an array type. For other 
types, converters need to be used.
+     * @param name full qualified property name e.g. <strong>{@code 
jcr:date}</strong>
      * @return null or (populated) instance of provided class
      */
-    <T> T getProperty(String name, Class<T> clazz);
+    <T> T getProperty(String name);
 
 
     /**

Modified: 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/impl/BinaryContent.java
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/impl/BinaryContent.java?rev=1387520&r1=1387519&r2=1387520&view=diff
==============================================================================
--- 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/impl/BinaryContent.java
 (original)
+++ 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/impl/BinaryContent.java
 Wed Sep 19 10:50:10 2012
@@ -21,6 +21,7 @@ package org.apache.rave.portal.web.mvc.d
 
 import java.io.InputStream;
 
+import org.apache.jackrabbit.ocm.mapper.impl.annotation.Bean;
 import org.apache.jackrabbit.ocm.mapper.impl.annotation.Node;
 import org.apache.rave.portal.web.mvc.data.document.Document;
 import org.apache.rave.portal.web.mvc.data.document.Resource;
@@ -42,6 +43,7 @@ public class BinaryContent extends Conte
     }
 
 
+    @Bean
     private BinaryResource resource;
 
     public BinaryResource getResource() {
@@ -50,7 +52,7 @@ public class BinaryContent extends Conte
 
 
     public void setResource(BinaryResource resource) {
-        this.resource = (BinaryResource) resource;
+        this.resource = resource;
     }
 
 }

Modified: 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/impl/Content.java
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/impl/Content.java?rev=1387520&r1=1387519&r2=1387520&view=diff
==============================================================================
--- 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/impl/Content.java
 (original)
+++ 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/impl/Content.java
 Wed Sep 19 10:50:10 2012
@@ -19,15 +19,22 @@
 
 package org.apache.rave.portal.web.mvc.data.document.impl;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import org.apache.jackrabbit.ocm.mapper.impl.annotation.Field;
 import org.apache.jackrabbit.ocm.mapper.impl.annotation.Node;
 import org.apache.rave.portal.web.mvc.data.document.Document;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * @version "$Id$"
  */
 @Node(discriminator = false, jcrType = "ravedata:document")
 public class Content implements Document {
+    private static final Logger log = LoggerFactory.getLogger(Content.class);
+    private Map<String, Object> propertyMap;
 
     @Field(path = true)
     private String path;
@@ -37,6 +44,12 @@ public class Content implements Document
 
     private String name;
 
+    @Field(jcrName = "ravedata:title")
+    private String title;
+
+    @Field(jcrName = "ravedata:content")
+    private String content;
+
 
     @Override
     public String getName() {
@@ -54,9 +67,31 @@ public class Content implements Document
     }
 
 
+    @SuppressWarnings("unchecked")
     @Override
-    public <T> T getProperty(String name, Class<T> clazz) {
-        throw new IllegalStateException("TODO: Not implemented yet");
+    public <T> T getProperty(String name) {
+        if (propertyMap == null) {
+            return null;
+        }
+        return (T) propertyMap.get(name);
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+        addProperty("title", title);
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+        addProperty("content", content);
     }
 
     @Override
@@ -73,6 +108,13 @@ public class Content implements Document
         this.id = id;
     }
 
+    private void addProperty(String name, Object value) {
+        if (propertyMap == null) {
+            propertyMap = new HashMap<String, Object>();
+        }
+        propertyMap.put(name, value);
+    }
+
     @Override
     public String toString() {
         final StringBuilder sb = new StringBuilder();

Modified: 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/impl/ContentFolder.java
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/impl/ContentFolder.java?rev=1387520&r1=1387519&r2=1387520&view=diff
==============================================================================
--- 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/impl/ContentFolder.java
 (original)
+++ 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/document/impl/ContentFolder.java
 Wed Sep 19 10:50:10 2012
@@ -53,7 +53,7 @@ public class ContentFolder implements Fo
     }
 
     @Override
-    public <T> T getProperty(String name, Class<T> clazz) {
+    public <T> T getProperty(String name) {
         return null;
     }
 

Modified: 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/mapping/DefaultDocumentManager.java
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/mapping/DefaultDocumentManager.java?rev=1387520&r1=1387519&r2=1387520&view=diff
==============================================================================
--- 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/mapping/DefaultDocumentManager.java
 (original)
+++ 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/data/mapping/DefaultDocumentManager.java
 Wed Sep 19 10:50:10 2012
@@ -37,9 +37,9 @@ import org.apache.jackrabbit.ocm.mapper.
 import org.apache.jackrabbit.ocm.mapper.impl.annotation.AnnotationMapperImpl;
 import org.apache.rave.jcr.LazyRepositoryFactory;
 import org.apache.rave.jcr.LazyRepositoryFactoryListener;
-import org.apache.rave.jcr.data.document.impl.BinaryResource;
 import org.apache.rave.portal.web.mvc.data.document.Document;
 import org.apache.rave.portal.web.mvc.data.document.impl.BinaryContent;
+import org.apache.rave.portal.web.mvc.data.document.impl.BinaryResource;
 import org.apache.rave.portal.web.mvc.data.document.impl.Content;
 import org.apache.rave.portal.web.mvc.data.document.impl.ContentFolder;
 import org.apache.rave.portal.web.mvc.data.document.impl.ScriptContent;

Modified: 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/tags/RepositoryContentTag.java
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/tags/RepositoryContentTag.java?rev=1387520&r1=1387519&r2=1387520&view=diff
==============================================================================
--- 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/tags/RepositoryContentTag.java
 (original)
+++ 
rave/sandbox/content-services/rave-web-jcr/src/main/java/org/apache/rave/portal/web/mvc/tags/RepositoryContentTag.java
 Wed Sep 19 10:50:10 2012
@@ -26,7 +26,6 @@ import javax.servlet.jsp.JspWriter;
 import javax.servlet.jsp.tagext.TagSupport;
 
 import org.apache.rave.portal.web.mvc.data.document.Document;
-import org.apache.rave.portal.web.mvc.data.document.impl.Content;
 import org.apache.rave.portal.web.mvc.data.mapping.DocumentManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -67,14 +66,14 @@ public class RepositoryContentTag extend
             }
             return EVAL_PAGE;
         }
-        final Document document = documentManager.fetchDocument(path, 
Content.class);
+        final Document document = documentManager.fetchDocument(path);
         if (document == null) {
             if (log.isDebugEnabled()) {
                 log.error("Document was null for path: [{}]", path);
             }
             return EVAL_PAGE;
         }
-        final String property = document.getProperty(name, String.class);
+        final String property = document.getProperty(name);
         if (property == null) {
             if (log.isDebugEnabled()) {
                 log.error("Response was null");


Reply via email to