Author: indika
Date: Thu Mar 26 07:39:36 2009
New Revision: 758540

URL: http://svn.apache.org/viewvc?rev=758540&view=rev
Log:
changes to stats view
add method to clear stats after get

Modified:
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsCollector.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/mbean/StatisticsView.java

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsCollector.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsCollector.java?rev=758540&r1=758539&r2=758540&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsCollector.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsCollector.java
 Thu Mar 26 07:39:36 2009
@@ -18,15 +18,11 @@
  */
 package org.apache.synapse.aspects.statistics;
 
-import org.apache.synapse.aspects.ComponentType;
 import org.apache.synapse.aspects.statistics.mbean.StatisticsView;
-import org.apache.synapse.aspects.statistics.view.InOutStatisticsView;
-import org.apache.synapse.aspects.statistics.view.StatisticsViewStrategy;
 import org.apache.synapse.commons.util.MBeanRegistrar;
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 
 /**
  * Collects statistics and provides those collected data
@@ -68,36 +64,25 @@
     }
 
     /**
-     * Returns a particular statistics view according to a given strategy for 
a given
-     * resource with particular type
+     * Returns All collected statistics records
      *
-     * @param id       Resource id
-     * @param type     Type of the resource
-     * @param strategy Statistics viewing strategy
-     * @return Statistics view
+     * @return A list of StatisticsRecord
      */
-    public Map<String, InOutStatisticsView> getStatistics(String id,
-                                                          ComponentType type,
-                                                          
StatisticsViewStrategy strategy) {
-        return strategy.determineView(id, getCopy(), type);
+    public List<StatisticsRecord> getStatisticsRecords() {
+        List<StatisticsRecord> records = new ArrayList<StatisticsRecord>();
+        records.addAll(statisticsCollection);
+        return records;
     }
 
     /**
-     * Returns a particular statistics view according to a given strategy for 
a given resource type
+     * Return and clear collected statistics records
      *
-     * @param type     type Type of the resource
-     * @param strategy strategy Statistics viewing strategy
-     * @return Statistics view
+     * @return A list of StatisticsRecord
      */
-    public Map<String, Map<String, InOutStatisticsView>> getStatistics(
-            ComponentType type,
-            StatisticsViewStrategy strategy) {
-        return strategy.determineView(getCopy(), type);
-    }
-
-    private List<StatisticsRecord> getCopy() {
+    public List<StatisticsRecord> getAndClearStatisticsRecords() {
         List<StatisticsRecord> records = new ArrayList<StatisticsRecord>();
         records.addAll(statisticsCollection);
+        statisticsCollection.clear();
         return records;
     }
 }

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/mbean/StatisticsView.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/mbean/StatisticsView.java?rev=758540&r1=758539&r2=758540&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/mbean/StatisticsView.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/mbean/StatisticsView.java
 Thu Mar 26 07:39:36 2009
@@ -43,32 +43,41 @@
 
     public List<String> getSystemEndpointStats(String id) {
         return getAsList(
-                this.collector.getStatistics(id, ComponentType.ENDPOINT, 
systemViewStrategy));
+                this.systemViewStrategy.determineView(id,
+                        collector.getStatisticsRecords(),
+                        ComponentType.ENDPOINT));
     }
 
     public List<String> getSystemSequnceStats(String id) {
-        return getAsList(this.collector.getStatistics(id,
-                ComponentType.SEQUENCE, systemViewStrategy));
+        return getAsList(this.systemViewStrategy.determineView(id,
+                collector.getStatisticsRecords(),
+                ComponentType.SEQUENCE));
     }
 
     public List<String> getSystemProxyServiceStats(String id) {
-        return getAsList(this.collector.getStatistics(id,
-                ComponentType.PROXYSERVICE, systemViewStrategy));
+        return getAsList(this.systemViewStrategy.determineView(id,
+                collector.getStatisticsRecords(),
+                ComponentType.PROXYSERVICE));
+
     }
 
     public List<String> getSystemEndpointsStats() {
         return getAllStatsAsList(
-                this.collector.getStatistics(ComponentType.ENDPOINT, 
systemViewStrategy));
+                
this.systemViewStrategy.determineView(collector.getStatisticsRecords(),
+                        ComponentType.ENDPOINT));
     }
 
     public List<String> getSystemSequncesStats() {
         return getAllStatsAsList(
-                this.collector.getStatistics(ComponentType.SEQUENCE, 
systemViewStrategy));
+                
this.systemViewStrategy.determineView(collector.getStatisticsRecords(),
+                        ComponentType.SEQUENCE));
     }
 
     public List<String> getSystemProxyServicesStats() {
         return getAllStatsAsList(
-                this.collector.getStatistics(ComponentType.PROXYSERVICE, 
systemViewStrategy));
+                
this.systemViewStrategy.determineView(collector.getStatisticsRecords(),
+                        ComponentType.PROXYSERVICE));
+
     }
 
     public void clearAllStatistics() {


Reply via email to