[Carbon-dev] svn commit r41187 - in trunk/carbon: org.wso2.carbon.server.admin.ui/src/main/resources/web/server-admin org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui

azeez at wso2.com azeez at wso2.com
Mon Jul 13 18:32:54 PDT 2009


Author: azeez
Date: Mon Jul 13 18:32:53 2009
New Revision: 41187
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=41187

Log:
Cache the proxy object in the HTTP session

Modified:
   trunk/carbon/org.wso2.carbon.server.admin.ui/src/main/resources/web/server-admin/proxy_ajaxprocessor.jsp
   trunk/carbon/org.wso2.carbon.server.admin.ui/src/main/resources/web/server-admin/system_status_ajaxprocessor.jsp
   trunk/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/CarbonUIUtil.java

Modified: trunk/carbon/org.wso2.carbon.server.admin.ui/src/main/resources/web/server-admin/proxy_ajaxprocessor.jsp
URL: http://wso2.org/svn/browse/wso2/trunk/carbon/org.wso2.carbon.server.admin.ui/src/main/resources/web/server-admin/proxy_ajaxprocessor.jsp?rev=41187&r1=41186&r2=41187&view=diff
==============================================================================
--- trunk/carbon/org.wso2.carbon.server.admin.ui/src/main/resources/web/server-admin/proxy_ajaxprocessor.jsp	(original)
+++ trunk/carbon/org.wso2.carbon.server.admin.ui/src/main/resources/web/server-admin/proxy_ajaxprocessor.jsp	Mon Jul 13 18:32:53 2009
@@ -18,7 +18,7 @@
     IServerAdmin proxy =
             (IServerAdmin) CarbonUIUtil.
                     getServerProxyObject(new ServerAdminClient(ctx, backendServerURL, cookie, session),
-                                         IServerAdmin.class);
+                                         IServerAdmin.class, session);
 
     try {
         if ("restart".equals(action)) {

Modified: trunk/carbon/org.wso2.carbon.server.admin.ui/src/main/resources/web/server-admin/system_status_ajaxprocessor.jsp
URL: http://wso2.org/svn/browse/wso2/trunk/carbon/org.wso2.carbon.server.admin.ui/src/main/resources/web/server-admin/system_status_ajaxprocessor.jsp?rev=41187&r1=41186&r2=41187&view=diff
==============================================================================
--- trunk/carbon/org.wso2.carbon.server.admin.ui/src/main/resources/web/server-admin/system_status_ajaxprocessor.jsp	(original)
+++ trunk/carbon/org.wso2.carbon.server.admin.ui/src/main/resources/web/server-admin/system_status_ajaxprocessor.jsp	Mon Jul 13 18:32:53 2009
@@ -27,7 +27,7 @@
         IServerAdmin proxy =
             (IServerAdmin) CarbonUIUtil.
                     getServerProxyObject(new ServerAdminClient(configContext, serverURL, cookie, session),
-                                         IServerAdmin.class);
+                                         IServerAdmin.class, session);
         data = proxy.getServerData();
     } catch (Exception e) {
         CarbonError error = new CarbonError();

Modified: trunk/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/CarbonUIUtil.java
URL: http://wso2.org/svn/browse/wso2/trunk/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/CarbonUIUtil.java?rev=41187&r1=41186&r2=41187&view=diff
==============================================================================
--- trunk/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/CarbonUIUtil.java	(original)
+++ trunk/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/CarbonUIUtil.java	Mon Jul 13 18:32:53 2009
@@ -34,16 +34,25 @@
      *
      * @param clientClassObject Web services client
      * @param osgiObjectClass OSGi service class
+     * @param session The HTTP Session
      * @return Proxy object
      */
     public static Object getServerProxyObject(Object clientClassObject,
-                                              Class osgiObjectClass) {
+                                              Class osgiObjectClass,
+                                              HttpSession session) {
+        if (session.getAttribute(osgiObjectClass.getName()) != null) {
+            return session.getAttribute(osgiObjectClass.getName());
+        }
+        Object result;
         Object service =
                 bundleContext.getService(bundleContext.getServiceReference(osgiObjectClass.getName()));
-        if (service != null){
-            return service;
+        if (service != null) {
+            result = service;
+        } else {
+            result = clientClassObject;
         }
-        return clientClassObject;
+        session.setAttribute(osgiObjectClass.getName(), result);
+        return result;
     }
 
     public static void setBundleContext(BundleContext context) {



More information about the Carbon-dev mailing list