[pal-cvs 3527] [1261] fixed exception handling, released request context, and initialized request parameters.

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2008年 10月 30日 (木) 11:42:46 JST


Revision: 1261
          http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=pal&view=rev&rev=1261
Author:   shinsuke
Date:     2008-10-30 11:42:46 +0900 (Thu, 30 Oct 2008)

Log Message:
-----------
fixed exception handling, released request context, and initialized request parameters.

Modified Paths:
--------------
    pal-portal/branches/pal-portal-1.x/portal/jetspeed-2/components/portal/src/java/org/apache/jetspeed/engine/JetspeedEngine.java
    pal-portal/branches/pal-portal-1.x/portal/jetspeed-2/components/portal/src/java/org/apache/jetspeed/engine/JetspeedServlet.java


-------------- next part --------------
Modified: pal-portal/branches/pal-portal-1.x/portal/jetspeed-2/components/portal/src/java/org/apache/jetspeed/engine/JetspeedEngine.java
===================================================================
--- pal-portal/branches/pal-portal-1.x/portal/jetspeed-2/components/portal/src/java/org/apache/jetspeed/engine/JetspeedEngine.java	2008-10-30 01:26:45 UTC (rev 1260)
+++ pal-portal/branches/pal-portal-1.x/portal/jetspeed-2/components/portal/src/java/org/apache/jetspeed/engine/JetspeedEngine.java	2008-10-30 02:42:46 UTC (rev 1261)
@@ -256,14 +256,41 @@
         else
             pipeline = getPipeline();
 
-        context.setPipeline(pipeline);
-        // TODO Findbugs
-        pipeline.invoke(context);
+        try
+        {
+            if (pipeline == null) { throw new JetspeedException(
+                    "Unknown pipeline: " + targetPipeline); }
+            context.setPipeline(pipeline);
+            context.getParameterMap(); // initialize request parameters
+            pipeline.invoke(context);
+        }
+        catch (JetspeedException e)
+        {
+            if (statistics != null)
+            {
+                long end = System.currentTimeMillis();
+                statistics.logPageAccess(context,
+                        PortalStatistics.HTTP_INTERNAL_ERROR, end - start);
+            }
+            throw e;
+        }
+        catch (Exception e)
+        {
+            if (statistics != null)
+            {
+                long end = System.currentTimeMillis();
+                statistics.logPageAccess(context,
+                        PortalStatistics.HTTP_INTERNAL_ERROR, end - start);
+            }
+            throw new JetspeedException(e);
+        }
 
-        long end = System.currentTimeMillis();
         if (statistics != null)
+        {
+            long end = System.currentTimeMillis();
             statistics.logPageAccess(context, PortalStatistics.HTTP_OK, end
                     - start);
+        }
     }
 
     /**

Modified: pal-portal/branches/pal-portal-1.x/portal/jetspeed-2/components/portal/src/java/org/apache/jetspeed/engine/JetspeedServlet.java
===================================================================
--- pal-portal/branches/pal-portal-1.x/portal/jetspeed-2/components/portal/src/java/org/apache/jetspeed/engine/JetspeedServlet.java	2008-10-30 01:26:45 UTC (rev 1260)
+++ pal-portal/branches/pal-portal-1.x/portal/jetspeed-2/components/portal/src/java/org/apache/jetspeed/engine/JetspeedServlet.java	2008-10-30 02:42:46 UTC (rev 1261)
@@ -316,8 +316,14 @@
                 // send request through pipeline
                 RequestContext context = contextComponent.create(req, res,
                         getServletConfig());
-                engine.service(context);
-                contextComponent.release(context);
+                try
+                {
+                    engine.service(context);
+                }
+                finally
+                {
+                    contextComponent.release(context);
+                }
             }
 
         }


pal-cvs メーリングリストの案内
Back to archive index