Author: [email protected]
Date: Fri Jan 6 11:56:34 2012
New Revision: 1889
Log:
[AMDATUOPENSOCIAL-174] Major performance improvement: only load gadgets for
selected category
Modified:
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/GadgetManagementRESTServiceImpl.java
Modified:
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/GadgetManagementRESTServiceImpl.java
==============================================================================
---
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/GadgetManagementRESTServiceImpl.java
(original)
+++
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/GadgetManagementRESTServiceImpl.java
Fri Jan 6 11:56:34 2012
@@ -42,7 +42,7 @@
@Path("gadgetstore")
public class GadgetManagementRESTServiceImpl extends BaseRESTServiceImpl {
-
+
public void start() {
getLogService().log(LogService.LOG_DEBUG, "Gadget Management REST
service started.");
}
@@ -53,7 +53,7 @@
* @return The text "Gadget management service online"
*/
@GET
- @Produces({MediaType.TEXT_PLAIN})
+ @Produces({ MediaType.TEXT_PLAIN })
public String status() {
return "Gadget management service online";
}
@@ -66,22 +66,22 @@
*/
@GET
@Path("categories")
- @Produces({MediaType.APPLICATION_JSON})
+ @Produces({ MediaType.APPLICATION_JSON })
public Response getCategories(@Context final HttpHeaders headers, @Context
final HttpServletRequest request) {
Categories catBeans = new Categories();
try {
for (GadgetCategory category :
getGadgetManagement().getCategories()) {
// FIXME: disabled the authorization check for now as this
change is far from complete
// See AMDATUOPENSOCIAL-146
- // if (canSeeGadgetCategory(getUserFromRequest(request),
category)) {
- Category catBean = new Category();
- catBean.setAddAccessGranted(isAuthorized(request));
- catBean.setId(category.getId());
- catBean.setTitle(category.getName());
- catBean.setAmount(category.getGadgetCount());
- catBean.setUrl(request.getContextPath() +
"/rest/gadgetstore/gadgets/all?category=" + category.getId());
- catBeans.addCategory(catBean);
- // }
+ // if (canSeeGadgetCategory(getUserFromRequest(request),
category)) {
+ Category catBean = new Category();
+ catBean.setAddAccessGranted(isAuthorized(request));
+ catBean.setId(category.getId());
+ catBean.setTitle(category.getName());
+ catBean.setAmount(category.getGadgetCount());
+ catBean.setUrl(request.getContextPath() +
"/rest/gadgetstore/gadgets/all?category=" + category.getId());
+ catBeans.addCategory(catBean);
+ // }
}
}
catch (Exception e) {
@@ -91,7 +91,7 @@
return Response.ok(catBeans,
MediaType.APPLICATION_JSON_TYPE).cacheControl(NO_CACHE_CONTROL)
.build();
}
-
+
/**
* Returns gadgets available in the gadget store. URL to this resource:
* /rest/gadgetstore/gadgets/all
@@ -100,7 +100,7 @@
*/
@GET
@Path("gadgets/all")
- @Produces({MediaType.APPLICATION_JSON})
+ @Produces({ MediaType.APPLICATION_JSON })
public Response getAllGadgets(@Context final HttpHeaders headers, @Context
final HttpServletRequest request,
@DefaultValue("") @QueryParam("category") final String categoryId) {
Widgets widgets = new Widgets();
@@ -109,15 +109,16 @@
// Return all gadgets
for (GadgetDefinition gadgetDefinition :
getGadgetManagement().getGadgets()) {
boolean skip = false;
- Widget widget = getWidget(request,
toAbsoluteUrl(gadgetDefinition.getUrl(), request), null);
- if (widget != null) {
- if (!"".equals(categoryId)) {
- String category =
gadgetDefinition.getCategory().getId();
- if (!category.equals(categoryId)) {
- skip = true;
- }
+ if (!"".equals(categoryId)) {
+ String category = gadgetDefinition.getCategory().getId();
+ if (!category.equals(categoryId)) {
+ skip = true;
}
- if (!skip) {
+ }
+
+ if (!skip) {
+ Widget widget = getWidget(request,
toAbsoluteUrl(gadgetDefinition.getUrl(), request), null);
+ if (widget != null) {
// Be sure to add the security token
String gadgetUrl = widget.getMetadata().getGadgetUrl();
String st =
getOpenSocialContainer().getSecurityToken(gadgetUrl, request);
@@ -162,7 +163,7 @@
*/
@GET
@Path("gadgets")
- @Produces({MediaType.APPLICATION_JSON})
+ @Produces({ MediaType.APPLICATION_JSON })
public Response getGadget(@Context final HttpHeaders headers, @Context
final HttpServletRequest request,
@QueryParam("uri") final String uri) {
try {
@@ -252,14 +253,14 @@
*/
@POST
@Path("gadgets")
- @Produces({MediaType.APPLICATION_JSON})
+ @Produces({ MediaType.APPLICATION_JSON })
public Response addGadget(@Context final HttpHeaders headers, @Context
final HttpServletRequest request,
@QueryParam("uri") final String uri, @QueryParam("category") final
String categoryId) {
try {
if (!isAuthorized(request)) {
return
Response.status(Response.Status.UNAUTHORIZED).cacheControl(NO_CACHE_CONTROL).build();
}
-
+
if (uri == null || "".equals(uri) || categoryId == null ||
"".equals(categoryId)) {
return
Response.status(Response.Status.BAD_REQUEST).cacheControl(NO_CACHE_CONTROL).build();
}
@@ -286,7 +287,7 @@
// Be sure to add the security token
String st = getOpenSocialContainer().getSecurityToken(uri,
request);
widget.getMetadata().setSecureToken(st);
-
+
widget.setId(Integer.toString(getStartId(request)));
return Response.ok(widget,
MediaType.APPLICATION_JSON_TYPE).cacheControl(NO_CACHE_CONTROL).build();
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits