Author: ppoddar
Date: Fri Mar 12 16:14:47 2010
New Revision: 922311

URL: http://svn.apache.org/viewvc?rev=922311&view=rev
Log:
OPENJPA-1566: Allow access to keys of the statistics.

Modified:
    
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryStatistics.java

Modified: 
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryStatistics.java
URL: 
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryStatistics.java?rev=922311&r1=922310&r2=922311&view=diff
==============================================================================
--- 
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryStatistics.java
 (original)
+++ 
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryStatistics.java
 Fri Mar 12 16:14:47 2010
@@ -23,6 +23,7 @@ import java.io.Serializable;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Set;
 
 /**
  * Records query execution statistics.
@@ -38,6 +39,11 @@ import java.util.Map;
  * 
  */
 public interface QueryStatistics<T> extends Serializable {
+    
+    /**
+     *  Gets all the identifier keys for the cached queries.
+     */
+    public Set<T> keys();
        
        /**
         * Record that the given query has been executed. 
@@ -126,6 +132,10 @@ public interface QueryStatistics<T> exte
                private Map<T, long[]> astats = new HashMap<T, long[]>();
                private Date start = new Date();
                private Date since = start;
+               
+               public Set<T> keys() {
+                   return stats.keySet();
+               }
 
                public long getExecutionCount() {
                        return stat[READ];
@@ -205,6 +215,8 @@ public interface QueryStatistics<T> exte
                }
                
                public void recordExecution(T query) {
+                   if (query == null)
+                       return;
                    boolean cached = (astats.containsKey(query));
                        addSample(query, READ);
                        if (cached)


Reply via email to