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/06/08 21:07:07 UTC

svn commit: r1348193 [1/3] - in /rave/branches/model_interfaces: rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ rave-components/rave-core/src/main/java/org/apache/rave/portal/model/conversion/ rave-components/rave-core/src/main/j...

Author: carlucci
Date: Fri Jun  8 19:07:05 2012
New Revision: 1348193

URL: http://svn.apache.org/viewvc?rev=1348193&view=rev
Log:
RAVE-631: refactor Page into interface based pattern

Added:
    rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaPage.java
      - copied, changed from r1347704, 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/Page.java
    rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/conversion/JpaPageConverter.java
      - copied, changed from r1347704, rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/conversion/JpaPageUserConverter.java
    rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageImpl.java
    rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/conversion/JpaPageConverterTest.java
Modified:
    rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaPageUser.java
    rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaRegion.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/RegionImpl.java
    rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionWidgetImpl.java
    rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/WidgetImpl.java
    rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageRepository.java
    rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/impl/JpaPageRepository.java
    rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultPagePermissionEvaluator.java
    rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultRegionPermissionEvaluator.java
    rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultRegionWidgetPermissionEvaluator.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/JpaRegionConverterTest.java
    rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/repository/impl/JpaPageRepositoryTest.java
    rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultCategoryPermissionEvaluatorTest.java
    rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultPagePermissionEvaluatorTest.java
    rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultRegionPermissionEvaluatorTest.java
    rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultRegionWidgetPermissionEvaluatorTest.java
    rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultWidgetPermissionEvaluatorTest.java
    rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultWidgetRatingPermissionEvaluatorTest.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-core/src/test/java/org/apache/rave/portal/service/impl/DefaultUserServiceTest.java
    rave/branches/model_interfaces/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/PageController.java
    rave/branches/model_interfaces/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/PageApiTest.java
    rave/branches/model_interfaces/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rpc/PageApiTest.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/src/test/java/renderer/RenderServiceIntegrationTest.java
    rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/service/impl/EncryptedBlobSecurityTokenService.java
    rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/test/java/org/apache/rave/provider/opensocial/service/SecurityTokenServiceTest.java

