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 [12/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/apa...

Modified: rave/branches/mongo/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/UserForm.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/UserForm.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/UserForm.java (original)
+++ rave/branches/mongo/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/UserForm.java Fri Dec 28 17:43:23 2012
@@ -28,7 +28,7 @@ import java.util.Collection;
  */
 public class UserForm {
 
-    private Long id;
+    private String id;
     private Collection<AuthorityImpl> authorities;
     private String password;
     private String username;
@@ -47,7 +47,7 @@ public class UserForm {
     private boolean expired;
     private boolean enabled;
 
-    public UserForm(Long userid, String username) {
+    public UserForm(String userid, String username) {
         this();
         this.id = userid;
         this.username = username;
@@ -58,11 +58,11 @@ public class UserForm {
     }
 
 
-    public Long getId() {
+    public String getId() {
         return id;
     }
 
-    public void setId(Long id) {
+    public void setId(String id) {
         this.id = id;
     }
 

Modified: rave/branches/mongo/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/tag/RegionWidgetTag.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/tag/RegionWidgetTag.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/tag/RegionWidgetTag.java (original)
+++ rave/branches/mongo/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/tag/RegionWidgetTag.java Fri Dec 28 17:43:23 2012
@@ -21,10 +21,13 @@ package org.apache.rave.portal.web.tag;
 
 import org.apache.commons.lang.StringEscapeUtils;
 import org.apache.rave.portal.model.RegionWidget;
+import org.apache.rave.portal.model.Widget;
 import org.apache.rave.portal.web.renderer.RenderScope;
 import org.apache.rave.portal.web.renderer.RenderService;
 import org.apache.rave.portal.web.renderer.ScriptLocation;
 import org.apache.rave.portal.web.renderer.ScriptManager;
+import org.apache.rave.portal.web.renderer.model.RegionWidgetWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
 
 import javax.servlet.jsp.JspException;
 
@@ -34,6 +37,7 @@ import javax.servlet.jsp.JspException;
 public class RegionWidgetTag extends AbstractContextAwareSingletonBeanDependentTag<RenderService> {
 
     private RegionWidget regionWidget;
+    private Widget widget;
     
     private static final String REGISTER_DISABLED_WIDGET_KEY = "disabledRegisterWidget";
 
@@ -57,6 +61,14 @@ public class RegionWidgetTag extends Abs
         this.regionWidget = regionWidget;
     }
 
+    public Widget getWidget() {
+        return widget;
+    }
+
+    public void setWidget(Widget widget) {
+        this.widget = widget;
+    }
+
     /**
      * Delegates rendering of the RegionWidget to the RenderService
      *
@@ -66,26 +78,31 @@ public class RegionWidgetTag extends Abs
     @Override
     public int doStartTag() throws JspException {
 
-        if (regionWidget != null && getBean().getSupportedWidgetTypes().contains(regionWidget.getWidget().getType()) ) {
-            if ( regionWidget.getWidget().isDisableRendering() ) {
+        if (regionWidget == null) {
+            throw new JspException("RegionWidget not set: " + regionWidget);
+        }
+
+        if (widget != null && getBean().getSupportedWidgetTypes().contains(widget.getType()) ) {
+            if ( widget.isDisableRendering() ) {
                 ScriptManager scriptManager = getBeanFromContext(ScriptManager.class);
                 String widgetScript = String.format(DISABLED_SCRIPT_BLOCK, regionWidget.getRegion().getId(),
                         regionWidget.getId(),
-                        StringEscapeUtils.escapeJavaScript(regionWidget.getWidget().getDisableRenderingMessage()),
+                        StringEscapeUtils.escapeJavaScript(widget.getDisableRenderingMessage()),
                         regionWidget.isCollapsed(),
-                        regionWidget.getWidget().getId());
-                String key = REGISTER_DISABLED_WIDGET_KEY + "-" + regionWidget.getId();
+                        widget.getId());
+                String key = REGISTER_DISABLED_WIDGET_KEY + "-" + widget.getId();
                 scriptManager.registerScriptBlock(key, widgetScript, ScriptLocation.AFTER_RAVE, RenderScope.CURRENT_REQUEST, getContext());
             } else {
-                writeString(getBean().render(regionWidget, getContext()));
+                writeString(getBean().render(new RegionWidgetWrapper(widget, regionWidget), getContext()));
             }
         }
         else {
-                throw new JspException("Unsupported regionWidget type or regionWidget not set: " + regionWidget);
+                throw new JspException("Unsupported regionWidget type: " + regionWidget);
         }
         //Certain JSP implementations use tag pools.  Setting the regionWidget to null ensures that there is no chance a given tag
         //will accidentally re-use a region widget if the attribute in the JSP is empty
         regionWidget = null;
+        widget = null;
         return EVAL_BODY_INCLUDE;
     }
 }

Modified: rave/branches/mongo/rave-components/rave-web/src/main/resources/META-INF/rave.tld
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/main/resources/META-INF/rave.tld?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/main/resources/META-INF/rave.tld (original)
+++ rave/branches/mongo/rave-components/rave-web/src/main/resources/META-INF/rave.tld Fri Dec 28 17:43:23 2012
@@ -26,6 +26,54 @@
     <uri>http://www.apache.org/rave/tags</uri>
 
     <tag>
+        <description>Allows access to a org.apache.rave.model.Person object via the configured variable</description>
+        <name>person</name>
+        <tag-class>org.apache.rave.portal.web.tag.PersonTag</tag-class>
+        <body-content>JSP</body-content>
+        <attribute>
+            <description>The ID of the person to load</description>
+            <name>id</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <description>The variable to assign the resulting person to</description>
+            <name>var</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <description>The scope under which the assignment is valid</description>
+            <name>scope</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+    <tag>
+        <description>Allows access to a org.apache.rave.model.Widget object via the configured variable</description>
+        <name>widget</name>
+        <tag-class>org.apache.rave.portal.web.tag.WidgetTag</tag-class>
+        <body-content>JSP</body-content>
+        <attribute>
+            <description>The ID of the widget to load</description>
+            <name>id</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <description>The variable to assign the resulting widget to</description>
+            <name>var</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <description>The scope under which the assignment is valid</description>
+            <name>scope</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+    <tag>
         <description>Renders a given RegionWidget in the page</description>
         <name>render-widget</name>
         <tag-class>org.apache.rave.portal.web.tag.RegionWidgetTag</tag-class>
@@ -36,6 +84,12 @@
             <required>true</required>
             <rtexprvalue>true</rtexprvalue>
         </attribute>
+        <attribute>
+            <description>The widget to render</description>
+            <name>widget</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
     </tag>
     <tag>
         <description>Renders a set of script blocks for the current location</description>

Modified: rave/branches/mongo/rave-components/rave-web/src/main/resources/org/apache/rave/web-applicationContext.xml
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/main/resources/org/apache/rave/web-applicationContext.xml?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/main/resources/org/apache/rave/web-applicationContext.xml (original)
+++ rave/branches/mongo/rave-components/rave-web/src/main/resources/org/apache/rave/web-applicationContext.xml Fri Dec 28 17:43:23 2012
@@ -33,5 +33,12 @@
     -->
     <context:component-scan base-package="org.apache.rave.portal.web.renderer"/>
     <context:component-scan base-package="org.apache.rave.portal.web.validator"/>
-
+    
+    <!-- Configure the multipart resolver -->
+    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
+        <!-- one of the properties available; the maximum file size in bytes -->
+        <property name="maxUploadSize" value="100000"/>
+    </bean>
+    <bean id="fileUploadController" class="org.apache.rave.portal.web.api.rpc.PageApi">
+    </bean>
 </beans>
\ No newline at end of file

Modified: rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/PageApiTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/PageApiTest.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/PageApiTest.java (original)
+++ rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/PageApiTest.java Fri Dec 28 17:43:23 2012
@@ -22,6 +22,7 @@ import org.apache.rave.portal.model.impl
 import org.apache.rave.portal.model.*;
 import org.springframework.http.HttpStatus;
 import org.springframework.mock.web.MockHttpServletResponse;
+import org.apache.rave.portal.service.OmdlService;
 import org.apache.rave.portal.service.PageService;
 import org.junit.Before;
 import org.junit.Test;
@@ -39,15 +40,17 @@ import static org.hamcrest.CoreMatchers.
 public class PageApiTest {
     private PageApi pageApi;
     private PageService pageService;
+    private OmdlService omdlService;
     private MockHttpServletResponse response;
 
-    private final long PAGE_ID = 1L;
+    private final String PAGE_ID = "1";
 
     @Before
     public void setUp() {
         response = new MockHttpServletResponse();
         pageService = createMock(PageService.class);
-        pageApi = new PageApi(pageService);
+        omdlService = createMock(OmdlService.class);
+        pageApi = new PageApi(pageService, omdlService);
     }
 
     @Test
@@ -64,7 +67,7 @@ public class PageApiTest {
     public void getPage_validId_export() {
         Page p = new PageImpl();
         p.setRegions(new ArrayList<Region>());
-        p.setOwner(new UserImpl());
+        p.setOwnerId("");
         Region region = new RegionImpl();
         region.setRegionWidgets(new ArrayList<RegionWidget>());
         RegionWidget w = new RegionWidgetImpl();
@@ -78,7 +81,7 @@ public class PageApiTest {
 
         Page returned = pageApi.getPage(PAGE_ID, true);
         assertThat(returned, is(sameInstance(p)));
-        assertThat(returned.getOwner(), is(nullValue()));
+        assertThat(returned.getOwnerId(), is(nullValue()));
         assertThat(returned.getRegions().get(0).getRegionWidgets().get(0).getPreferences(), is(nullValue()));
     }
 

Modified: rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/RegionWidgetApiTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/RegionWidgetApiTest.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/RegionWidgetApiTest.java (original)
+++ rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/RegionWidgetApiTest.java Fri Dec 28 17:43:23 2012
@@ -38,8 +38,8 @@ public class RegionWidgetApiTest {
     private RegionWidgetService regionWidgetService;
     private RegionWidgetApi regionWidgetApi;
 
-    private long VALID_REGION_WIDGET_ID = 1l;
-    private long INVALID_REGION_WIDGET_ID = 100l;
+    private String VALID_REGION_WIDGET_ID = "1";
+    private String INVALID_REGION_WIDGET_ID = "100";
 
     private String VALID_PREFERENCE_NAME = "color";
     private String VALID_PREFERENCE_VALUE = "blue";

Modified: rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/WidgetApiTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/WidgetApiTest.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/WidgetApiTest.java (original)
+++ rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/WidgetApiTest.java Fri Dec 28 17:43:23 2012
@@ -29,6 +29,7 @@ import org.springframework.mock.web.Mock
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 import static org.easymock.EasyMock.*;
@@ -39,36 +40,32 @@ import static org.junit.Assert.assertTha
 
 public class WidgetApiTest {
     private WidgetApi widgetApi;
-    private WidgetCommentService widgetCommentService;
-    private WidgetRatingService widgetRatingService;
     private UserService userService;
-    private WidgetTagService widgetTagService;
+    private WidgetService widgetService;
     private TagService tagService;
     private MockHttpServletResponse response;
 
-    private final Long VALID_USER_ID = 5L;
-    private final Long VALID_WIDGET_ID = 10L;
+    private final String VALID_USER_ID = "5";
+    private final String VALID_WIDGET_ID = "10";
 
     private UserImpl user;
     private List<Tag> tagList;
 
     @Before
     public void setup() {
-        widgetCommentService = createMock(WidgetCommentService.class);
-        widgetRatingService = createMock(WidgetRatingService.class);
         userService = createMock(UserService.class);
         tagService = createMock(TagService.class);
-        widgetTagService = createMock(WidgetTagService.class);
+        widgetService = createMock(WidgetService.class);
 
         user = new UserImpl();
         user.setId(VALID_USER_ID);
 
         tagList = new ArrayList<Tag>();
-        tagList.add(new TagImpl("tag1"));
-        tagList.add(new TagImpl("tag2"));
+        tagList.add(new TagImpl("1", "tag1"));
+        tagList.add(new TagImpl("2", "tag2"));
 
         response = createMock(MockHttpServletResponse.class);
-        widgetApi = new WidgetApi(widgetRatingService, widgetCommentService, userService, tagService, widgetTagService);
+        widgetApi = new WidgetApi(userService, tagService, widgetService);
     }
 
     @Test(expected = UnsupportedOperationException.class)
@@ -81,7 +78,7 @@ public class WidgetApiTest {
         String comment = "new comment";
 
         WidgetImpl widget = new WidgetImpl();
-        widget.setId(1L);
+        widget.setId("1");
         widget.setComments(new ArrayList<WidgetComment>());
 
         HttpServletResponse httpServletResponse = createMock(HttpServletResponse.class);
@@ -89,109 +86,105 @@ public class WidgetApiTest {
         expect(userService.getAuthenticatedUser()).andReturn(user);
         replay(userService, httpServletResponse);
 
-        widgetApi.createWidgetComment(1L, comment, httpServletResponse);
+        widgetApi.createWidgetComment("1", comment, httpServletResponse);
 
         verify(userService, httpServletResponse);
     }
 
     @Test
     public void getWidgetComment() {
-        WidgetComment widgetComment = new WidgetCommentImpl();
-        widgetComment.setId(2L);
-        expect(widgetCommentService.getWidgetComment(2L)).andReturn(widgetComment);
-        replay(widgetCommentService);
+        WidgetComment widgetComment = new WidgetCommentImpl("2");
+        expect(widgetService.getWidgetComment("1", "2")).andReturn(widgetComment);
+        replay(widgetService);
 
-        WidgetComment foundComment = widgetApi.getWidgetComment(1L, 2L);
+        WidgetComment foundComment = widgetApi.getWidgetComment("1", "2");
         assertEquals(widgetComment.getId(), foundComment.getId());
 
-        verify(widgetCommentService);
+        verify(widgetService);
     }
 
     @Test
     public void updateNonExistentWidgetComment() {
         String message = "message";
         WidgetComment widgetComment = new WidgetCommentImpl();
-        widgetComment.setWidgetId(2L);
         widgetComment.setText(message);
-        widgetComment.setUser(new UserImpl(VALID_USER_ID, "John.Doe"));
+        widgetComment.setUserId(VALID_USER_ID);
 
         expect(userService.getAuthenticatedUser()).andReturn(user);
-        expect(widgetCommentService.getWidgetComment(3L)).andReturn(null);
-        widgetCommentService.saveWidgetComment(widgetComment);
-        replay(userService, widgetCommentService);
+        expect(widgetService.getWidgetComment("2", "3")).andReturn(null);
+        widgetService.createWidgetComment("2", widgetComment);
+        replay(userService, widgetService);
 
         HttpServletResponse httpServletResponse = createMock(HttpServletResponse.class);
         httpServletResponse.setStatus(HttpStatus.NO_CONTENT.value());
         replay(httpServletResponse);
 
-        widgetApi.updateWidgetComment(2L, 3L, message, httpServletResponse);
+        widgetApi.updateWidgetComment("2", "3", message, httpServletResponse);
 
-        verify(userService, widgetCommentService, httpServletResponse);
+        verify(userService, widgetService, httpServletResponse);
     }
 
     @Test
     public void updateWidgetComment() {
         String message = "updated comment";
-        WidgetComment widgetComment = new WidgetCommentImpl();
-        widgetComment.setId(2L);
+        WidgetComment widgetComment = new WidgetCommentImpl("2");
 
-        expect(widgetCommentService.getWidgetComment(2L)).andReturn(widgetComment);
-        widgetCommentService.saveWidgetComment(widgetComment);
-        replay(widgetCommentService);
+        expect(widgetService.getWidgetComment("2", "2")).andReturn(widgetComment);
+        widgetService.updateWidgetComment("2", widgetComment);
+        replay(widgetService);
 
         HttpServletResponse httpServletResponse = createMock(HttpServletResponse.class);
         httpServletResponse.setStatus(HttpStatus.NO_CONTENT.value());
         replay(httpServletResponse);
 
-        widgetApi.updateWidgetComment(1L, 2L, message, httpServletResponse);
+        widgetApi.updateWidgetComment("2", "2", message, httpServletResponse);
 
         assertEquals(message, widgetComment.getText());
 
-        verify(widgetCommentService, httpServletResponse);
+        verify(widgetService, httpServletResponse);
     }
 
     @Test
     public void deleteWidgetComment() {
-        widgetCommentService.removeWidgetComment(1L);
-        replay(widgetCommentService);
+        widgetService.removeWidgetComment("2", "1");
+        replay(widgetService);
 
         HttpServletResponse httpServletResponse = createMock(HttpServletResponse.class);
         httpServletResponse.setStatus(HttpStatus.NO_CONTENT.value());
         replay(httpServletResponse);
 
-        widgetApi.deleteWidgetComment(2L, 1L, httpServletResponse);
+        widgetApi.deleteWidgetComment("2", "1", httpServletResponse);
 
-        verify(widgetCommentService);
+        verify(widgetService);
         verify(httpServletResponse);
     }
 
     @Test
     public void deleteWidgetRating() {
         expect(userService.getAuthenticatedUser()).andReturn(user);
-        widgetRatingService.removeWidgetRating(1L, VALID_USER_ID);
+        widgetService.removeWidgetRating("1", VALID_USER_ID);
         expectLastCall();
         response.setStatus(HttpStatus.NO_CONTENT.value());
-        replay(userService, widgetRatingService, response);
-        widgetApi.deleteWidgetRating(1L, response);
-        verify(widgetRatingService, userService, response);
+        replay(userService, widgetService, response);
+        widgetApi.deleteWidgetRating("1", response);
+        verify(widgetService, userService, response);
     }
 
     @Test
     public void updateWidgetRating() {
         WidgetRating widgetRating = new WidgetRatingImpl();
         widgetRating.setScore(5);
-        widgetRating.setUserId(5L);
-        widgetRating.setWidgetId(1L);
+        widgetRating.setUserId("5");
         expect(userService.getAuthenticatedUser()).andReturn(user);
-        widgetRatingService.saveWidgetRating(eq(widgetRating));
+        widgetService.saveWidgetRating(eq("1"), eq(widgetRating));
         expectLastCall();
         response.setStatus(HttpStatus.NO_CONTENT.value());
-        replay(userService, widgetRatingService, response);
+        replay(userService, widgetService, response);
 
-        User user = new UserImpl(2L);
-        widgetApi.setWidgetRating(1L, 5, response);
+        User user = new UserImpl("2");
+        widgetApi.setWidgetRating("1", 5, response);
 
-        verify(widgetRatingService, userService, response);
+        verify(widgetService, userService, response);
     }
 
     @Test
@@ -209,10 +202,17 @@ public class WidgetApiTest {
     
     @Test
     public void getTags() {
-        expect(tagService.getAvailableTagsByWidgetId(VALID_WIDGET_ID)).andReturn(tagList);
+        WidgetImpl widget = new WidgetImpl(VALID_WIDGET_ID);
+        WidgetTagImpl widgetTag = new WidgetTagImpl(VALID_USER_ID, new Date(), tagList.get(0).getId());
+        widget.getTags().add(widgetTag);
+
+        expect(widgetService.getWidget(VALID_WIDGET_ID)).andReturn(widget);
+        replay(widgetService);
+        expect(tagService.getTagById(tagList.get(0).getId())).andReturn(tagList.get(0));
         replay(tagService);
-        
-        assertThat(widgetApi.getTags(VALID_WIDGET_ID), is(tagList));
+
+        List<Tag> tags = widgetApi.getTags(VALID_WIDGET_ID, response);
+        assertEquals(tags.size(), 1);
         verify(tagService);
     }
 
@@ -228,47 +228,41 @@ public class WidgetApiTest {
     @Test
     public void createWidgetTag_newTag() {
         final String TAG_TEXT = "mytag";
-        TagImpl tag = new TagImpl();
-        tag.setKeyword(TAG_TEXT);
-        WidgetTag widgetTag = new WidgetTagImpl();
-        widgetTag.setTag(tag);
-        widgetTag.setWidgetId(VALID_WIDGET_ID);
+        TagImpl tag = new TagImpl(TAG_TEXT);
+        WidgetTagImpl widgetTag = new WidgetTagImpl(VALID_USER_ID, new Date(), tag.getId());
                         
-        expect(widgetTagService.getWidgetTagByWidgetIdAndKeyword(VALID_WIDGET_ID, TAG_TEXT)).andReturn(null);
+        expect(widgetService.getWidgetTagByWidgetIdAndKeyword(VALID_WIDGET_ID, TAG_TEXT)).andReturn(null);
         expect(userService.getAuthenticatedUser()).andReturn(user);
         expect(tagService.getTagByKeyword(TAG_TEXT)).andReturn(null);
-        widgetTagService.createWidgetTag(isA(WidgetTag.class));
+        expect(tagService.save(isA(TagImpl.class))).andReturn(tag);
+        expect(widgetService.createWidgetTag(isA(String.class), isA(WidgetTag.class))).andReturn(widgetTag);
         expectLastCall();
-        replay(widgetTagService, userService, tagService);
+        replay(widgetService, userService, tagService);
         widgetApi.createWidgetTag(VALID_WIDGET_ID, TAG_TEXT, response);
-        verify(widgetTagService, userService, tagService);
+        verify(widgetService, userService, tagService);
     }
 
     @Test
     public void createWidgetTag_newTag_existsForOtherWidget() {
         final String TAG_TEXT = "mytag";
-        TagImpl tag = new TagImpl();
-        tag.setKeyword(TAG_TEXT);
-        WidgetTagImpl widgetTag = new WidgetTagImpl();
-        widgetTag.setTag(tag);
+        TagImpl tag = new TagImpl(TAG_TEXT);
+        WidgetTagImpl widgetTag = new WidgetTagImpl(VALID_USER_ID, new Date(), tag.getId());
 
-        expect(widgetTagService.getWidgetTagByWidgetIdAndKeyword(VALID_WIDGET_ID, TAG_TEXT)).andReturn(null);
+        expect(widgetService.getWidgetTagByWidgetIdAndKeyword(VALID_WIDGET_ID, TAG_TEXT)).andReturn(null);
         expect(userService.getAuthenticatedUser()).andReturn(user);
         expect(tagService.getTagByKeyword(TAG_TEXT)).andReturn(tag);
-        widgetTagService.createWidgetTag(isA(WidgetTag.class));
+        expect(widgetService.createWidgetTag(isA(String.class), isA(WidgetTag.class))).andReturn(widgetTag);
         expectLastCall();
-        replay(widgetTagService, userService, tagService);
+        replay(widgetService, userService, tagService);
         widgetApi.createWidgetTag(VALID_WIDGET_ID, TAG_TEXT, response);
-        verify(widgetTagService, userService, tagService);
+        verify(widgetService, userService, tagService);
     }
 
     @Test
     public void createWidgetTag_nullText() {
         final String TAG_TEXT = null;
-        TagImpl tag = new TagImpl();
-        tag.setKeyword(TAG_TEXT);
-        WidgetTagImpl widgetTag = new WidgetTagImpl();
-        widgetTag.setTag(tag);
+        TagImpl tag = new TagImpl(TAG_TEXT);
+        WidgetTagImpl widgetTag = new WidgetTagImpl(VALID_USER_ID, new Date(), tag.getId());
 
         widgetApi.createWidgetTag(VALID_WIDGET_ID, TAG_TEXT, response);
     }
@@ -276,10 +270,8 @@ public class WidgetApiTest {
     @Test
     public void createWidgetTag_emptyText() {
         final String TAG_TEXT = "      ";
-        TagImpl tag = new TagImpl();
-        tag.setKeyword(TAG_TEXT);
-        WidgetTagImpl widgetTag = new WidgetTagImpl();
-        widgetTag.setTag(tag);
+        TagImpl tag = new TagImpl(TAG_TEXT);
+        WidgetTagImpl widgetTag = new WidgetTagImpl(VALID_USER_ID, new Date(), tag.getId());
 
         widgetApi.createWidgetTag(VALID_WIDGET_ID, TAG_TEXT, response);
     }
@@ -287,14 +279,12 @@ public class WidgetApiTest {
     @Test
     public void createWidgetTag_existingTag() {
         final String TAG_TEXT = "mytag";
-        TagImpl tag = new TagImpl();
-        tag.setKeyword(TAG_TEXT);
-        WidgetTagImpl widgetTag = new WidgetTagImpl();
-        widgetTag.setTag(tag);
+        TagImpl tag = new TagImpl(TAG_TEXT);
+        WidgetTagImpl widgetTag = new WidgetTagImpl(VALID_USER_ID, new Date(), tag.getId());
 
-        expect(widgetTagService.getWidgetTagByWidgetIdAndKeyword(VALID_WIDGET_ID, TAG_TEXT)).andReturn(widgetTag);
-        replay(widgetTagService);
+        expect(widgetService.getWidgetTagByWidgetIdAndKeyword(VALID_WIDGET_ID, TAG_TEXT)).andReturn(widgetTag);
+        replay(widgetService);
         widgetApi.createWidgetTag(VALID_WIDGET_ID, TAG_TEXT, response);
-        verify(widgetTagService);
+        verify(widgetService);
     }
 }

Modified: rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rpc/PageApiTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rpc/PageApiTest.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rpc/PageApiTest.java (original)
+++ rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rpc/PageApiTest.java Fri Dec 28 17:43:23 2012
@@ -23,6 +23,7 @@ import org.apache.rave.portal.model.Page
 import org.apache.rave.portal.model.Region;
 import org.apache.rave.portal.model.RegionWidget;
 import org.apache.rave.portal.model.impl.*;
+import org.apache.rave.portal.service.OmdlService;
 import org.apache.rave.portal.service.PageService;
 import org.apache.rave.portal.web.api.rpc.model.RpcResult;
 import org.junit.Before;
@@ -39,10 +40,11 @@ public class PageApiTest {
     private final String INTERNAL_ERROR_MESSAGE = "Internal Error";
     private PageApi pageApi;
     private PageService pageService;
-    private final long REGION_WIDGET_ID = 35;
+    private OmdlService omdlService;
+    private final String REGION_WIDGET_ID = "35";
     private final int NEW_POSITION = 3;
-    private final long PAGE_ID = 20L;
-    private final long PAGE_2_ID = 38L;
+    private final String PAGE_ID = "20";
+    private final String PAGE_2_ID = "30";
 
     private Page page, page2;
 
@@ -50,7 +52,8 @@ public class PageApiTest {
     @Before
     public void setup() {
         pageService = createMock(PageService.class);
-        pageApi = new PageApi(pageService);
+        omdlService = createMock(OmdlService.class);
+        pageApi = new PageApi(pageService, omdlService);
 
         page = new PageImpl(PAGE_ID);
         page2 = new PageImpl(PAGE_2_ID);
@@ -58,8 +61,8 @@ public class PageApiTest {
 
     @Test
     public void moveWidgetOnPage_validParams() {
-        final long TO_REGION = 1;
-        final long FROM_REGION = 2;
+        final String TO_REGION = "1";
+        final String FROM_REGION = "2";
 
         expect(pageService.moveRegionWidget(REGION_WIDGET_ID, NEW_POSITION, TO_REGION, FROM_REGION)).andReturn(new RegionWidgetImpl());
         replay(pageService);
@@ -74,8 +77,8 @@ public class PageApiTest {
 
     @Test
     public void moveWidgetOnPage_invalidParams() {
-        final long TO_REGION = -1;
-        final long FROM_REGION = 2;
+        final String TO_REGION = "-1";
+        final String FROM_REGION = "2";
 
         expect(pageService.moveRegionWidget(REGION_WIDGET_ID, NEW_POSITION, TO_REGION, FROM_REGION)).andThrow(new IllegalArgumentException(PARAM_ERROR_MESSAGE));
         replay(pageService);
@@ -91,8 +94,8 @@ public class PageApiTest {
 
     @Test
     public void moveWidgetOnPage_internalError() {
-        final long TO_REGION = 1;
-        final long FROM_REGION = 2;
+        final String TO_REGION = "1";
+        final String FROM_REGION = "2";
 
         expect(pageService.moveRegionWidget(REGION_WIDGET_ID, NEW_POSITION, TO_REGION, FROM_REGION)).andThrow(new RuntimeException(INTERNAL_ERROR_MESSAGE));
         replay(pageService);
@@ -108,8 +111,8 @@ public class PageApiTest {
 
     @Test
     public void addWidget_validParams() {
-        final int PAGE_ID = 1;
-        final long WIDGET_ID = 2;
+        final String PAGE_ID = "1";
+        final String WIDGET_ID = "2";
 
         expect(pageService.addWidgetToPage(PAGE_ID, WIDGET_ID)).andReturn(new RegionWidgetImpl());
         replay(pageService);
@@ -124,8 +127,8 @@ public class PageApiTest {
 
     @Test
     public void addWidget_invalidParams() {
-        final int PAGE_ID = 1;
-        final long WIDGET_ID = 2;
+        final String PAGE_ID = "1";
+        final String WIDGET_ID = "2";
 
         expect(pageService.addWidgetToPage(PAGE_ID, WIDGET_ID)).andThrow(new IllegalArgumentException(PARAM_ERROR_MESSAGE));
         replay(pageService);
@@ -140,8 +143,8 @@ public class PageApiTest {
 
     @Test
     public void addWidget_internalError() {
-        final int PAGE_ID = 1;
-        final long WIDGET_ID = 2;
+        final String PAGE_ID = "1";
+        final String WIDGET_ID = "2";
 
         expect(pageService.addWidgetToPage(PAGE_ID, WIDGET_ID)).andThrow(new RuntimeException(INTERNAL_ERROR_MESSAGE));
         replay(pageService);
@@ -156,7 +159,7 @@ public class PageApiTest {
 
     @Test
     public void deleteWidget_validParams() {
-        final long WIDGET_ID = 3;
+        final String WIDGET_ID = "3";
         expect(pageService.removeWidgetFromPage(WIDGET_ID)).andReturn(new RegionImpl());
         replay(pageService);
 
@@ -170,7 +173,7 @@ public class PageApiTest {
 
    @Test
     public void deleteWidget_invalidParams() {
-        final long WIDGET_ID = 2;
+        final String WIDGET_ID = "2";
 
         expect(pageService.removeWidgetFromPage(WIDGET_ID)).andThrow(new IllegalArgumentException(PARAM_ERROR_MESSAGE));
         replay(pageService);
@@ -185,7 +188,7 @@ public class PageApiTest {
 
     @Test
     public void deleteWidget_internalError() {
-        final long WIDGET_ID = 2;
+        final String WIDGET_ID = "2";
 
         expect(pageService.removeWidgetFromPage(WIDGET_ID)).andThrow(new RuntimeException(INTERNAL_ERROR_MESSAGE));
         replay(pageService);

Modified: rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/PageControllerTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/PageControllerTest.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/PageControllerTest.java (original)
+++ rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/PageControllerTest.java Fri Dec 28 17:43:23 2012
@@ -30,6 +30,7 @@ import org.apache.rave.portal.model.impl
 import org.apache.rave.portal.service.PageLayoutService;
 import org.apache.rave.portal.service.PageService;
 import org.apache.rave.portal.service.UserService;
+import org.apache.rave.portal.service.WidgetService;
 import org.apache.rave.portal.web.controller.util.MockHttpUtil;
 import org.apache.rave.portal.web.util.ModelKeys;
 import org.apache.rave.portal.web.util.ViewNames;
@@ -52,6 +53,7 @@ public class PageControllerTest {
     private PageLayoutService pageLayoutService;
     private PageController pageController;
     private MockHttpServletRequest request;
+    private WidgetService widgetService;
 
     private Model model;
     private Page defaultPage, otherPage;
@@ -59,9 +61,9 @@ public class PageControllerTest {
     private List<Page> allPages;
     private List<PageLayout> allPageLayouts;
 
-    private final Long DEFAULT_PAGE_ID = 99L;
-    private final Long OTHER_PAGE_ID = 22L;
-    private final Long USER_ID = 1L;
+    private final String DEFAULT_PAGE_ID = "99";
+    private final String OTHER_PAGE_ID = "22";
+    private final String USER_ID = "1";
     private final String VALID_PAGE_LAYOUT_CODE = "layout98";
     private UserImpl validUser;
     private PageLayout validPageLayout;
@@ -79,21 +81,21 @@ public class PageControllerTest {
         validUser = new UserImpl(USER_ID);
         validPageLayout = new PageLayoutImpl();
         validPageLayout.setCode(VALID_PAGE_LAYOUT_CODE);
-        defaultPageUser = new PageUserImpl(validUser, defaultPage, 1L);
+        defaultPageUser = new PageUserImpl(USER_ID, defaultPage, 1L);
         defaultPageUser.setPageStatus(PageInvitationStatus.OWNER);
 
         validUser.setDefaultPageLayout(validPageLayout);
 
-        defaultPage = new PageImpl(DEFAULT_PAGE_ID, validUser);
+        defaultPage = new PageImpl(DEFAULT_PAGE_ID, USER_ID);
         defaultPage.setPageLayout(validPageLayout);
 
         List<PageUser> members = new ArrayList<PageUser>();
         members.add(defaultPageUser);
         defaultPage.setMembers(members);
 
-        otherPage = new PageImpl(OTHER_PAGE_ID, validUser);
+        otherPage = new PageImpl(OTHER_PAGE_ID, USER_ID);
         otherPage.setPageLayout(validPageLayout);
-        otherPageUser = new PageUserImpl(validUser, otherPage, 2L);
+        otherPageUser = new PageUserImpl(USER_ID, otherPage, 2L);
         otherPageUser.setPageStatus(PageInvitationStatus.OWNER);
 
         List<PageUser> members2 = new ArrayList<PageUser>();

Modified: rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java (original)
+++ rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java Fri Dec 28 17:43:23 2012
@@ -19,17 +19,6 @@
 
 package org.apache.rave.portal.web.controller;
 
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
-
-import java.util.ArrayList;
-import java.util.List;
-
 import org.apache.rave.portal.model.Page;
 import org.apache.rave.portal.model.PageLayout;
 import org.apache.rave.portal.model.Person;
@@ -39,15 +28,26 @@ import org.apache.rave.portal.model.impl
 import org.apache.rave.portal.model.impl.UserImpl;
 import org.apache.rave.portal.service.PageService;
 import org.apache.rave.portal.service.UserService;
+import org.apache.rave.portal.service.WidgetService;
 import org.apache.rave.portal.web.model.UserForm;
 import org.apache.rave.portal.web.util.ModelKeys;
 import org.apache.rave.portal.web.util.ViewNames;
 import org.hamcrest.CoreMatchers;
 import org.junit.Before;
 import org.junit.Test;
+import org.springframework.http.HttpStatus;
+import org.springframework.mock.web.MockHttpServletResponse;
 import org.springframework.security.core.userdetails.UsernameNotFoundException;
 import org.springframework.ui.ModelMap;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.easymock.EasyMock.*;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+
 /**
  * Test class for {@link ProfileController}
  */
@@ -57,14 +57,15 @@ public class ProfileControllerTest {
 
 	private UserService userService;
 	private PageService pageService;
+    private MockHttpServletResponse response;
 
     private Page defaultPage, otherPage;
     private List<Page> allProfilePages;
     private List<PageLayout> allPageLayouts;
 
-    private final Long DEFAULT_PAGE_ID = 99L;
-    private final Long OTHER_PAGE_ID = 22L;
-    private final Long USER_ID = 1L;
+    private final String DEFAULT_PAGE_ID = "99";
+    private final String OTHER_PAGE_ID = "22";
+    private final String USER_ID = "1";
     private final String VALID_PAGE_LAYOUT_CODE = "layout98";
     private PageLayout validPageLayout;
 
@@ -72,6 +73,7 @@ public class ProfileControllerTest {
 	public void setup() {
 		userService = createMock(UserService.class);
 		pageService = createMock(PageService.class);
+        response = new MockHttpServletResponse();
 		profileController = new ProfileController(userService, pageService);
 
         validPageLayout = new PageLayoutImpl();
@@ -112,7 +114,7 @@ public class ProfileControllerTest {
 
 		replay(userService, pageService);
 
-		String view = profileController.viewProfile(username, model, null);
+		String view = profileController.viewProfileByUsername(username, model, null, response);
 
 		//assert that the model is not null
 		assertThat(model, CoreMatchers.notNullValue());
@@ -153,7 +155,7 @@ public class ProfileControllerTest {
 
 		replay(userService, pageService);
 
-		String view = profileController.viewProfile(USER_ID, model, null);
+		String view = profileController.viewProfile(USER_ID, model, null, response);
 
 		//assert that the model is not null
 		assertThat(model, CoreMatchers.notNullValue());
@@ -188,8 +190,32 @@ public class ProfileControllerTest {
 
         replay(userService, pageService);
 
-        String view = profileController.viewProfile(username, model, null);
+        String view = profileController.viewProfileByUsername(username, model, null, response);
+        assertThat(view, is(ViewNames.USER_NOT_FOUND));
+        assertThat(response.getStatus(), is(HttpStatus.NOT_FOUND.value()));
+
+        verify(userService, pageService);
+    }
+
+    @Test
+    public void viewProfile_invalidUser() {
+        //creating a mock user
+        final User user = null;
+        final ModelMap model = new ModelMap();
+        final int modelSize = 4;
+        final String username="Canonical";
+        Page personProfile = new PageImpl();
+        PageLayout pageLayout = new PageLayoutImpl();
+        pageLayout.setCode("person_profile");
+        personProfile.setPageLayout(pageLayout);
+
+        expect(userService.getUserById(username)).andThrow(new UsernameNotFoundException("Username does not exist"));
+
+        replay(userService, pageService);
+
+        String view = profileController.viewProfile(username, model, null, response);
         assertThat(view, is(ViewNames.USER_NOT_FOUND));
+        assertThat(response.getStatus(), is(HttpStatus.NOT_FOUND.value()));
 
         verify(userService, pageService);
     }
@@ -199,7 +225,7 @@ public class ProfileControllerTest {
 		//This test will just show the successful updation of user status
 		final ModelMap model = new ModelMap();
 		final int modelSize = 2;
-		final long referringPageId = 1L;
+		final String referringPageId = "1";
         final String USERNAME = "canonical";
 		String userProfile = new String(ModelKeys.USER_PROFILE);
 

Modified: rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/WidgetStoreControllerTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/WidgetStoreControllerTest.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/WidgetStoreControllerTest.java (original)
+++ rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/WidgetStoreControllerTest.java Fri Dec 28 17:43:23 2012
@@ -55,23 +55,23 @@ import static org.junit.Assert.*;
  */
 public class WidgetStoreControllerTest {
 
-    private static final long WIDGET_ID = 1L;
-    private static final long REFERRER_ID = 35L;
+    private static final String WIDGET_ID = "1";
+    private static final String REFERRER_ID = "35";
     private WidgetStoreController controller;
     private WidgetService widgetService;
     private TagService tagService;
     private CategoryService categoryService;
     private UserImpl validUser;
     private WidgetStatistics widgetStatistics;
-    private Map<Long, WidgetStatistics> allWidgetStatisticsMap;
+    private Map<String, WidgetStatistics> allWidgetStatisticsMap;
 
     @Before
     public void setup() {
         validUser = new UserImpl();
-        validUser.setId(1L);
+        validUser.setId("1");
         widgetStatistics = new WidgetStatistics();
 
-        allWidgetStatisticsMap = new HashMap<Long, WidgetStatistics>();
+        allWidgetStatisticsMap = new HashMap<String, WidgetStatistics>();
         allWidgetStatisticsMap.put(WIDGET_ID, widgetStatistics);
 
         widgetService = createMock(WidgetService.class);
@@ -110,7 +110,7 @@ public class WidgetStoreControllerTest {
         assertThat(view, is(equalTo(ViewNames.STORE)));
         assertThat(model.containsAttribute(ModelKeys.WIDGETS), is(true));
         assertThat(model.containsAttribute(ModelKeys.WIDGETS_STATISTICS), is(true));
-        assertThat((Long) model.asMap().get(ModelKeys.REFERRING_PAGE_ID), is(equalTo(REFERRER_ID)));
+        assertThat((String) model.asMap().get(ModelKeys.REFERRING_PAGE_ID), is(equalTo(REFERRER_ID)));
         assertThat(widgets, is(sameInstance(emptyResult.getResultSet())));
         assertThat(model.containsAttribute(ModelKeys.TAGS), is(true));
         assertThat(model.containsAttribute(ModelKeys.CATEGORIES), is(true));
@@ -133,7 +133,7 @@ public class WidgetStoreControllerTest {
         assertThat(view, is(equalTo(ViewNames.STORE)));
         assertThat(model.containsAttribute(ModelKeys.WIDGETS), is(true));
         assertThat(model.containsAttribute(ModelKeys.WIDGETS_STATISTICS), is(true));
-        assertThat((Long) model.asMap().get(ModelKeys.REFERRING_PAGE_ID), is(equalTo(REFERRER_ID)));
+        assertThat((String) model.asMap().get(ModelKeys.REFERRING_PAGE_ID), is(equalTo(REFERRER_ID)));
         assertThat(widgets, is(sameInstance(emptyResult.getResultSet())));
         assertThat(model.containsAttribute(ModelKeys.TAGS), is(true));
         assertThat(model.containsAttribute(ModelKeys.CATEGORIES), is(true));
@@ -143,7 +143,7 @@ public class WidgetStoreControllerTest {
     @Test
     public void viewWidget() {
         Model model = new ExtendedModelMap();
-        Widget w = new WidgetImpl(1L, "http://example.com/widget.xml");
+        Widget w = new WidgetImpl("1", "http://example.com/widget.xml");
 
         expect(widgetService.getAllWidgetStatistics(validUser.getId())).andReturn(allWidgetStatisticsMap);
         expect(tagService.getAllTags()).andReturn(new ArrayList<Tag>());
@@ -169,7 +169,7 @@ public class WidgetStoreControllerTest {
     @Test
     public void viewCategoryResult_valid() {
         Model model = new ExtendedModelMap();
-        long categoryId = 1L;
+        String categoryId = "1";
         int offset = 0;
         int pageSize = 10;
         SearchResult<Widget> searchResults = new SearchResult<Widget>(new ArrayList<Widget>(),0);
@@ -203,7 +203,7 @@ public class WidgetStoreControllerTest {
         int pagesize = 10;
         int totalResults = 2;
         WidgetImpl widget = new WidgetImpl();
-        widget.setId(1L);
+        widget.setId("1");
         List<Widget> widgets = new ArrayList<Widget>();
         widgets.add(widget);
         SearchResult<Widget> result = new SearchResult<Widget>(widgets, totalResults);
@@ -242,7 +242,7 @@ public class WidgetStoreControllerTest {
         final String widgetUrl = "http://example.com/newwidget.xml";
         final Model model = new ExtendedModelMap();
         final WidgetImpl widget = new WidgetImpl();
-        widget.setId(1L);
+        widget.setId("1");
         widget.setTitle("Widget title");
         widget.setUrl(widgetUrl);
         widget.setType("OpenSocial");
@@ -265,7 +265,7 @@ public class WidgetStoreControllerTest {
         final Model model = new ExtendedModelMap();
 
         final WidgetImpl existingWidget = new WidgetImpl();
-        existingWidget.setId(123L);
+        existingWidget.setId("123");
         existingWidget.setTitle("Widget title");
         existingWidget.setUrl(widgetUrl);
         existingWidget.setType("OpenSocial");

Modified: rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/admin/CategoryControllerTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/admin/CategoryControllerTest.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/admin/CategoryControllerTest.java (original)
+++ rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/admin/CategoryControllerTest.java Fri Dec 28 17:43:23 2012
@@ -201,12 +201,11 @@ public class CategoryControllerTest {
     public void updateCategory_valid(){
         Model model = new ExtendedModelMap();
         User user = new UserImpl();
-        long id = 1L;
+        String id = "1";
         String categoryText = "Social";
-        CategoryImpl category = new CategoryImpl();
-        category.setCreatedUser(user);
+        CategoryImpl category = new CategoryImpl(id);
+        category.setCreatedUserId(user.getId());
         category.setText(categoryText);
-        category.setId(id);
         SessionStatus sessionStatus = createMock(SessionStatus.class);
         expect(userService.getAuthenticatedUser()).andReturn(user).once();
         expect(categoryService.get(id)).andReturn(category);
@@ -224,11 +223,11 @@ public class CategoryControllerTest {
     public void updateCategory_invalidToken(){
         Model model = new ExtendedModelMap();
         User user = new UserImpl();
-        long id = 1L;
+        String id = "1";
         String categoryText = "Social";
         String invalidToken = AdminControllerUtil.generateSessionToken();
         CategoryImpl category = new CategoryImpl();
-        category.setCreatedUser(user);
+        category.setCreatedUserId(user.getId());
         category.setText(categoryText);
         category.setId(id);
         SessionStatus sessionStatus = createMock(SessionStatus.class);
@@ -247,10 +246,10 @@ public class CategoryControllerTest {
         Model model = new ExtendedModelMap();
         User user = new UserImpl();
 
-        long id = 1L;
+        String id = "1";
         String categoryText = "";
         CategoryImpl category = new CategoryImpl();
-        category.setCreatedUser(user);
+        category.setCreatedUserId(user.getId());
         category.setText(categoryText);
         category.setId(id);
         SessionStatus sessionStatus = createMock(SessionStatus.class);
@@ -265,11 +264,11 @@ public class CategoryControllerTest {
     @Test
     public void updateCategory_invalidValidRequest_nullUser(){
         Model model = new ExtendedModelMap();
-        long id = 1L;
+        String id = "1";
         User user = new UserImpl();
         String categoryText = "Social";
         CategoryImpl category = new CategoryImpl();
-        category.setCreatedUser(user);
+        category.setCreatedUserId(user.getId());
         category.setText(categoryText);
         category.setId(id);
         SessionStatus sessionStatus = createMock(SessionStatus.class);
@@ -285,10 +284,10 @@ public class CategoryControllerTest {
     public void updateCategory_invalidValidRequest_nullWidgetToUpdate(){
         Model model = new ExtendedModelMap();
         User user = new UserImpl();
-        long id = 1L;
+        String id = "1";
         String categoryText = "Social";
         CategoryImpl category = new CategoryImpl();
-        category.setCreatedUser(user);
+        category.setCreatedUserId(user.getId());
         category.setText(categoryText);
         category.setId(id);
         SessionStatus sessionStatus = createMock(SessionStatus.class);
@@ -305,10 +304,10 @@ public class CategoryControllerTest {
     public void deleteCategory_valid(){
         Model model = new ExtendedModelMap();
         User user = new UserImpl();
-        long id = 1L;
+        String id = "1";
         String categoryText = "Social";
         CategoryImpl category = new CategoryImpl();
-        category.setCreatedUser(user);
+        category.setCreatedUserId(user.getId());
         category.setText(categoryText);
         category.setId(id);
         SessionStatus sessionStatus = createMock(SessionStatus.class);
@@ -329,11 +328,11 @@ public class CategoryControllerTest {
     public void deleteCategory_invalidToken(){
         Model model = new ExtendedModelMap();
         User user = new UserImpl();
-        long id = 1L;
+        String id = "1";
         String categoryText = "Social";
         String invalidToken = AdminControllerUtil.generateSessionToken();
         CategoryImpl category = new CategoryImpl();
-        category.setCreatedUser(user);
+        category.setCreatedUserId(user.getId());
         category.setText(categoryText);
         category.setId(id);
         SessionStatus sessionStatus = createMock(SessionStatus.class);
@@ -353,10 +352,10 @@ public class CategoryControllerTest {
         Model model = new ExtendedModelMap();
         User user = new UserImpl();
 
-        long id = 1L;
+        String id = "1";
         String categoryText = "";
         CategoryImpl category = new CategoryImpl();
-        category.setCreatedUser(user);
+        category.setCreatedUserId(user.getId());
         category.setText(categoryText);
         category.setId(id);
         SessionStatus sessionStatus = createMock(SessionStatus.class);
@@ -371,11 +370,11 @@ public class CategoryControllerTest {
     @Test
     public void deleteCategory_invalidValidRequest_nullUser(){
         Model model = new ExtendedModelMap();
-        long id = 1L;
+        String id = "1";
         User user = new UserImpl();
         String categoryText = "Social";
         CategoryImpl category = new CategoryImpl();
-        category.setCreatedUser(user);
+        category.setCreatedUserId(user.getId());
         category.setText(categoryText);
         category.setId(id);
         SessionStatus sessionStatus = createMock(SessionStatus.class);
@@ -391,10 +390,10 @@ public class CategoryControllerTest {
     public void deleteCategory_invalidValidRequest_nullWidgetToDelete(){
         Model model = new ExtendedModelMap();
         User user = new UserImpl();
-        long id = 1L;
+        String id = "1";
         String categoryText = "Social";
         CategoryImpl category = new CategoryImpl();
-        category.setCreatedUser(user);
+        category.setCreatedUserId(user.getId());
         category.setText(categoryText);
         category.setId(id);
         SessionStatus sessionStatus = createMock(SessionStatus.class);
@@ -411,10 +410,10 @@ public class CategoryControllerTest {
     public void deleteCategory_invalidValidRequest_falseConfirmation(){
         Model model = new ExtendedModelMap();
         User user = new UserImpl();
-        long id = 1L;
+        String id = "1";
         String categoryText = "Social";
         CategoryImpl category = new CategoryImpl();
-        category.setCreatedUser(user);
+        category.setCreatedUserId(user.getId());
         category.setText(categoryText);
         category.setId(id);
         SessionStatus sessionStatus = createMock(SessionStatus.class);
@@ -429,11 +428,11 @@ public class CategoryControllerTest {
     @Test
     public void editCategory_valid () {
         User user = new UserImpl();
-        long id = 1L;
+        String id = "1";
         String categoryText = "Social";
         Model model = new ExtendedModelMap();
         CategoryImpl category = new CategoryImpl();
-        category.setCreatedUser(user);
+        category.setCreatedUserId(user.getId());
         category.setText(categoryText);
         category.setId(id);
         expect(categoryService.get(id)).andReturn(category).once();

Modified: rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/admin/UserControllerTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/admin/UserControllerTest.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/admin/UserControllerTest.java (original)
+++ rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/admin/UserControllerTest.java Fri Dec 28 17:43:23 2012
@@ -103,7 +103,7 @@ public class UserControllerTest {
     @Test
     public void viewAdminUserDetail() throws Exception {
         Model model = new ExtendedModelMap();
-        Long userid = 123L;
+        String userid = "123";
         User user = new UserImpl(userid, "john.doe.sr");
 
         expect(userService.getUserById(userid)).andReturn(user);
@@ -121,7 +121,7 @@ public class UserControllerTest {
     @Test
     public void updateUserDetail_success() {
         ModelMap modelMap = new ExtendedModelMap();
-        final Long userid = 123L;
+        String userid = "123";
         final String email = "john.doe.sr@example.net";
         UserImpl user = new UserImpl(userid, "john.doe.sr");
         user.setPassword("secrect");
@@ -147,7 +147,7 @@ public class UserControllerTest {
     @Test
     public void updateUserDetail_withErrors() {
         ModelMap modelMap = new ExtendedModelMap();
-        Long userid = 123L;
+        String userid = "123";
         UserImpl user = new UserImpl(userid, "john.doe.sr");
         final BindingResult errors = new BeanPropertyBindingResult(user, "user");
 
@@ -163,7 +163,7 @@ public class UserControllerTest {
     @Test(expected = SecurityException.class)
     public void updateUserDetail_wrongToken() {
         ModelMap modelMap = new ExtendedModelMap();
-        UserImpl user = new UserImpl(123L, "john.doe.sr");
+        UserImpl user = new UserImpl("123", "john.doe.sr");
         final BindingResult errors = new BeanPropertyBindingResult(user, "user");
         SessionStatus sessionStatus = createMock(SessionStatus.class);
         sessionStatus.setComplete();
@@ -182,7 +182,7 @@ public class UserControllerTest {
     @Test
     public void deleteUserDetail_success() {
         ModelMap modelMap = new ExtendedModelMap();
-        final Long userid = 123L;
+        String userid = "123";
         final String email = "john.doe.sr@example.net";
         User user = new UserImpl(userid, "john.doe.sr");
         user.setPassword("secrect");
@@ -205,7 +205,7 @@ public class UserControllerTest {
     @Test
     public void deleteUserDetail_noConfirmChecked() {
         ModelMap modelMap = new ExtendedModelMap();
-        Long userid = 123L;
+        String userid = "123";
         User user = new UserImpl(userid, "john.doe.sr");
 
         SessionStatus sessionStatus = createMock(SessionStatus.class);
@@ -219,7 +219,7 @@ public class UserControllerTest {
     @Test(expected = SecurityException.class)
     public void deleteUserDetail_wrongToken() {
         ModelMap modelMap = new ExtendedModelMap();
-        User user = new UserImpl(123L, "john.doe.sr");
+        User user = new UserImpl("123", "john.doe.sr");
         SessionStatus sessionStatus = createMock(SessionStatus.class);
         sessionStatus.setComplete();
 
@@ -337,8 +337,8 @@ public class UserControllerTest {
 
 
     private static SearchResult<User> createSearchResultWithTwoUsers() {
-        UserImpl user1 = new UserImpl(123L, "john.doe.sr");
-        UserImpl user2 = new UserImpl(456L, "john.doe.jr");
+        UserImpl user1 = new UserImpl("123", "john.doe.sr");
+        UserImpl user2 = new UserImpl("456", "john.doe.jr");
         List<User> users = new ArrayList<User>();
         users.add(user1);
         users.add(user2);

Modified: rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/admin/WidgetControllerTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/admin/WidgetControllerTest.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/admin/WidgetControllerTest.java (original)
+++ rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/admin/WidgetControllerTest.java Fri Dec 28 17:43:23 2012
@@ -138,7 +138,7 @@ public class WidgetControllerTest {
     public void viewAdminWidgetDetail() throws Exception {
         Model model = new ExtendedModelMap();
         WidgetImpl widget = new WidgetImpl();
-        final long entityId = 123L;
+        final String entityId = "123";
         widget.setId(entityId);
         widget.setTitle("My widget");
 
@@ -158,7 +158,7 @@ public class WidgetControllerTest {
     @Test
     public void updateWidget_valid() {
         final String widgetUrl = "http://example.com/widget";
-        WidgetImpl widget = new WidgetImpl(123L, widgetUrl);
+        WidgetImpl widget = new WidgetImpl("123", widgetUrl);
         widget.setTitle("WidgetImpl title");
         widget.setType("OpenSocial");
         widget.setDescription("Lorem ipsum");
@@ -200,7 +200,7 @@ public class WidgetControllerTest {
 
     @Test
     public void updateWidget_invalid() {
-        WidgetImpl widget = new WidgetImpl(123L, "http://broken/url");
+        WidgetImpl widget = new WidgetImpl("123", "http://broken/url");
         BindingResult errors = new BeanPropertyBindingResult(widget, "widget");
         SessionStatus sessionStatus = createMock(SessionStatus.class);
         ModelMap modelMap = new ExtendedModelMap();

Modified: rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/util/CategoryEditorTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/util/CategoryEditorTest.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/util/CategoryEditorTest.java (original)
+++ rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/util/CategoryEditorTest.java Fri Dec 28 17:43:23 2012
@@ -32,7 +32,7 @@ import static org.junit.Assert.assertTha
 public class CategoryEditorTest {
     private CategoryEditor categoryEditor;
     private CategoryService categoryService;
-    private final Long CATEGORY_ID = 333L;
+    private final String CATEGORY_ID = "333";
     private final String CATEGORY_TEXT = "category1";
     private Category validCategory;
 

Modified: rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/security/LdapUserDetailsContextMapperTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/security/LdapUserDetailsContextMapperTest.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/security/LdapUserDetailsContextMapperTest.java (original)
+++ rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/security/LdapUserDetailsContextMapperTest.java Fri Dec 28 17:43:23 2012
@@ -59,7 +59,7 @@ public class LdapUserDetailsContextMappe
         DirContextOperations ctx = createMock(DirContextOperations.class);
 
         final String username = "johnldap";
-        User user = new UserImpl(123L, username);
+        User user = new UserImpl("123", username);
 
         expect(userService.getUserByUsername(username)).andReturn(null).once();
         expect(ctx.attributeExists(MAIL_ATTRIBUTE_NAME)).andReturn(true);
@@ -83,7 +83,7 @@ public class LdapUserDetailsContextMappe
         DirContextOperations ctx = createMock(DirContextOperations.class);
 
         final String username = "johnldap";
-        User user = new UserImpl(123L, username);
+        User user = new UserImpl("123", username);
 
         expect(userService.getUserByUsername(username)).andReturn(null).once();
         expect(ctx.attributeExists(MAIL_ATTRIBUTE_NAME)).andReturn(true);
@@ -152,7 +152,7 @@ public class LdapUserDetailsContextMappe
         DirContextOperations ctx = createMock(DirContextOperations.class);
 
         final String username = "johnldap";
-        User user = new UserImpl(123L, username);
+        User user = new UserImpl("123", username);
 
         expect(userService.getUserByUsername(username)).andReturn(user);
         expectLastCall();

Modified: rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/tag/RegionWidgetTagTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/tag/RegionWidgetTagTest.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/tag/RegionWidgetTagTest.java (original)
+++ rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/tag/RegionWidgetTagTest.java Fri Dec 28 17:43:23 2012
@@ -28,6 +28,7 @@ import org.apache.rave.portal.web.render
 import org.apache.rave.portal.web.renderer.RenderService;
 import org.apache.rave.portal.web.renderer.ScriptLocation;
 import org.apache.rave.portal.web.renderer.ScriptManager;
+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;
@@ -84,15 +85,17 @@ public class RegionWidgetTagTest {
     @Test
     public void doStartTag_valid() throws IOException, JspException {
         RegionWidget regionWidget = new RegionWidgetImpl();
-        WidgetImpl widget = new WidgetImpl();
-        regionWidget.setWidget(widget);
+        WidgetImpl widget = new WidgetImpl("8");
+        regionWidget.setWidgetId(widget.getId());
         widget.setType(WIDGET_TYPE);
 
         Set<String> strings = new HashSet<String>();
         strings.add(WIDGET_TYPE);
 
+        RegionWidgetWrapper wrapper = new RegionWidgetWrapper(widget, regionWidget);
+
         expect(service.getSupportedWidgetTypes()).andReturn(strings);
-        expect(service.render(regionWidget, context)).andReturn(RENDERED);
+        expect(service.render(isA(RegionWidgetWrapper.class), same(context))).andReturn(RENDERED);
         replay(service);
 
         JspWriter writer = createNiceMock(JspWriter.class);
@@ -104,6 +107,7 @@ public class RegionWidgetTagTest {
         replay(pageContext);
 
         tag.setRegionWidget(regionWidget);
+        tag.setWidget(widget);
         int result = tag.doStartTag();
         assertThat(result, is(equalTo(1)));
         verify(writer);
@@ -120,8 +124,8 @@ public class RegionWidgetTagTest {
     public void doStartTag_IOException() throws JspException, IOException {
 
         RegionWidget regionWidget = new RegionWidgetImpl();
-        WidgetImpl widget = new WidgetImpl();
-        regionWidget.setWidget(widget);
+        WidgetImpl widget = new WidgetImpl("8");
+        regionWidget.setWidgetId(widget.getId());
         widget.setType("INVALID");
 
         Set<String> strings = new HashSet<String>();
@@ -146,9 +150,9 @@ public class RegionWidgetTagTest {
         replay(pageContext);
 
         RegionWidget regionWidget = new RegionWidgetImpl();
-        Region region = new RegionImpl(25L);
-        WidgetImpl widget = new WidgetImpl();
-        regionWidget.setWidget(widget);
+        Region region = new RegionImpl("25");
+        WidgetImpl widget = new WidgetImpl("8");
+        regionWidget.setWidgetId(widget.getId());
         regionWidget.setRegion(region);
         widget.setType("INVALID");
 
@@ -159,6 +163,7 @@ public class RegionWidgetTagTest {
         replay(service);
 
         tag.setRegionWidget(regionWidget);
+        tag.setWidget(widget);
         tag.doStartTag();
     }
 
@@ -166,16 +171,14 @@ public class RegionWidgetTagTest {
     public void doStartTag_disabledWidget() throws IOException, JspException {
         final String DISABLED_WIDGET_MESSAGE = "THIS IS DISABLED";
 
-        WidgetImpl widget = new WidgetImpl();
-        widget.setId(8L);
+        WidgetImpl widget = new WidgetImpl("8");
         widget.setType(WIDGET_TYPE);
         widget.setDisableRendering(true);
         widget.setDisableRenderingMessage(DISABLED_WIDGET_MESSAGE);
 
-        RegionWidget regionWidget = new RegionWidgetImpl();
-        regionWidget.setId(99L);
-        regionWidget.setWidget(widget);
-        regionWidget.setRegion(new RegionImpl(2L));
+        RegionWidget regionWidget = new RegionWidgetImpl("99");
+        regionWidget.setWidgetId(widget.getId());
+        regionWidget.setRegion(new RegionImpl("2"));
 
         Set<String> strings = new HashSet<String>();
         strings.add(WIDGET_TYPE);
@@ -190,6 +193,7 @@ public class RegionWidgetTagTest {
         replay(pageContext, writer);
 
         tag.setRegionWidget(regionWidget);
+        tag.setWidget(widget);
         int result = tag.doStartTag();
         assertThat(result, is(equalTo(1)));
         verify(writer);

Modified: rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/validator/NewWidgetValidatorTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/validator/NewWidgetValidatorTest.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/validator/NewWidgetValidatorTest.java (original)
+++ rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/validator/NewWidgetValidatorTest.java Fri Dec 28 17:43:23 2012
@@ -76,7 +76,7 @@ public class NewWidgetValidatorTest {
         final String existingUrl = "http://example.com/existing_widget.xml";
 
         WidgetImpl widget = new WidgetImpl();
-        widget.setId(123L);
+        widget.setId("123");
         widget.setTitle(VALID_TITLE);
         widget.setType(VALID_TYPE);
         widget.setDescription(VALID_DESCRIPTION);

Modified: rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/validator/UpdateWidgetValidatorTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/validator/UpdateWidgetValidatorTest.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/validator/UpdateWidgetValidatorTest.java (original)
+++ rave/branches/mongo/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/validator/UpdateWidgetValidatorTest.java Fri Dec 28 17:43:23 2012
@@ -47,7 +47,7 @@ public class UpdateWidgetValidatorTest {
     @Test
     public void testValidateValidFormData() throws Exception {
         WidgetImpl widget = new WidgetImpl();
-        widget.setId(123L);
+        widget.setId("123");
         widget.setTitle(VALID_TITLE);
         widget.setUrl(VALID_URL);
         widget.setType(VALID_TYPE);
@@ -77,7 +77,7 @@ public class UpdateWidgetValidatorTest {
         final String existingUrl = "http://example.com/existing_widget.xml";
 
         WidgetImpl widget = new WidgetImpl();
-        widget.setId(123L);
+        widget.setId("123");
         widget.setTitle(VALID_TITLE);
         widget.setType(VALID_TYPE);
         widget.setDescription(VALID_DESCRIPTION);

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

Modified: rave/branches/mongo/rave-integration-tests/pom.xml
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-integration-tests/pom.xml?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-integration-tests/pom.xml (original)
+++ rave/branches/mongo/rave-integration-tests/pom.xml Fri Dec 28 17:43:23 2012
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.rave</groupId>
         <artifactId>rave-project</artifactId>
-        <version>0.17-MONGO-SNAPSHOT</version>
+        <version>0.19-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -36,13 +36,13 @@
     <description>Test stories verifying functionality of Apache Rave using Java and Spring</description>
 
     <properties>
-        <jbehave.core.version>3.6.1</jbehave.core.version>
-        <jbehave.web.version>3.5.1</jbehave.web.version>
+        <jbehave.core.version>3.7.4</jbehave.core.version>
+        <jbehave.web.version>3.5.5</jbehave.web.version>
         <jbehave.site.version>3.1.1</jbehave.site.version>
         <org.hamcrest.version>1.2.1</org.hamcrest.version>
         <commons-logging.version>1.1.1</commons-logging.version>
         <!-- New Selenium versions are often needed after an upgrade of Mozilla Firefox -->
-        <selenium.version>[2.25.0,2.26)</selenium.version>
+        <selenium.version>[2.25.0,2.28.99)</selenium.version>
         <meta.filter />
 
         <!-- Cargo configuration properties -->

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

Copied: rave/branches/mongo/rave-integration-tests/rave-admin-tests/src/main/java/org/apache/rave/integrationtests/steps/CategoryAdminSteps.java (from r1425410, rave/trunk/rave-integration-tests/rave-admin-tests/src/main/java/org/apache/rave/integrationtests/steps/CategoryAdminSteps.java)
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-integration-tests/rave-admin-tests/src/main/java/org/apache/rave/integrationtests/steps/CategoryAdminSteps.java?p2=rave/branches/mongo/rave-integration-tests/rave-admin-tests/src/main/java/org/apache/rave/integrationtests/steps/CategoryAdminSteps.java&p1=rave/trunk/rave-integration-tests/rave-admin-tests/src/main/java/org/apache/rave/integrationtests/steps/CategoryAdminSteps.java&r1=1425410&r2=1426593&rev=1426593&view=diff
==============================================================================
--- rave/trunk/rave-integration-tests/rave-admin-tests/src/main/java/org/apache/rave/integrationtests/steps/CategoryAdminSteps.java (original)
+++ rave/branches/mongo/rave-integration-tests/rave-admin-tests/src/main/java/org/apache/rave/integrationtests/steps/CategoryAdminSteps.java Fri Dec 28 17:43:23 2012
@@ -29,9 +29,8 @@ import org.openqa.selenium.NoSuchElement
 import org.openqa.selenium.WebElement;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import java.util.List;
-
-import static org.hamcrest.CoreMatchers.*;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.notNullValue;
 import static org.hamcrest.MatcherAssert.assertThat;
 
 @Step

Modified: rave/branches/mongo/rave-integration-tests/rave-admin-tests/src/main/java/org/apache/rave/integrationtests/stories/AdminStories.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-integration-tests/rave-admin-tests/src/main/java/org/apache/rave/integrationtests/stories/AdminStories.java?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-integration-tests/rave-admin-tests/src/main/java/org/apache/rave/integrationtests/stories/AdminStories.java (original)
+++ rave/branches/mongo/rave-integration-tests/rave-admin-tests/src/main/java/org/apache/rave/integrationtests/stories/AdminStories.java Fri Dec 28 17:43:23 2012
@@ -19,11 +19,10 @@
 
 package org.apache.rave.integrationtests.stories;
 
-import java.util.List;
-
 import org.jbehave.core.io.StoryFinder;
 
-import static java.util.Arrays.asList;
+import java.util.List;
+
 import static org.jbehave.core.io.CodeLocations.codeLocationFromClass;
 
 /**
@@ -31,8 +30,14 @@ import static org.jbehave.core.io.CodeLo
  */
 public class AdminStories extends PortalStories {
 
-  @Override
-  protected List<String> storyPaths() {
-    return new StoryFinder().findPaths(codeLocationFromClass(this.getClass()).getFile(), asList("**/deleteNewUser.story"), null);
-  }
+    @Override
+    protected List<String> storyPaths() {
+        String story = System.getProperty("story");
+        if (story != null && !story.isEmpty()) {
+            return new StoryFinder().findPaths(codeLocationFromClass(this.getClass()), "**/" + story + ".story", "**/excluded*.story");
+        } else {
+            return new StoryFinder().findPaths(codeLocationFromClass(this.getClass()), "**/*.story", "**/excluded*.story");
+        }
+
+    }
 }

Modified: rave/branches/mongo/rave-integration-tests/rave-admin-tests/src/main/stories/deleteNewUser.story
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-integration-tests/rave-admin-tests/src/main/stories/deleteNewUser.story?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-integration-tests/rave-admin-tests/src/main/stories/deleteNewUser.story (original)
+++ rave/branches/mongo/rave-integration-tests/rave-admin-tests/src/main/stories/deleteNewUser.story Fri Dec 28 17:43:23 2012
@@ -34,7 +34,7 @@ Then I see the admin interface
 When I click the "Users" link
 Then I get the user search form
 When I search for username "newuser"
-Then I see the matches for "newuser"
+Then I see the user matches for "newuser"
 When I click the link for information on "newuser"
 Then I see the information for user "newuser"
 When I delete the the user "newuser"

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

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

Modified: rave/branches/mongo/rave-integration-tests/rave-default-account-tests/src/main/stories/openidLogin.story
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-integration-tests/rave-default-account-tests/src/main/stories/openidLogin.story?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-integration-tests/rave-default-account-tests/src/main/stories/openidLogin.story (original)
+++ rave/branches/mongo/rave-integration-tests/rave-default-account-tests/src/main/stories/openidLogin.story Fri Dec 28 17:43:23 2012
@@ -30,6 +30,6 @@ Then I see the login page
 When I provide my OpenID identity "http://rave2011.myopenid.com/"
 Then I see the OpenID authentication page
 When I provide my OpenID password "rave2011"
-Then I see the message "Hello http://rave2011.myopenid.com/, welcome to Rave!" for the user "http://rave2011.myopenid.com/"
+Then I see the message "Hello rave2011.myopenid.com, welcome to Rave!" for the user "rave2011.myopenid.com"
 When I log out
 Then I see the Rave login page

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

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

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

Modified: rave/branches/mongo/rave-portal-resources/src/main/resources/messages.properties
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-portal-resources/src/main/resources/messages.properties?rev=1426593&r1=1426592&r2=1426593&view=diff
==============================================================================
--- rave/branches/mongo/rave-portal-resources/src/main/resources/messages.properties (original)
+++ rave/branches/mongo/rave-portal-resources/src/main/resources/messages.properties Fri Dec 28 17:43:23 2012
@@ -50,6 +50,8 @@ page.error.details=technical details
 page.general.back=Back to Rave
 page.general.browse=Browse
 page.general.addnewpage=Add a New Page
+page.general.importnewpage=Import Page
+page.general.exportpage=Export Page
 page.general.close=Close
 page.general.confirmpassword=Confirm password:
 page.general.deletepage=Delete Page
@@ -162,10 +164,12 @@ page.userprofile.message.success=User pr
 
 page.widget.title=Widget Detail
 page.widget.addToPage=Add to Page
+page.widget.addedToPage=Added to Page
 page.widget.backToStore=Back to Store
 page.widget.marketplace.title=Widget Detail
 page.widget.backToMarketplace=Back to Marketplace
 page.widget.marketplace.addToStore=Add Widget to Store
+page.widget.marketplace.showdetail.notavailable=Unable to show the detail page for this widget. This may be because the marketplace provider does not provide a detail view.
 page.widget.widgetPreview=Widget Preview
 page.widget.comments=Comments
 page.widget.comment.edit=Edit Comment
@@ -352,6 +356,8 @@ widget.chrome.toggle=Collapse/Restore Wi
 widget.chrome.disabled=This widget is currently disabled
 
 widget.menu.about=About this Widget
+widget.menu.comment=Comment on this Widget
+widget.menu.rate=Rate this Widget
 widget.menu.delete=Delete Widget
 widget.menu.editprefs=Edit Preferences
 widget.menu.maximize=Maximize
@@ -362,6 +368,7 @@ widget.menu.title=Widget Actions
 sharing.page.confirm.message={0} has shared this page with you. Do you wish to accept and add this page to your collection?
 sharing.page.tab.icon.tip.from=This page has been shared with you by {0}
 sharing.page.tab.icon.tip.to=You have shared this page with other users
+cloned.page.confirm.message=Another user has made a copy of his/her page and shared it with you. Do you wish to accept and add this page to your collection?
 
 #######################################################################################################################
 # messages available to the client javascript via the MessageBundleController must start with "_rave_client."
@@ -418,4 +425,9 @@ _rave_client.failed.add.from.marketplace
 _rave_client.success.add.from.marketplace=Widget was successfully added to the Rave Widget store
 _rave_client.person.profile.friend.requests.none=No Friend Requests
 _rave_client.person.profile.friend.requests=Friend Requests
+_rave_client.import.page.not.supported=Your browser does not support this operation
+_rave_client.confirm.clone.page=Are you sure you wish to create a copy of this page and share it with this user?
+_rave_client.success.clone.page=Cloned page was added to the users collection
+_rave_client.page.clone.dialog.title=Clone
+_rave_client.page.clone.dialog.detail=New
 page.general.status=Relationship Status\: