You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mf...@apache.org on 2012/12/28 18:43:30 UTC

svn commit: r1426593 [5/16] - in /rave/branches/mongo: ./ rave-components/ rave-components/rave-commons/ rave-components/rave-commons/src/main/java/org/apache/rave/persistence/ rave-components/rave-core/ rave-components/rave-core/src/main/java/org/apac...

Modified: rave/branches/mongo/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultWidgetServiceTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultWidgetServiceTest.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultWidgetServiceTest.java (original)
+++ rave/branches/mongo/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultWidgetServiceTest.java Fri Dec 28 17:43:23 2012
@@ -20,12 +20,8 @@
 package org.apache.rave.portal.service.impl;
 
 import org.apache.rave.exception.DuplicateItemException;
-import org.apache.rave.portal.model.Category;
-import org.apache.rave.portal.model.Widget;
-import org.apache.rave.portal.model.WidgetStatus;
-import org.apache.rave.portal.model.impl.CategoryImpl;
-import org.apache.rave.portal.model.impl.UserImpl;
-import org.apache.rave.portal.model.impl.WidgetImpl;
+import org.apache.rave.portal.model.*;
+import org.apache.rave.portal.model.impl.*;
 import org.apache.rave.portal.model.util.SearchResult;
 import org.apache.rave.portal.model.util.WidgetStatistics;
 import org.apache.rave.portal.repository.CategoryRepository;
