You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2008/10/24 09:46:57 UTC

svn commit: r707577 - in /felix/trunk/webconsole/src/main: java/org/apache/felix/webconsole/internal/misc/EventAdminServlet.java resources/res/ui/events.js

Author: cziegeler
Date: Fri Oct 24 00:46:57 2008
New Revision: 707577

URL: http://svn.apache.org/viewvc?rev=707577&view=rev
Log:
FELIX-790 - Synchronize event list

Modified:
    felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/EventAdminServlet.java
    felix/trunk/webconsole/src/main/resources/res/ui/events.js

Modified: felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/EventAdminServlet.java
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/EventAdminServlet.java?rev=707577&r1=707576&r2=707577&view=diff
==============================================================================
--- felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/EventAdminServlet.java (original)
+++ felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/EventAdminServlet.java Fri Oct 24 00:46:57 2008
@@ -19,8 +19,7 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
@@ -96,10 +95,13 @@
         // we add everything which is not a log event
         if ( !event.getTopic().startsWith("org/osgi/service/log") )
         {
-            this.events.add(event);
-            if ( events.size() > this.maxSize )
+            synchronized ( this.events )
             {
-                events.remove(1);
+                this.events.add(event);
+                if ( events.size() > this.maxSize )
+                {
+                    events.remove(1);
+                }
             }
         }
     }
@@ -130,9 +132,17 @@
 
             jw.array();
 
-            for(int i=0; i<events.size(); i++)
+            List copiedEvents;
+            synchronized ( this.events )
             {
-                eventJson( jw, (Event)events.get(i), i );
+                copiedEvents = new ArrayList(this.events);
+            }
+            int index = 0;
+            final Iterator i = copiedEvents.iterator();
+            while ( i.hasNext() )
+            {
+                eventJson( jw, (Event)i.next(), index );
+                index++;
             }
 
             jw.endArray();
@@ -161,8 +171,10 @@
         jw.key( "properties" );
         jw.object();
         final String[] names = e.getPropertyNames();
-        if ( names != null && names.length > 0 ) {
-            for(int i=0;i<names.length;i++) {
+        if ( names != null && names.length > 0 )
+        {
+            for(int i=0;i<names.length;i++)
+            {
                 jw.key(names[i]);
                 jw.value(e.getProperty(names[i]).toString());
             }

Modified: felix/trunk/webconsole/src/main/resources/res/ui/events.js
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole/src/main/resources/res/ui/events.js?rev=707577&r1=707576&r2=707577&view=diff
==============================================================================
--- felix/trunk/webconsole/src/main/resources/res/ui/events.js (original)
+++ felix/trunk/webconsole/src/main/resources/res/ui/events.js Fri Oct 24 00:46:57 2008
@@ -24,7 +24,7 @@
     document.write( "</tr>" );
 
     document.write( "<tr class='content'>" );
-    document.write( "<th class='content' width='20%'>Topic</th>" );
+    document.write( "<th class='content'>Topic</th>" );
     document.write( "<th class='content'>Properties</th>" );
     document.write( "</tr>" );