Author: mfranklin
Date: Tue Jun 5 16:34:43 2012
New Revision: 1346456
URL: http://svn.apache.org/viewvc?rev=1346456&view=rev
Log:
Refactored PageLayout RAVE-651
Added:
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaPageLayout.java
- copied, changed from r1346439,
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageLayout.java
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageLayout.java
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/conversion/JpaPageLayoutConverter.java
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageLayoutImpl.java
Modified:
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Page.java
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/User.java
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/impl/JpaPageLayoutRepository.java
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultPageService.java
rave/branches/model_interfaces/rave-components/rave-core/src/main/resources/META-INF/persistence.xml
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/PageTest.java
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/conversion/JpaPageTemplateConverterTest.java
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/repository/impl/JpaPageLayoutRepositoryTest.java
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultNewAccountServiceTest.java
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultPageLayoutServiceTest.java
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultPageServiceTest.java
rave/branches/model_interfaces/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/PageControllerTest.java
rave/branches/model_interfaces/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java
rave/branches/model_interfaces/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/page.jsp
Copied:
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaPageLayout.java
(from r1346439,
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageLayout.java)
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaPageLayout.java?p2=rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaPageLayout.java&p1=rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageLayout.java&r1=1346439&r2=1346456&rev=1346456&view=diff
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageLayout.java
(original)
+++
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaPageLayout.java
Tue Jun 5 16:34:43 2012
@@ -31,18 +31,19 @@ import java.io.Serializable;
@Access(AccessType.FIELD)
@Table(name="page_layout")
@NamedQueries({
- @NamedQuery(name=PageLayout.PAGELAYOUT_GET_BY_LAYOUT_CODE, query = "select
pl from PageLayout pl where pl.code = :code"),
- @NamedQuery(name=PageLayout.PAGELAYOUT_GET_ALL, query="select pl from
PageLayout pl order by pl.renderSequence"),
- @NamedQuery(name=PageLayout.PAGELAYOUT_GET_ALL_USER_SELECTABLE,
query="select pl from PageLayout pl where pl.userSelectable = true order by
pl.renderSequence")
+ @NamedQuery(name= JpaPageLayout.PAGELAYOUT_GET_BY_LAYOUT_CODE, query =
"select pl from JpaPageLayout pl where pl.code = :code"),
+ @NamedQuery(name= JpaPageLayout.PAGELAYOUT_GET_ALL, query="select pl from
JpaPageLayout pl order by pl.renderSequence"),
+ @NamedQuery(name= JpaPageLayout.PAGELAYOUT_GET_ALL_USER_SELECTABLE,
query="select pl from JpaPageLayout pl where pl.userSelectable = true order by
pl.renderSequence")
})
-public class PageLayout implements BasicEntity, Serializable {
+public class JpaPageLayout implements BasicEntity, Serializable, PageLayout {
private static final long serialVersionUID = 1L;
// static string identifiers for JPA queries
public static final String PAGELAYOUT_GET_BY_LAYOUT_CODE =
"PageLayout.getByLayoutCode";
public static final String PAGELAYOUT_GET_ALL = "PageLayout.getAll";
public static final String PAGELAYOUT_GET_ALL_USER_SELECTABLE =
"PageLayout.getAllUserSelectable";
+ public static final String CODE_PARAM = "code";
@Id @Column(name="entity_id")
@GeneratedValue(strategy = GenerationType.TABLE, generator =
"pageLayoutIdGenerator")
@@ -78,44 +79,42 @@ public class PageLayout implements Basic
this.entityId = entityId;
}
- /**
- * Gets the code used by the rendering engine to identify the page layout
- *
- * @return Valid code known by rendering engine
- */
+ @Override
public String getCode() {
return code;
}
+ @Override
public void setCode(String code) {
this.code = code;
}
- /**
- * Gets the number of regions supported by this page layout
- *
- * @return Valid number of regions > 0
- */
+ @Override
public Long getNumberOfRegions() {
return numberOfRegions;
}
+ @Override
public void setNumberOfRegions(Long numberOfRegions) {
this.numberOfRegions = numberOfRegions;
}
+ @Override
public Long getRenderSequence() {
return renderSequence;
}
+ @Override
public void setRenderSequence(Long renderSequence) {
this.renderSequence = renderSequence;
}
+ @Override
public boolean isUserSelectable() {
return userSelectable;
}
+ @Override
public void setUserSelectable(boolean userSelectable) {
this.userSelectable = userSelectable;
}
@@ -128,7 +127,7 @@ public class PageLayout implements Basic
if (getClass() != obj.getClass()) {
return false;
}
- final PageLayout other = (PageLayout) obj;
+ final JpaPageLayout other = (JpaPageLayout) obj;
if (this.entityId != other.entityId && (this.entityId == null ||
!this.entityId.equals(other.entityId))) {
return false;
}
Modified:
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java?rev=1346456&r1=1346455&r2=1346456&view=diff
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
(original)
+++
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
Tue Jun 5 16:34:43 2012
@@ -69,7 +69,7 @@ public class JpaPageTemplate implements
@ManyToOne
@JoinColumn(name = "page_layout_id")
- private PageLayout pageLayout;
+ private JpaPageLayout pageLayout;
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL,
orphanRemoval = true)
@OrderBy("renderSequence")
@@ -141,7 +141,7 @@ public class JpaPageTemplate implements
@Override
public void setPageLayout(PageLayout pageLayout) {
- this.pageLayout = pageLayout;
+ this.pageLayout = JpaConverter.getInstance().convert(pageLayout,
PageLayout.class);
}
@Override
Modified:
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Page.java
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Page.java?rev=1346456&r1=1346455&r2=1346456&view=diff
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Page.java
(original)
+++
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Page.java
Tue Jun 5 16:34:43 2012
@@ -19,6 +19,7 @@
package org.apache.rave.portal.model;
import org.apache.rave.persistence.BasicEntity;
+import org.apache.rave.portal.model.conversion.JpaConverter;
import org.codehaus.jackson.annotate.JsonManagedReference;
import javax.persistence.*;
@@ -83,7 +84,7 @@ public class Page implements BasicEntity
@ManyToOne
@JoinColumn(name="page_layout_id")
- private PageLayout pageLayout;
+ private JpaPageLayout pageLayout;
@XmlElement(name="region")
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL,
orphanRemoval = true)
@@ -165,16 +166,16 @@ public class Page implements BasicEntity
}
/**
- * Gets the {@link PageLayout}
+ * Gets the {@link JpaPageLayout}
*
- * @return Valid {@link PageLayout}
+ * @return Valid {@link JpaPageLayout}
*/
public PageLayout getPageLayout() {
return pageLayout;
}
public void setPageLayout(PageLayout pageLayout) {
- this.pageLayout = pageLayout;
+ this.pageLayout = JpaConverter.getInstance().convert(pageLayout,
PageLayout.class);
}
/**
Added:
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageLayout.java
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageLayout.java?rev=1346456&view=auto
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageLayout.java
(added)
+++
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageLayout.java
Tue Jun 5 16:34:43 2012
@@ -0,0 +1,29 @@
+package org.apache.rave.portal.model;
+
+public interface PageLayout {
+ /**
+ * Gets the code used by the rendering engine to identify the page layout
+ *
+ * @return Valid code known by rendering engine
+ */
+ String getCode();
+
+ void setCode(String code);
+
+ /**
+ * Gets the number of regions supported by this page layout
+ *
+ * @return Valid number of regions > 0
+ */
+ Long getNumberOfRegions();
+
+ void setNumberOfRegions(Long numberOfRegions);
+
+ Long getRenderSequence();
+
+ void setRenderSequence(Long renderSequence);
+
+ boolean isUserSelectable();
+
+ void setUserSelectable(boolean userSelectable);
+}
Modified:
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/User.java
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/User.java?rev=1346456&r1=1346455&r2=1346456&view=diff
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/User.java
(original)
+++
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/User.java
Tue Jun 5 16:34:43 2012
@@ -19,6 +19,7 @@
package org.apache.rave.portal.model;
import org.apache.rave.persistence.BasicEntity;
+import org.apache.rave.portal.model.conversion.JpaConverter;
import org.apache.rave.portal.model.impl.PersonImpl;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
@@ -100,7 +101,7 @@ public class User extends JpaPerson impl
@ManyToOne
@JoinColumn(name="default_page_layout_id")
- private PageLayout defaultPageLayout;
+ private JpaPageLayout defaultPageLayout;
@Transient
private String confirmPassword;
@@ -279,7 +280,7 @@ public class User extends JpaPerson impl
}
public void setDefaultPageLayout(PageLayout defaultPageLayout) {
- this.defaultPageLayout = defaultPageLayout;
+ this.defaultPageLayout =
JpaConverter.getInstance().convert(defaultPageLayout, PageLayout.class);
}
/**
Added:
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/conversion/JpaPageLayoutConverter.java
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/conversion/JpaPageLayoutConverter.java?rev=1346456&view=auto
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/conversion/JpaPageLayoutConverter.java
(added)
+++
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/conversion/JpaPageLayoutConverter.java
Tue Jun 5 16:34:43 2012
@@ -0,0 +1,48 @@
+package org.apache.rave.portal.model.conversion;
+
+import org.apache.rave.model.ModelConverter;
+import org.apache.rave.portal.model.JpaPageLayout;
+import org.apache.rave.portal.model.PageLayout;
+import org.springframework.stereotype.Component;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import static org.apache.rave.persistence.jpa.util.JpaUtil.getSingleResult;
+
+@Component
+public class JpaPageLayoutConverter implements ModelConverter<PageLayout,
JpaPageLayout> {
+ @PersistenceContext
+ private EntityManager manager;
+
+ @Override
+ public Class<PageLayout> getSourceType() {
+ return PageLayout.class;
+ }
+
+ @Override
+ public JpaPageLayout convert(PageLayout source) {
+ return source instanceof JpaPageLayout ? (JpaPageLayout) source :
createEntity(source);
+ }
+
+ private JpaPageLayout createEntity(PageLayout source) {
+ JpaPageLayout converted = null;
+ if (source != null) {
+ TypedQuery<JpaPageLayout> query =
manager.createNamedQuery(JpaPageLayout.PAGELAYOUT_GET_BY_LAYOUT_CODE,
JpaPageLayout.class);
+ query.setParameter(JpaPageLayout.CODE_PARAM, source.getCode());
+ converted = getSingleResult(query.getResultList());
+
+ if (converted == null) {
+ converted = new JpaPageLayout();
+ }
+ updateProperties(source, converted);
+ }
+ return converted;
+ }
+
+ private void updateProperties(PageLayout source, JpaPageLayout converted) {
+
+ }
+
+}
Added:
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageLayoutImpl.java
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageLayoutImpl.java?rev=1346456&view=auto
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageLayoutImpl.java
(added)
+++
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageLayoutImpl.java
Tue Jun 5 16:34:43 2012
@@ -0,0 +1,69 @@
+package org.apache.rave.portal.model.impl;
+
+
+import org.apache.rave.portal.model.PageLayout;
+
+public class PageLayoutImpl implements PageLayout {
+ private String code;
+ private Long numberOfRegions;
+ private Long renderSequence;
+ private boolean userSelectable;
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public Long getNumberOfRegions() {
+ return numberOfRegions;
+ }
+
+ public void setNumberOfRegions(Long numberOfRegions) {
+ this.numberOfRegions = numberOfRegions;
+ }
+
+ public Long getRenderSequence() {
+ return renderSequence;
+ }
+
+ public void setRenderSequence(Long renderSequence) {
+ this.renderSequence = renderSequence;
+ }
+
+ public boolean isUserSelectable() {
+ return userSelectable;
+ }
+
+ public void setUserSelectable(boolean userSelectable) {
+ this.userSelectable = userSelectable;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof PageLayoutImpl)) return false;
+
+ PageLayoutImpl that = (PageLayoutImpl) o;
+
+ if (userSelectable != that.userSelectable) return false;
+ if (code != null ? !code.equals(that.code) : that.code != null) return
false;
+ if (numberOfRegions != null ?
!numberOfRegions.equals(that.numberOfRegions) : that.numberOfRegions != null)
+ return false;
+ if (renderSequence != null ?
!renderSequence.equals(that.renderSequence) : that.renderSequence != null)
+ return false;
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = code != null ? code.hashCode() : 0;
+ result = 31 * result + (numberOfRegions != null ?
numberOfRegions.hashCode() : 0);
+ result = 31 * result + (renderSequence != null ?
renderSequence.hashCode() : 0);
+ result = 31 * result + (userSelectable ? 1 : 0);
+ return result;
+ }
+}
Modified:
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/impl/JpaPageLayoutRepository.java
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/impl/JpaPageLayoutRepository.java?rev=1346456&r1=1346455&r2=1346456&view=diff
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/impl/JpaPageLayoutRepository.java
(original)
+++
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/impl/JpaPageLayoutRepository.java
Tue Jun 5 16:34:43 2012
@@ -19,41 +19,69 @@
package org.apache.rave.portal.repository.impl;
-import org.apache.rave.persistence.jpa.AbstractJpaRepository;
+import org.apache.rave.portal.model.JpaPageLayout;
import org.apache.rave.portal.model.PageLayout;
+import org.apache.rave.portal.model.conversion.JpaPageLayoutConverter;
import org.apache.rave.portal.repository.PageLayoutRepository;
+import org.apache.rave.util.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;
-
import java.util.List;
import static org.apache.rave.persistence.jpa.util.JpaUtil.getSingleResult;
+import static org.apache.rave.persistence.jpa.util.JpaUtil.saveOrUpdate;
/**
*/
@Repository
-public class JpaPageLayoutRepository extends AbstractJpaRepository<PageLayout>
implements PageLayoutRepository{
+public class JpaPageLayoutRepository implements PageLayoutRepository{
- public JpaPageLayoutRepository() {
- super(PageLayout.class);
- }
+ @PersistenceContext
+ private EntityManager manager;
+
+ @Autowired
+ private JpaPageLayoutConverter converter;
@Override
- public PageLayout getByPageLayoutCode(String codename){
- TypedQuery<PageLayout>query =
manager.createNamedQuery(PageLayout.PAGELAYOUT_GET_BY_LAYOUT_CODE,PageLayout.class);
+ public JpaPageLayout getByPageLayoutCode(String codename){
+ TypedQuery<JpaPageLayout>query =
manager.createNamedQuery(JpaPageLayout.PAGELAYOUT_GET_BY_LAYOUT_CODE,JpaPageLayout.class);
query.setParameter("code",codename);
return getSingleResult(query.getResultList());
}
@Override
public List<PageLayout> getAll() {
- return manager.createNamedQuery(PageLayout.PAGELAYOUT_GET_ALL,
PageLayout.class).getResultList();
+ return
CollectionUtils.<PageLayout>toBaseTypedList(manager.createNamedQuery(JpaPageLayout.PAGELAYOUT_GET_ALL,
JpaPageLayout.class).getResultList());
}
@Override
public List<PageLayout> getAllUserSelectable() {
- return
manager.createNamedQuery(PageLayout.PAGELAYOUT_GET_ALL_USER_SELECTABLE,
PageLayout.class).getResultList();
+ return
CollectionUtils.<PageLayout>toBaseTypedList(manager.createNamedQuery(JpaPageLayout.PAGELAYOUT_GET_ALL_USER_SELECTABLE,
JpaPageLayout.class).getResultList());
+ }
+
+ @Override
+ public Class<? extends PageLayout> getType() {
+ return JpaPageLayout.class;
+ }
+
+ @Override
+ public PageLayout get(long id) {
+ return manager.find(JpaPageLayout.class, id);
+ }
+
+ @Override
+ public PageLayout save(PageLayout item) {
+ JpaPageLayout layout = converter.convert(item);
+ return saveOrUpdate(layout.getEntityId(), manager, layout);
+ }
+
+ @Override
+ public void delete(PageLayout item) {
+ manager.remove(converter.convert(item));
}
}
Modified:
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultPageService.java
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultPageService.java?rev=1346456&r1=1346455&r2=1346456&view=diff
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultPageService.java
(original)
+++
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultPageService.java
Tue Jun 5 16:34:43 2012
@@ -19,28 +19,9 @@
package org.apache.rave.portal.service.impl;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-import javax.persistence.NonUniqueResultException;
-
import org.apache.rave.persistence.Repository;
-import org.apache.rave.portal.model.Page;
-import org.apache.rave.portal.model.PageInvitationStatus;
-import org.apache.rave.portal.model.PageLayout;
-import org.apache.rave.portal.model.PageType;
-import org.apache.rave.portal.model.PageUser;
-import org.apache.rave.portal.model.Region;
-import org.apache.rave.portal.model.RegionWidget;
-import org.apache.rave.portal.model.User;
-import org.apache.rave.portal.model.Widget;
-import org.apache.rave.portal.repository.PageLayoutRepository;
-import org.apache.rave.portal.repository.PageRepository;
-import org.apache.rave.portal.repository.PageTemplateRepository;
-import org.apache.rave.portal.repository.RegionRepository;
-import org.apache.rave.portal.repository.RegionWidgetRepository;
-import org.apache.rave.portal.repository.WidgetRepository;
+import org.apache.rave.portal.model.*;
+import org.apache.rave.portal.repository.*;
import org.apache.rave.portal.service.PageService;
import org.apache.rave.portal.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -48,6 +29,11 @@ import org.springframework.beans.factory
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.persistence.NoResultException;
+import javax.persistence.NonUniqueResultException;
+import java.util.ArrayList;
+import java.util.List;
+
@Service
public class DefaultPageService implements PageService {
private final PageRepository pageRepository;
Modified:
rave/branches/model_interfaces/rave-components/rave-core/src/main/resources/META-INF/persistence.xml
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/resources/META-INF/persistence.xml?rev=1346456&r1=1346455&r2=1346456&view=diff
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-core/src/main/resources/META-INF/persistence.xml
(original)
+++
rave/branches/model_interfaces/rave-components/rave-core/src/main/resources/META-INF/persistence.xml
Tue Jun 5 16:34:43 2012
@@ -31,7 +31,7 @@
<class>org.apache.rave.portal.model.JpaWidget</class>
<class>org.apache.rave.portal.model.JpaWidgetComment</class>
<class>org.apache.rave.portal.model.JpaWidgetRating</class>
- <class>org.apache.rave.portal.model.PageLayout</class>
+ <class>org.apache.rave.portal.model.JpaPageLayout</class>
<class>org.apache.rave.portal.model.Authority</class>
<class>org.apache.rave.portal.model.Tag</class>
<class>org.apache.rave.portal.model.WidgetTag</class>
Modified:
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/PageTest.java
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/PageTest.java?rev=1346456&r1=1346455&r2=1346456&view=diff
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/PageTest.java
(original)
+++
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/PageTest.java
Tue Jun 5 16:34:43 2012
@@ -39,7 +39,7 @@ public class PageTest {
private User testOwner;
private Page parentPage;
private List<Page> subPages;
- private PageLayout pageLayout;
+ private JpaPageLayout pageLayout;
private long renderSequence;
private List<Region> regions;
private PageUser pageUser;
@@ -88,7 +88,7 @@ public class PageTest {
subPages.add(subPage1);
subPages.add(subPage2);
- pageLayout=new PageLayout();
+ pageLayout=new JpaPageLayout();
renderSequence=1223L;
regions=new ArrayList<Region>();
Modified:
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/conversion/JpaPageTemplateConverterTest.java
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/conversion/JpaPageTemplateConverterTest.java?rev=1346456&r1=1346455&r2=1346456&view=diff
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/conversion/JpaPageTemplateConverterTest.java
(original)
+++
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/conversion/JpaPageTemplateConverterTest.java
Tue Jun 5 16:34:43 2012
@@ -19,6 +19,7 @@
package org.apache.rave.portal.model.conversion;
import org.apache.rave.portal.model.*;
+import org.apache.rave.portal.model.impl.PageLayoutImpl;
import org.apache.rave.portal.model.impl.PageTemplateImpl;
import org.junit.Before;
import org.junit.Test;
@@ -65,7 +66,7 @@ public class JpaPageTemplateConverterTes
template.setDefaultTemplate(true);
template.setRenderSequence(1);
template.setPageTemplateRegions(new ArrayList<PageTemplateRegion>());
- template.setPageLayout(new PageLayout());
+ template.setPageLayout(new PageLayoutImpl());
template.setParentPageTemplate(new PageTemplateImpl());
template.setDescription("Description");
template.setPageType(PageType.USER);
@@ -79,7 +80,7 @@ public class JpaPageTemplateConverterTes
assertThat(jpaTemplate.getName(), is(equalTo(template.getName())));
assertThat(jpaTemplate.getDescription(),
is(equalTo(template.getDescription())));
assertThat(jpaTemplate.getParentPageTemplate(),
is(instanceOf(JpaPageTemplate.class)));
- assertThat(jpaTemplate.getPageLayout(),
is(equalTo(template.getPageLayout())));
+ assertThat(jpaTemplate.getPageLayout(),
is(instanceOf(JpaPageLayout.class)));
assertThat(jpaTemplate.getPageTemplateRegions(),
is(equalTo(template.getPageTemplateRegions())));
assertThat(jpaTemplate.getRenderSequence(),
is(equalTo(template.getRenderSequence())));
assertThat(jpaTemplate.isDefaultTemplate(),
is(equalTo(template.isDefaultTemplate())));
Modified:
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/repository/impl/JpaPageLayoutRepositoryTest.java
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/repository/impl/JpaPageLayoutRepositoryTest.java?rev=1346456&r1=1346455&r2=1346456&view=diff
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/repository/impl/JpaPageLayoutRepositoryTest.java
(original)
+++
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/repository/impl/JpaPageLayoutRepositoryTest.java
Tue Jun 5 16:34:43 2012
@@ -18,6 +18,7 @@
*/
package org.apache.rave.portal.repository.impl;
+import org.apache.rave.portal.model.JpaPageLayout;
import org.apache.rave.portal.model.PageLayout;
import org.apache.rave.portal.repository.PageLayoutRepository;
import org.junit.Test;
@@ -78,7 +79,7 @@ public class JpaPageLayoutRepositoryTest
@Test
public void getByPageLayoutCode() {
- PageLayout pageLayout =
repository.getByPageLayoutCode(VALID_LAYOUT_CODE);
+ JpaPageLayout pageLayout =
(JpaPageLayout)repository.getByPageLayoutCode(VALID_LAYOUT_CODE);
assertThat(pageLayout.getCode(), is(VALID_LAYOUT_CODE));
assertThat(pageLayout.getNumberOfRegions(), is(2L));
assertThat(pageLayout.getEntityId(), is(notNullValue(Long.class)));
@@ -86,6 +87,6 @@ public class JpaPageLayoutRepositoryTest
@Test
public void getByPageLayoutCode_invalidCode() {
- assertThat(repository.getByPageLayoutCode(INVALID_LAYOUT_CODE),
is(nullValue(PageLayout.class)));
+
assertThat((JpaPageLayout)repository.getByPageLayoutCode(INVALID_LAYOUT_CODE),
is(nullValue(JpaPageLayout.class)));
}
}
Modified:
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultNewAccountServiceTest.java
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultNewAccountServiceTest.java?rev=1346456&r1=1346455&r2=1346456&view=diff
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultNewAccountServiceTest.java
(original)
+++
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultNewAccountServiceTest.java
Tue Jun 5 16:34:43 2012
@@ -30,7 +30,7 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.rave.portal.model.Authority;
-import org.apache.rave.portal.model.PageLayout;
+import org.apache.rave.portal.model.JpaPageLayout;
import org.apache.rave.portal.model.User;
import org.apache.rave.portal.model.util.SearchResult;
import org.apache.rave.portal.service.AuthorityService;
@@ -61,7 +61,7 @@ public class DefaultNewAccountServiceTes
private final String VALID_PASSWORD = "valid.password";
private final String VALID_LAYOUT_CODE = "valid.layout";
private final String VALID_EMAIL = "valid.email";
- private PageLayout validPageLayout;
+ private JpaPageLayout validPageLayout;
private SearchResult<Authority> validAuthoritySearchResult;
private List<Authority> validAuthorityList;
@@ -77,7 +77,7 @@ public class DefaultNewAccountServiceTes
newAccountService = new DefaultNewAccountService(userService,
pageLayoutService, authorityService);
- validPageLayout = new PageLayout();
+ validPageLayout = new JpaPageLayout();
validPageLayout.setEntityId(99L);
validPageLayout.setNumberOfRegions(4L);
validPageLayout.setCode(VALID_LAYOUT_CODE);
Modified:
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultPageLayoutServiceTest.java
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultPageLayoutServiceTest.java?rev=1346456&r1=1346455&r2=1346456&view=diff
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultPageLayoutServiceTest.java
(original)
+++
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultPageLayoutServiceTest.java
Tue Jun 5 16:34:43 2012
@@ -19,6 +19,7 @@
package org.apache.rave.portal.service.impl;
+import org.apache.rave.portal.model.JpaPageLayout;
import org.apache.rave.portal.model.PageLayout;
import org.apache.rave.portal.repository.PageLayoutRepository;
import org.apache.rave.portal.service.PageLayoutService;
@@ -47,7 +48,7 @@ public class DefaultPageLayoutServiceTes
pageLayoutRepository = createMock(PageLayoutRepository.class);
pageLayoutService = new DefaultPageLayoutService(pageLayoutRepository);
- validPageLayout = new PageLayout();
+ validPageLayout = new JpaPageLayout();
validPageLayout.setCode(VALID_LAYOUT_CODE);
}
@@ -87,7 +88,7 @@ public class DefaultPageLayoutServiceTes
public void getPageLayoutByCode_invalidPageLayout() {
expect(pageLayoutRepository.getByPageLayoutCode(INVALID_LAYOUT_CODE)).andReturn(null);
replay(pageLayoutRepository);
- assertThat(pageLayoutService.getPageLayoutByCode(INVALID_LAYOUT_CODE),
is(nullValue(PageLayout.class)));
+ assertThat(pageLayoutService.getPageLayoutByCode(INVALID_LAYOUT_CODE),
is(nullValue()));
verify(pageLayoutRepository);
}
}
\ No newline at end of file
Modified:
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultPageServiceTest.java
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultPageServiceTest.java?rev=1346456&r1=1346455&r2=1346456&view=diff
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultPageServiceTest.java
(original)
+++
rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultPageServiceTest.java
Tue Jun 5 16:34:43 2012
@@ -64,7 +64,7 @@ public class DefaultPageServiceTest {
private Widget validWidget;
private RegionWidget validRegionWidget;
private User user;
- private PageLayout pageLayout;
+ private JpaPageLayout pageLayout;
private String defaultPageName = "Main";
private Page page, page2;
private PageUser pageUser, pageUser2;
@@ -119,7 +119,7 @@ public class DefaultPageServiceTest {
lockedRegion.setLocked(true);
lockedRegion.setPage(page);
- pageLayout = new PageLayout();
+ pageLayout = new JpaPageLayout();
pageLayout.setEntityId(1L);
pageLayout.setCode(PAGE_LAYOUT_CODE);
pageLayout.setNumberOfRegions(3L);
@@ -954,7 +954,7 @@ public class DefaultPageServiceTest {
String newName = "new page name";
String layoutName = "layout name";
- PageLayout layout = createStrictMock(PageLayout.class);
+ JpaPageLayout layout = createStrictMock(JpaPageLayout.class);
expect(layout.getNumberOfRegions()).andReturn(new Long(2)).anyTimes();
replay(layout);
@@ -990,11 +990,11 @@ public class DefaultPageServiceTest {
regions.add(new Region());
regions.add(region);
- PageLayout prevLayout = createStrictMock(PageLayout.class);
+ PageLayout prevLayout = createStrictMock(JpaPageLayout.class);
expect(prevLayout.getNumberOfRegions()).andReturn(new
Long(2)).anyTimes();
replay(prevLayout);
- PageLayout layout = createStrictMock(PageLayout.class);
+ JpaPageLayout layout = createStrictMock(JpaPageLayout.class);
expect(layout.getNumberOfRegions()).andReturn(new Long(3)).anyTimes();
//expect(layout.equals(layout)).andReturn((boolean) true);
replay(layout);
@@ -1040,11 +1040,11 @@ public class DefaultPageServiceTest {
replay(deletedRegion);
regions.add(deletedRegion);
- PageLayout prevLayout = createStrictMock(PageLayout.class);
+ PageLayout prevLayout = createStrictMock(JpaPageLayout.class);
expect(prevLayout.getNumberOfRegions()).andReturn(new
Long(2)).anyTimes();
replay(prevLayout);
- PageLayout layout = createStrictMock(PageLayout.class);
+ JpaPageLayout layout = createStrictMock(JpaPageLayout.class);
expect(layout.getNumberOfRegions()).andReturn(new Long(1)).anyTimes();
replay(layout);
@@ -1102,11 +1102,11 @@ public class DefaultPageServiceTest {
replay(deletedRegion);
regions.add(deletedRegion);
- PageLayout prevLayout = createStrictMock(PageLayout.class);
+ PageLayout prevLayout = createStrictMock(JpaPageLayout.class);
expect(prevLayout.getNumberOfRegions()).andReturn(new
Long(2)).anyTimes();
replay(prevLayout);
- PageLayout layout = createStrictMock(PageLayout.class);
+ JpaPageLayout layout = createStrictMock(JpaPageLayout.class);
expect(layout.getNumberOfRegions()).andReturn(new Long(1)).anyTimes();
replay(layout);
@@ -1170,11 +1170,11 @@ public class DefaultPageServiceTest {
replay(deletedRegion);
regions.add(deletedRegion);
- PageLayout prevLayout = createStrictMock(PageLayout.class);
+ PageLayout prevLayout = createStrictMock(JpaPageLayout.class);
expect(prevLayout.getNumberOfRegions()).andReturn(new
Long(2)).anyTimes();
replay(prevLayout);
- PageLayout layout = createStrictMock(PageLayout.class);
+ JpaPageLayout layout = createStrictMock(JpaPageLayout.class);
expect(layout.getNumberOfRegions()).andReturn(new Long(1)).anyTimes();
replay(layout);
Modified:
rave/branches/model_interfaces/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/PageControllerTest.java
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/PageControllerTest.java?rev=1346456&r1=1346455&r2=1346456&view=diff
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/PageControllerTest.java
(original)
+++
rave/branches/model_interfaces/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/PageControllerTest.java
Tue Jun 5 16:34:43 2012
@@ -19,28 +19,26 @@
package org.apache.rave.portal.web.controller;
+import org.apache.rave.model.ModelConverter;
+import org.apache.rave.portal.model.*;
+import org.apache.rave.portal.model.conversion.JpaConverter;
import org.apache.rave.portal.service.PageLayoutService;
-import org.apache.rave.portal.web.controller.util.MockHttpUtil;
-import org.springframework.mock.web.MockHttpServletRequest;
-import org.apache.rave.portal.model.PageInvitationStatus;
-import org.apache.rave.portal.model.PageLayout;
-import org.apache.rave.portal.model.Page;
-import org.apache.rave.portal.model.PageUser;
-import org.apache.rave.portal.model.User;
import org.apache.rave.portal.service.PageService;
import org.apache.rave.portal.service.UserService;
+import org.apache.rave.portal.web.controller.util.MockHttpUtil;
import org.apache.rave.portal.web.util.ModelKeys;
import org.apache.rave.portal.web.util.ViewNames;
import org.junit.Before;
import org.junit.Test;
+import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.ui.ExtendedModelMap;
import org.springframework.ui.Model;
import java.util.ArrayList;
import java.util.List;
-import static org.hamcrest.CoreMatchers.*;
import static org.easymock.EasyMock.*;
+import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.assertThat;
public class PageControllerTest {
@@ -65,6 +63,7 @@ public class PageControllerTest {
@Before
public void setup() {
+
userService = createMock(UserService.class);
pageService = createMock(PageService.class);
pageLayoutService = createMock(PageLayoutService.class);
@@ -72,10 +71,20 @@ public class PageControllerTest {
model = new ExtendedModelMap();
request = new MockHttpServletRequest();
- validPageLayout = new PageLayout();
- validPageLayout.setEntityId(33L);
+ validPageLayout = new JpaPageLayout();
validPageLayout.setCode(VALID_PAGE_LAYOUT_CODE);
+ //TODO:REMOVE WHEN REGION_WIDGET REFACTOR IS COMPLETE
+ ModelConverter converter = createMock(ModelConverter.class);
+
expect(converter.getSourceType()).andReturn(PageLayout.class).anyTimes();
+
expect(converter.convert(isA(PageLayout.class))).andReturn(validPageLayout).anyTimes();
+ replay(converter);
+ List<ModelConverter> converters = new ArrayList<ModelConverter>();
+ converters.add(converter);
+ new JpaConverter(converters);
+
+ //END REMOVE
+
validUser = new User(USER_ID);
defaultPage = new Page(DEFAULT_PAGE_ID, validUser);
Modified:
rave/branches/model_interfaces/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java?rev=1346456&r1=1346455&r2=1346456&view=diff
==============================================================================
---
rave/branches/model_interfaces/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java
(original)
+++
rave/branches/model_interfaces/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java
Tue Jun 5 16:34:43 2012
@@ -19,10 +19,7 @@
package org.apache.rave.portal.web.controller;
-import static org.easymock.EasyMock.*;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.*;
-
+import org.apache.rave.portal.model.JpaPageLayout;
import org.apache.rave.portal.model.Page;
import org.apache.rave.portal.model.PageLayout;
import org.apache.rave.portal.model.User;
@@ -39,6 +36,11 @@ import org.springframework.ui.ModelMap;
import java.util.ArrayList;
import java.util.List;
+import static org.easymock.EasyMock.*;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+
/**
* Test class for {@link ProfileController}
*/
@@ -57,7 +59,7 @@ public class ProfileControllerTest {
private final Long OTHER_PAGE_ID = 22L;
private final Long USER_ID = 1L;
private final String VALID_PAGE_LAYOUT_CODE = "layout98";
- private PageLayout validPageLayout;
+ private JpaPageLayout validPageLayout;
@Before
public void setup() {
@@ -65,7 +67,7 @@ public class ProfileControllerTest {
pageService = createMock(PageService.class);
profileController = new ProfileController(userService,
pageService);
- validPageLayout = new PageLayout();
+ validPageLayout = new JpaPageLayout();
validPageLayout.setEntityId(33L);
validPageLayout.setCode(VALID_PAGE_LAYOUT_CODE);
@@ -93,7 +95,7 @@ public class ProfileControllerTest {
user.setEntityId(USER_ID);
String userProfile = new String(ModelKeys.USER_PROFILE);
Page personProfile = new Page();
- PageLayout pageLayout = new PageLayout();
+ JpaPageLayout pageLayout = new JpaPageLayout();
pageLayout.setCode(VALID_PAGE_LAYOUT_CODE);
personProfile.setPageLayout(pageLayout);
@@ -129,7 +131,7 @@ public class ProfileControllerTest {
final int modelSize = 4;
final String username="Canonical";
Page personProfile = new Page();
- PageLayout pageLayout = new PageLayout();
+ JpaPageLayout pageLayout = new JpaPageLayout();
pageLayout.setCode("person_profile");
personProfile.setPageLayout(pageLayout);
Modified:
rave/branches/model_interfaces/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/page.jsp
URL:
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/page.jsp?rev=1346456&r1=1346455&r2=1346456&view=diff
==============================================================================
---
rave/branches/model_interfaces/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/page.jsp
(original)
+++
rave/branches/model_interfaces/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/page.jsp
Tue Jun 5 16:34:43 2012
@@ -22,7 +22,7 @@
<fmt:setBundle basename="messages"/>
<jsp:useBean id="pages"
type="java.util.List<org.apache.rave.portal.model.Page>" scope="request"/>
<jsp:useBean id="pageUser" type="org.apache.rave.portal.model.PageUser"
scope="request"/>
-<jsp:useBean id="pageLayouts"
type="java.util.List<org.apache.rave.portal.model.PageLayout>" scope="request"/>
+<jsp:useBean id="pageLayouts"
type="java.util.List<org.apache.rave.portal.model.JpaPageLayout>"
scope="request"/>
<%--@elvariable id="page" type="org.apache.rave.portal.model.Page"--%>
<sec:authentication property="principal.username" var="principleUsername"
scope="request"/>
<sec:authentication property="principal.displayName" var="displayName"
scope="request"/>