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);
}
}