[jboss-svn-commits] JBoss Portal SVN: r5524 - trunk/portlet/src/main/org/jboss/portal/portlet/management

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Oct 31 06:54:12 EST 2006


Author: thomas.heute at jboss.com
Date: 2006-10-31 06:54:06 -0500 (Tue, 31 Oct 2006)
New Revision: 5524

Modified:
   trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java
Log:
Add count errors

Modified: trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java	2006-10-31 10:53:10 UTC (rev 5523)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java	2006-10-31 11:54:06 UTC (rev 5524)
@@ -42,31 +42,48 @@
 
    private Map map = new ConcurrentHashMap();
    
+   
+   // Thread safety is not insured. Might be ok for metrics.
    protected Object invoke(PortletInvocation invocation) throws Exception, InvocationException
    {
       PortletContext portlet = (PortletContext)invocation.getAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE);
       String portletName = portlet.getId();
+      
+      boolean error = false;
 
       long delta = - System.currentTimeMillis();
-      Object object = invocation.invokeNext();
+      Object object;
+      try
+      {
+         object = invocation.invokeNext();
+      }
+      catch (InvocationException e)
+      {
+         error = true;
+         throw e;
+      }
+      catch (Exception e)
+      {
+         error = true;
+         throw e;
+      }
+
       delta += System.currentTimeMillis();
 
       if (invocation instanceof RenderInvocation)
       {
          PortletInfo info = getPortletInfo(portletName);
-         // TODO: Add error count
-         info.newRenderCall(delta, false);
+         info.newRenderCall(delta, error);
       }
       else if (invocation instanceof ActionInvocation)
       {
          PortletInfo info = getPortletInfo(portletName);
-         // TODO: Add error count
-         info.newActionCall(delta, false);
+         info.newActionCall(delta, error);
       }
       return object;
    }
 
-   public PortletInfo getPortletInfo(String key)
+   public synchronized PortletInfo getPortletInfo(String key)
    {
       PortletInfo info = (PortletInfo)map.get(key);
       if (info == null)




More information about the jboss-svn-commits mailing list