@@ -36,12 +32,14 @@ import org.junit.Before;
 import org.junit.Test;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 
 import static org.easymock.EasyMock.*;
 import static org.hamcrest.CoreMatchers.*;
 import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
 /**
  * Test for {@link DefaultWidgetService}
@@ -76,8 +74,8 @@ public class DefaultWidgetServiceTest {
 
     @Test
     public void getLimitedListOfWidgets() {
-        Widget widget1 = new WidgetImpl(1L, "http://example.com/widget1.xml");
-        Widget widget2 = new WidgetImpl(2L, "http://example.com/widget2.xml");
+        Widget widget1 = new WidgetImpl("2", "http://example.com/widget1.xml");
+        Widget widget2 = new WidgetImpl("3", "http://example.com/widget2.xml");
         List<Widget> widgets = new ArrayList<Widget>();
         widgets.add(widget1);
         widgets.add(widget2);
@@ -94,9 +92,9 @@ public class DefaultWidgetServiceTest {
 
     @Test
     public void getPublishedWidgets() {
-        Widget widget1 = new WidgetImpl(1L, "http://example.com/widget1.xml");
+        Widget widget1 = new WidgetImpl("1", "http://example.com/widget1.xml");
         widget1.setWidgetStatus(WidgetStatus.PUBLISHED);
-        Widget widget2 = new WidgetImpl(2L, "http://example.com/widget2.xml");
+        Widget widget2 = new WidgetImpl("2", "http://example.com/widget2.xml");
         widget2.setWidgetStatus(WidgetStatus.PUBLISHED);
         List<Widget> widgets = new ArrayList<Widget>();
         widgets.add(widget1);
@@ -115,10 +113,10 @@ public class DefaultWidgetServiceTest {
     @Test
     public void getWidget() {
         Widget w = new WidgetImpl();
-        expect(widgetRepository.get(1L)).andReturn(w);
+        expect(widgetRepository.get("1")).andReturn(w);
         replay(widgetRepository);
 
-        Widget result = widgetService.getWidget(1L);
+        Widget result = widgetService.getWidget("1");
         assertThat(result, is(sameInstance(w)));
         verify(widgetRepository);
     }
@@ -129,8 +127,7 @@ public class DefaultWidgetServiceTest {
         int offset = 0;
         int pageSize = 10;
         int totalResults = 2;
-        WidgetImpl widget = new WidgetImpl();
-        widget.setId(1L);
+        WidgetImpl widget = new WidgetImpl("1");
         List<Widget> widgets = new ArrayList<Widget>();
         widgets.add(widget);
 
@@ -152,9 +149,8 @@ public class DefaultWidgetServiceTest {
         int offset = 0;
         int pageSize = 10;
         int totalResults = 2;
-        WidgetImpl widget = new WidgetImpl();
+        WidgetImpl widget = new WidgetImpl("1");
         widget.setWidgetStatus(WidgetStatus.PUBLISHED);
-        widget.setId(1L);
         List<Widget> widgets = new ArrayList<Widget>();
         widgets.add(widget);
 
@@ -178,11 +174,10 @@ public class DefaultWidgetServiceTest {
         int offset = 0;
         int pageSize = 10;
         int totalResults = 2;
-        WidgetImpl widget = new WidgetImpl();
+        WidgetImpl widget = new WidgetImpl("1");
         widget.setWidgetStatus(WidgetStatus.PUBLISHED);
         final String type = "OpenSocial";
         widget.setType(type);
-        widget.setId(1L);
         List<Widget> widgets = new ArrayList<Widget>();
         widgets.add(widget);
 
@@ -204,12 +199,12 @@ public class DefaultWidgetServiceTest {
     public void getWidgetsByOwner() {
         final int offset = 0;
         final int pageSize = 10;
-        final UserImpl user = new UserImpl(5L);
+        final UserImpl user = new UserImpl("5");
         expect(userRepository.get(user.getId())).andReturn(user);
         replay(userRepository);
 
         final List<Widget> widgets = new ArrayList<Widget>();
-        final Widget widget = new WidgetImpl(3L, "http://www.widgetsRus.com/");
+        final Widget widget = new WidgetImpl("3", "http://www.widgetsRus.com/");
         widgets.add(widget);
 
         expect(widgetRepository.getCountByOwner(user, offset, pageSize)).andReturn(widgets.size());
@@ -228,10 +223,10 @@ public class DefaultWidgetServiceTest {
 
     @Test
     public void getWidget_null() {
-        expect(widgetRepository.get(1L)).andReturn(null);
+        expect(widgetRepository.get("1")).andReturn(null);
         replay(widgetRepository);
 
-        Widget result = widgetService.getWidget(1L);
+        Widget result = widgetService.getWidget("1");
         assertThat(result, is(nullValue()));
         verify(widgetRepository);
     }
@@ -326,26 +321,26 @@ public class DefaultWidgetServiceTest {
 
     @Test
     public void widgetStatistics() {
-        expect(widgetRepository.getWidgetStatistics(1L, 1L)).andReturn(new WidgetStatistics());
+        expect(widgetRepository.getWidgetStatistics("1", "1")).andReturn(new WidgetStatistics());
         replay(widgetRepository);
 
-        widgetService.getWidgetStatistics(1L, 1L);
+        widgetService.getWidgetStatistics("1", "1");
         verify(widgetRepository);
     }
 
 
     @Test
     public void allWidgetStatistics() {
-        expect(widgetRepository.getAllWidgetStatistics(1L)).andReturn(new HashMap<Long, WidgetStatistics>());
+        expect(widgetRepository.getAllWidgetStatistics("1")).andReturn(new HashMap<String, WidgetStatistics>());
         replay(widgetRepository);
 
-        widgetService.getAllWidgetStatistics(1L);
+        widgetService.getAllWidgetStatistics("1");
         verify(widgetRepository);
     }
 
     @Test
     public void getWidgetsByCategory_valid(){
-        long id = 1L;
+        String id = "1";
         int offset = 0;
         int pageSize = 10;
         String categoryText = "Social";
@@ -368,4 +363,161 @@ public class DefaultWidgetServiceTest {
         assertEquals(c.getId(), result.getResultSet().get(0).getCategories().get(0).getId());
     }
 
+    @Test
+    public void getWidgetTag() {
+        WidgetTagImpl tag = new WidgetTagImpl("1", new Date(), "1");
+        expect(widgetRepository.getTagById("1")).andReturn(tag);
+        replay(widgetRepository);
+
+        assertEquals(tag, widgetService.getWidgetTag("1"));
+        verify(widgetRepository);
+    }
+
+    @Test
+    public void saveWidgetTag() {
+        try {
+
+            WidgetTagImpl wtag = new WidgetTagImpl("1", new Date(), "1");
+            expect(widgetRepository.saveWidgetTag("1", wtag)).andReturn(wtag);
+            replay(widgetRepository);
+
+            widgetService.createWidgetTag("1", wtag);
+            verify(widgetRepository);
+
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+
+    }
+
+    @Test
+    public void getWidgetComment() {
+        WidgetComment comment = new WidgetCommentImpl("1");
+        expect(widgetRepository.getCommentById("1", "1")).andReturn(comment);
+        replay(widgetRepository);
+
+        assertEquals(comment, widgetService.getWidgetComment("1", "1"));
+        verify(widgetRepository);
+    }
+
+    @Test
+    public void createWidgetComment() {
+        WidgetComment comment = new WidgetCommentImpl("1");
+        expect(widgetRepository.createWidgetComment("1", comment)).andReturn(comment);
+        replay(widgetRepository);
+
+        widgetService.createWidgetComment("1", comment);
+        verify(widgetRepository);
+    }
+
+    @Test
+    public void deleteWidgetComment() {
+        WidgetComment comment = new WidgetCommentImpl("1");
+        expect(widgetRepository.getCommentById("1","1")).andReturn(comment);
+        widgetRepository.deleteWidgetComment("1", comment);
+        replay(widgetRepository);
+
+        widgetService.removeWidgetComment("1", "1");
+        verify(widgetRepository);
+    }
+
+    @Test
+    public void deleteAllComments() {
+        final String USER_ID = "33";
+        final int EXPECTED_COUNT = 43;
+
+        expect(widgetRepository.deleteAllWidgetComments(USER_ID)).andReturn(EXPECTED_COUNT);
+        replay(widgetRepository);
+        assertThat(widgetService.deleteAllWidgetComments(USER_ID), is(EXPECTED_COUNT));
+        verify(widgetRepository);
+    }
+
+    @Test
+    public void testGetByWidgetIdAndUserId() {
+        WidgetRating widgetRating = new WidgetRatingImpl("1", "3", 5);
+        expect(widgetRepository.getWidgetRatingsByWidgetIdAndUserId("2", "3")).andReturn(widgetRating);
+        replay(widgetRepository);
+        final WidgetRating rating = widgetService.getWidgetRatingByWidgetIdAndUserId("2", "3");
+        assertEquals("Score is 5", Integer.valueOf(5), rating.getScore());
+        verify(widgetRepository);
+    }
+
+    @Test
+    public void updateScore() {
+        WidgetRating widgetRating = createMock(WidgetRatingImpl.class);
+        widgetRating.setScore(10);
+
+        expectLastCall().once();
+        expect(widgetRepository.updateWidgetRating("2", widgetRating)).andReturn(widgetRating);
+        replay(widgetRepository, widgetRating);
+        widgetService.updateWidgetRatingScore("2", widgetRating, 10);
+
+        verify(widgetRepository, widgetRating);
+    }
+
+    @Test
+    public void saveWidgetRating_new() {
+        WidgetRating newRating = new WidgetRatingImpl();
+        newRating.setUserId("1");
+        newRating.setScore(10);
+
+        expect(widgetRepository.getWidgetRatingsByWidgetIdAndUserId("2", "1")).andReturn(null);
+        expect(widgetRepository.createWidgetRating("2", newRating)).andReturn(newRating);
+        replay(widgetRepository);
+
+        widgetService.saveWidgetRating("2", newRating);
+        verify(widgetRepository);
+    }
+
+    @Test
+    public void saveWidgetRating_existing() {
+        WidgetRating existingRating = new WidgetRatingImpl("1", "1", 5);
+        WidgetRating newRating = new WidgetRatingImpl();
+        newRating.setUserId("1");
+        newRating.setScore(10);
+
+        expect(widgetRepository.getWidgetRatingsByWidgetIdAndUserId("1", "1")).andReturn(existingRating);
+        expect(widgetRepository.updateWidgetRating("1", existingRating)).andReturn(existingRating);
+        replay(widgetRepository);
+
+        widgetService.saveWidgetRating("1", newRating);
+        verify(widgetRepository);
+
+        assertEquals("Updated score", Integer.valueOf(10), existingRating.getScore());
+    }
+
+    @Test
+    public void removeWidgetRating_existingRating() {
+        final WidgetRating widgetRating = new WidgetRatingImpl("1", "1", 5);
+
+        expect(widgetRepository.getWidgetRatingsByWidgetIdAndUserId("1", "1")).andReturn(widgetRating);
+        widgetRepository.deleteWidgetRating("1", widgetRating);
+        expectLastCall();
+        replay(widgetRepository);
+
+        widgetService.removeWidgetRating("1", "1");
+        verify(widgetRepository);
+    }
+
+    @Test
+    public void removeWidgetRating_notExisting() {
+        expect(widgetRepository.getWidgetRatingsByWidgetIdAndUserId("1", "2")).andReturn(null);
+        expectLastCall();
+        replay(widgetRepository);
+        widgetService.removeWidgetRating("1", "2");
+        verify(widgetRepository);
+    }
+
+    @Test
+    public void deleteAll() {
+        final String USER_ID = "33";
+        final int EXPECTED_COUNT = 43;
+
+        expect(widgetRepository.deleteAllWidgetRatings(USER_ID)).andReturn(EXPECTED_COUNT);
+        replay(widgetRepository);
+        assertThat(widgetService.removeAllWidgetRatings(USER_ID), is(EXPECTED_COUNT));
+        verify(widgetRepository);
+    }
 }

Modified: rave/branches/mongo/rave-components/rave-core/src/test/java/org/apache/rave/portal/web/renderer/RenderServiceTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-core/src/test/java/org/apache/rave/portal/web/renderer/RenderServiceTest.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-core/src/test/java/org/apache/rave/portal/web/renderer/RenderServiceTest.java (original)
+++ rave/branches/mongo/rave-components/rave-core/src/test/java/org/apache/rave/portal/web/renderer/RenderServiceTest.java Fri Dec 28 17:43:23 2012
@@ -23,7 +23,9 @@ import org.apache.rave.exception.NotSupp
 import org.apache.rave.portal.model.RegionWidget;
 import org.apache.rave.portal.model.impl.RegionWidgetImpl;
 import org.apache.rave.portal.model.impl.WidgetImpl;
+import org.apache.rave.portal.repository.WidgetRepository;
 import org.apache.rave.portal.web.renderer.impl.DefaultRenderService;
+import org.apache.rave.portal.web.renderer.model.RegionWidgetWrapper;
 import org.apache.rave.portal.web.renderer.model.RenderContext;
 import org.junit.Before;
 import org.junit.Test;
@@ -48,12 +50,14 @@ public class RenderServiceTest {
     private RegionWidgetRenderer widgetRenderer2;
     private RegionWidgetRenderer widgetRenderer1;
     private RenderContext context;
+    private WidgetRepository widgetRepository;
 
     @Before
     public void setup() {
         widgetRenderers = new ArrayList<RegionWidgetRenderer>();
         widgetRenderer2 = createStrictMock(RegionWidgetRenderer.class);
         widgetRenderer1 = createStrictMock(RegionWidgetRenderer.class);
+        widgetRepository = createMock(WidgetRepository.class);
 
         expect(widgetRenderer1.getSupportedContext()).andReturn(SUPPORTED_TYPE_1);
         expect(widgetRenderer2.getSupportedContext()).andReturn(SUPPORTED_TYPE_2);
@@ -85,60 +89,74 @@ public class RenderServiceTest {
     @Test
     public void render_supported_foo() {
         WidgetImpl w = new WidgetImpl();
+        w.setId("1");
         w.setType(SUPPORTED_TYPE_1);
 
         RegionWidget rw = new RegionWidgetImpl();
-        rw.setWidget(w);
+        rw.setWidgetId(w.getId());
 
-        expect(widgetRenderer1.render(rw, context)).andReturn(RENDERED_TYPE_1);
+        RegionWidgetWrapper wrapper = new RegionWidgetWrapper(w, rw);
+
+        expect(widgetRenderer1.render(wrapper, context)).andReturn(RENDERED_TYPE_1);
+        expect(widgetRepository.get("1")).andReturn(w);
         replayMocks();
 
         constructFooBarRenderService();
-        assertThat(service.render(rw, context), is(equalTo(RENDERED_TYPE_1)));
+        assertThat(service.render(wrapper, context), is(equalTo(RENDERED_TYPE_1)));
     }
 
     @Test
     public void render_supported_bar() {
         WidgetImpl w = new WidgetImpl();
+        w.setId("1");
         w.setType(SUPPORTED_TYPE_2);
         RegionWidget rw = new RegionWidgetImpl();
-        rw.setWidget(w);
+        rw.setWidgetId(w.getId());
+
+        RegionWidgetWrapper wrapper = new RegionWidgetWrapper(w, rw);
 
-        expect(widgetRenderer2.render(rw, context)).andReturn(RENDERED_TYPE_2);
+        expect(widgetRenderer2.render(wrapper, context)).andReturn(RENDERED_TYPE_2);
+        expect(widgetRepository.get("1")).andReturn(w);
         replayMocks();
 
         constructFooBarRenderService();
-        assertThat(service.render(rw, context), is(equalTo(RENDERED_TYPE_2)));
+        assertThat(service.render(wrapper, context), is(equalTo(RENDERED_TYPE_2)));
     }
 
     @Test(expected = NotSupportedException.class)
     public void render_invalid() {
         WidgetImpl w = new WidgetImpl();
+        w.setId("1");
         w.setType("NONE");
 
         RegionWidget rw = new RegionWidgetImpl();
-        rw.setWidget(w);
+        rw.setWidgetId(w.getId());
+
+        RegionWidgetWrapper wrapper = new RegionWidgetWrapper(w, rw);
+
+        expect(widgetRepository.get("1")).andReturn(w);
 
         replayMocks();
 
         constructFooBarRenderService();
-        service.render(rw, context);
+        service.render(wrapper, context);
     }
 
 
     private void constructFooBarRenderService() {
         widgetRenderers.add(widgetRenderer1);
         widgetRenderers.add(widgetRenderer2);
-        service = new DefaultRenderService(widgetRenderers);
+        service = new DefaultRenderService(widgetRenderers, widgetRepository);
     }
 
     private void constructFooRenderService() {
         widgetRenderers.add(widgetRenderer1);
-        service = new DefaultRenderService(widgetRenderers);
+        service = new DefaultRenderService(widgetRenderers, widgetRepository);
     }
 
     private void replayMocks() {
         replay(widgetRenderer1);
         replay(widgetRenderer2);
+        replay(widgetRepository);
     }
 }

Modified: rave/branches/mongo/rave-components/rave-jpa/pom.xml
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/pom.xml?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/pom.xml (original)
+++ rave/branches/mongo/rave-components/rave-jpa/pom.xml Fri Dec 28 17:43:23 2012
@@ -26,7 +26,7 @@
     <parent>
         <artifactId>rave-components</artifactId>
         <groupId>org.apache.rave</groupId>
-        <version>0.17-MONGO-SNAPSHOT</version>
+        <version>0.19-SNAPSHOT</version>
     </parent>
 
     <artifactId>rave-jpa</artifactId>

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaApplicationData.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaApplicationData.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaApplicationData.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaApplicationData.java Fri Dec 28 17:43:23 2012
@@ -69,13 +69,13 @@ public class JpaApplicationData implemen
     }
 
     @Override
-    public Long getId() {
-        return getEntityId();
+    public String getId() {
+        return getEntityId().toString();
     }
 
     @Override
-    public void setId(Long id) {
-        setEntityId(id);
+    public void setId(String id) {
+        entityId = Long.parseLong(id);
     }
 
     @Override

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaCategory.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaCategory.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaCategory.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaCategory.java Fri Dec 28 17:43:23 2012
@@ -51,9 +51,9 @@ public class JpaCategory implements Basi
     @Column(name = "text", unique = true)
     private String text;
 
-    @OneToOne(fetch=FetchType.EAGER)
-    @JoinColumn(name="created_user_id")
-    private JpaUser createdUser;
+    @Basic
+    @Column(name="created_user_id")
+    private String createdUserId;
 
     @Basic
     @Column(name ="created_date")
@@ -61,9 +61,9 @@ public class JpaCategory implements Basi
     private Date createdDate;
 
 
-    @OneToOne(fetch=FetchType.EAGER)
-    @JoinColumn(name="last_modified_user_id")
-    private JpaUser lastModifiedUser;
+    @Basic
+    @Column(name="last_modified_user_id")
+    private String lastModifiedUserId;
 
     @Basic
     @Column(name ="last_modified_date")
@@ -82,12 +82,12 @@ public class JpaCategory implements Basi
 
     }
 
-    public JpaCategory(Long entityId, String text, User createdUser, Date createdDate, User lastModifiedUser, Date lastModifiedDate) {
+    public JpaCategory(Long entityId, String text, User createdUserId, Date createdDate, User lastModifiedUserId, Date lastModifiedDate) {
         this.entityId = entityId;
         this.text = text;
-        this.setCreatedUser(createdUser);
+        this.setCreatedUserId(createdUserId.getId());
         this.createdDate = createdDate;
-        this.setLastModifiedUser(lastModifiedUser);
+        this.setLastModifiedUserId(lastModifiedUserId.getId());
         this.lastModifiedDate = lastModifiedDate;
     }
 
@@ -102,13 +102,13 @@ public class JpaCategory implements Basi
     }
 
     @Override
-    public Long getId() {
-        return getEntityId();
+    public String getId() {
+        return getEntityId().toString();
     }
 
     @Override
-    public void setId(Long id) {
-        setEntityId(id);
+    public void setId(String id) {
+        setEntityId(id == null ? null : Long.parseLong(id));
     }
 
     @Override
@@ -122,13 +122,13 @@ public class JpaCategory implements Basi
     }
 
     @Override
-    public User getCreatedUser() {
-        return createdUser;
+    public String getCreatedUserId() {
+        return createdUserId;
     }
 
     @Override
-    public void setCreatedUser(User createdUser) {
-        this.createdUser = JpaConverter.getInstance().convert(createdUser, User.class);
+    public void setCreatedUserId(String createdUserId) {
+        this.createdUserId = createdUserId;
     }
 
     @Override
@@ -142,13 +142,13 @@ public class JpaCategory implements Basi
     }
 
     @Override
-    public User getLastModifiedUser() {
-        return lastModifiedUser;
+    public String getLastModifiedUserId() {
+        return lastModifiedUserId;
     }
 
     @Override
-    public void setLastModifiedUser(User lastModifiedUser) {
-        this.lastModifiedUser = JpaConverter.getInstance().convert(lastModifiedUser, User.class);
+    public void setLastModifiedUserId(String lastModifiedUserId) {
+        this.lastModifiedUserId = lastModifiedUserId;
     }
 
     @Override

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaGroup.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaGroup.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaGroup.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaGroup.java Fri Dec 28 17:43:23 2012
@@ -18,11 +18,10 @@
  */
 package org.apache.rave.portal.model;
 
