You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by er...@apache.org on 2013/08/09 19:34:21 UTC

svn commit: r1512413 - in /rave/trunk/rave-components: rave-core-api/src/main/java/org/apache/rave/rest/ rave-core-api/src/main/java/org/apache/rave/rest/filters/ rave-core/src/main/java/org/apache/rave/rest/impl/

Author: erinnp
Date: Fri Aug  9 17:34:21 2013
New Revision: 1512413

URL: http://svn.apache.org/r1512413
Log:
RAVE-978, RAVE-1022: Applying patch from Dan Gornstein. 

Modified:
    rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PagesForRenderResource.java
    rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PeopleResource.java
    rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/filters/NotFoundExceptionMapper.java
    rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageForRenderResource.java
    rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPeopleResource.java

Modified: rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PagesForRenderResource.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PagesForRenderResource.java?rev=1512413&r1=1512412&r2=1512413&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PagesForRenderResource.java (original)
+++ rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PagesForRenderResource.java Fri Aug  9 17:34:21 2013
@@ -22,6 +22,7 @@ package org.apache.rave.rest;
 import org.apache.cxf.jaxrs.ext.multipart.Multipart;
 import org.apache.rave.rest.model.Page;
 import org.apache.rave.rest.model.RegionWidget;
+import org.apache.rave.rest.model.SearchResult;
 
 import javax.ws.rs.*;
 import javax.ws.rs.core.MediaType;
@@ -41,7 +42,7 @@ public interface PagesForRenderResource 
     @GET
     @Path("/{context}/{identifier}")
     @Produces(MediaType.APPLICATION_JSON)
