Author: erinnp
Date: Thu Aug 1 17:53:57 2013
New Revision: 1509350
URL: http://svn.apache.org/r1509350
Log:
Update page, region, regionwidget resources to delegate to subresources for get
methods
Modified:
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PagesResource.java
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/RegionWidgetsResource.java
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/RegionsResource.java
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/JsonResponseWrapper.java
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Region.java
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageResource.java
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultRegionWidgetsResource.java
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultRegionsResource.java
Modified:
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PagesResource.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PagesResource.java?rev=1509350&r1=1509349&r2=1509350&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PagesResource.java
(original)
+++
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PagesResource.java
Thu Aug 1 17:53:57 2013
@@ -22,10 +22,12 @@ package org.apache.rave.rest;
import org.apache.rave.rest.model.Page;
import org.apache.rave.rest.model.Region;
import org.apache.rave.rest.model.RegionWidget;
+import org.apache.rave.rest.model.SearchResult;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import java.util.List;
@Path("/pages")
public interface PagesResource {
@@ -42,7 +44,7 @@ public interface PagesResource {
@GET
@Path("/")
@Produces(MediaType.APPLICATION_JSON)
- Response getPages();
+ SearchResult<Page> getPages();
/**
* Creates a new page
@@ -54,7 +56,7 @@ public interface PagesResource {
@Path("/")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
- Response createPage(Page page);
+ Page createPage(Page page);
/**
* Deletes the given page
@@ -64,7 +66,7 @@ public interface PagesResource {
*/
@DELETE
@Path("/{pageId}")
- Response deletePage(@PathParam("pageId") String pageId);
+ Page deletePage(@PathParam("pageId") String pageId);
/**
* Returns the given page
@@ -76,7 +78,7 @@ public interface PagesResource {
@GET
@Path("/{pageId}")
@Produces(MediaType.APPLICATION_JSON)
- Response getPage(@PathParam("pageId") String id);
+ Page getPage(@PathParam("pageId") String id);
/**
* Updates the given page
@@ -89,7 +91,7 @@ public interface PagesResource {
@Path("/{pageId}")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
- Response updatePage(@PathParam("pageId") String pageId, Page page);
+ Page updatePage(@PathParam("pageId") String pageId, Page page);
/**
* Returns the OMDL representation of the page
Modified:
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/RegionWidgetsResource.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/RegionWidgetsResource.java?rev=1509350&r1=1509349&r2=1509350&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/RegionWidgetsResource.java
(original)
+++
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/RegionWidgetsResource.java
Thu Aug 1 17:53:57 2013
@@ -22,12 +22,12 @@ package org.apache.rave.rest;
import org.apache.rave.rest.model.Page;
import org.apache.rave.rest.model.Region;
import org.apache.rave.rest.model.RegionWidget;
+import org.apache.rave.rest.model.SearchResult;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-@Path("/pages")
public interface RegionWidgetsResource {
/*
@@ -42,13 +42,13 @@ public interface RegionWidgetsResource {
@GET
@Path("/")
@Produces(MediaType.APPLICATION_JSON)
- Response getPageRegionRegionWidgets();
+ SearchResult<RegionWidget> getPageRegionRegionWidgets();
@POST
@Path("/")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
- Response createPageRegionRegionWidget(RegionWidget regionWidget);
+ RegionWidget createPageRegionRegionWidget(RegionWidget regionWidget);
/**
* Returns a regionWidget associated with a page and a region
@@ -59,7 +59,7 @@ public interface RegionWidgetsResource {
@GET
@Path("/{regionWidgetId}")
@Produces(MediaType.APPLICATION_JSON)
- Response getPageRegionRegionWidget(@PathParam("regionWidgetId") String
regionWidgetId);
+ RegionWidget getPageRegionRegionWidget(@PathParam("regionWidgetId") String
regionWidgetId);
/**
* Updates a regionWidget associated with a page and a region
@@ -72,7 +72,7 @@ public interface RegionWidgetsResource {
@Path("/{regionWidgetId}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
- Response updatePageRegionRegionWidget(@PathParam("regionWidgetId") String
regionWidgetId, RegionWidget regionWidget);
+ RegionWidget updatePageRegionRegionWidget(@PathParam("regionWidgetId")
String regionWidgetId, RegionWidget regionWidget);
/**
* Deletes a regionWidget from a page region
@@ -83,5 +83,5 @@ public interface RegionWidgetsResource {
@DELETE
@Path("/{regionWidgetId}")
@Produces(MediaType.APPLICATION_JSON)
- Response deletePageRegionRegionWidget(@PathParam("regionWidgetId") String
regionWidgetId);
+ RegionWidget deletePageRegionRegionWidget(@PathParam("regionWidgetId")
String regionWidgetId);
}
Modified:
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/RegionsResource.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/RegionsResource.java?rev=1509350&r1=1509349&r2=1509350&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/RegionsResource.java
(original)
+++
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/RegionsResource.java
Thu Aug 1 17:53:57 2013
@@ -22,6 +22,7 @@ package org.apache.rave.rest;
import org.apache.rave.rest.model.Page;
import org.apache.rave.rest.model.Region;
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 RegionsResource {
@GET
@Path("/")
@Produces(MediaType.APPLICATION_JSON)
- Response getPageRegions();
+ SearchResult<Region> getPageRegions();
/**
* Creates a new page region
@@ -53,7 +54,7 @@ public interface RegionsResource {
@Path("/")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
- Response createPageRegion( Region region);
+ Region createPageRegion( Region region);
/**
* Returns a particular region associated with a page
@@ -64,7 +65,7 @@ public interface RegionsResource {
@GET
@Path("/{regionId}")
@Produces(MediaType.APPLICATION_JSON)
- Response getPageRegion( @PathParam("regionId") String regionId);
+ Region getPageRegion( @PathParam("regionId") String regionId);
/**
* Update a page region
@@ -77,7 +78,7 @@ public interface RegionsResource {
@Path("/{regionId}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
- Response updatePageRegion( @PathParam("regionId") String regionId, Region
region);
+ Region updatePageRegion( @PathParam("regionId") String regionId, Region
region);
/**
* Deletes a page region
@@ -89,7 +90,7 @@ public interface RegionsResource {
@Path("/{regionId}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
- Response deletePageRegion( @PathParam("regionId") String regionId);
+ Region deletePageRegion( @PathParam("regionId") String regionId);
/*
--- RegionWidget Operations
Modified:
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/JsonResponseWrapper.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/JsonResponseWrapper.java?rev=1509350&r1=1509349&r2=1509350&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/JsonResponseWrapper.java
(original)
+++
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/JsonResponseWrapper.java
Thu Aug 1 17:53:57 2013
@@ -66,7 +66,7 @@ public class JsonResponseWrapper {
Integer prevOffset = null;
Integer nextOffset = null;
- //if limit = 0, then we return full data set and there is no pagination
+ //if limit == 0, then we return full data set and there is no
pagination
if (limit > 0) {
//build prev offset
if (offset > 0) {
Modified:
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Region.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Region.java?rev=1509350&r1=1509349&r2=1509350&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Region.java
(original)
+++
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Region.java
Thu Aug 1 17:53:57 2013
@@ -30,6 +30,8 @@ import java.util.List;
public class Region {
@XmlElement(name = "locked")
private boolean locked;
+
+ private String id;
@XmlElementWrapper(name = "regionWidgets")
@XmlElement(name="RegionWidget")
private List<RegionWidget> regionWidgets;
@@ -39,6 +41,7 @@ public class Region {
public Region(org.apache.rave.model.Region source) {
this.locked = source.isLocked();
this.regionWidgets = createRegionWidgets(source);
+ this.id = source.getId();
}
public boolean isLocked() {
@@ -49,6 +52,14 @@ public class Region {
this.locked = locked;
}
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
public List<RegionWidget> getRegionWidgets() {
return regionWidgets;
}
Modified:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageResource.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageResource.java?rev=1509350&r1=1509349&r2=1509350&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageResource.java
(original)
+++
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageResource.java
Thu Aug 1 17:53:57 2013
@@ -20,6 +20,7 @@
package org.apache.rave.rest.impl;
+import org.apache.rave.model.PageType;
import org.apache.rave.portal.service.PageService;
import org.apache.rave.rest.PagesResource;
import org.apache.rave.rest.RegionsResource;
@@ -29,6 +30,8 @@ import org.slf4j.LoggerFactory;
import javax.inject.Inject;
import javax.ws.rs.core.Response;
+import java.util.ArrayList;
+import java.util.List;
public class DefaultPageResource implements PagesResource {
@@ -36,37 +39,55 @@ public class DefaultPageResource impleme
private PageService pageService;
@Override
- public Response getPages() {
- return Response.ok(pageService.getAll()).build();
+ public SearchResult<Page> getPages() {
+ SearchResult<org.apache.rave.model.Page> fromDb = pageService.getAll();
+ List<Page> pages = new ArrayList<Page>();
+
+ for(org.apache.rave.model.Page page : fromDb.getResultSet()) {
+ pages.add(new Page(page));
+ }
+
+ SearchResult<Page> returnPages = new SearchResult<Page>(pages,
fromDb.getTotalResults());
+ return returnPages;
}
@Override
- public Response createPage(Page page) {
- //pageService.createPage(page)
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ public Page createPage(Page page) {
+ //TODO: RAVE-977 - when Page type enum is deprecated escape from this
logic
+ if(page.getPageType() == "user") {
+ org.apache.rave.model.Page fromDb =
pageService.addNewUserPage(page.getName(), page.getPageLayoutCode());
+ Page responsePage = new Page(fromDb);
+
+ return responsePage;
+ } else {
+ //TODO: throw 400 exception
+ return null;
+ }
}
@Override
- public Response deletePage(String id) {
+ public Page deletePage(String id) {
logger.debug("Deleting page " + id);
pageService.deletePage(id);
- return Response.noContent().build();
+ return null;
}
@Override
- public Response getPage(String id) {
+ public Page getPage(String id) {
logger.debug("Retrieving page for export: " + id);
org.apache.rave.model.Page fromDb = pageService.getPage(id);
+ //TODO: throw 404 exception if getPage returns null
+ Page responsePage = new Page(fromDb);
- return Response.ok(new Page(fromDb)).build();
+ return responsePage;
}
@Override
- public Response updatePage(String id, Page page) {
+ public Page updatePage(String id, Page page) {
org.apache.rave.model.Page fromDb = pageService.updatePage(id,
page.getName(), page.getPageLayoutCode());
Page responsePage = new Page(fromDb);
- return Response.ok(new JsonResponseWrapper(responsePage)).build();
+ return responsePage;
}
@Override
@@ -76,8 +97,7 @@ public class DefaultPageResource impleme
@Override
public RegionsResource getRegionsResource(String pageId) {
- org.apache.rave.model.Page fromDb = pageService.getPage(pageId);
- Page page = new Page(fromDb);
+ Page page = getPage(pageId);
return new DefaultRegionsResource(page);
}
Modified:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultRegionWidgetsResource.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultRegionWidgetsResource.java?rev=1509350&r1=1509349&r2=1509350&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultRegionWidgetsResource.java
(original)
+++
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultRegionWidgetsResource.java
Thu Aug 1 17:53:57 2013
@@ -21,48 +21,76 @@ package org.apache.rave.rest.impl;
import org.apache.rave.portal.service.PageService;
-import org.apache.rave.portal.service.RegionWidgetService;
+import org.apache.rave.rest.model.Page;
+import org.apache.rave.rest.model.Region;
import org.apache.rave.rest.RegionWidgetsResource;
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.PathParam;
import javax.ws.rs.core.Response;
+import java.util.List;
public class DefaultRegionWidgetsResource implements RegionWidgetsResource {
private Logger logger = LoggerFactory.getLogger(getClass());
- private RegionWidgetService regionWidgetService;
+ private static PageService pageService;
- @Inject
- public void setRegionWidgetService(RegionWidgetService
regionWidgetService) {
- this.regionWidgetService = regionWidgetService;
+ private Page page;
+ private Region region;
+
+ public DefaultRegionWidgetsResource(Page page, Region region) {
+ this.page = page;
+ this.region = region;
}
@Override
- public Response getPageRegionRegionWidgets() {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ public SearchResult<RegionWidget> getPageRegionRegionWidgets() {
+ List<RegionWidget> regionWidgets = region.getRegionWidgets();
+ SearchResult<RegionWidget> results = new
SearchResult<RegionWidget>(regionWidgets, regionWidgets.size());
+
+ return results;
}
@Override
- public Response createPageRegionRegionWidget(RegionWidget regionWidget) {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ public RegionWidget createPageRegionRegionWidget(RegionWidget
regionWidget) {
+ //TODO: pageService is not being injected - how do I get that to work
with an instantiated class?
+ org.apache.rave.model.RegionWidget fromDb =
+ pageService.addWidgetToPageRegion(page.getId(),
regionWidget.getWidgetId(), regionWidget.getRegionId());
+
+ return new RegionWidget(fromDb);
}
@Override
- public Response getPageRegionRegionWidget(@PathParam("regionWidgetId")
String regionWidgetId) {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ public RegionWidget getPageRegionRegionWidget(String regionWidgetId) {
+ List<RegionWidget> regionWidgets = region.getRegionWidgets();
+ RegionWidget match = null;
+ for(RegionWidget widget: regionWidgets) {
+ if(widget.getId().equals(regionWidgetId)) {
+ match = widget;
+ break;
+ }
+ }
+ //TODO: if match == null throw 404 exception
+
+ return match;
}
@Override
- public Response updatePageRegionRegionWidget(@PathParam("regionWidgetId")
String regionWidgetId, RegionWidget regionWidget) {
+ public RegionWidget updatePageRegionRegionWidget(String regionWidgetId,
RegionWidget regionWidget) {
return null; //To change body of implemented methods use File |
Settings | File Templates.
}
@Override
- public Response deletePageRegionRegionWidget(@PathParam("regionWidgetId")
String regionWidgetId) {
+ public RegionWidget deletePageRegionRegionWidget(String regionWidgetId) {
return null; //To change body of implemented methods use File |
Settings | File Templates.
}
+
+ @Inject
+ public static void setPageService(PageService pS) {
+ pageService = pS;
+ }
}
Modified:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultRegionsResource.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultRegionsResource.java?rev=1509350&r1=1509349&r2=1509350&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultRegionsResource.java
(original)
+++
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultRegionsResource.java
Thu Aug 1 17:53:57 2013
@@ -20,25 +20,20 @@
package org.apache.rave.rest.impl;
-import org.apache.rave.portal.service.PageService;
-import org.apache.rave.portal.service.RegionService;
import org.apache.rave.rest.RegionWidgetsResource;
import org.apache.rave.rest.RegionsResource;
import org.apache.rave.rest.model.Page;
import org.apache.rave.rest.model.Region;
+import org.apache.rave.rest.model.SearchResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.inject.Inject;
-import javax.ws.rs.PathParam;
import javax.ws.rs.core.Response;
import java.util.List;
public class DefaultRegionsResource implements RegionsResource {
private Logger logger = LoggerFactory.getLogger(getClass());
- private RegionService regionService;
- private PageService pageService;
private Page page;
public DefaultRegionsResource(Page page) {
@@ -46,32 +41,50 @@ public class DefaultRegionsResource impl
}
@Override
- public Response getPageRegions() {
- return Response.ok(page.getRegions()).build();
+ public SearchResult<Region> getPageRegions() {
+ List<Region> regions = page.getRegions();
+ SearchResult<Region> results = new SearchResult<Region>(regions,
regions.size());
+
+ return results;
}
@Override
- public Response createPageRegion(Region region) {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ public Region createPageRegion(Region region) {
+ //TODO: this method does not make sense since regions are changed via
a page's pageLayoutCode
+ return null;
}
@Override
- public Response getPageRegion(String regionId) {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ public Region getPageRegion(String regionId) {
+ List<Region> regions = page.getRegions();
+ Region match = null;
+ for(Region region: regions) {
+ if(region.getId().equals(regionId)) {
+ match = region;
+ break;
+ }
+ }
+
+ //TODO: throw a 404 exception if match == null
+ return match;
}
@Override
- public Response updatePageRegion(String regionId, Region region) {
+ public Region updatePageRegion(String regionId, Region region) {
+ //TODO: this method does not make sense since regions are changed via
a page's pageLayoutCode
return null; //To change body of implemented methods use File |
Settings | File Templates.
}
@Override
- public Response deletePageRegion(String regionId) {
+ public Region deletePageRegion(String regionId) {
+ //TODO: this method does not make sense since regions are changed via
a page's pageLayoutCode
return null; //To change body of implemented methods use File |
Settings | File Templates.
}
@Override
public RegionWidgetsResource getRegionWidgetsResource(String regionId) {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ Region region = getPageRegion(regionId);
+
+ return new DefaultRegionWidgetsResource(page, region);
}
}