You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mf...@apache.org on 2014/01/16 04:32:53 UTC
svn commit: r1558686 - in /rave/trunk/rave-components:
rave-core-api/src/main/java/org/apache/rave/model/
rave-core/src/main/java/org/apache/rave/portal/model/impl/
rave-jpa/src/main/java/org/apache/rave/portal/model/
Author: mfranklin
Date: Thu Jan 16 03:32:52 2014
New Revision: 1558686
URL: http://svn.apache.org/r1558686
Log:
Updated Page template objects to support properties
Modified:
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/model/PageTemplate.java
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageTemplateImpl.java
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
Modified: rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/model/PageTemplate.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/model/PageTemplate.java?rev=1558686&r1=1558685&r2=1558686&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/model/PageTemplate.java (original)
+++ rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/model/PageTemplate.java Thu Jan 16 03:32:52 2014
@@ -20,6 +20,7 @@ package org.apache.rave.model;
import javax.xml.bind.annotation.XmlTransient;
import java.util.List;
+import java.util.Map;
@XmlTransient
public interface PageTemplate {
@@ -61,4 +62,20 @@ public interface PageTemplate {
List<PageTemplate> getSubPageTemplates();
void setSubPageTemplates(List<PageTemplate> subPageTemplates);
+
+ /**
+ * Generic property bag for extension of the page template object.
+ *
+ * Rave makes no attempt to understand the shape of the property bag.
+ *
+ * @return a valid Map of String to Object.
+ */
+ Map<String, Object> getProperties();
+
+ /**
+ * Overrides the current properties with a new set.
+ *
+ * @param properties a non-null map of string to JSON serializable object
+ */
+ void setProperties(Map<String, Object> properties);
}
Modified: rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageTemplateImpl.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageTemplateImpl.java?rev=1558686&r1=1558685&r2=1558686&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageTemplateImpl.java (original)
+++ rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageTemplateImpl.java Thu Jan 16 03:32:52 2014
@@ -24,6 +24,7 @@ import org.apache.rave.model.PageTemplat
import org.apache.rave.model.PageType;
import java.util.List;
+import java.util.Map;
public class PageTemplateImpl implements PageTemplate {
private String id;
@@ -36,6 +37,7 @@ public class PageTemplateImpl implements
private List<PageTemplateRegion> pageTemplateRegions;
private long renderSequence;
private boolean defaultTemplate;
+ private Map<String, Object> properties;
public PageTemplateImpl() {
@@ -125,6 +127,14 @@ public class PageTemplateImpl implements
this.defaultTemplate = defaultTemplate;
}
+ public Map<String, Object> getProperties() {
+ return properties;
+ }
+
+ public void setProperties(Map<String, Object> properties) {
+ this.properties = properties;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
Modified: rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java?rev=1558686&r1=1558685&r2=1558686&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java (original)
+++ rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java Thu Jan 16 03:32:52 2014
@@ -19,6 +19,7 @@
package org.apache.rave.portal.model;
+import com.fasterxml.jackson.annotation.JsonIgnore;
import org.apache.rave.model.PageLayout;
import org.apache.rave.model.PageTemplate;
import org.apache.rave.model.PageTemplateRegion;
@@ -30,6 +31,7 @@ import javax.persistence.*;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
@Entity
@Table(name="page_template")
@@ -88,6 +90,14 @@ public class JpaPageTemplate implements
@Column(name = "default_template")
private boolean defaultTemplate;
+ @Lob @JsonIgnore
+ @Column(name = "serialized_data")
+ private String serializedData;
+
+ //It will be the responsibility of the repository to ensure that this property is set when the page is retrieved from the database
+ @Transient
+ private Map<String, Object> properties;
+
@Override
public Long getEntityId() {
return entityId;
@@ -210,4 +220,14 @@ public class JpaPageTemplate implements
public String getId() {
return this.getEntityId() == null ? null : this.getEntityId().toString();
}
+
+ @Override
+ public Map<String, Object> getProperties() {
+ return properties;
+ }
+
+ @Override
+ public void setProperties(Map<String, Object> properties) {
+ this.properties = properties;
+ }
}