-    Response getPagesForRender(@PathParam("context") String context, @PathParam("identifier") String identifier);
+    SearchResult<Page> getPagesForRender(@PathParam("context") String context, @PathParam("identifier") String identifier);
 
     /**
      * Gets the render-ready page definition for the given context, identifier & page id
@@ -53,7 +54,7 @@ public interface PagesForRenderResource 
     @GET
     @Path("/{context}/{identifier}/{id}")
     @Produces(MediaType.APPLICATION_JSON)
-    Response getPageForRender(@PathParam("context") String context,
+    Page getPageForRender(@PathParam("context") String context,
                               @PathParam("identifier") String identifier,
                               @PathParam("id") String id);
 }

Modified: rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PeopleResource.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PeopleResource.java?rev=1512413&r1=1512412&r2=1512413&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PeopleResource.java (original)
+++ rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PeopleResource.java Fri Aug  9 17:34:21 2013
@@ -20,6 +20,8 @@
 package org.apache.rave.rest;
 
 import org.apache.rave.model.FriendRequest;
+import org.apache.rave.rest.model.Person;
+import org.apache.rave.rest.model.SearchResult;
 
 import javax.ws.rs.*;
 import javax.ws.rs.core.MediaType;
@@ -30,12 +32,12 @@ public interface PeopleResource {
 
     @GET
     @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    public Response getPeople();
+    public SearchResult<Person> getPeople();
 
     @GET
     @Path("/{id}")
     @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    public Response getPerson(@PathParam("id") String id);
+    public Person getPerson(@PathParam("id") String id);
 
     @GET
     @Path("/{id}/friends")

Modified: rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/filters/NotFoundExceptionMapper.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/filters/NotFoundExceptionMapper.java?rev=1512413&r1=1512412&r2=1512413&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/filters/NotFoundExceptionMapper.java (original)
+++ rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/filters/NotFoundExceptionMapper.java Fri Aug  9 17:34:21 2013
@@ -34,7 +34,7 @@ public class NotFoundExceptionMapper imp
     public Response toResponse(ResourceNotFoundException e) {
         String id = e.getMessage();
         return Response.status(Response.Status.NOT_FOUND).entity(new ErrorWrapperResponse(
-                "The requested resource could not be found.",
+                "The requested resource could not be found. "+e.getMessage(),
                 "The requested resource could not be found."
         )).build();
     }

Modified: rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageForRenderResource.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageForRenderResource.java?rev=1512413&r1=1512412&r2=1512413&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageForRenderResource.java (original)
+++ rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageForRenderResource.java Fri Aug  9 17:34:21 2013
@@ -21,12 +21,19 @@ package org.apache.rave.rest.impl;
 
 
 import com.google.common.collect.Lists;
+import org.apache.rave.rest.exception.ResourceNotFoundException;
 import org.apache.rave.portal.service.PageService;
 import org.apache.rave.portal.service.UserService;
 import org.apache.rave.portal.web.renderer.RenderService;
 import org.apache.rave.rest.PagesForRenderResource;
+import org.apache.rave.rest.PagesResource;
+import org.apache.rave.rest.exception.BadRequestException;
 import org.apache.rave.rest.model.Page;
 import org.apache.rave.rest.model.PageList;
+import org.apache.rave.rest.model.RegionWidget;
+import org.apache.rave.rest.model.SearchResult;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.inject.Inject;
 import javax.ws.rs.core.Response;
@@ -41,27 +48,60 @@ public class DefaultPageForRenderResourc
     private UserService userService;
 
     @Override
-    public Response getPagesForRender(String context, String identifier) {
+    public SearchResult<Page> getPagesForRender(String context, String identifier) {
         List<org.apache.rave.model.Page> pages;
         if("portal".equals(context)) {
-            String userId = SELF.equals(identifier) ? userService.getAuthenticatedUser().getId() : identifier;
-            pages = pageService.getAllUserPages(userId);
+            try{
+                String userId = SELF.equals(identifier) ? userService.getAuthenticatedUser().getId() : identifier;
+                pages = pageService.getAllUserPages(userId);
+            }catch(Exception e){
+                throw new ResourceNotFoundException(identifier);
+            }
         } else if("profile".equals(context)) {
-            pages = Arrays.asList(pageService.getPersonProfilePage(identifier));
+            try{
+                pages = Arrays.asList(pageService.getPersonProfilePage(identifier));
+            }catch(Exception e){
+                throw new ResourceNotFoundException(identifier);
+            }
         } else {
-            return Response.status(Response.Status.BAD_REQUEST).build();
+            throw new ResourceNotFoundException("Context "+context+" not found");
+        }
+
+        if(pages == null){
+            throw new ResourceNotFoundException(identifier);
         }
+
         List<Page> converted = Lists.newArrayList();
         for(org.apache.rave.model.Page page : pages) {
             Page convert = new Page(page);
             converted.add(renderService.prepareForRender(convert));
         }
-        return Response.ok(new PageList(converted)).build();
+        return new SearchResult<Page>(converted, converted.size());
     }
 
     @Override
-    public Response getPageForRender(String context, String identifier, String id) {
-        return null;
+    public Page getPageForRender(String context, String identifier, String id) {
+        org.apache.rave.model.Page page;
+        if("portal".equals(context)) {
+            String userId = SELF.equals(identifier) ? userService.getAuthenticatedUser().getId() : identifier;
+            page = pageService.getPage(id);
+        } else if("profile".equals(context)) {
+            try{
+                page = pageService.getPersonProfilePage(identifier);
+            }catch (Exception e){
+                throw new ResourceNotFoundException(identifier);
+            }
+        } else {
+            throw new ResourceNotFoundException("Context "+context+" not found");
+        }
+
+        if(page == null){
+            throw new ResourceNotFoundException(id);
+        }
+
+        Page converted = renderService.prepareForRender(new Page(page));
+
+        return converted;
     }
 
     @Inject

Modified: rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPeopleResource.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPeopleResource.java?rev=1512413&r1=1512412&r2=1512413&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPeopleResource.java (original)
+++ rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPeopleResource.java Fri Aug  9 17:34:21 2013
@@ -19,28 +19,42 @@
 package org.apache.rave.rest.impl;
 
 import org.apache.rave.model.FriendRequest;
+import org.apache.rave.model.User;
 import org.apache.rave.portal.service.UserService;
 import org.apache.rave.rest.PeopleResource;
+import org.apache.rave.rest.exception.BadRequestException;
+import org.apache.rave.rest.exception.ResourceNotFoundException;
 import org.apache.rave.rest.model.Person;
+import org.apache.rave.rest.model.SearchResult;
 
 import javax.ws.rs.core.Response;
+import java.util.ArrayList;
+import java.util.List;
 
 public class DefaultPeopleResource implements PeopleResource {
 
     private UserService userService;
 
     @Override
-    public Response getPeople() {
-        throw new UnsupportedOperationException("Not implemented");
+    public SearchResult<Person> getPeople() {
+        SearchResult<org.apache.rave.model.User> fromDb = userService.getAll();
+        List<Person> people = new ArrayList<Person>();
+
+        for (org.apache.rave.model.User user : fromDb.getResultSet()) {
+            people.add(new Person(user));
+        }
+
+        SearchResult<Person> returnPeople = new SearchResult<Person>(people, fromDb.getTotalResults());
+        return returnPeople;
     }
 
     @Override
-    public Response getPerson(String id) {
+    public Person getPerson(String id) {
         org.apache.rave.model.Person person = userService.getUserById(id);
         if (person != null) {
-            return Response.ok(new Person(person)).build();
+            return new Person(person);
         } else {
-            return Response.status(Response.Status.NOT_FOUND).build();
+            throw new ResourceNotFoundException(id);
         }
     }