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");