You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ad...@apache.org on 2013/05/18 19:31:45 UTC

svn commit: r1484150 - in /ofbiz/trunk/framework: base/src/org/ofbiz/base/metrics/MetricsFactory.java common/src/org/ofbiz/common/CommonServices.java

Author: adrianc
Date: Sat May 18 17:31:45 2013
New Revision: 1484150

URL: http://svn.apache.org/r1484150
Log:
Small improvement to the Performance Metrics feature - sort by name the list of metrics.

Modified:
    ofbiz/trunk/framework/base/src/org/ofbiz/base/metrics/MetricsFactory.java
    ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonServices.java

Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/metrics/MetricsFactory.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/metrics/MetricsFactory.java?rev=1484150&r1=1484149&r2=1484150&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/metrics/MetricsFactory.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/metrics/MetricsFactory.java Sat May 18 17:31:45 2013
@@ -28,8 +28,8 @@
  */
 package org.ofbiz.base.metrics;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Collection;
+import java.util.TreeSet;
 
 import org.ofbiz.base.lang.LockedBy;
 import org.ofbiz.base.lang.ThreadSafe;
@@ -131,13 +131,13 @@ public final class MetricsFactory {
     }
 
     /**
-     * Returns all <code>Metric</code> instances.
+     * Returns all <code>Metric</code> instances, sorted by name.
      */
-    public static List<Metrics> getMetrics() {
-        return new ArrayList<Metrics>(METRICS_CACHE.values());
+    public static Collection<Metrics> getMetrics() {
+        return new TreeSet<Metrics>(METRICS_CACHE.values());
     }
 
-    private static final class MetricsImpl implements Metrics {
+    private static final class MetricsImpl implements Metrics, Comparable<Metrics> {
         @LockedBy("this")
         private int count = 0;
         @LockedBy("this")
@@ -165,6 +165,11 @@ public final class MetricsFactory {
         }
 
         @Override
+        public int compareTo(Metrics other) {
+            return this.name.compareTo(other.getName());
+        }
+
+        @Override
         public boolean equals(Object obj) {
             if (obj == this) {
                 return true;

Modified: ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonServices.java?rev=1484150&r1=1484149&r2=1484150&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonServices.java (original)
+++ ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonServices.java Sat May 18 17:31:45 2013
@@ -32,6 +32,7 @@ import java.io.RandomAccessFile;
 import java.io.Writer;
 import java.nio.ByteBuffer;
 import java.sql.Timestamp;
+import java.util.Collection;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -547,7 +548,7 @@ public class CommonServices {
 
     public static Map<String, Object> getAllMetrics(DispatchContext dctx, Map<String, ?> context) {
         List<Map<String, Object>> metricsMapList = FastList.newInstance();
-        List<Metrics> metricsList = MetricsFactory.getMetrics();
+        Collection<Metrics> metricsList = MetricsFactory.getMetrics();
         for (Metrics metrics : metricsList) {
             Map<String, Object> metricsMap = FastMap.newInstance();
             metricsMap.put("name", metrics.getName());