Copied: rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaPage.java (from r1347704, 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/JpaPage.java?p2=rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaPage.java&p1=rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Page.java&r1=1347704&r2=1348193&rev=1348193&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/JpaPage.java Fri Jun  8 19:07:05 2012
@@ -46,15 +46,15 @@ import java.util.List;
 @XmlAccessorType(XmlAccessType.NONE)
 @Table(name="page", uniqueConstraints={@UniqueConstraint(columnNames={"owner_id","name","page_type"})})
 @NamedQueries({
-        @NamedQuery(name = Page.DELETE_BY_USER_ID_AND_PAGE_TYPE, query="DELETE FROM Page p WHERE p.owner.entityId = :userId and p.pageType = :pageType"),
-        @NamedQuery(name = Page.USER_HAS_PERSON_PAGE, query="SELECT count(p) FROM Page p WHERE p.owner.entityId = :userId and p.pageType = :pageType")
+        @NamedQuery(name = JpaPage.DELETE_BY_USER_ID_AND_PAGE_TYPE, query="DELETE FROM JpaPage p WHERE p.owner.entityId = :userId and p.pageType = :pageType"),
+        @NamedQuery(name = JpaPage.USER_HAS_PERSON_PAGE, query="SELECT count(p) FROM JpaPage p WHERE p.owner.entityId = :userId and p.pageType = :pageType")
 })
 @Access(AccessType.FIELD)
-public class Page implements BasicEntity, Serializable {
+public class JpaPage implements BasicEntity, Serializable, Page {
     private static final long serialVersionUID = 1L;
 
-    public static final String DELETE_BY_USER_ID_AND_PAGE_TYPE = "Page.deleteByUserIdAndPageType";
-    public static final String USER_HAS_PERSON_PAGE = "Page.hasPersonPage";
+    public static final String DELETE_BY_USER_ID_AND_PAGE_TYPE = "JpaPage.deleteByUserIdAndPageType";
+    public static final String USER_HAS_PERSON_PAGE = "JpaPage.hasPersonPage";
 
     @XmlAttribute(name="id")
     @Id @Column(name="entity_id")
@@ -73,10 +73,10 @@ public class Page implements BasicEntity
 
     @OneToOne(cascade=CascadeType.ALL)
     @JoinColumn(name="parent_page_id")
-    private Page parentPage;
+    private JpaPage parentPage;
 
     @OneToMany(fetch = FetchType.EAGER, cascade=CascadeType.ALL, mappedBy="parentPage")
-    private List<Page> subPages;
+    private List<JpaPage> subPages;
 
     @ManyToOne
     @JoinColumn(name="page_layout_id")
@@ -97,18 +97,28 @@ public class Page implements BasicEntity
     private List<JpaPageUser> members;
 
 
-    public Page() {
+    public JpaPage() {
     }
 
-    public Page(Long entityId) {
+    public JpaPage(Long entityId) {
         this.entityId = entityId;
     }
 
-    public Page(Long entityId, User owner) {
+    public JpaPage(Long entityId, User owner) {
         this.entityId = entityId;
         this.owner = owner;
     }
 
+    @Override
+    public Long getId() {
+        return getEntityId();
+    }
+
+    @Override
+    public void setId(Long id) {
+        setEntityId(id);
+    }
+
     /**
      * Gets the persistence unique identifier
      *
@@ -129,10 +139,12 @@ public class Page implements BasicEntity
      *
      * @return Valid name
      */
+    @Override
     public String getName() {
         return name;
     }
 
+    @Override
     public void setName(String name) {
         this.name = name;
     }
@@ -142,10 +154,12 @@ public class Page implements BasicEntity
      *
      * @return Valid {@link User}
      */
+    @Override
     public User getOwner() {
         return owner;
     }
 
+    @Override
     public void setOwner(User owner) {
         this.owner = owner;
     }
@@ -155,10 +169,12 @@ public class Page implements BasicEntity
      *
      * @return Valid {@link JpaPageLayout}
      */
+    @Override
     public PageLayout getPageLayout() {
         return pageLayout;
     }
 
+    @Override
     public void setPageLayout(PageLayout pageLayout) {
         this.pageLayout = JpaConverter.getInstance().convert(pageLayout, PageLayout.class);
     }
@@ -168,11 +184,13 @@ public class Page implements BasicEntity
      *
      * @return Valid list of {@link Region}s
      */
+    @Override
     @JsonManagedReference
     public List<Region> getRegions() {
         return ConvertingListProxyFactory.createProxyList(Region.class, regions);
     }
 
+    @Override
     public void setRegions(List<Region> regions) {
         if(this.regions == null) {
             this.regions = new ArrayList<JpaRegion>();
@@ -183,42 +201,56 @@ public class Page implements BasicEntity
         }
     }
 
+    @Override
     public PageType getPageType() {
         return pageType;
     }
 
+    @Override
     public void setPageType(PageType pageType) {
         this.pageType = pageType;
     }
 
+    @Override
     public Page getParentPage() {
         return parentPage;
     }
 
+    @Override
     public void setParentPage(Page parentPage) {
-        this.parentPage = parentPage;
+        this.parentPage = JpaConverter.getInstance().convert(parentPage, Page.class);
     }
 
+    @Override
     public List<Page> getSubPages() {
         // we need to manually sort the sub pages due to limitations in JPA's OrderBy annotation dealing with
         // sub-lists
         List<Page> orderedSubPages = null;
         if (this.subPages != null) {
-            orderedSubPages = new ArrayList<Page>(this.subPages);
+            orderedSubPages = ConvertingListProxyFactory.createProxyList(Page.class, this.subPages);
             Collections.sort(orderedSubPages, new SubPageComparator());
         }
         return orderedSubPages;
     }
 
+    @Override
     public void setSubPages(List<Page> subPages) {
-        this.subPages = subPages;
+        if(this.subPages == null) {
+            this.subPages = new ArrayList<JpaPage>();
+        }
+        this.getSubPages().clear();
+        if(subPages != null) {
+            this.getSubPages().addAll(subPages);
+        }
     }
 
+    @Override
     @JsonManagedReference
     public List<PageUser> getMembers() {
         return ConvertingListProxyFactory.createProxyList(PageUser.class, members);
     }
 
+    @Override
     public void setMembers(List<PageUser> members) {
         if (this.members == null) {
             this.members = new ArrayList<JpaPageUser>();
@@ -238,7 +270,7 @@ public class Page implements BasicEntity
         if (getClass() != obj.getClass()) {
             return false;
         }
-        final Page other = (Page) obj;
+        final JpaPage other = (JpaPage) 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/JpaPageUser.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaPageUser.java?rev=1348193&r1=1348192&r2=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaPageUser.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaPageUser.java Fri Jun  8 19:07:05 2012
@@ -23,13 +23,14 @@ import java.io.Serializable;
 import javax.persistence.*;
 
 import org.apache.rave.persistence.BasicEntity;
+import org.apache.rave.portal.model.conversion.JpaConverter;
 import org.codehaus.jackson.annotate.JsonBackReference;
 @Entity
 @Access(AccessType.FIELD)
 @Table(name = "page_user", uniqueConstraints={@UniqueConstraint(columnNames={"page_id","user_id"})})
 @NamedQueries({
-        @NamedQuery(name = JpaPageUser.GET_BY_USER_ID_AND_PAGE_TYPE, query="SELECT p.page FROM JpaPageUser p, Page q WHERE p.page.entityId = q.entityId and p.user.entityId = :userId and q.pageType = :pageType ORDER BY p.renderSequence"),
-        @NamedQuery(name = JpaPageUser.GET_PAGES_FOR_USER, query="SELECT p FROM JpaPageUser p, Page q WHERE p.page.entityId = q.entityId and p.user.entityId = :userId and q.pageType = :pageType ORDER BY p.renderSequence"),
+        @NamedQuery(name = JpaPageUser.GET_BY_USER_ID_AND_PAGE_TYPE, query="SELECT p.page FROM JpaPageUser p, JpaPage q WHERE p.page.entityId = q.entityId and p.user.entityId = :userId and q.pageType = :pageType ORDER BY p.renderSequence"),
+        @NamedQuery(name = JpaPageUser.GET_PAGES_FOR_USER, query="SELECT p FROM JpaPageUser p, JpaPage q WHERE p.page.entityId = q.entityId and p.user.entityId = :userId and q.pageType = :pageType ORDER BY p.renderSequence"),
         @NamedQuery(name = JpaPageUser.GET_SINGLE_RECORD, query="SELECT p FROM JpaPageUser p WHERE p.user.entityId = :userId and p.page.entityId = :pageId")
 })
 public class JpaPageUser implements BasicEntity, Serializable, PageUser {
@@ -52,7 +53,7 @@ public class JpaPageUser implements Basi
 
     @ManyToOne(fetch=FetchType.EAGER)
     @JoinColumn(name = "page_id", nullable=false)
-    private Page page;
+    private JpaPage page;
 
     @Basic(optional=false) @Column(name="editor")
     private boolean editor;
@@ -69,12 +70,12 @@ public class JpaPageUser implements Basi
 
     public JpaPageUser(User user, Page page){
         this.user = user;
-        this.page = page;
+        setPage(page);
     }
 
     public JpaPageUser(User user, Page page, long sequence){
         this.user = user;
-        this.page = page;
+        setPage(page);
         this.renderSequence = sequence;
     }
 
@@ -142,7 +143,7 @@ public class JpaPageUser implements Basi
     */
     @Override
     public void setPage(Page page) {
-        this.page = page;
+        this.page = JpaConverter.getInstance().convert(page, Page.class);
     }
 
     /**

Modified: rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaRegion.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaRegion.java?rev=1348193&r1=1348192&r2=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaRegion.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/JpaRegion.java Fri Jun  8 19:07:05 2012
@@ -20,16 +20,17 @@ package org.apache.rave.portal.model;
 
 import org.apache.rave.persistence.BasicEntity;
 import org.apache.rave.portal.model.conversion.ConvertingListProxyFactory;
+import org.apache.rave.portal.model.conversion.JpaConverter;
 import org.codehaus.jackson.annotate.JsonBackReference;
 import org.codehaus.jackson.annotate.JsonManagedReference;
 
 import javax.persistence.*;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * A region of a page, which can contain widget instances {@link RegionWidget}
@@ -46,7 +47,7 @@ public class JpaRegion implements BasicE
 
     public static final String FIND_BY_ENTITY_ID = "Region.findByEntityId";
     public static final String ENTITY_ID_PARAM = "entity_id";
-     
+
     @Id @Column(name="entity_id")
     @GeneratedValue(strategy = GenerationType.TABLE, generator = "regionIdGenerator")
     @TableGenerator(name = "regionIdGenerator", table = "RAVE_PORTAL_SEQUENCES", pkColumnName = "SEQ_NAME",
@@ -55,12 +56,12 @@ public class JpaRegion implements BasicE
 
     @ManyToOne
     @JoinColumn(name = "page_id")
-    private Page page;
+    private JpaPage page;
 
     @Basic
     @Column(name = "render_order")
     private int renderOrder;
-    
+
     @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
     @OrderBy("renderOrder")
     @JoinColumn(name = "region_id")
@@ -77,12 +78,12 @@ public class JpaRegion implements BasicE
         this.entityId = entityId;
     }
 
-    public JpaRegion(Long entityId, Page page, int renderOrder) {
+    public JpaRegion(Long entityId, JpaPage page, int renderOrder) {
         this.entityId = entityId;
         this.page = page;
         this.renderOrder = renderOrder;
     }
-    
+
     @SuppressWarnings("unused")
     @XmlElement(name="widget")
     /**
@@ -134,12 +135,12 @@ public class JpaRegion implements BasicE
 
     @Override
     public void setPage(Page page) {
-        this.page = page;
+        this.page = JpaConverter.getInstance().convert(page, Page.class);
     }
-    
+
     /**
      * Gets the order relative to regions on the page
-     * 
+     *
      * @return the order of the region
      */
     @Override

Added: 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=1348193&view=auto
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Page.java (added)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Page.java Fri Jun  8 19:07:05 2012
@@ -0,0 +1,50 @@
+/*
+ * 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 java.util.List;
+
+public interface Page {
+    Long getId();
+    void setId(Long id);
+
+    String getName();
+    void setName(String name);
+
+    User getOwner();
+    void setOwner(User owner);
+
+    PageLayout getPageLayout();
+    void setPageLayout(PageLayout pageLayout);
+
+    List<Region> getRegions();
+    void setRegions(List<Region> regions);
+
+    PageType getPageType();
+    void setPageType(PageType pageType);
+
+    Page getParentPage();
+    void setParentPage(Page parentPage);
+
+    List<Page> getSubPages();
+    void setSubPages(List<Page> subPages);
+
+    List<PageUser> getMembers();
+    void setMembers(List<PageUser> members);
+}

Copied: rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/conversion/JpaPageConverter.java (from r1347704, rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/conversion/JpaPageUserConverter.java)
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/conversion/JpaPageConverter.java?p2=rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/conversion/JpaPageConverter.java&p1=rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/conversion/JpaPageUserConverter.java&r1=1347704&r2=1348193&rev=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/conversion/JpaPageUserConverter.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/conversion/JpaPageConverter.java Fri Jun  8 19:07:05 2012
@@ -19,51 +19,55 @@
 package org.apache.rave.portal.model.conversion;
 
 import org.apache.rave.model.ModelConverter;
-import org.apache.rave.portal.model.JpaPageUser;
-import org.apache.rave.portal.model.PageUser;
+import org.apache.rave.portal.model.JpaPage;
+import org.apache.rave.portal.model.Page;
 import org.springframework.stereotype.Component;
 
 import javax.persistence.EntityManager;
 import javax.persistence.PersistenceContext;
+import java.util.List;
 
 /**
- * Converts a PageUser to a JpaPageUser
+ * Converts a Page to a JpaPage
  */
 @Component
-public class JpaPageUserConverter implements ModelConverter<PageUser, JpaPageUser> {
+public class JpaPageConverter implements ModelConverter<Page, JpaPage> {
 
     @PersistenceContext
     private EntityManager manager;
 
     @Override
-    public Class<PageUser> getSourceType() {
-        return PageUser.class;
+    public Class<Page> getSourceType() {
+        return Page.class;
     }
 
     @Override
-    public JpaPageUser convert(PageUser source) {
-        return source instanceof JpaPageUser ? (JpaPageUser) source : createEntity(source);
+    public JpaPage convert(Page source) {
+        return source instanceof JpaPage ? (JpaPage) source : createEntity(source);
     }
 
-    private JpaPageUser createEntity(PageUser source) {
-        JpaPageUser converted = null;
+    private JpaPage createEntity(Page source) {
+        JpaPage converted = null;
         if (source != null) {
-            converted = manager.find(JpaPageUser.class, source.getId());
+            converted = manager.find(JpaPage.class, source.getId());
             if (converted == null) {
-                converted = new JpaPageUser();
+                converted = new JpaPage();
             }
             updateProperties(source, converted);
         }
         return converted;
     }
 
-    private void updateProperties(PageUser source, JpaPageUser converted) {
+    private void updateProperties(Page source, JpaPage converted) {
         converted.setEntityId(source.getId());
         converted.setId(source.getId());
-        converted.setPage(source.getPage());
-        converted.setPageStatus(source.getPageStatus());
-        converted.setRenderSequence(source.getRenderSequence());
-        converted.setUser(source.getUser());
-        converted.setEditor(source.isEditor());
+        converted.setMembers(source.getMembers());
+        converted.setName(source.getName());
+        converted.setOwner(source.getOwner());
+        converted.setPageLayout(source.getPageLayout());
+        converted.setPageType(source.getPageType());
+        converted.setParentPage(source.getParentPage());
+        converted.setRegions(source.getRegions());
+        converted.setSubPages(source.getSubPages());
     }
 }

Modified: 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=1348193&r1=1348192&r2=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/conversion/JpaPageLayoutConverter.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/conversion/JpaPageLayoutConverter.java Fri Jun  8 19:07:05 2012
@@ -42,7 +42,9 @@ public class JpaPageLayoutConverter impl
     }
 
     private void updateProperties(PageLayout source, JpaPageLayout converted) {
-
+        converted.setCode(source.getCode());
+        converted.setNumberOfRegions(source.getNumberOfRegions());
+        converted.setRenderSequence(source.getRenderSequence());
+        converted.setUserSelectable(source.isUserSelectable());
     }
-    
 }

Added: rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageImpl.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageImpl.java?rev=1348193&view=auto
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageImpl.java (added)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageImpl.java Fri Jun  8 19:07:05 2012
@@ -0,0 +1,151 @@
+/*
+ * 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.impl;
+
+import org.apache.rave.portal.model.*;
+
+import java.util.List;
+
+public class PageImpl implements Page {
+    private Long id;
+    private String name;
+    private User owner;
+    private Page parentPage;
+    private List<Page> subPages;
+    private PageLayout pageLayout;
+    private List<Region> regions;
+    private PageType pageType;
+    private List<PageUser> members;
+
+    public PageImpl() {}
+
+    public PageImpl(Long id) {
+        this.id = id;
+    }
+
+    public PageImpl(Long id, User owner) {
+        this.id = id;
+        this.owner = owner;
+    }
+
+    @Override
+    public Long getId() {
+        return id;
+    }
+
+    @Override
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    @Override
+    public User getOwner() {
+        return owner;
+    }
+
+    @Override
+    public void setOwner(User owner) {
+        this.owner = owner;
+    }
+
+    @Override
+    public Page getParentPage() {
+        return parentPage;
+    }
+
+    @Override
+    public void setParentPage(Page parentPage) {
+        this.parentPage = parentPage;
+    }
+
+    @Override
+    public List<Page> getSubPages() {
+        return subPages;
+    }
+
+    @Override
+    public void setSubPages(List<Page> subPages) {
+        this.subPages = subPages;
+    }
+
+    @Override
+    public PageLayout getPageLayout() {
+        return pageLayout;
+    }
+
+    @Override
+    public void setPageLayout(PageLayout pageLayout) {
+        this.pageLayout = pageLayout;
+    }
+
+    @Override
+    public List<Region> getRegions() {
+        return regions;
+    }
+
+    @Override
+    public void setRegions(List<Region> regions) {
+        this.regions = regions;
+    }
+
+    @Override
+    public PageType getPageType() {
+        return pageType;
+    }
+
+    @Override
+    public void setPageType(PageType pageType) {
+        this.pageType = pageType;
+    }
+
+    @Override
+    public List<PageUser> getMembers() {
+        return members;
+    }
+
+    @Override
+    public void setMembers(List<PageUser> members) {
+        this.members = members;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        final Page other = (Page) obj;
+        if (this.id != other.getId() && (this.id == null || !this.id.equals(other.getId()))) {
+            return false;
+        }
+        return true;
+    }
+}

Modified: rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionImpl.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionImpl.java?rev=1348193&r1=1348192&r2=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionImpl.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionImpl.java Fri Jun  8 19:07:05 2012
@@ -122,4 +122,14 @@ public class RegionImpl implements Regio
         result = 31 * result + (locked != null ? locked.hashCode() : 0);
         return result;
     }
+
+    @Override
+    public String toString() {
+        return "RegionImpl{" +
+                "id=" + id +
+                ", page=" + ((page == null) ? null : page.getId()) +
+                ", locked=" + locked +
+                ", renderOrder=" + renderOrder +
+                '}';
+    }
 }

Modified: rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionWidgetImpl.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionWidgetImpl.java?rev=1348193&r1=1348192&r2=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionWidgetImpl.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionWidgetImpl.java Fri Jun  8 19:07:05 2012
@@ -182,4 +182,18 @@ public class RegionWidgetImpl implements
         result = 31 * result + (collapsed != null ? collapsed.hashCode() : 0);
         return result;
     }
+
+    @Override
+    public String toString() {
+        return "RegionWidgetImpl{" +
+                "id=" + id +
+                ", widget=" + ((widget == null) ? null : widget.getId())  +
+                ", region=" + ((region == null) ? null : region.getId()) +
+                ", renderPosition='" + renderPosition + '\'' +
+                ", renderOrder=" + renderOrder +
+                ", collapsed=" + collapsed +
+                ", locked=" + locked +
+                ", hideChrome=" + hideChrome +
+                '}';
+    }
 }

Modified: rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/WidgetImpl.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/WidgetImpl.java?rev=1348193&r1=1348192&r2=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/WidgetImpl.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/WidgetImpl.java Fri Jun  8 19:07:05 2012
@@ -27,6 +27,10 @@ public class WidgetImpl implements Widge
 
     public WidgetImpl() {}
 
+    public WidgetImpl(long id) {
+        this.id = id;
+    }
+
     public WidgetImpl(long id, String url) {
         this.id = id;
         this.url = url;

Modified: rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageRepository.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageRepository.java?rev=1348193&r1=1348192&r2=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageRepository.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageRepository.java Fri Jun  8 19:07:05 2012
@@ -19,11 +19,7 @@
 package org.apache.rave.portal.repository;
 
 import org.apache.rave.persistence.Repository;
-import org.apache.rave.portal.model.Page;
-import org.apache.rave.portal.model.PageTemplate;
-import org.apache.rave.portal.model.PageType;
-import org.apache.rave.portal.model.PageUser;
-import org.apache.rave.portal.model.User;
+import org.apache.rave.portal.model.*;
 
 import java.util.List;
 
@@ -65,14 +61,14 @@ public interface PageRepository extends 
     boolean hasPersonPage(long userId);
 
     /**
-     * Returns a list of pageUser records of a certain pageType.  
-     * Used to get a list of a users pages(user) with render sequencing. 
+     * Returns a list of pageUser records of a certain pageType.
+     * Used to get a list of a users pages(user) with render sequencing.
      * @param userId
      * @param pageType
      * @return a list of pageUser
      */
     public List<PageUser> getPagesForUser(Long userId, PageType pageType);
-    
+
 
     /**
      * Returns a single pageUser tuple based on userId and pageId

Modified: rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/impl/JpaPageRepository.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/impl/JpaPageRepository.java?rev=1348193&r1=1348192&r2=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/impl/JpaPageRepository.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/impl/JpaPageRepository.java Fri Jun  8 19:07:05 2012
@@ -19,34 +19,62 @@
 
 package org.apache.rave.portal.repository.impl;
 
-import org.apache.rave.persistence.jpa.AbstractJpaRepository;
 import org.apache.rave.portal.model.*;
+import org.apache.rave.portal.model.conversion.JpaPageConverter;
 import org.apache.rave.portal.repository.PageRepository;
 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.ArrayList;
 import java.util.List;
 
+import static org.apache.rave.persistence.jpa.util.JpaUtil.saveOrUpdate;
+
 @Repository
-public class JpaPageRepository extends AbstractJpaRepository<Page> implements PageRepository{
+public class JpaPageRepository implements PageRepository {
+
+    @PersistenceContext
+    private EntityManager manager;
 
-    public JpaPageRepository() {
-        super(Page.class);
+    @Autowired
+    private JpaPageConverter pageConverter;
+
+    @Override
+    public Class<? extends Page> getType() {
+        return JpaPage.class;
+    }
+
+    @Override
+    public Page get(long id) {
+        return manager.find(JpaPage.class, id);
+    }
+
+    @Override
+    public Page save(Page item) {
+        JpaPage page = pageConverter.convert(item);
+        return saveOrUpdate(page.getEntityId(), manager, page);
+    }
+
+    @Override
+    public void delete(Page item) {
+        manager.remove(item instanceof JpaPage ? item : get(item.getId()));
     }
 
     @Override
     public List<Page> getAllPages(Long userId, PageType pageType) {
-        TypedQuery<Page> query = manager.createNamedQuery(JpaPageUser.GET_BY_USER_ID_AND_PAGE_TYPE, Page.class);
+        TypedQuery<JpaPage> query = manager.createNamedQuery(JpaPageUser.GET_BY_USER_ID_AND_PAGE_TYPE, JpaPage.class);
         query.setParameter("userId", userId);
         query.setParameter("pageType", pageType);
-        return query.getResultList();
+        return CollectionUtils.<Page>toBaseTypedList(query.getResultList());
     }
 
     @Override
     public int deletePages(Long userId, PageType pageType) {
-        TypedQuery<Page> query = manager.createNamedQuery(Page.DELETE_BY_USER_ID_AND_PAGE_TYPE, Page.class);
+        TypedQuery<JpaPage> query = manager.createNamedQuery(JpaPage.DELETE_BY_USER_ID_AND_PAGE_TYPE, JpaPage.class);
         query.setParameter("userId", userId);
         query.setParameter("pageType", pageType);
         return query.executeUpdate();
@@ -54,7 +82,7 @@ public class JpaPageRepository extends A
 
     @Override
     public boolean hasPersonPage(long userId){
-        TypedQuery<Long> query = manager.createNamedQuery(Page.USER_HAS_PERSON_PAGE, Long.class);
+        TypedQuery<Long> query = manager.createNamedQuery(JpaPage.USER_HAS_PERSON_PAGE, Long.class);
         query.setParameter("userId", userId);
         query.setParameter("pageType", PageType.PERSON_PROFILE);
         return query.getSingleResult() > 0;
@@ -90,7 +118,7 @@ public class JpaPageRepository extends A
      * @return Page
      */
     private Page convert(PageTemplate pt, User user) {
-        Page p = new Page();
+        Page p = new JpaPage();
         p.setName(pt.getName());
         p.setPageType(pt.getPageType());
         p.setOwner(user);
@@ -161,7 +189,7 @@ public class JpaPageRepository extends A
     private List<Page> convertPages(List<PageTemplate> pageTemplates, Page page){
         List<Page> pages = new ArrayList<Page>();
         for(PageTemplate pt : pageTemplates){
-            Page lPage = new Page();
+            Page lPage = new JpaPage();
             lPage.setName(pt.getName());
             lPage.setPageType(pt.getPageType());
             lPage.setOwner(page.getOwner());

Modified: rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultPagePermissionEvaluator.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultPagePermissionEvaluator.java?rev=1348193&r1=1348192&r2=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultPagePermissionEvaluator.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultPagePermissionEvaluator.java Fri Jun  8 19:07:05 2012
@@ -154,7 +154,7 @@ public class DefaultPagePermissionEvalua
         if (trustedDomainObject) {
             trustedPage = page;
         } else {
-            trustedPage = getTrustedPage(page.getEntityId(), trustedPageContainer);
+            trustedPage = getTrustedPage(page.getId(), trustedPageContainer);
         }
 
         return isPageOwnerByUsername(authentication, trustedPage.getOwner().getUsername());
@@ -205,7 +205,7 @@ public class DefaultPagePermissionEvalua
         if (trustedDomainObject) {
             trustedPage = page;
         } else {
-            trustedPage = getTrustedPage(page.getEntityId(), trustedPageContainer);
+            trustedPage = getTrustedPage(page.getId(), trustedPageContainer);
         }
         //
         // If the page has no members, there can be no member access
@@ -221,16 +221,16 @@ public class DefaultPagePermissionEvalua
         if (members != null) {
             for (PageUser pageUser : members){
                 if (pageUser.getUser().getUsername().equals(viewer)){
-                    log.info("User "+viewer+" is a member of page "+trustedPage.getEntityId());
+                    log.info("User "+viewer+" is a member of page "+trustedPage.getId());
                     if(checkEditorStatus){
-                        log.info("checking editor:"+trustedPage.getEntityId()+"@"+viewer+"@"+pageUser.isEditor());
+                        log.info("checking editor:"+trustedPage.getId()+"@"+viewer+"@"+pageUser.isEditor());
                         return pageUser.isEditor();
                     }
                     return true;
                 }
             }
         }
-        log.info("User "+viewer+" is NOT a member of page "+trustedPage.getEntityId());
+        log.info("User "+viewer+" is NOT a member of page "+trustedPage.getId());
         return false;
     }
 

Modified: rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultRegionPermissionEvaluator.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultRegionPermissionEvaluator.java?rev=1348193&r1=1348192&r2=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultRegionPermissionEvaluator.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultRegionPermissionEvaluator.java Fri Jun  8 19:07:05 2012
@@ -21,7 +21,6 @@ package org.apache.rave.portal.security.
 import org.apache.rave.portal.model.Page;
 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.repository.RegionRepository;
 import org.slf4j.Logger;
@@ -177,7 +176,7 @@ public class DefaultRegionPermissionEval
             throw new IllegalArgumentException("unknown RaveSecurityContext type: " + raveSecurityContext.getType());
         }
     }
-    
+
     private boolean isRegionMember(Authentication authentication, Region region, List<Region> trustedRegionContainer, boolean trustedDomainObject, boolean checkEditorStatus) {
         Region trustedRegion = null;
         if (trustedDomainObject) {
@@ -185,10 +184,10 @@ public class DefaultRegionPermissionEval
         } else {
             trustedRegion = getTrustedRegion(region.getId(), trustedRegionContainer);
         }
-        
+
         Page containerPage = trustedRegion.getPage();
-        
-        
+
+
         if (containerPage.getMembers() == null){
             return false;
         }
@@ -198,7 +197,7 @@ public class DefaultRegionPermissionEval
         String viewer = ((User)authentication.getPrincipal()).getUsername();
         for (PageUser pageUser:containerPage.getMembers()){
             if (pageUser.getUser().getUsername().equals(viewer)){
-                log.info("User "+viewer+" is a member of page "+containerPage.getEntityId());
+                log.info("User "+viewer+" is a member of page "+containerPage.getId());
                 if(checkEditorStatus){
                     return pageUser.isEditor();
                 }

Modified: rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultRegionWidgetPermissionEvaluator.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultRegionWidgetPermissionEvaluator.java?rev=1348193&r1=1348192&r2=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultRegionWidgetPermissionEvaluator.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultRegionWidgetPermissionEvaluator.java Fri Jun  8 19:07:05 2012
@@ -176,12 +176,12 @@ public class DefaultRegionWidgetPermissi
             throw new IllegalArgumentException("unknown RaveSecurityContext type: " + raveSecurityContext.getType());
         }
     }
-    
+
     private String getUsernameFromRegionWidget(RegionWidget regionWidget) {
         return regionWidget.getRegion().getPage().getOwner().getUsername();
     }
-    
-    private boolean isRegionWidgetMember(Authentication authentication, 
+
+    private boolean isRegionWidgetMember(Authentication authentication,
             RegionWidget regionWidget, List<RegionWidget> trustedRegionWidgetContainer, boolean trustedDomainObject, boolean checkEditorStatus) {
         RegionWidget trustedRegionWidget = null;
         if (trustedDomainObject) {
@@ -189,10 +189,10 @@ public class DefaultRegionWidgetPermissi
         } else {
             trustedRegionWidget = getTrustedRegionWidget(regionWidget.getId(), trustedRegionWidgetContainer);
         }
-        
+
         Page containerPage = trustedRegionWidget.getRegion().getPage();
-        
-        
+
+
         if (containerPage.getMembers() == null){
             return false;
         }
@@ -202,7 +202,7 @@ public class DefaultRegionWidgetPermissi
         String viewer = ((User)authentication.getPrincipal()).getUsername();
         for (PageUser pageUser:containerPage.getMembers()){
             if (pageUser.getUser().getUsername().equals(viewer)){
-                log.info("User "+viewer+" is a member of page "+containerPage.getEntityId());
+                log.info("User "+viewer+" is a member of page "+containerPage.getId());
                 if(checkEditorStatus){
                     return pageUser.isEditor();
                 }

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=1348193&r1=1348192&r2=1348193&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 Fri Jun  8 19:07:05 2012
@@ -21,6 +21,7 @@ package org.apache.rave.portal.service.i
 
 import org.apache.rave.persistence.Repository;
 import org.apache.rave.portal.model.*;
+import org.apache.rave.portal.model.impl.PageImpl;
 import org.apache.rave.portal.model.impl.PageUserImpl;
 import org.apache.rave.portal.repository.PageLayoutRepository;
 import org.apache.rave.portal.repository.PageRepository;
@@ -97,7 +98,7 @@ public class DefaultPageService implemen
 
     @Override
     public Page getPageFromList(long pageId, List<Page> pages) {
-        Page pageToFind = new Page(pageId);
+        Page pageToFind = new PageImpl(pageId);
         int index = pages.indexOf(pageToFind);
         return index == -1 ? null : pages.get(index);
     }
@@ -141,7 +142,7 @@ public class DefaultPageService implemen
 
         // Create a Page object and register it.
         long renderSequence = (parentPage.getSubPages() != null) ? parentPage.getSubPages().size() + 1 : 1;
-        Page page = new Page();
+        Page page = new PageImpl();
         page.setName(pageName);
         page.setOwner(user);
         page.setPageLayout(pageLayout);
@@ -502,7 +503,7 @@ public class DefaultPageService implemen
         // If we have a page already or if there was an exception from above then create the page
         // Create the new page for the user
         long renderSequence = defaultUserPage.size() + 1;
-        page = new Page();
+        page = new PageImpl();
         page.setName(pageName);
         page.setOwner(user);
         page.setPageLayout(pageLayout);

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=1348193&r1=1348192&r2=1348193&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 Fri Jun  8 19:07:05 2012
@@ -23,7 +23,7 @@
             version="2.0">
         <persistence-unit name="ravePersistenceUnit" transaction-type="RESOURCE_LOCAL">
             <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
-            <class>org.apache.rave.portal.model.Page</class>
+            <class>org.apache.rave.portal.model.JpaPage</class>
             <class>org.apache.rave.portal.model.JpaRegion</class>
             <class>org.apache.rave.portal.model.User</class>
             <class>org.apache.rave.portal.model.JpaRegionWidget</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=1348193&r1=1348192&r2=1348193&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 Fri Jun  8 19:07:05 2012
@@ -18,7 +18,7 @@
  */
 package org.apache.rave.portal.model;
 
-import net.sf.ehcache.pool.sizeof.annotations.IgnoreSizeOf;
+import org.apache.rave.portal.model.impl.PageImpl;
 import org.apache.rave.portal.model.impl.PageLayoutImpl;
 import org.apache.rave.portal.model.impl.PageUserImpl;
 import org.apache.rave.portal.model.impl.RegionImpl;
@@ -57,19 +57,19 @@ public class PageTest {
 
 	@Before
 	public void setup(){
-		page=new Page();
+		page=new PageImpl();
 		id=19191991L;
         parentId = 12345L;
 		testName="testName";
 		testOwner=new User(id);
-        parentPage = new Page(parentId);
+        parentPage = new PageImpl(parentId);
         subPages = new ArrayList<Page>();
 
-        Page subPage1 = new Page();
-        subPage1.setEntityId(SUB_PAGE_1_ID);
+        Page subPage1 = new PageImpl();
+        subPage1.setId(SUB_PAGE_1_ID);
         subPage1.setOwner(testOwner);
-        Page subPage2 = new Page();
-        subPage2.setEntityId(SUB_PAGE_2_ID);
+        Page subPage2 = new PageImpl();
+        subPage2.setId(SUB_PAGE_2_ID);
         subPage2.setOwner(testOwner);
 
         List<PageUser> pageUsers1 = new ArrayList<PageUser>();
@@ -103,7 +103,7 @@ public class PageTest {
 		regions.add(new RegionImpl());
 		regions.add(new RegionImpl());
 
-		page.setEntityId(id);
+		page.setId(id);
 		page.setName(testName);
 		page.setOwner(testOwner);
 		page.setParentPage(parentPage);
@@ -124,7 +124,7 @@ public class PageTest {
 
 	@Test
 	public void testAccessorMethods() {
-		assertTrue(page.getEntityId()==id);
+		assertTrue(page.getId()==id);
 		assertTrue(page.getName().equals(testName));
 		assertTrue(page.getOwner().equals(testOwner));
 		assertTrue(page.getParentPage().equals(parentPage));
@@ -147,7 +147,7 @@ public class PageTest {
     public void testSubPageComparator() {
         Long previousRenderSequence = -999L;
         List<Page> subPages = page.getSubPages();
-        assertThat(subPages.get(0).getEntityId(), is(SUB_PAGE_2_ID));
-        assertThat(subPages.get(1).getEntityId(), is(SUB_PAGE_1_ID));
+        assertThat(subPages.get(0).getId(), is(SUB_PAGE_2_ID));
+        assertThat(subPages.get(1).getId(), is(SUB_PAGE_1_ID));
     }
 }

Added: rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/conversion/JpaPageConverterTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/conversion/JpaPageConverterTest.java?rev=1348193&view=auto
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/conversion/JpaPageConverterTest.java (added)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/conversion/JpaPageConverterTest.java Fri Jun  8 19:07:05 2012
@@ -0,0 +1,80 @@
+/*
+ * 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.conversion;
+
+import org.apache.rave.portal.model.*;
+import org.apache.rave.portal.model.impl.PageImpl;
+import org.apache.rave.portal.model.impl.PageLayoutImpl;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import java.util.ArrayList;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = {"classpath:test-dataContext.xml", "classpath:test-applicationContext.xml"})
+public class JpaPageConverterTest {
+
+    @Autowired
+    private JpaPageConverter pageConverter;
+
+    @Test
+    public void noConversion() {
+        Page page = new JpaPage();
+        assertThat(pageConverter.convert(page), is(sameInstance(page)));
+    }
+
+    @Test
+    public void nullConversion() {
+        Page page = null;
+        assertThat(pageConverter.convert(page), is(nullValue()));
+    }
+
+    @Test
+    public void newPage() {
+        Page page = new PageImpl();
+        page.setId(1L);
+        page.setMembers(new ArrayList<PageUser>());
+        page.setName("name");
+        page.setOwner(new User());
+        page.setPageLayout(new PageLayoutImpl());
+        page.setPageType(PageType.USER);
+        page.setParentPage(new PageImpl(1L));
+        page.setRegions(new ArrayList<Region>());
+        page.setSubPages(new ArrayList<Page>());
+
+        JpaPage converted = pageConverter.convert(page);
+        assertThat(converted, is(not(sameInstance(page))));
+        assertThat(converted, is(instanceOf(JpaPage.class)));
+        assertThat(converted.getId(), is(equalTo(page.getId())));
+        assertThat(converted.getParentPage().getId(), is(equalTo(page.getParentPage().getId())));
+        assertThat(converted.getRegions(), is(equalTo(page.getRegions())));
+        assertThat(converted.getMembers(), is(equalTo(page.getMembers())));
+        assertThat(converted.getName(), is(equalTo(page.getName())));
+        assertThat(converted.getOwner(), is(equalTo(page.getOwner())));
+        assertThat(converted.getPageLayout().getCode(), is(equalTo(page.getPageLayout().getCode())));
+        assertThat(converted.getPageType(), is(equalTo(page.getPageType())));
+        assertThat(converted.getSubPages(), is(equalTo(page.getSubPages())));
+    }
+}
\ No newline at end of file

Modified: rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/conversion/JpaRegionConverterTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/conversion/JpaRegionConverterTest.java?rev=1348193&r1=1348192&r2=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/conversion/JpaRegionConverterTest.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/conversion/JpaRegionConverterTest.java Fri Jun  8 19:07:05 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.PageImpl;
 import org.apache.rave.portal.model.impl.RegionImpl;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -56,7 +57,7 @@ public class JpaRegionConverterTest {
         Region region = new RegionImpl();
         region.setId(9L);
         region.setLocked(false);
-        region.setPage(new Page());
+        region.setPage(new JpaPage());
         region.setRegionWidgets(new ArrayList<RegionWidget>());
         region.setRenderOrder(9);
 

Modified: rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/repository/impl/JpaPageRepositoryTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/repository/impl/JpaPageRepositoryTest.java?rev=1348193&r1=1348192&r2=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/repository/impl/JpaPageRepositoryTest.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/repository/impl/JpaPageRepositoryTest.java Fri Jun  8 19:07:05 2012
@@ -72,7 +72,7 @@ public class JpaPageRepositoryTest {
 
     private User user;
     private PageTemplate defaultPageTemplate;
-    
+
     @Before
     public void setup(){
         user = userRepository.get(CREATED_USER_ID);
@@ -87,7 +87,7 @@ public class JpaPageRepositoryTest {
         assertThat(pages.get(0).getRegions().size(), equalTo(2));
         assertThat(pages.get(0).getRegions().get(0).getRegionWidgets().size(), equalTo(2));
         assertThat(pages.get(0).getRegions().get(0).getRegionWidgets().get(0).getWidget().getUrl(), equalTo(WIDGET_URL));
-        
+
         List<PageUser> pageUserPages = repository.getPagesForUser(USER_ID, PageType.USER);
         // test that the query returns the pages in proper render sequence order
         Long lastRenderSequence = -1L;
@@ -121,7 +121,7 @@ public class JpaPageRepositoryTest {
         assertThat(pages, is(notNullValue()));
         assertThat(pages.size(), is(2));
         assertThat(pages.get(0).getRegions().size(), is(1));
-        assertThat(pages.get(0).getParentPage().getEntityId(), is(3L));
+        assertThat(pages.get(0).getParentPage().getId(), is(3L));
 
         List<PageUser> pageUserPages = repository.getPagesForUser(USER_ID, PageType.SUB_PAGE);
         // test that the query returns the pages in proper render sequence order
@@ -155,7 +155,7 @@ public class JpaPageRepositoryTest {
     public void getById_valid_userPage() {
         Page p = repository.get(USER_PAGE_ID);
         assertThat(p, is(notNullValue()));
-        assertThat(p.getEntityId(), is(equalTo(USER_PAGE_ID)));
+        assertThat(p.getId(), is(equalTo(USER_PAGE_ID)));
         assertThat(p.getPageType(), is(PageType.USER));
         assertThat(p.getParentPage(), is(nullValue(Page.class)));
         assertThat(p.getSubPages().isEmpty(), is(true));
@@ -164,7 +164,7 @@ public class JpaPageRepositoryTest {
     @Test
     public void getById_valid_personProfilePage() {
         Page p = repository.get(PERSON_PROFILE_PAGE_ID);
-        assertThat(p.getEntityId(), is(equalTo(PERSON_PROFILE_PAGE_ID)));
+        assertThat(p.getId(), is(equalTo(PERSON_PROFILE_PAGE_ID)));
         assertThat(p.getPageType(), is(PageType.PERSON_PROFILE));
         assertThat(p.getParentPage(), is(nullValue(Page.class)));
         assertThat(p.getSubPages().isEmpty(), is(false));
@@ -173,19 +173,19 @@ public class JpaPageRepositoryTest {
         Long lastRenderSequence = -1L;
         PageUser pageUser;
         for (Page subPage : p.getSubPages()) {
-            pageUser = repository.getSingleRecord(p.getOwner().getEntityId(), subPage.getEntityId());
+            pageUser = repository.getSingleRecord(p.getOwner().getEntityId(), subPage.getId());
             Long currentRenderSequence =  pageUser.getRenderSequence();
             assertThat(currentRenderSequence > lastRenderSequence, is(true));
             lastRenderSequence = currentRenderSequence;
         }
-        
+
     }
 
     @Test
     public void getById_valid_subPagePage() {
         Page p = repository.get(SUB_PAGE_ID);
         assertThat(p, is(notNullValue()));
-        assertThat(p.getEntityId(), is(equalTo(SUB_PAGE_ID)));
+        assertThat(p.getId(), is(equalTo(SUB_PAGE_ID)));
         assertThat(p.getPageType(), is(PageType.SUB_PAGE));
         assertThat(p.getParentPage(), is(notNullValue(Page.class)));
         assertThat(p.getSubPages().isEmpty(), is(true));
@@ -208,7 +208,7 @@ public class JpaPageRepositoryTest {
         // ensure pages are deleted
         assertThat(repository.getAllPages(USER_ID, PageType.USER).isEmpty(), is(true));
     }
-    
+
     @Test
     @Transactional(readOnly = false)
     @Rollback(true)
@@ -228,12 +228,12 @@ public class JpaPageRepositoryTest {
         assertEquals("Widgets on sub page 2", 1, subPage2.getRegions().get(0).getRegionWidgets().size());
         assertEquals("Regions on sub page 1", 1, subPage1.getRegions().size());
         assertEquals("Regions on sub page 2", 1, subPage2.getRegions().size());
-        assertNull("no sub pages of sub page 1", subPage1.getSubPages());
-        assertNull("no sub pages of sub page 2", subPage2.getSubPages());
-        assertEquals("sub page 1 refers to parent page", page.getEntityId(), subPage1.getParentPage().getEntityId());
-        assertEquals("sub page 2 refers to parent page", page.getEntityId(), subPage2.getParentPage().getEntityId());
-        assertEquals("sub page 1 regions refers to sub page 1", subPage1.getEntityId(), subPage1.getRegions().get(0).getPage().getEntityId());
-        assertEquals("sub page 2 regions refers to sub page 2", subPage2.getEntityId(), subPage2.getRegions().get(0).getPage().getEntityId());
+        assertThat(subPage1.getSubPages().isEmpty(), is(true));
+        assertThat(subPage2.getSubPages().isEmpty(), is(true));
+        assertEquals("sub page 1 refers to parent page", page.getId(), subPage1.getParentPage().getId());
+        assertEquals("sub page 2 refers to parent page", page.getId(), subPage2.getParentPage().getId());
+        assertEquals("sub page 1 regions refers to sub page 1", subPage1.getId(), subPage1.getRegions().get(0).getPage().getId());
+        assertEquals("sub page 2 regions refers to sub page 2", subPage2.getId(), subPage2.getRegions().get(0).getPage().getId());
         assertEquals("sub page 1 has one column layout", "columns_1", subPage1.getPageLayout().getCode());
         assertEquals("sub page 2 has one column layout", "columns_1", subPage2.getPageLayout().getCode());
         assertEquals(PageType.SUB_PAGE, subPage1.getPageType());
@@ -243,7 +243,7 @@ public class JpaPageRepositoryTest {
         assertSame(user, subPage1.getOwner());
         assertSame(user, subPage2.getOwner());
     }
-    
+
     @Test
     public void hasPersonPage_true(){
         assertTrue(repository.hasPersonPage(USER_ID));

Modified: rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultCategoryPermissionEvaluatorTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultCategoryPermissionEvaluatorTest.java?rev=1348193&r1=1348192&r2=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultCategoryPermissionEvaluatorTest.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultCategoryPermissionEvaluatorTest.java Fri Jun  8 19:07:05 2012
@@ -157,7 +157,7 @@ public class DefaultCategoryPermissionEv
     public void testHasPermission_4args_administer() {
         EasyMock.<Collection<? extends GrantedAuthority>>expect(mockAuthentication.getAuthorities()).andReturn(grantedAuthorities);
         replay(mockAuthentication);
-        assertThat(defaultCategoryPermissionEvaluator.hasPermission(mockAuthentication, VALID_WIDGET_CATEGORY_ID, JpaWidget.class.getName(), ModelPermissionEvaluator.Permission.ADMINISTER), is(false));
+        assertThat(defaultCategoryPermissionEvaluator.hasPermission(mockAuthentication, VALID_WIDGET_CATEGORY_ID, Widget.class.getName(), ModelPermissionEvaluator.Permission.ADMINISTER), is(false));
         verify(mockAuthentication);
     }
 
@@ -166,7 +166,7 @@ public class DefaultCategoryPermissionEv
         EasyMock.<Collection<? extends GrantedAuthority>>expect(mockAuthentication.getAuthorities()).andReturn(grantedAuthorities);
         expect(mockCategoryRepository.get(VALID_WIDGET_CATEGORY_ID)).andReturn(category);
         replay(mockAuthentication, mockCategoryRepository);
-        assertThat(defaultCategoryPermissionEvaluator.hasPermission(mockAuthentication, VALID_WIDGET_CATEGORY_ID, JpaWidget.class.getName(), ModelPermissionEvaluator.Permission.CREATE), is(false));
+        assertThat(defaultCategoryPermissionEvaluator.hasPermission(mockAuthentication, VALID_WIDGET_CATEGORY_ID, Widget.class.getName(), ModelPermissionEvaluator.Permission.CREATE), is(false));
         verify(mockAuthentication, mockCategoryRepository);
     }
 
@@ -175,7 +175,7 @@ public class DefaultCategoryPermissionEv
         EasyMock.<Collection<? extends GrantedAuthority>>expect(mockAuthentication.getAuthorities()).andReturn(grantedAuthorities);
         expect(mockCategoryRepository.get(VALID_WIDGET_CATEGORY_ID)).andReturn(category);
         replay(mockAuthentication, mockCategoryRepository);
-        assertThat(defaultCategoryPermissionEvaluator.hasPermission(mockAuthentication, VALID_WIDGET_CATEGORY_ID, JpaWidget.class.getName(), ModelPermissionEvaluator.Permission.DELETE), is(false));
+        assertThat(defaultCategoryPermissionEvaluator.hasPermission(mockAuthentication, VALID_WIDGET_CATEGORY_ID, Widget.class.getName(), ModelPermissionEvaluator.Permission.DELETE), is(false));
         verify(mockAuthentication, mockCategoryRepository);
     }
 
@@ -184,7 +184,7 @@ public class DefaultCategoryPermissionEv
         EasyMock.<Collection<? extends GrantedAuthority>>expect(mockAuthentication.getAuthorities()).andReturn(grantedAuthorities);
         expect(mockCategoryRepository.get(VALID_WIDGET_CATEGORY_ID)).andReturn(category);
         replay(mockAuthentication, mockCategoryRepository);
-        assertThat(defaultCategoryPermissionEvaluator.hasPermission(mockAuthentication, VALID_WIDGET_CATEGORY_ID, JpaWidget.class.getName(), ModelPermissionEvaluator.Permission.READ), is(true));
+        assertThat(defaultCategoryPermissionEvaluator.hasPermission(mockAuthentication, VALID_WIDGET_CATEGORY_ID, Widget.class.getName(), ModelPermissionEvaluator.Permission.READ), is(true));
         verify(mockAuthentication, mockCategoryRepository);
     }
 
@@ -193,7 +193,7 @@ public class DefaultCategoryPermissionEv
         EasyMock.<Collection<? extends GrantedAuthority>>expect(mockAuthentication.getAuthorities()).andReturn(grantedAuthorities);
         expect(mockCategoryRepository.get(VALID_WIDGET_CATEGORY_ID)).andReturn(category);
         replay(mockAuthentication, mockCategoryRepository);
-        assertThat(defaultCategoryPermissionEvaluator.hasPermission(mockAuthentication, VALID_WIDGET_CATEGORY_ID, JpaWidget.class.getName(), ModelPermissionEvaluator.Permission.READ), is(true));
+        assertThat(defaultCategoryPermissionEvaluator.hasPermission(mockAuthentication, VALID_WIDGET_CATEGORY_ID, Widget.class.getName(), ModelPermissionEvaluator.Permission.READ), is(true));
         verify(mockAuthentication, mockCategoryRepository);
     }
 
@@ -202,7 +202,7 @@ public class DefaultCategoryPermissionEv
         EasyMock.<Collection<? extends GrantedAuthority>>expect(mockAuthentication.getAuthorities()).andReturn(grantedAuthorities);
         expect(mockCategoryRepository.get(VALID_WIDGET_CATEGORY_ID)).andReturn(category);
         replay(mockAuthentication, mockCategoryRepository);
-        assertThat(defaultCategoryPermissionEvaluator.hasPermission(mockAuthentication, VALID_WIDGET_CATEGORY_ID, JpaWidget.class.getName(), ModelPermissionEvaluator.Permission.UPDATE), is(false));
+        assertThat(defaultCategoryPermissionEvaluator.hasPermission(mockAuthentication, VALID_WIDGET_CATEGORY_ID, Widget.class.getName(), ModelPermissionEvaluator.Permission.UPDATE), is(false));
         verify(mockAuthentication, mockCategoryRepository);
     }
 

Modified: rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultPagePermissionEvaluatorTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultPagePermissionEvaluatorTest.java?rev=1348193&r1=1348192&r2=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultPagePermissionEvaluatorTest.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultPagePermissionEvaluatorTest.java Fri Jun  8 19:07:05 2012
@@ -22,6 +22,7 @@ package org.apache.rave.portal.security.
 import org.apache.rave.portal.model.Page;
 import org.apache.rave.portal.model.PageType;
 import org.apache.rave.portal.model.User;
+import org.apache.rave.portal.model.impl.PageImpl;
 import org.apache.rave.portal.repository.PageRepository;
 import org.apache.rave.portal.security.ModelPermissionEvaluator.Permission;
 import org.apache.rave.portal.security.util.AuthenticationUtils;
@@ -73,23 +74,23 @@ public class DefaultPagePermissionEvalua
         user2 = new User();
         user2.setUsername(VALID_USERNAME2);
 
-        page = new Page();
-        page.setEntityId(VALID_PAGE_ID);
+        page = new PageImpl();
+        page.setId(VALID_PAGE_ID);
         page.setOwner(user);
         page.setPageType(PageType.USER);
 
-        pageSubPage = new Page();
-        pageSubPage.setEntityId(VALID_PAGE_ID4);
+        pageSubPage = new PageImpl();
+        pageSubPage.setId(VALID_PAGE_ID4);
         pageSubPage.setOwner(user);
         pageSubPage.setPageType(PageType.SUB_PAGE);
         pageSubPage.setParentPage(page);
 
-        personProfilePage = new Page();
-        personProfilePage.setEntityId(VALID_PAGE_ID2);
+        personProfilePage = new PageImpl();
+        personProfilePage.setId(VALID_PAGE_ID2);
         personProfilePage.setOwner(user);
         personProfilePage.setPageType(PageType.PERSON_PROFILE);
-        personProfileSubPage = new Page();
-        personProfileSubPage.setEntityId(VALID_PAGE_ID3);
+        personProfileSubPage = new PageImpl();
+        personProfileSubPage.setId(VALID_PAGE_ID3);
         personProfileSubPage.setOwner(user);
         personProfileSubPage.setPageType(PageType.PERSON_PROFILE);
         personProfileSubPage.setParentPage(personProfilePage);

Modified: rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultRegionPermissionEvaluatorTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultRegionPermissionEvaluatorTest.java?rev=1348193&r1=1348192&r2=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultRegionPermissionEvaluatorTest.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultRegionPermissionEvaluatorTest.java Fri Jun  8 19:07:05 2012
@@ -18,10 +18,11 @@
  */
 package org.apache.rave.portal.security.impl;
 
-import org.apache.rave.portal.model.JpaRegion;
 import org.apache.rave.portal.model.Page;
 import org.apache.rave.portal.model.Region;
 import org.apache.rave.portal.model.User;
+import org.apache.rave.portal.model.impl.PageImpl;
+import org.apache.rave.portal.model.impl.RegionImpl;
 import org.apache.rave.portal.repository.RegionRepository;
 import org.apache.rave.portal.security.ModelPermissionEvaluator;
 import org.apache.rave.portal.security.util.AuthenticationUtils;
@@ -66,10 +67,10 @@ public class DefaultRegionPermissionEval
         user.setEntityId(VALID_USER_ID);
         user2 = new User();
         user2.setUsername(VALID_USERNAME2);
-        page = new Page();
-        page.setEntityId(VALID_PAGE_ID);
+        page = new PageImpl();
+        page.setId(VALID_PAGE_ID);
         page.setOwner(user);
-        region = new JpaRegion();
+        region = new RegionImpl();
         region.setId(VALID_REGION_ID);
         region.setPage(page);
         grantedAuthoritiesList = new ArrayList<GrantedAuthority>();

Modified: rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultRegionWidgetPermissionEvaluatorTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultRegionWidgetPermissionEvaluatorTest.java?rev=1348193&r1=1348192&r2=1348193&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultRegionWidgetPermissionEvaluatorTest.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultRegionWidgetPermissionEvaluatorTest.java Fri Jun  8 19:07:05 2012
@@ -19,6 +19,7 @@
 package org.apache.rave.portal.security.impl;
 
 import org.apache.rave.portal.model.*;
+import org.apache.rave.portal.model.impl.PageImpl;
 import org.apache.rave.portal.model.impl.RegionImpl;
 import org.apache.rave.portal.model.impl.RegionWidgetImpl;
 import org.apache.rave.portal.repository.RegionWidgetRepository;
@@ -26,7 +27,6 @@ import org.apache.rave.portal.security.M
 import org.apache.rave.portal.security.util.AuthenticationUtils;
 import org.easymock.EasyMock;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.GrantedAuthority;
@@ -68,8 +68,8 @@ public class DefaultRegionWidgetPermissi
         user.setEntityId(VALID_USER_ID);
         user2 = new User();
         user2.setUsername(VALID_USERNAME2);
-        page = new Page();
-        page.setEntityId(VALID_PAGE_ID);
+        page = new PageImpl();
+        page.setId(VALID_PAGE_ID);
         page.setOwner(user);
         region = new RegionImpl();
         region.setId(VALID_REGION_ID);