+import com.google.common.collect.Lists;
 import org.apache.rave.persistence.BasicEntity;
 import org.apache.rave.portal.model.conversion.ConvertingListProxyFactory;
 import org.apache.rave.portal.model.conversion.JpaConverter;
-import org.apache.rave.portal.model.conversion.JpaGroupConverter;
-import org.apache.rave.portal.model.conversion.JpaPersonConverter;
 
 import javax.persistence.*;
 import java.util.ArrayList;
@@ -62,20 +61,21 @@ public class JpaGroup implements BasicEn
     @Column(name = "description")
     private String description;
 
-    @ManyToOne
-    @JoinColumn(name = "owner_id", referencedColumnName = "entity_id")
-    private JpaPerson owner;
-
+    @Basic
+    @Column(name = "owner_id")
+    private String owner;
 
-    @ManyToMany(fetch = FetchType.EAGER, mappedBy="groups")
-    private List<JpaPerson> members;
+    @ElementCollection(fetch = FetchType.EAGER)
+    @CollectionTable(name = "group_members", joinColumns = @JoinColumn(name="group_id"))
+    @Column(name= "person_Id")
+    private List<String> members;
 
-    public JpaPerson getOwner() {
+    public String getOwnerId() {
         return owner;
     }
 
-    public void setOwner(Person owner) {
-        this.owner = JpaConverter.getInstance().convert(owner, Person.class);
+    public void setOwnerId(String ownerId) {
+        this.owner = ownerId;
     }
 
     public String getDescription() {
@@ -86,17 +86,17 @@ public class JpaGroup implements BasicEn
         this.description = description;
     }
 
-    public List<Person> getMembers() {
-        return ConvertingListProxyFactory.createProxyList(Person.class, members);
+    public List<String> getMemberIds() {
+        return members;
     }
 
-    public void setMembers(List<Person> members) {
+    public void setMemberIds(List<String> members) {
         if(this.members == null) {
-            this.members = new ArrayList<JpaPerson>();
+            this.members = Lists.<String>newLinkedList();
         }
-        this.getMembers().clear();
+        this.getMemberIds().clear();
         if(members != null) {
-            this.getMembers().addAll(members);
+            this.getMemberIds().addAll(members);
         }
     }
 

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaOAuthConsumerStore.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaOAuthConsumerStore.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaOAuthConsumerStore.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaOAuthConsumerStore.java Fri Dec 28 17:43:23 2012
@@ -132,16 +132,16 @@ public class JpaOAuthConsumerStore imple
     * {@inheritDoc}
     */
     @Override
-    public Long getId() {
-        return getEntityId();
+    public String getId() {
+        return getEntityId().toString();
     }
 
     /**
      * {@inheritDoc}
      */
     @Override
-    public void setId(Long id) {
-        setEntityId(id);
+    public void setId(String id) {
+        setEntityId(Long.parseLong(id));
     }
 
     /**

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaOAuthTokenInfo.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaOAuthTokenInfo.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaOAuthTokenInfo.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaOAuthTokenInfo.java Fri Dec 28 17:43:23 2012
@@ -127,13 +127,13 @@ public class JpaOAuthTokenInfo implement
     }*/
 
     @Override
-    public Long getId() {
-        return getEntityId();
+    public String getId() {
+        return getEntityId().toString();
     }
 
     @Override
-    public void setId(Long id) {
-        setEntityId(id);
+    public void setId(String id) {
+        setEntityId(Long.parseLong(id));
     }
 
     @Override

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPage.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPage.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPage.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPage.java Fri Dec 28 17:43:23 2012
@@ -46,8 +46,8 @@ import java.util.List;
 @XmlAccessorType(XmlAccessType.NONE)
 @Table(name="page", uniqueConstraints={@UniqueConstraint(columnNames={"owner_id","name","page_type"})})
 @NamedQueries({
-        @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")
+        @NamedQuery(name = JpaPage.DELETE_BY_USER_ID_AND_PAGE_TYPE, query="DELETE FROM JpaPage p WHERE p.ownerId = :userId and p.pageType = :pageType"),
+        @NamedQuery(name = JpaPage.USER_HAS_PERSON_PAGE, query="SELECT count(p) FROM JpaPage p WHERE p.ownerId = :userId and p.pageType = :pageType")
 })
 @Access(AccessType.FIELD)
 public class JpaPage implements BasicEntity, Serializable, Page {
@@ -67,9 +67,9 @@ public class JpaPage implements BasicEnt
     @Basic(optional=false) @Column(name="name")
     private String name;
 
-    @ManyToOne
-    @JoinColumn(name = "owner_id")
-    private JpaUser owner;
+    @Basic
+    @Column(name = "owner_id")
+    private String ownerId;
 
     @ManyToOne(cascade=CascadeType.ALL, optional = true)
     @JoinColumn(name="parent_page_id")
@@ -104,19 +104,19 @@ public class JpaPage implements BasicEnt
         this.entityId = entityId;
     }
 
-    public JpaPage(Long entityId, JpaUser owner) {
+    public JpaPage(Long entityId, String ownerId) {
         this.entityId = entityId;
-        this.owner = owner;
+        this.ownerId = ownerId;
     }
 
     @Override
-    public Long getId() {
-        return getEntityId();
+    public String getId() {
+        return getEntityId().toString();
     }
 
     @Override
-    public void setId(Long id) {
-        setEntityId(id);
+    public void setId(String id) {
+        setEntityId(id == null ? null : Long.parseLong(id));
     }
 
     /**
@@ -155,13 +155,13 @@ public class JpaPage implements BasicEnt
      * @return Valid {@link User}
      */
     @Override
-    public User getOwner() {
-        return owner;
+    public String getOwnerId() {
+        return ownerId;
     }
 
     @Override
-    public void setOwner(User owner) {
-        this.owner = JpaConverter.getInstance().convert(owner, User.class);
+    public void setOwnerId(String ownerId) {
+        this.ownerId = ownerId;
     }
 
     /**
@@ -286,7 +286,7 @@ public class JpaPage implements BasicEnt
 
     @Override
     public String toString() {
-        return "Page{" + "entityId=" + entityId + ", name=" + name + ", owner=" + owner + ", pageLayout=" + pageLayout + ", pageType=" + pageType + "}";
+        return "Page{" + "entityId=" + entityId + ", name=" + name + ", ownerId=" + ownerId + ", pageLayout=" + pageLayout + ", pageType=" + pageType + "}";
     }
 
     /**
@@ -309,7 +309,7 @@ public class JpaPage implements BasicEnt
 
             // find the PageUser object representing the sub page owned by the user
             for (PageUser pageUser : o1.getMembers()) {
-                if (pageUser.getUser().equals(o1.getOwner())) {
+                if (pageUser.getUserId().equals(o1.getOwnerId())) {
                     o1RenderSequence = pageUser.getRenderSequence();
                     break;
                 }
@@ -317,7 +317,7 @@ public class JpaPage implements BasicEnt
 
             // find the PageUser object representing the sub page owned by the user
             for (PageUser pageUser : o2.getMembers()) {
-                if (pageUser.getUser().equals(o2.getOwner())) {
+                if (pageUser.getUserId().equals(o2.getOwnerId())) {
                     o2RenderSequence = pageUser.getRenderSequence();
                     break;
                 }

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java Fri Dec 28 17:43:23 2012
@@ -197,7 +197,7 @@ public class JpaPageTemplate implements 
     }
 
     @Override
-    public Long getId() {
-        return this.getEntityId();
+    public String getId() {
+        return this.getEntityId() == null ? null : this.getEntityId().toString();
     }
 }

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplateRegion.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplateRegion.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplateRegion.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplateRegion.java Fri Dec 28 17:43:23 2012
@@ -73,8 +73,8 @@ public class JpaPageTemplateRegion imple
     }
 
     @Override
-    public Long getId() {
-        return this.getEntityId();
+    public String getId() {
+        return this.getEntityId() == null ? null : this.getEntityId().toString();
     }
 
     @Override

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplateWidget.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplateWidget.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplateWidget.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplateWidget.java Fri Dec 28 17:43:23 2012
@@ -50,9 +50,9 @@ public class JpaPageTemplateWidget imple
     @Column(name = "render_sequence")
     private long renderSequence;
 
-    @JoinColumn(name = "widget_id")
-    @ManyToOne(optional = false)
-    private JpaWidget widget;
+    @Column(name = "widget_id")
+    @Basic(optional = false)
+    private Long widgetId;
 
     @Basic(optional = false)
     @Column(name = "locked")
@@ -73,8 +73,8 @@ public class JpaPageTemplateWidget imple
     }
 
     @Override
-    public Long getId() {
-        return this.getEntityId();
+    public String getId() {
+        return this.getEntityId() == null ? null : this.getEntityId().toString();
     }
 
     @Override
@@ -98,13 +98,13 @@ public class JpaPageTemplateWidget imple
     }
 
     @Override
-    public JpaWidget getWidget() {
-        return widget;
+    public String getWidgetId() {
+        return widgetId.toString();
     }
 
     @Override
-    public void setWidget(Widget widget) {
-        this.widget = JpaConverter.getInstance().convert(widget, Widget.class);
+    public void setWidgetId(String widgetId) {
+        this.widgetId = Long.parseLong(widgetId);
     }
 
     @Override

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageUser.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageUser.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageUser.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageUser.java Fri Dec 28 17:43:23 2012
@@ -29,9 +29,9 @@ import org.codehaus.jackson.annotate.Jso
 @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, 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")
+        @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.userId = :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.userId = :userId and q.pageType = :pageType ORDER BY p.renderSequence"),
+        @NamedQuery(name = JpaPageUser.GET_SINGLE_RECORD, query="SELECT p FROM JpaPageUser p WHERE p.userId = :userId and p.page.entityId = :pageId")
 })
 public class JpaPageUser implements BasicEntity, Serializable, PageUser {
     private static final long serialVersionUID = 1L;
@@ -44,12 +44,11 @@ public class JpaPageUser implements Basi
     @GeneratedValue(strategy = GenerationType.TABLE, generator = "pageUserIdGenerator")
     @TableGenerator(name = "pageUserIdGenerator", table = "RAVE_PORTAL_SEQUENCES", pkColumnName = "SEQ_NAME",
             valueColumnName = "SEQ_COUNT", pkColumnValue = "page_user", allocationSize = 1, initialValue = 1)
-
     private Long entityId;
 
-    @ManyToOne
-    @JoinColumn(name = "user_id")
-    private JpaUser user;
+    @Basic
+    @Column(name = "user_id")
+    private String userId;
 
     @ManyToOne(fetch=FetchType.EAGER)
     @JoinColumn(name = "page_id")
@@ -69,12 +68,19 @@ public class JpaPageUser implements Basi
     public JpaPageUser(){}
 
     public JpaPageUser(User user, Page page){
-        this.setUser(user);
+        this.setUserId(user.getId());
         setPage(page);
     }
 
     public JpaPageUser(JpaUser user, Page page, long sequence){
-        this.user = user;
+        this.userId = user.getId();
+        setPage(page);
+        this.renderSequence = sequence;
+    }
+
+
+    public JpaPageUser(String userId, Page page, long sequence){
+        this.userId = userId;
         setPage(page);
         this.renderSequence = sequence;
     }
@@ -88,13 +94,8 @@ public class JpaPageUser implements Basi
     }
 
     @Override
-    public Long getId() {
-        return getEntityId();
-    }
-
-    @Override
-    public void setId(Long id) {
-        setEntityId(id);
+    public String getId() {
+        return this.getEntityId() == null ? null : this.getEntityId().toString();
     }
 
     /**
@@ -114,19 +115,19 @@ public class JpaPageUser implements Basi
     }
 
     /**
-    * @return the user
+    * @return the userId
     */
     @Override
-    public JpaUser getUser() {
-        return user;
+    public String getUserId() {
+        return userId;
     }
 
     /**
-    * @param user the user to set
-    */
+     * @param userId the userId to set
+     */
     @Override
-    public void setUser(User user) {
-        this.user = JpaConverter.getInstance().convert(user, User.class);
+    public void setUserId(String userId) {
+        this.userId = userId;
     }
 
     /**

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPerson.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPerson.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPerson.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPerson.java Fri Dec 28 17:43:23 2012
@@ -22,25 +22,8 @@ package org.apache.rave.portal.model;
 import org.apache.rave.persistence.BasicEntity;
 import org.apache.rave.portal.model.conversion.ConvertingListProxyFactory;
 
-import javax.persistence.Access;
-import javax.persistence.AccessType;
-import javax.persistence.Basic;
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.DiscriminatorValue;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.ManyToMany;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
-import javax.persistence.TableGenerator;
+import javax.persistence.*;
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -52,16 +35,13 @@ import java.util.List;
 @Access(AccessType.FIELD)
 @NamedQueries(value = {
     @NamedQuery(name = JpaPerson.FIND_BY_USERNAME, query = "select p from JpaPerson p where p.username like :username"),
-    @NamedQuery(name = JpaPerson.FIND_FRIENDS_BY_USERNAME, query = "select a.followedby from JpaPersonAssociation a where a.follower.username = :username and a.status = :status"),
-    @NamedQuery(name = JpaPerson.FIND_BY_GROUP_MEMBERSHIP, query = "select m from JpaGroup g join g.members m where exists " +
-            "(select 'found' from g.members b where b.username = :username) and m.username <> :username")
+    @NamedQuery(name = JpaPerson.FIND_FRIENDS_BY_USERNAME, query = "select a.followedby from JpaPersonAssociation a where a.follower.username = :username and a.status = :status")
 })
 @DiscriminatorValue("Person")
-public class JpaPerson implements BasicEntity, Person {
+public class JpaPerson implements BasicEntity, Person, Serializable {
 
     public static final String FIND_BY_USERNAME = "Person.findByUsername";
     public static final String FIND_FRIENDS_BY_USERNAME = "Person.findFriendsByUsername";
-    public static final String FIND_BY_GROUP_MEMBERSHIP = "Person.findByGroupMembership";
     public static final String USERNAME_PARAM = "username";
     public static final String STATUS_PARAM = "status";
 
@@ -130,12 +110,6 @@ public class JpaPerson implements BasicE
     @JoinColumn(name = "person_id", referencedColumnName = "entity_id")
     protected List<JpaPersonProperty> properties;
 
-    @ManyToMany(fetch = FetchType.LAZY)
-    @JoinTable(name = "group_members",
-            joinColumns = @JoinColumn(name = "person_id", referencedColumnName = "entity_id"),
-            inverseJoinColumns = @JoinColumn(name = "group_id", referencedColumnName = "entity_id"))
-    private List<JpaGroup> groups;
-
     public Long getEntityId() {
         return entityId;
     }
@@ -145,6 +119,16 @@ public class JpaPerson implements BasicE
     }
 
     @Override
+    public String getId() {
+        return this.getEntityId() == null ? null : this.getEntityId().toString();
+    }
+
+    @Override
+    public void setId(String userId) {
+        this.setEntityId(userId == null ? null : Long.parseLong(userId));
+    }
+
+    @Override
     public String getUsername() {
         return username;
     }
@@ -302,20 +286,6 @@ public class JpaPerson implements BasicE
         }
     }
 
-    public List<Group> getGroups() {
-        return ConvertingListProxyFactory.createProxyList(Group.class, groups);
-    }
-
-    public void setGroups(List<JpaGroup> groups) {
-        if(this.groups == null) {
-            this.groups = new ArrayList<JpaGroup>();
-        }
-        this.getGroups().clear();
-        if(groups != null) {
-            this.getGroups().addAll(groups);
-        }
-    }
-
     @Override
     public boolean equals(Object o) {
         if (this == o) return true;

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPersonAssociation.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPersonAssociation.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPersonAssociation.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPersonAssociation.java Fri Dec 28 17:43:23 2012
@@ -46,13 +46,16 @@ import org.apache.rave.persistence.Basic
 @Table(name = "person_association",
         uniqueConstraints = @UniqueConstraint(columnNames = {"follower_id", "followedby_id"}))
 @NamedQueries(value = {
-		@NamedQuery(name = JpaPersonAssociation.FIND_ASSOCIATION_ITEM_BY_USERNAMES, query = "select a from JpaPersonAssociation a where a.follower.username = :follower_username and a.followedby.username = :followedby_username")
+		@NamedQuery(name = JpaPersonAssociation.FIND_ASSOCIATION_ITEM_BY_USERNAMES, query = "select a from JpaPersonAssociation a where a.follower.username = :follower_username and a.followedby.username = :followedby_username"),
+		@NamedQuery(name = JpaPersonAssociation.DELETE_ASSOCIATION_ITEMS_BY_USERID, query = "delete from JpaPersonAssociation a where a.follower.entityId = :userid or a.followedby.entityId = :userid")
 })
 public class JpaPersonAssociation implements BasicEntity {
 
     public static final String FOLLOWER_USERNAME = "follower_username";
     public static final String FOLLOWEDBY_USERNAME = "followedby_username";
+    public static final String USERID = "userid";
     public static final String FIND_ASSOCIATION_ITEM_BY_USERNAMES = "PersonAssociation.findAssociationItemByUsernames";
+    public static final String DELETE_ASSOCIATION_ITEMS_BY_USERID = "PersonAssociation.deleteAssociationItemsByUserid";
 
     @Id
     @Column(name = "entity_id")

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPersonProperty.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPersonProperty.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPersonProperty.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPersonProperty.java Fri Dec 28 17:43:23 2012
@@ -94,13 +94,8 @@ public class JpaPersonProperty implement
     }
 
     @Override
-    public Long getId() {
-        return this.getEntityId();
-    }
-
-    @Override
-    public void setId(Long id) {
-        this.setEntityId(id);
+    public String getId() {
+        return this.getEntityId() == null ? null : this.getEntityId().toString();
     }
 
     @Override

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaRegion.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaRegion.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaRegion.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaRegion.java Fri Dec 28 17:43:23 2012
@@ -89,13 +89,13 @@ public class JpaRegion implements BasicE
     /**
      * Only used for XML serialization, omitting regionwidget
      */
-    private List<Widget> getWidgets(){
-        ArrayList<Widget> widgets = new ArrayList<Widget>();
-        for (RegionWidget rw: regionWidgets){
-            widgets.add(rw.getWidget());
-        }
-        return widgets;
-    }
+//    private List<Widget> getWidgets(){
+//        ArrayList<Widget> widgets = new ArrayList<Widget>();
+//        for (RegionWidget rw: regionWidgets){
+//            widgets.add(rw.getWidget());
+//        }
+//        return widgets;
+//    }
 
     /**
      * Gets the persistence unique identifier
@@ -113,13 +113,8 @@ public class JpaRegion implements BasicE
     }
 
     @Override
-    public Long getId() {
-        return getEntityId();
-    }
-
-    @Override
-    public void setId(Long id) {
-        setEntityId(id);
+    public String getId() {
+        return this.getEntityId() == null ? null : this.getEntityId().toString();
     }
 
     /**

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaRegionWidget.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaRegionWidget.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaRegionWidget.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaRegionWidget.java Fri Dec 28 17:43:23 2012
@@ -36,9 +36,9 @@ import java.util.List;
 @Table(name = "region_widget")
 @NamedQueries({
         @NamedQuery(name = JpaRegionWidget.REGION_WIDGET_GET_DISTINCT_USER_COUNT_ALL_WIDGETS,
-                    query = "select rw.widget.entityId, count(distinct rw.region.page.owner) from JpaRegionWidget rw group by rw.widget.entityId"),
+                    query = "select rw.widgetId, count(distinct rw.region.page.ownerId) from JpaRegionWidget rw group by rw.widgetId"),
         @NamedQuery(name = JpaRegionWidget.REGION_WIDGET_GET_DISTINCT_USER_COUNT_SINGLE_WIDGET,
-                    query = "select count(distinct rw.region.page.owner) from JpaRegionWidget rw where rw.widget.entityId = :widgetId"),
+                    query = "select count(distinct rw.region.page.ownerId) from JpaRegionWidget rw where rw.widgetId = :widgetId"),
         @NamedQuery(name = JpaRegionWidget.FIND_BY_ID,
                     query = "select rw from JpaRegionWidget rw where rw.entityId = :widgetId")
 })
@@ -58,9 +58,9 @@ public class JpaRegionWidget implements 
             valueColumnName = "SEQ_COUNT", pkColumnValue = "region_widget", allocationSize = 1, initialValue = 1)
     private Long entityId;
 
-    @ManyToOne
-    @JoinColumn(name = "widget_id")
-    private JpaWidget widget;
+    @Basic
+    @Column(name = "widget_id")
+    private Long widgetId;
 
     @ManyToOne
     @JoinColumn(name = "region_id")
@@ -97,16 +97,16 @@ public class JpaRegionWidget implements 
         this.entityId = entityId;
     }
 
-    public JpaRegionWidget(Long entityId, JpaWidget widget, JpaRegion region, int renderOrder) {
+    public JpaRegionWidget(Long entityId, Long widgetId, JpaRegion region, int renderOrder) {
         this.entityId = entityId;
-        this.widget = widget;
+        this.widgetId = widgetId;
         this.region = region;
         this.renderOrder = renderOrder;
     }
 
-    public JpaRegionWidget(Long entityId, JpaWidget widget, JpaRegion region) {
+    public JpaRegionWidget(Long entityId, Long widgetId, JpaRegion region) {
         this.entityId = entityId;
-        this.widget = widget;
+        this.widgetId = widgetId;
         this.region = region;
     }
 
@@ -126,13 +126,8 @@ public class JpaRegionWidget implements 
     }
 
     @Override
-    public Long getId() {
-        return getEntityId();
-    }
-
-    @Override
-    public void setId(Long id) {
-        setEntityId(id);
+    public String getId() {
+        return this.getEntityId() == null ? null : this.getEntityId().toString();
     }
 
     /**
@@ -141,13 +136,13 @@ public class JpaRegionWidget implements 
      * @return valid widget
      */
     @Override
-    public Widget getWidget() {
-        return widget;
+    public String getWidgetId() {
+        return widgetId.toString();
     }
 
     @Override
-    public void setWidget(Widget widget) {
-        this.widget = JpaConverter.getInstance().convert(widget, Widget.class);;
+    public void setWidgetId(String widgetId) {
+        this.widgetId = Long.parseLong(widgetId);
     }
 
     /**
@@ -284,10 +279,18 @@ public class JpaRegionWidget implements 
         sb.append("JpaRegionWidget{");
         sb.append("entityId=");
         sb.append(entityId);
-        sb.append(",widget=");
-        sb.append(widget);
-        sb.append(",regionId=");
-        sb.append(region.getEntityId());
+        if (widgetId != null) {
+            sb.append(",widget=");
+            sb.append(widgetId);
+        } else {
+            sb.append(", Widget Null");
+        }
+        if (region != null) {
+            sb.append(",regionId=");
+            sb.append(region.getEntityId());
+        } else {
+            sb.append(", Region Null");
+        }
         sb.append("}");
         return sb.toString();
     }

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaRegionWidgetPreference.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaRegionWidgetPreference.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaRegionWidgetPreference.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaRegionWidgetPreference.java Fri Dec 28 17:43:23 2012
@@ -88,13 +88,13 @@ public class JpaRegionWidgetPreference i
     }
 
     @Override
-    public Long getRegionWidgetId() {
-        return regionWidgetId;
+    public String getRegionWidgetId() {
+        return regionWidgetId.toString();
     }
 
     @Override
-    public void setRegionWidgetId(Long regionWidgetId) {
-        this.regionWidgetId = regionWidgetId;
+    public void setRegionWidgetId(String regionWidgetId) {
+        this.regionWidgetId = Long.parseLong(regionWidgetId);
     }
 
     @Override

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaTag.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaTag.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaTag.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaTag.java Fri Dec 28 17:43:23 2012
@@ -37,9 +37,6 @@ import java.util.List;
 @NamedQueries({
         @NamedQuery(name = JpaTag.GET_ALL, query = "select t from JpaTag t order by t.keyword asc"),
         @NamedQuery(name = JpaTag.COUNT_ALL, query = "select count(t) from JpaTag t "),
-        @NamedQuery(name = JpaTag.GET_ALL_NOT_IN_WIDGET, query = "select tag from JpaTag tag where tag.keyword not in " +
-                "(select t.keyword from JpaTag t join t.widgets w where w.widgetId =:widgetId)"),
-
         @NamedQuery(name = JpaTag.FIND_BY_KEYWORD, query = "select t from JpaTag t where UPPER(t.keyword) = UPPER(:keyword)")
 })
 
@@ -48,12 +45,8 @@ public class JpaTag implements BasicEnti
     public static final String FIND_BY_KEYWORD = "findByKeyword";
     public static final String GET_ALL = "getAll";
     public static final String COUNT_ALL = "countAll";
-    public static final String GET_ALL_NOT_IN_WIDGET = "getAllNotInWidget";
     public static final String KEYWORD_PARAM = "keyword";
 
-    @Autowired
-    private JpaWidgetTagConverter jpaWidgetTagConverter;
-
     /**
      * The internal object ID used for references to this object. Should be generated by the
      * underlying storage mechanism
@@ -69,19 +62,20 @@ public class JpaTag implements BasicEnti
     @Column(name = "keyword", unique = true)
     private String keyword;
 
-    @OneToMany(mappedBy = "tag")
-    public List<JpaWidgetTag> widgets;
-
-
     public JpaTag() {
 
     }
 
+    public JpaTag(String keyword) {
+        this.keyword = keyword;
+    }
+
     public JpaTag(Long entityId, String keyword) {
         this.entityId = entityId;
         this.keyword = keyword;
     }
 
+    @Override
     public String getKeyword() {
         return keyword;
     }
@@ -99,20 +93,8 @@ public class JpaTag implements BasicEnti
     }
 
     @Override
-    @SuppressWarnings("unchecked")
-    public List<WidgetTag> getWidgets() {
-        return ConvertingListProxyFactory.createProxyList(WidgetTag.class, widgets);
-    }
-
-    @Override
-    public void setWidgets(List<WidgetTag> widgets) {
-        if (this.widgets == null) {
-            this.widgets = new ArrayList<JpaWidgetTag>();
-        }
-        this.getWidgets().clear();
-        if (widgets != null) {
-            this.getWidgets().addAll(widgets);
-        }
+    public String getId() {
+        return entityId == null ? null : entityId.toString();
     }
 
     @Override

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaUser.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaUser.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaUser.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaUser.java Fri Dec 28 17:43:23 2012
@@ -19,7 +19,6 @@
 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.apache.rave.portal.model.impl.PersonImpl;
 import org.apache.rave.util.CollectionUtils;
@@ -27,7 +26,10 @@ import org.springframework.security.core
 
 import javax.persistence.*;
 import java.io.Serializable;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
 
 /**
  * {@inheritDoc}
@@ -47,7 +49,7 @@ import java.util.*;
                 "where lower(u.username) like :"+ JpaUser.PARAM_SEARCHTERM+" or lower(u.email) like :"+ JpaUser.PARAM_SEARCHTERM+" order by u.username asc"),
         @NamedQuery(name = JpaUser.USER_COUNT_FIND_BY_USERNAME_OR_EMAIL, query = "select count(u) from JpaUser u " +
                 "where lower(u.username) like :"+ JpaUser.PARAM_SEARCHTERM+" or lower(u.email) like :"+ JpaUser.PARAM_SEARCHTERM),
-        @NamedQuery(name = JpaUser.USER_GET_ALL_FOR_ADDED_WIDGET, query = "select distinct(rw.region.page.owner) from JpaRegionWidget rw where rw.widget.entityId = :widgetId order by rw.region.page.owner.familyName, rw.region.page.owner.givenName")
+        @NamedQuery(name = JpaUser.USER_GET_ALL_FOR_ADDED_WIDGET, query = "select distinct(u) from JpaUser u, JpaRegionWidget rw where rw.region.page.ownerId = CONCAT(u.entityId,'') and rw.widgetId = :widgetId")
 })
 @DiscriminatorValue("User")
 public class JpaUser extends JpaPerson implements BasicEntity, Serializable, User {
@@ -119,11 +121,6 @@ public class JpaUser extends JpaPerson i
             @JoinColumn(name = "authority_id", referencedColumnName = "entity_id"))
     private Collection<JpaAuthority> authorities;
 
-    @OneToMany(targetEntity=JpaPageUser.class, fetch = FetchType.LAZY, mappedBy="user", orphanRemoval=true)
-    private List<JpaPageUser> pageUsers;
-
-    @OneToMany(targetEntity=JpaWidgetTag.class, fetch = FetchType.LAZY, mappedBy="user", orphanRemoval=true)
-    private List<JpaWidgetTag> widgetTags;
 
     public JpaUser() {
         this(null, null);
@@ -314,34 +311,6 @@ public class JpaUser extends JpaPerson i
 		this.confirmPassword = confirmPassword;
 	}
 
-    public List<PageUser> getPageUsers() {
-        return ConvertingListProxyFactory.createProxyList(PageUser.class, pageUsers);
-    }
-
-    public void setPageUsers(List<PageUser> pageUsers) {
-        if(this.pageUsers == null) {
-            this.pageUsers = new ArrayList<JpaPageUser>();
-        }
-        this.getPageUsers().clear();
-        if(pageUsers != null) {
-            this.getPageUsers().addAll(pageUsers);
-        }
-    }
-
-    public List<WidgetTag> getWidgetTags() {
-        return ConvertingListProxyFactory.createProxyList(WidgetTag.class, widgetTags);
-    }
-
-    public void setWidgetTags(List<WidgetTag> widgetTags) {
-        if(this.widgetTags == null) {
-            this.widgetTags = new ArrayList<JpaWidgetTag>();
-        }
-        this.getWidgetTags().clear();
-        if(widgetTags != null) {
-            this.getWidgetTags().addAll(widgetTags);
-        }
-    }
-
     @PreRemove
     public void preRemove() {
         for (JpaAuthority authority : authorities) {
@@ -416,8 +385,8 @@ public class JpaUser extends JpaPerson i
     }
 
     @Override
-    public Long getId() {
-        return this.getEntityId();
+    public String getId() {
+        return this.getEntityId() == null ? null : this.getEntityId().toString();
     }
 
     public String getDefaultPageLayoutCode() {

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidget.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidget.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidget.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidget.java Fri Dec 28 17:43:23 2012
@@ -21,7 +21,6 @@ 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 javax.persistence.Access;
 import javax.persistence.AccessType;
@@ -39,7 +38,6 @@ import javax.persistence.JoinColumn;
 import javax.persistence.JoinTable;
 import javax.persistence.Lob;
 import javax.persistence.ManyToMany;
-import javax.persistence.ManyToOne;
 import javax.persistence.NamedQueries;
 import javax.persistence.NamedQuery;
 import javax.persistence.OneToMany;
@@ -81,9 +79,9 @@ import java.util.List;
 
         @NamedQuery(name = JpaWidget.WIDGET_GET_BY_URL, query = JpaWidget.SELECT_W_FROM_WIDGET_W + JpaWidget.WHERE_CLAUSE_URL) ,
 
-        @NamedQuery(name = JpaWidget.WIDGET_GET_BY_TAG, query = JpaWidget.SELECT_W_FROM_WIDGET_W + JpaWidget.JOIN_TAGS+ JpaWidget.ORDER_BY_TITLE_ASC),
-        @NamedQuery(name = JpaWidget.WIDGET_COUNT_BY_TAG, query = JpaWidget.SELECT_COUNT_W_FROM_WIDGET_W + JpaWidget.JOIN_TAGS),
-        @NamedQuery(name = JpaWidget.WIDGET_UNASSIGN_OWNER, query = "UPDATE JpaWidget w SET w.owner = null WHERE w.owner.entityId = :owner")
+        @NamedQuery(name = JpaWidget.WIDGET_GET_BY_TAG, query = JpaWidget.SELECT_W_FROM_WIDGET_W + JpaWidget.JOIN_TAGS + JpaWidget.WHERE_CLAUSE_TAG_ID + JpaWidget.ORDER_BY_TITLE_ASC),
+        @NamedQuery(name = JpaWidget.WIDGET_COUNT_BY_TAG, query = JpaWidget.SELECT_COUNT_W_FROM_WIDGET_W + JpaWidget.JOIN_TAGS + JpaWidget.WHERE_CLAUSE_TAG_ID),
+        @NamedQuery(name = JpaWidget.WIDGET_UNASSIGN_OWNER, query = "UPDATE JpaWidget w SET w.ownerId = null " + JpaWidget.WHERE_CLAUSE_OWNER )
 })
 public class JpaWidget implements BasicEntity, Serializable, Widget {
     private static final long serialVersionUID = 1L;
@@ -92,7 +90,7 @@ public class JpaWidget implements BasicE
     public static final String PARAM_STATUS = "widgetStatus";
     public static final String PARAM_URL = "url";
     public static final String PARAM_OWNER = "owner";
-    public static final String PARAM_TAG = "keyword";
+    public static final String PARAM_TAG_ID = "tagId";
 
     public static final String WIDGET_GET_ALL = "Widget.getAll";
     public static final String WIDGET_COUNT_ALL = "Widget.countAll";
@@ -114,9 +112,9 @@ public class JpaWidget implements BasicE
             " WHERE lower(w.title) LIKE :" + PARAM_SEARCH_TERM + " OR w.description LIKE :description";
     static final String WHERE_CLAUSE_STATUS = " WHERE w.widgetStatus = :" + PARAM_STATUS;
     static final String WHERE_CLAUSE_URL = " WHERE w.url = :" + PARAM_URL;
-    static final String WHERE_CLAUSE_OWNER = " WHERE w.owner = :" + PARAM_OWNER;
-    static final String WIDGET_TAG_BY_KEYWORD=" (select t.widgetId from JpaWidgetTag t where lower(t.tag.keyword)=:"+PARAM_TAG+")";
-    static final String JOIN_TAGS=" WHERE w.entityId in"+WIDGET_TAG_BY_KEYWORD;
+    static final String WHERE_CLAUSE_OWNER = " WHERE w.ownerId = :" + PARAM_OWNER;
+    static final String WHERE_CLAUSE_TAG_ID = " WHERE wt.tagId = :" + PARAM_TAG_ID;
+    static final String JOIN_TAGS=" join w.tags wt";
 
     static final String ORDER_BY_TITLE_ASC = " ORDER BY w.featured DESC, w.title ASC ";
 
@@ -130,8 +128,7 @@ public class JpaWidget implements BasicE
 
     /*
         TODO RAVE-234: Figure out what the OpenJPA strategy is for functionality provided by Eclisplink's @Convert
-     */
-    @XmlElement
+     */                                                                                                                                          @XmlElement
     @Basic
     @Column(name = "title")
     private String title;
@@ -186,9 +183,9 @@ public class JpaWidget implements BasicE
     @JoinColumn(name = "widget_id", referencedColumnName = "entity_id")
     private List<JpaWidgetComment> comments;
 
-    @ManyToOne
-    @JoinColumn(name = "owner_id")
-    private JpaUser owner;
+    @Basic
+    @Column(name = "owner_id")
+    private String ownerId;
 
     @XmlElement
     @Basic
@@ -255,8 +252,8 @@ public class JpaWidget implements BasicE
 // }
 
     @Override
-    public Long getId() {
-        return this.getEntityId();
+    public String getId() {
+        return this.getEntityId() == null ? null : this.getEntityId().toString();
     }
 
     @Override
@@ -377,13 +374,13 @@ public class JpaWidget implements BasicE
     }
 
     @Override
-    public User getOwner() {
-        return owner;
+    public String getOwnerId() {
+        return ownerId;
     }
 
     @Override
-    public void setOwner(User owner) {
-        this.owner = JpaConverter.getInstance().convert(owner, User.class);
+    public void setOwnerId(String owner) {
+        this.ownerId = owner;
     }
 
     @Override
@@ -501,7 +498,7 @@ public class JpaWidget implements BasicE
                 ", author='" + author + '\'' +
                 ", description='" + description + '\'' +
                 ", widgetStatus=" + widgetStatus + '\'' +
-                ", owner=" + owner + '\'' +
+                ", ownerId=" + ownerId + '\'' +
                 ", featured=" + featured + '\'' +
                 ", disable_rendering=" + disableRendering + '\'' +
                 ", disable_rendering_message=" + disableRenderingMessage +

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidgetComment.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidgetComment.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidgetComment.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidgetComment.java Fri Dec 28 17:43:23 2012
@@ -31,7 +31,7 @@ import java.util.Date;
 @Table(name = "widget_comment")
 @NamedQueries({
         @NamedQuery(name = JpaWidgetComment.DELETE_ALL_BY_USER,
-                query="DELETE FROM JpaWidgetComment wc WHERE wc.user.entityId = :userId")
+                query="DELETE FROM JpaWidgetComment wc WHERE wc.userId = :userId")
 })
 @XmlRootElement
 public class JpaWidgetComment implements BasicEntity, Serializable, WidgetComment {
@@ -48,12 +48,12 @@ public class JpaWidgetComment implements
     @Column(name = "widget_id")
     private Long widgetId;
 
-    @ManyToOne(fetch=FetchType.EAGER)
-    @JoinColumn(name="user_id")
-    private JpaUser user;
-
     @Basic
-    @Column(name = "text") @Lob
+    @Column(name="user_id")
+    private String userId;
+
+    @Basic @Lob
+    @Column(name = "text")
     private String text;
 
     @Basic
@@ -73,20 +73,15 @@ public class JpaWidgetComment implements
     public JpaWidgetComment(Long entityId, Long widgetId, JpaUser user, String text, Date lastModified, Date created) {
         this.entityId = entityId;
         this.widgetId = widgetId;
-        this.user = user;
+        this.userId = user.getId();
         this.text = text;
         this.lastModifiedDate = lastModified;
         this.createdDate = created;
     }
 
     @Override
-    public Long getId() {
-        return getEntityId();
-    }
-
-    @Override
-    public void setId(Long entityId) {
-        setEntityId(entityId);
+    public String getId() {
+        return this.getEntityId() == null ? null : this.getEntityId().toString();
     }
 
     @Override
@@ -99,24 +94,22 @@ public class JpaWidgetComment implements
         this.entityId = entityId;
     }
 
-    @Override
-    public Long getWidgetId() {
-        return widgetId;
+    public String getWidgetId() {
+        return widgetId.toString();
     }
 
-    @Override
-    public void setWidgetId(Long widgetId) {
-        this.widgetId = widgetId;
+    public void setWidgetId(String widgetId) {
+        this.widgetId = Long.parseLong(widgetId);
     }
 
     @Override
-    public User getUser() {
-        return user;
+    public String getUserId() {
+        return userId;
     }
 
     @Override
-    public void setUser(User user) {
-        this.user = JpaConverter.getInstance().convert(user, User.class);
+    public void setUserId(String userId) {
+        this.userId = userId;
     }
 
     @Override

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidgetRating.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidgetRating.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidgetRating.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidgetRating.java Fri Dec 28 17:43:23 2012
@@ -111,25 +111,23 @@ public class JpaWidgetRating implements 
     public void setEntityId(Long entityId) {
         this.entityId = entityId;
     }
-    
-    @Override
-    public Long getWidgetId() {
-        return widgetId;
+
+    public String getWidgetId() {
+        return widgetId.toString();
     }
 
-    @Override
-    public void setWidgetId(Long widgetId) {
-        this.widgetId = widgetId;
+    public void setWidgetId(String widgetId) {
+        this.widgetId = Long.parseLong(widgetId);
     }
     
     @Override
-    public Long getUserId() {
-        return userId;
+    public String getUserId() {
+        return userId.toString();
     }
 
     @Override
-    public void setUserId(Long userId) {
-        this.userId = userId;
+    public void setUserId(String userId) {
+        this.userId = Long.parseLong(userId);
     }
     
     @Override
@@ -143,13 +141,8 @@ public class JpaWidgetRating implements 
     }
 
     @Override
-    public Long getId() {
-        return this.getEntityId();
-    }
-
-    @Override
-    public void setId(Long id) {
-        this.setEntityId(id);
+    public String getId() {
+        return this.getEntityId() == null ? null : this.getEntityId().toString();
     }
 
     @Override

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidgetTag.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidgetTag.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidgetTag.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidgetTag.java Fri Dec 28 17:43:23 2012
@@ -25,16 +25,19 @@ import java.util.Date;
  * A tag for a widget.
  */
 @Entity
-@Table(name = "widget_tag")
+@Table(name = "widget_tag", uniqueConstraints = {
+        @UniqueConstraint(columnNames = {"widget_id", "user_id", "tag_id"})
+})
 @Access(AccessType.FIELD)
 @XmlRootElement
 @NamedQueries({
-        @NamedQuery(name = JpaWidgetTag.FIND_BY_WIDGET_AND_KEYWORD, query = "select t from JpaWidgetTag t where t.widgetId=:widgetId and UPPER(t.tag.keyword) = UPPER(:keyword)")
+        @NamedQuery(name = JpaWidgetTag.FIND_BY_WIDGETID_AND_TAGID, query = "select t from JpaWidgetTag t where t.widgetId=:widgetId and t.tagId=:tagId")
 })
 public class JpaWidgetTag implements WidgetTag, Serializable {
 
-    public static final String FIND_BY_WIDGET_AND_KEYWORD = "findByWidgetAndKeyword";
+    public static final String FIND_BY_WIDGETID_AND_TAGID = "findByWidgetIDAndTagID";
     public static final String WIDGET_ID_PARAM = "widgetId";
+    public static final String TAG_ID_PARAM = "tagId";
     public static final String TAG_KEYWORD_PARAM = "keyword";
 
     @Id
@@ -48,13 +51,11 @@ public class JpaWidgetTag implements Wid
     @Column(name = "widget_id")
     private Long widgetId;
 
-    @ManyToOne(fetch = FetchType.EAGER)
-    @JoinColumn(name = "user_id")
-    private JpaUser user;
-
-    @ManyToOne(fetch=FetchType.EAGER,cascade = CascadeType.ALL)
-    @JoinColumn(name = "tag_id")
-    private JpaTag tag;
+    @Column(name = "user_id")
+    private Long userId;
+
+    @Column(name = "tag_id")
+    private Long tagId;
 
     @Basic
     @Column(name = "created_date")
@@ -63,12 +64,16 @@ public class JpaWidgetTag implements Wid
 
     public JpaWidgetTag() {}
 
-    public JpaWidgetTag(long id, long widgetId, JpaUser user, Date date, JpaTag tag) {
+    public JpaWidgetTag(long widgetId) {
+        this.widgetId = widgetId;
+    }
+
+    public JpaWidgetTag(long id, long widgetId, long userId, Date date, long tagId) {
         this.entityId = id;
         this.widgetId = widgetId;
-        this.user = user;
+        this.userId = userId;
         this.createdDate = date;
-        this.tag = tag;
+        this.tagId = tagId;
     }
 
     public Long getEntityId(){
@@ -78,35 +83,43 @@ public class JpaWidgetTag implements Wid
     public void setEntityId(Long id){
         this.entityId = id;
     }
-    
-    @Override
-    public Long getWidgetId() {
-        return this.widgetId;
+
+    public String getId() {
+        return entityId == null ? null : entityId.toString();
     }
 
-    @Override
-    public void setWidgetId(Long id) {
+    public void setWidgetEntityId(Long id) {
         this.widgetId = id;
     }
 
-    @Override
-    public User getUser() {
-        return this.user;
+    public String getWidgetId() {
+        return this.widgetId == null ? null : this.widgetId.toString();
     }
 
     @Override
-    public void setUser(User user) {
-        this.user = JpaConverter.getInstance().convert(user, User.class);
+    public String getUserId() {
+        return this.userId.toString();
     }
 
-    @Override
-    public Tag getTag() {
-        return this.tag;
+    public void setUserEntityId(Long id) {
+        this.userId = id;
+    }
+
+    public Long getUserEntityId() {
+        return userId;
     }
 
     @Override
-    public void setTag(Tag tag) {
-        this.tag = JpaConverter.getInstance().convert(tag, Tag.class);
+    public String getTagId() {
+        return this.tagId.toString();
+    }
+
+    public void setTagEntityId(Long id) {
+        this.tagId = id;
+    }
+
+    public Long getTagEntityId() {
+        return tagId;
     }
 
     @Override
@@ -114,7 +127,6 @@ public class JpaWidgetTag implements Wid
         return this.createdDate;
     }
 
-    @Override
     public void setCreatedDate(Date date) {
         this.createdDate = date;
     }
@@ -127,8 +139,8 @@ public class JpaWidgetTag implements Wid
         JpaWidgetTag that = (JpaWidgetTag) o;
 
         if (createdDate != null ? !createdDate.equals(that.createdDate) : that.createdDate != null) return false;
-        if (tag != null ? !tag.equals(that.tag) : that.tag != null) return false;
-        if (user != null ? !user.equals(that.user) : that.user != null) return false;
+        if (tagId != null ? !tagId.equals(that.tagId) : that.tagId != null) return false;
+        if (userId != null ? !userId.equals(that.userId) : that.userId != null) return false;
         if (widgetId != null ? !widgetId.equals(that.widgetId) : that.widgetId != null) return false;
 
         return true;
@@ -137,8 +149,8 @@ public class JpaWidgetTag implements Wid
     @Override
     public int hashCode() {
         int result = widgetId != null ? widgetId.hashCode() : 0;
-        result = 31 * result + (user != null ? user.hashCode() : 0);
-        result = 31 * result + (tag != null ? tag.hashCode() : 0);
+        result = 31 * result + (userId != null ? userId.hashCode() : 0);
+        result = 31 * result + (tagId != null ? tagId.hashCode() : 0);
         result = 31 * result + (createdDate != null ? createdDate.hashCode() : 0);
         return result;
     }
@@ -147,7 +159,7 @@ public class JpaWidgetTag implements Wid
     public String toString() {
         StringBuilder sb=new StringBuilder("WidgetTag") ;
         sb.append("{").append("entityId=").append(entityId).append( ", widgetId=").append(widgetId);
-        if (tag!=null) sb.append("tag keyword=").append(tag.getKeyword());
+        if (tagId!=null) sb.append("tagId=").append(tagId);
         sb.append("}") ;
         return sb.toString();
     }

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaApplicationDataConverter.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaApplicationDataConverter.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaApplicationDataConverter.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaApplicationDataConverter.java Fri Dec 28 17:43:23 2012
@@ -48,7 +48,7 @@ public class JpaApplicationDataConverter
     private JpaApplicationData createEntity(ApplicationData source) {
         JpaApplicationData converted = null;
         if (source != null) {
-            converted = manager.find(JpaApplicationData.class, source.getId());
+            converted = manager.find(JpaApplicationData.class, source.getId() == null ? null : Long.parseLong(source.getId()));
             if (converted == null) {
                 converted = new JpaApplicationData();
             }
@@ -58,7 +58,6 @@ public class JpaApplicationDataConverter
     }
 
     private void updateProperties(ApplicationData source, JpaApplicationData converted) {
-        converted.setEntityId(source.getId());
         converted.setId(source.getId());
         converted.setAppUrl(source.getAppUrl());
         converted.setUserId(source.getUserId());

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaCategoryConverter.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaCategoryConverter.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaCategoryConverter.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaCategoryConverter.java Fri Dec 28 17:43:23 2012
@@ -48,7 +48,7 @@ public class JpaCategoryConverter implem
     private JpaCategory createEntity(Category source) {
         JpaCategory converted = null;
         if (source != null) {
-            converted = manager.find(JpaCategory.class, source.getId());
+            converted = manager.find(JpaCategory.class, source.getId() == null ? null : Long.parseLong(source.getId()));
             if (converted == null) {
                 converted = new JpaCategory();
             }
@@ -58,12 +58,11 @@ public class JpaCategoryConverter implem
     }
 
     private void updateProperties(Category source, JpaCategory converted) {
-        converted.setEntityId(source.getId());
         converted.setId(source.getId());
         converted.setCreatedDate(source.getCreatedDate());
-        converted.setCreatedUser(source.getCreatedUser());
+        converted.setCreatedUserId(source.getCreatedUserId());
         converted.setLastModifiedDate(source.getLastModifiedDate());
-        converted.setLastModifiedUser(source.getLastModifiedUser());
+        converted.setLastModifiedUserId(source.getLastModifiedUserId());
         converted.setText(source.getText());
         converted.setWidgets(source.getWidgets());
     }

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaGroupConverter.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaGroupConverter.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaGroupConverter.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaGroupConverter.java Fri Dec 28 17:43:23 2012
@@ -62,7 +62,7 @@ public class JpaGroupConverter implement
     private void updateProperties(Group source, JpaGroup converted) {
         converted.setDescription(source.getDescription());
         converted.setTitle(source.getTitle());
-        converted.setOwner(source.getOwner());
-        converted.setMembers(source.getMembers());
+        converted.setOwnerId(source.getOwnerId());
+        converted.setMemberIds(source.getMemberIds());
     }
 }

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaOAuthConsumerStoreConverter.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaOAuthConsumerStoreConverter.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaOAuthConsumerStoreConverter.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaOAuthConsumerStoreConverter.java Fri Dec 28 17:43:23 2012
@@ -48,7 +48,7 @@ public class JpaOAuthConsumerStoreConver
     private JpaOAuthConsumerStore createEntity(OAuthConsumerStore source) {
         JpaOAuthConsumerStore converted = null;
         if (source != null) {
-            converted = manager.find(JpaOAuthConsumerStore.class, source.getId());
+            converted = manager.find(JpaOAuthConsumerStore.class, source.getId() == null ? null : Long.parseLong(source.getId()));
             if (converted == null) {
                 converted = new JpaOAuthConsumerStore();
             }
@@ -58,7 +58,6 @@ public class JpaOAuthConsumerStoreConver
     }
 
     private void updateProperties(OAuthConsumerStore source, JpaOAuthConsumerStore converted) {
-        converted.setEntityId(source.getId());
         converted.setId(source.getId());
         converted.setServiceName(source.getServiceName());
         converted.setCallbackUrl(source.getCallbackUrl());

Modified: rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaOAuthTokenInfoConverter.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaOAuthTokenInfoConverter.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaOAuthTokenInfoConverter.java (original)
+++ rave/branches/mongo/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaOAuthTokenInfoConverter.java Fri Dec 28 17:43:23 2012
@@ -48,7 +48,7 @@ public class JpaOAuthTokenInfoConverter 
     private JpaOAuthTokenInfo createEntity(OAuthTokenInfo source) {
         JpaOAuthTokenInfo converted = null;
         if (source != null) {
-            converted = manager.find(JpaOAuthTokenInfo.class, source.getId());
+            converted = manager.find(JpaOAuthTokenInfo.class, source.getId() == null ? null : Long.parseLong(source.getId()));
             if (converted == null) {
                 converted = new JpaOAuthTokenInfo();
             }
@@ -58,7 +58,6 @@ public class JpaOAuthTokenInfoConverter 
     }
 
     private void updateProperties(OAuthTokenInfo source, JpaOAuthTokenInfo converted) {
-        converted.setEntityId(source.getId());
         converted.setId(source.getId());
         converted.setAccessToken(source.getAccessToken());
         converted.setAppUrl(source.getAppUrl());