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

Reply via email to