You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by ca...@apache.org on 2012/02/22 17:54:43 UTC
svn commit: r1292396 - in /incubator/rave/trunk:
rave-components/rave-core/src/main/java/org/apache/rave/portal/model/
rave-portal-resources/src/main/webapp/WEB-INF/db/
Author: carlucci
Date: Wed Feb 22 16:54:42 2012
New Revision: 1292396
URL: http://svn.apache.org/viewvc?rev=1292396&view=rev
Log:
Code in support of RAVE-475: Create person profile page off of a template
- applying Aaron Gooch's contribution of the PageTemplate, PageTemplateRegion, and PageTemplateWidget models
Added:
incubator/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplate.java
incubator/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateRegion.java
incubator/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateWidget.java
Modified:
incubator/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql
Added: incubator/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplate.java
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplate.java?rev=1292396&view=auto
==============================================================================
--- incubator/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplate.java (added)
+++ incubator/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplate.java Wed Feb 22 16:54:42 2012
@@ -0,0 +1,162 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.rave.portal.model;
+
+import org.apache.rave.persistence.BasicEntity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.List;
+
+@Entity
+@Table(name="page_template")
+@NamedQueries({
+ @NamedQuery(name = "PageTemplate.findByPageTemplateId", query = "SELECT p FROM PageTemplate p WHERE p.entityId = :id"),
+ @NamedQuery(name = "PageTemplate.findAll", query = "SELECT p FROM PageTemplate p ORDER BY p.renderSequence, p.title")
+})
+@Access(AccessType.FIELD)
+public class PageTemplate implements BasicEntity, Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ @Column(name="entity_id")
+ @GeneratedValue(strategy = GenerationType.TABLE, generator = "pageTemplateIdGenerator")
+ @TableGenerator(name = "pageTemplateIdGenerator", table = "RAVE_PORTAL_SEQUENCES", pkColumnName = "SEQ_NAME",
+ valueColumnName = "SEQ_COUNT", pkColumnValue = "page_template", allocationSize = 1, initialValue = 1)
+ private Long entityId;
+
+ @Basic @Column(name="title", unique = false)
+ private String title;
+
+ @Basic @Column(name="description", unique = false)
+ private String description;
+
+ @Basic(optional = false)
+ @Column(name="page_type", unique = false)
+ @Enumerated(EnumType.STRING)
+ private PageType pageType;
+
+ @OneToOne(cascade=CascadeType.ALL)
+ @JoinColumn(name="parent_page_template_id")
+ private PageTemplate parentPageTemplate;
+
+ @OneToMany(fetch = FetchType.EAGER, cascade=CascadeType.ALL, mappedBy="parentPageTemplate")
+ private List<PageTemplate> subPageTemplates;
+
+ @ManyToOne
+ @JoinColumn(name = "page_layout_id")
+ private PageLayout pageLayout;
+
+ @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
+ @OrderBy("renderSequence")
+ @JoinColumn(name="page_template_id")
+ private List<PageTemplateRegion> pageTemplateRegions;
+
+ @Basic(optional = false)
+ @Column(name = "render_sequence")
+ private long renderSequence;
+
+ @Basic(optional = false)
+ @Column(name = "default_template")
+ private boolean defaultTemplate;
+
+ @Override
+ public Long getEntityId() {
+ return entityId;
+ }
+
+ @Override
+ public void setEntityId(Long entityId) {
+ this.entityId = entityId;
+ }
+
+ public PageType getPageType() {
+ return pageType;
+ }
+
+ public void setPageType(PageType pageType) {
+ this.pageType = pageType;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public PageTemplate getParentPageTemplate() {
+ return parentPageTemplate;
+ }
+
+ public void setParentPageTemplate(PageTemplate parentPageTemplate) {
+ this.parentPageTemplate = parentPageTemplate;
+ }
+
+ public PageLayout getPageLayout() {
+ return pageLayout;
+ }
+
+ public void setPageLayout(PageLayout pageLayout) {
+ this.pageLayout = pageLayout;
+ }
+
+ public List<PageTemplateRegion> getPageTemplateRegions() {
+ return pageTemplateRegions;
+ }
+
+ public void setPageTemplateRegions(List<PageTemplateRegion> pageTemplateRegions) {
+ this.pageTemplateRegions = pageTemplateRegions;
+ }
+
+ public long getRenderSequence() {
+ return renderSequence;
+ }
+
+ public void setRenderSequence(long renderSequence) {
+ this.renderSequence = renderSequence;
+ }
+
+ public boolean isDefaultTemplate() {
+ return defaultTemplate;
+ }
+
+ public void setDefaultTemplate(boolean defaultTemplate) {
+ this.defaultTemplate = defaultTemplate;
+ }
+
+ public List<PageTemplate> getSubPageTemplates() {
+ return subPageTemplates;
+ }
+
+ public void setSubPageTemplates(List<PageTemplate> subPageTemplates) {
+ this.subPageTemplates = subPageTemplates;
+ }
+}
Added: incubator/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateRegion.java
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateRegion.java?rev=1292396&view=auto
==============================================================================
--- incubator/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateRegion.java (added)
+++ incubator/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateRegion.java Wed Feb 22 16:54:42 2012
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.rave.portal.model;
+
+import org.apache.rave.persistence.BasicEntity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.List;
+
+@Entity
+@Table(name = "page_template_region")
+@NamedQueries({
+ @NamedQuery(name = "PageTemplateRegion.findAll", query = "SELECT p FROM PageTemplateRegion p"),
+ @NamedQuery(name = "PageTemplateRegion.findByPageTemplateRegionId", query = "SELECT p FROM PageTemplateRegion p WHERE p.entityId = :id")
+})
+@Access(AccessType.FIELD)
+public class PageTemplateRegion implements BasicEntity, Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ @Column(name="entity_id")
+ @GeneratedValue(strategy = GenerationType.TABLE, generator = "pageTemplateRegionIdGenerator")
+ @TableGenerator(name = "pageTemplateRegionIdGenerator", table = "RAVE_PORTAL_SEQUENCES", pkColumnName = "SEQ_NAME",
+ valueColumnName = "SEQ_COUNT", pkColumnValue = "page_template_region", allocationSize = 1, initialValue = 1)
+ private Long entityId;
+
+ @Basic(optional = false)
+ @Column(name = "render_sequence")
+ private long renderSequence;
+
+ @JoinColumn(name = "page_template_id")
+ @ManyToOne(optional = false)
+ private PageTemplate pageTemplate;
+
+ @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
+ @OrderBy("renderSequence")
+ @JoinColumn(name = "page_template_region_id")
+ private List<PageTemplateWidget> pageTemplateWidgets;
+
+ @Override
+ public Long getEntityId() {
+ return entityId;
+ }
+
+ @Override
+ public void setEntityId(Long entityId) {
+ this.entityId = entityId;
+ }
+
+ public long getRenderSequence() {
+ return renderSequence;
+ }
+
+ public void setRenderSequence(long renderSequence) {
+ this.renderSequence = renderSequence;
+ }
+
+ public PageTemplate getPageTemplate() {
+ return pageTemplate;
+ }
+
+ public void setPageTemplate(PageTemplate pageTemplate) {
+ this.pageTemplate = pageTemplate;
+ }
+
+ public List<PageTemplateWidget> getPageTemplateWidgets() {
+ return pageTemplateWidgets;
+ }
+
+ public void setPageTemplateWidgets(List<PageTemplateWidget> pageTemplateWidgets) {
+ this.pageTemplateWidgets = pageTemplateWidgets;
+ }
+}
Added: incubator/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateWidget.java
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateWidget.java?rev=1292396&view=auto
==============================================================================
--- incubator/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateWidget.java (added)
+++ incubator/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateWidget.java Wed Feb 22 16:54:42 2012
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.rave.portal.model;
+
+import org.apache.rave.persistence.BasicEntity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+@Entity
+@Table(name= "page_template_widget")
+@NamedQueries({
+ @NamedQuery(name = "PageTemplateGadget.findAll", query = "SELECT p FROM PageTemplateWidget p"),
+ @NamedQuery(name = "PageTemplateGadget.findByPageTemplateGadgetId", query = "SELECT p FROM PageTemplateWidget p WHERE p.entityId = :id")
+})
+@Access(AccessType.FIELD)
+public class PageTemplateWidget implements BasicEntity, Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ @Column(name="entity_id")
+ @GeneratedValue(strategy = GenerationType.TABLE, generator = "pageTemplateWidgetIdGenerator")
+ @TableGenerator(name = "pageTemplateWidgetIdGenerator", table = "RAVE_PORTAL_SEQUENCES", pkColumnName = "SEQ_NAME",
+ valueColumnName = "SEQ_COUNT", pkColumnValue = "page_template_widget", allocationSize = 1, initialValue = 1)
+ private Long entityId;
+
+ @JoinColumn(name = "page_template_region_id")
+ @ManyToOne(optional = false)
+ private PageTemplateRegion pageTemplateRegion;
+
+ @Basic(optional = false)
+ @Column(name = "render_sequence")
+ private long renderSequence;
+
+ @JoinColumn(name = "widget_id")
+ @ManyToOne(optional = false)
+ private Widget widget;
+
+ @Override
+ public Long getEntityId() {
+ return entityId;
+ }
+
+ @Override
+ public void setEntityId(Long entityId) {
+ this.entityId = entityId;
+ }
+
+ public PageTemplateRegion getPageTemplateRegion() {
+ return pageTemplateRegion;
+ }
+
+ public void setPageTemplateRegion(PageTemplateRegion pageTemplateRegion) {
+ this.pageTemplateRegion = pageTemplateRegion;
+ }
+
+ public long getRenderSeq() {
+ return renderSequence;
+ }
+
+ public void setRenderSeq(long renderSeq) {
+ this.renderSequence = renderSeq;
+ }
+
+ public Widget getWidget() {
+ return widget;
+ }
+
+ public void setWidget(Widget widget) {
+ this.widget = widget;
+ }
+}
Modified: incubator/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql?rev=1292396&r1=1292395&r2=1292396&view=diff
==============================================================================
--- incubator/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql (original)
+++ incubator/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql Wed Feb 22 16:54:42 2012
@@ -40,6 +40,9 @@ set @portal_preference_seq = 'portal_pre
set @tag_seq = 'tag';
set @widget_tag_seq = 'widget_tag';
set @category_seq = 'category';
+set @page_template_seq = 'page_template';
+set @page_template_region_seq = 'page_template_region';
+set @page_template_widget_seq = 'page_template_widget';
CREATE TABLE IF NOT EXISTS RAVE_PORTAL_SEQUENCES (seq_name VARCHAR(255) PRIMARY KEY NOT NULL, seq_count BIGINT(19));
INSERT INTO RAVE_PORTAL_SEQUENCES(seq_name, seq_count) values (@page_seq, 1);
@@ -59,6 +62,9 @@ INSERT INTO RAVE_PORTAL_SEQUENCES(seq_na
INSERT INTO RAVE_PORTAL_SEQUENCES(seq_name, seq_count) values (@tag_seq, 1);
INSERT INTO RAVE_PORTAL_SEQUENCES(seq_name, seq_count) values (@widget_tag_seq, 1);
INSERT INTO RAVE_PORTAL_SEQUENCES(seq_name, seq_count) values (@category_seq, 1);
+INSERT INTO RAVE_PORTAL_SEQUENCES(seq_name, seq_count) values (@page_template_seq, 1);
+INSERT INTO RAVE_PORTAL_SEQUENCES(seq_name, seq_count) values (@page_template_region_seq, 1);
+INSERT INTO RAVE_PORTAL_SEQUENCES(seq_name, seq_count) values (@page_template_widget_seq, 1);
-- ***********************************************************************************
-- start page layout data, required to make the portal work ---
@@ -989,3 +995,76 @@ values (@wikipedia_widget_id, @category_
insert into widget_category (widget_id, category_id)
values (@nyt_widget_id, @category_id2);
+
+----------------------------------------
+-- person profile parent page templates
+----------------------------------------
+-- page
+set @person_profile_page_template_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_template_seq);
+insert into page_template (entity_id, page_type, page_layout_id, title, description, parent_page_template_id, render_sequence, default_template)
+values (@person_profile_page_template_id, 'PERSON_PROFILE', @person_profile_layout_id, 'Person Profile', 'Template for person profile pages', null, 0, true);
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_template_seq;
+
+-- regions
+set @person_profile_page_template_region_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_template_region_seq);
+insert into page_template_region (entity_id, render_sequence, page_template_id)
+values (@person_profile_page_template_region_id, 0, @person_profile_page_template_id);
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_template_region_seq;
+
+-- widgets
+set @next_person_profile_page_template_widget_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_template_widget_seq);
+insert into page_template_widget (entity_id, page_template_region_id, render_sequence, widget_id)
+values (@next_person_profile_page_template_widget_id, @person_profile_page_template_region_id, 0, @my_groups_widget_id);
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_template_widget_seq;
+
+set @next_person_profile_page_template_widget_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_template_widget_seq);
+insert into page_template_widget (entity_id, page_template_region_id, render_sequence, widget_id)
+values (@next_person_profile_page_template_widget_id, @person_profile_page_template_region_id, 1, @work_experience_widget_id);
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_template_widget_seq;
+
+------------------------------------------
+-- person profile about sub page templates
+------------------------------------------
+-- page
+set @person_profile_subpage1_template_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_template_seq);
+insert into page_template (entity_id, page_type, page_layout_id, title, description, parent_page_template_id, render_sequence, default_template)
+values (@person_profile_subpage1_template_id, 'SUB_PAGE', @one_col_id, 'About', 'Template for the About sub page for the person profile', @person_profile_page_template_id, 0, false);
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_template_seq;
+
+-- regions
+set @person_profile_subpage1_template_region_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_template_region_seq);
+insert into page_template_region (entity_id, render_sequence, page_template_id)
+values (@person_profile_subpage1_template_region_id, 0, @person_profile_subpage1_template_id);
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_template_region_seq;
+
+-- widgets
+set @next_person_profile_subpage1_template_widget_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_template_widget_seq);
+insert into page_template_widget (entity_id, page_template_region_id, render_sequence, widget_id)
+values (@next_person_profile_subpage1_template_widget_id, @person_profile_subpage1_template_region_id, 0, @favorite_websites_widget_id);
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_template_widget_seq;
+
+set @next_person_profile_subpage1_template_widget_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_template_widget_seq);
+insert into page_template_widget (entity_id, page_template_region_id, render_sequence, widget_id)
+values (@next_person_profile_subpage1_template_widget_id, @person_profile_subpage1_template_region_id, 1, @schedule_widget_id);
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_template_widget_seq;
+
+--------------------------------------------------
+-- person profile my activities sub page templates
+--------------------------------------------------
+-- page
+set @person_profile_subpage2_template_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_template_seq);
+insert into page_template (entity_id, page_type, page_layout_id, title, description, parent_page_template_id, render_sequence, default_template)
+values (@person_profile_subpage2_template_id, 'SUB_PAGE', @one_col_id, 'My Activity', 'Template for the My Activity sub page for the person profile', @person_profile_page_template_id, 1, false);
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_template_seq;
+
+-- regions
+set @person_profile_subpage2_template_region_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_template_region_seq);
+insert into page_template_region (entity_id, render_sequence, page_template_id)
+values (@person_profile_subpage2_template_region_id, 0, @person_profile_subpage2_template_id);
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_template_region_seq;
+
+-- widgets
+set @next_person_profile_subpage2_template_widget_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_template_widget_seq);
+insert into page_template_widget (entity_id, page_template_region_id, render_sequence, widget_id)
+values (@next_person_profile_subpage2_template_widget_id, @person_profile_subpage2_template_region_id, 0, @my_activity_widget_id);
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_template_widget_seq;