You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mc...@apache.org on 2011/10/22 03:05:32 UTC

svn commit: r1187613 [1/3] - in /commons/proper/ognl: ./ 3.0.1_CHM/ 3.0.3_HM/ 3.0.3_RRWL/ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/commons/ src/main/java/org/apache/commons/ognl/ src/main/java/...

Author: mcucchiara
Date: Sat Oct 22 01:05:29 2011
New Revision: 1187613

URL: http://svn.apache.org/viewvc?rev=1187613&view=rev
Log:
Performance analysis

Added:
    commons/proper/ognl/.benchmarks.h2.db   (with props)
    commons/proper/ognl/3.0.1_CHM/
    commons/proper/ognl/3.0.1_CHM/benchmark-ognl.html   (with props)
    commons/proper/ognl/3.0.1_CHM/benchmark-ognl.json
    commons/proper/ognl/3.0.3_HM/
    commons/proper/ognl/3.0.3_HM/benchmark-ognl.html   (with props)
    commons/proper/ognl/3.0.3_HM/benchmark-ognl.json
    commons/proper/ognl/3.0.3_RRWL/
    commons/proper/ognl/3.0.3_RRWL/benchmark-ognl.html   (with props)
    commons/proper/ognl/3.0.3_RRWL/benchmark-ognl.json
    commons/proper/ognl/benchmark-commons-ognl.html   (with props)
    commons/proper/ognl/benchmark-commons-ognl.json
    commons/proper/ognl/benchmark-ognl.html   (with props)
    commons/proper/ognl/benchmark-ognl.json
    commons/proper/ognl/org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest.html   (with props)
    commons/proper/ognl/org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest.json
    commons/proper/ognl/pom.xml   (with props)
    commons/proper/ognl/src/
    commons/proper/ognl/src/main/
    commons/proper/ognl/src/main/java/
    commons/proper/ognl/src/main/java/org/
    commons/proper/ognl/src/main/java/org/apache/
    commons/proper/ognl/src/main/java/org/apache/commons/
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/FieldInvocation.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/FindParameterTypesInvocation.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetConstructorsInvocation.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetDeclaredMethodsInvocation.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetMethodsInvocation.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/InvokeMethodInvocation.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/MethodParameterTypesInvocation.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/PermissionInvocation.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/PrimitiveDefaultInvocation.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/RepeatableInvocation.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseBean.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseGeneric.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseIndexed.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseObjectIndexed.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseSyntheticObject.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/Bean1.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/Bean2.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/Bean3.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BeanProvider.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BeanProviderAccessor.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BeanProviderImpl.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/Component.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/ComponentImpl.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/ComponentSubclass.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/Copy.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/CorrectedObject.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/Cracker.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/Entry.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/EvenOdd.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/FirstBean.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/FormComponentImpl.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/FormImpl.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/GameGeneric.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/GameGenericObject.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/GenericCracker.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/GenericObject.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/GenericRoot.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/GenericService.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/GenericServiceImpl.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/GetterMethods.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/IComponent.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/IContentProvider.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/IForm.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/IFormComponent.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/ITreeContentProvider.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/Indexed.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/IndexedMapObject.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/IndexedSetObject.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/Inherited.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/ListSource.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/ListSourceImpl.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/MenuItem.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/Messages.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/Model.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/MyMap.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/MyMapImpl.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/ObjectIndexed.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/OtherObjectIndexed.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/PersonGenericObject.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/PropertyHolder.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/Root.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/SearchCriteria.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/SearchTab.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/SecondBean.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/SetterReturns.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/Simple.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/SimpleEnum.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/SimpleNumeric.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/SubclassSyntheticObject.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/TestClass.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/TestImpl.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/TestInherited1.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/TestInherited2.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/TestModel.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/TreeContentProvider.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/Two.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/runtime/
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/runtime/CommonsRuntimeWrapper.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/runtime/OldOgnlRuntimeWrapper.java   (with props)
    commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/runtime/RuntimeWrapper.java   (with props)
    commons/proper/ognl/src/main/resources/
    commons/proper/ognl/src/main/resources/log4j.xml   (with props)
    commons/proper/ognl/src/test/
    commons/proper/ognl/src/test/java/
    commons/proper/ognl/src/test/java/org/
    commons/proper/ognl/src/test/java/org/apache/
    commons/proper/ognl/src/test/java/org/apache/commons/
    commons/proper/ognl/src/test/java/org/apache/commons/ognl/
    commons/proper/ognl/src/test/java/org/apache/commons/ognl/performance/
    commons/proper/ognl/src/test/java/org/apache/commons/ognl/performance/PerformanceCommonsOgnlTest.java   (with props)
    commons/proper/ognl/src/test/java/org/apache/commons/ognl/performance/PerformanceOldOgnlTest.java   (with props)

Added: commons/proper/ognl/.benchmarks.h2.db
URL: http://svn.apache.org/viewvc/commons/proper/ognl/.benchmarks.h2.db?rev=1187613&view=auto
==============================================================================
Binary file - no diff available.

Propchange: commons/proper/ognl/.benchmarks.h2.db
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: commons/proper/ognl/3.0.1_CHM/benchmark-ognl.html
URL: http://svn.apache.org/viewvc/commons/proper/ognl/3.0.1_CHM/benchmark-ognl.html?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/3.0.1_CHM/benchmark-ognl.html (added)
+++ commons/proper/ognl/3.0.1_CHM/benchmark-ognl.html Sat Oct 22 01:05:29 2011
@@ -0,0 +1,145 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
+    <title>Benchmark results for methods in class org.apache.commons.ognl.performance.PerformanceOldOgnlTest</title>
+
+    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
+    <script type="text/javascript">
+      google.load("jquery", "1.4.2");
+      google.load('visualization', '1', {packages: ['barchart', 'columnchart', 'table']});
+    </script>
+
+    <style type="text/css">
+		#content {
+		  width: 800px ;
+		  margin-left: auto;
+		  margin-right: auto;
+		}
+
+		#chart {
+		  width: 600px;
+		  height: 400px;
+		  margin-left: auto;
+		  margin-right: auto;
+		  margin-bottom: 10px;
+		  display: block;
+		}
+
+		#help {
+		  text-align: center;
+		  margin-top: 10px;
+		  font-size: .8em;
+		  color: gray;
+		}
+		
+		ul.expander {
+	      display: inline;
+          margin-left: 0;
+          padding-left: 0;
+          font-size: .8em;
+		}
+
+		ul.expander li {
+		  margin-left: 0;
+          list-style: none;
+          display: inline;
+		}
+
+		ul.expander li:before {
+          content: "\25BA\0020";  // 25B8
+        }
+
+        ul.expander li.expanded:before {
+          content: "\25BC\0020";  // 25BE
+        }
+    </style>
+
+    <script type="text/javascript">
+      var horizontal = false;
+      var view;
+      var data;
+      var table;
+
+      function redrawChart() {
+          var chart = (horizontal 
+                  ? new google.visualization.BarChart(document.getElementById('chart'))
+                  : new google.visualization.ColumnChart(document.getElementById('chart')));
+
+          chart.draw(view, {
+              legend: "none",
+              titleY: view.getColumnLabel(1),
+              colors: ['#8888FF'],
+              min: 0.0,max: 1.0,
+              showCategories: true,
+              isStacked: false,
+          });
+      }
+
+      function visualize(jsonData, className) {
+        data = new google.visualization.DataTable(jsonData);
+
+        table = new google.visualization.Table(document.getElementById('raw-data'));
+        table.draw(data);
+
+        view = new google.visualization.DataView(data);
+        view.setColumns([0, 1]);
+        redrawChart();
+
+        google.visualization.events.addListener(table, 'sort',
+			function(event) {
+			  if (event.column > 0) {
+				  view.setColumns([0, event.column]);
+			  }
+
+              view.setRows(data.getSortedRows([{column: event.column, desc: !event.ascending}]));
+			  redrawChart();
+		});
+      }
+
+      google.setOnLoadCallback(function() {
+	        $.ajax({
+	          url: "benchmark-ognl.json",
+	          method: "GET",
+	          success: function(data) {
+	            visualize(data, "org.apache.commons.ognl.performance.PerformanceTest");
+	          }
+	        });
+
+          $("#properties").click(function () {
+        	  $(this).toggleClass("expanded"); 
+              $("#proplist").slideToggle();
+          });
+
+          $("#orientation").click(function () {
+              $(this).toggleClass("expanded");
+              horizontal = !horizontal; 
+              redrawChart();
+          });
+      });
+    </script>
+  </head>
+
+  <body style="font-family: Arial; margin: 30px;">
+    <div id="content">
+	    <h1>Benchmark results for methods in class org.apache.commons.ognl.performance.PerformanceOldOgnlTest</h1>
+
+        <ul class="expander"><li id="orientation" class="expanded"><a href="#">Orientation</a></li></ul>
+	    <div id="chart" ></div>
+	    <div id="raw-data"></div>
+
+	    <div id="help">
+	    Click on table headers to change the sorting order and redraw the chart.
+	    </div>
+
+	    <div>
+	        <ul class="expander"><li id="properties"><a href="#">Properties</a></li></ul>
+	        <pre id="proplist" style="display: none; background-color: #e0e0e0;">Run ID: 7
+Run timestamp: 2011-10-22 01:59:36.384
+JVM: 1.6.0_23-b05
+OS: i386
+</pre>
+	    </div>
+    </div>
+  </body>
+</html>

Propchange: commons/proper/ognl/3.0.1_CHM/benchmark-ognl.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/3.0.1_CHM/benchmark-ognl.json
URL: http://svn.apache.org/viewvc/commons/proper/ognl/3.0.1_CHM/benchmark-ognl.json?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/3.0.1_CHM/benchmark-ognl.json (added)
+++ commons/proper/ognl/3.0.1_CHM/benchmark-ognl.json Sat Oct 22 01:05:29 2011
@@ -0,0 +1,30 @@
+{
+"cols": [
+{"label": "method", "type": "string"},
+{"label": "Average time [s]", "type": "number"},
+{"label": "StdDev", "type": "number"},
+{"label": "GC time [s]", "type": "number"},
+{"label": "GC average [s]", "type": "number"},
+{"label": "StdDev", "type": "number"},
+{"label": "GC calls", "type": "number"},
+{"label": "benchmark rounds", "type": "number"},
+{"label": "warmup rounds", "type": "number"},
+{"label": "Total benchmark time", "type": "number"},
+{"label": "Total warmup time", "type": "number"}
+],
+"rows": [
+{"c": [{"v": "oldOgnlFieldCache"}, {"v": 0.67}, {"v": 0.12}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.75}, {"v": 0.04}]},
+{"c": [{"v": "newOgnlFieldCache"}, {"v": 0.1}, {"v": 0.02}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.13}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlFindParameterTypeCache"}, {"v": 6.21}, {"v": 0.27}, {"v": 0.05}, {"v": 0.0}, {"v": 0.0}, {"v": 30}, {"v": 50}, {"v": 0}, {"v": 6.46}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlFindParameterTypeCache"}, {"v": 5.42}, {"v": 0.44}, {"v": 0.03}, {"v": 0.0}, {"v": 0.0}, {"v": 29}, {"v": 50}, {"v": 0}, {"v": 5.83}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlConstructorCache"}, {"v": 0.52}, {"v": 0.12}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.67}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlConstructorCache"}, {"v": 0.02}, {"v": 0.02}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.08}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlMethodParameterTypeCache"}, {"v": 11.1}, {"v": 0.46}, {"v": 0.02}, {"v": 0.0}, {"v": 0.0}, {"v": 22}, {"v": 50}, {"v": 0}, {"v": 11.62}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlMethodParameterTypeCache"}, {"v": 2.05}, {"v": 0.2}, {"v": 0.02}, {"v": 0.0}, {"v": 0.0}, {"v": 22}, {"v": 50}, {"v": 0}, {"v": 2.31}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlPermissionCache"}, {"v": 9.93}, {"v": 0.57}, {"v": 0.02}, {"v": 0.0}, {"v": 0.0}, {"v": 21}, {"v": 50}, {"v": 0}, {"v": 10.53}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlPermissionCache"}, {"v": 1.94}, {"v": 0.18}, {"v": 0.02}, {"v": 0.0}, {"v": 0.0}, {"v": 24}, {"v": 50}, {"v": 0}, {"v": 2.16}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlPrimitiveCache"}, {"v": 1.75}, {"v": 0.27}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 1.99}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlPrimitiveCache"}, {"v": 3.84}, {"v": 0.36}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 4.24}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlGetMethod"}, {"v": 0.75}, {"v": 0.11}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.87}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlGetMethod"}, {"v": 1.26}, {"v": 0.09}, {"v": 0.02}, {"v": 0.0}, {"v": 0.0}, {"v": 11}, {"v": 50}, {"v": 0}, {"v": 1.37}, {"v": 0.0}]}
+]}

Added: commons/proper/ognl/3.0.3_HM/benchmark-ognl.html
URL: http://svn.apache.org/viewvc/commons/proper/ognl/3.0.3_HM/benchmark-ognl.html?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/3.0.3_HM/benchmark-ognl.html (added)
+++ commons/proper/ognl/3.0.3_HM/benchmark-ognl.html Sat Oct 22 01:05:29 2011
@@ -0,0 +1,145 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
+    <title>Benchmark results for methods in class org.apache.commons.ognl.performance.PerformanceOldOgnlTest</title>
+
+    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
+    <script type="text/javascript">
+      google.load("jquery", "1.4.2");
+      google.load('visualization', '1', {packages: ['barchart', 'columnchart', 'table']});
+    </script>
+
+    <style type="text/css">
+		#content {
+		  width: 800px ;
+		  margin-left: auto;
+		  margin-right: auto;
+		}
+
+		#chart {
+		  width: 600px;
+		  height: 400px;
+		  margin-left: auto;
+		  margin-right: auto;
+		  margin-bottom: 10px;
+		  display: block;
+		}
+
+		#help {
+		  text-align: center;
+		  margin-top: 10px;
+		  font-size: .8em;
+		  color: gray;
+		}
+		
+		ul.expander {
+	      display: inline;
+          margin-left: 0;
+          padding-left: 0;
+          font-size: .8em;
+		}
+
+		ul.expander li {
+		  margin-left: 0;
+          list-style: none;
+          display: inline;
+		}
+
+		ul.expander li:before {
+          content: "\25BA\0020";  // 25B8
+        }
+
+        ul.expander li.expanded:before {
+          content: "\25BC\0020";  // 25BE
+        }
+    </style>
+
+    <script type="text/javascript">
+      var horizontal = false;
+      var view;
+      var data;
+      var table;
+
+      function redrawChart() {
+          var chart = (horizontal 
+                  ? new google.visualization.BarChart(document.getElementById('chart'))
+                  : new google.visualization.ColumnChart(document.getElementById('chart')));
+
+          chart.draw(view, {
+              legend: "none",
+              titleY: view.getColumnLabel(1),
+              colors: ['#8888FF'],
+              min: 0.0,max: 1.0,
+              showCategories: true,
+              isStacked: false,
+          });
+      }
+
+      function visualize(jsonData, className) {
+        data = new google.visualization.DataTable(jsonData);
+
+        table = new google.visualization.Table(document.getElementById('raw-data'));
+        table.draw(data);
+
+        view = new google.visualization.DataView(data);
+        view.setColumns([0, 1]);
+        redrawChart();
+
+        google.visualization.events.addListener(table, 'sort',
+			function(event) {
+			  if (event.column > 0) {
+				  view.setColumns([0, event.column]);
+			  }
+
+              view.setRows(data.getSortedRows([{column: event.column, desc: !event.ascending}]));
+			  redrawChart();
+		});
+      }
+
+      google.setOnLoadCallback(function() {
+	        $.ajax({
+	          url: "benchmark-ognl.json",
+	          method: "GET",
+	          success: function(data) {
+	            visualize(data, "org.apache.commons.ognl.performance.PerformanceTest");
+	          }
+	        });
+
+          $("#properties").click(function () {
+        	  $(this).toggleClass("expanded"); 
+              $("#proplist").slideToggle();
+          });
+
+          $("#orientation").click(function () {
+              $(this).toggleClass("expanded");
+              horizontal = !horizontal; 
+              redrawChart();
+          });
+      });
+    </script>
+  </head>
+
+  <body style="font-family: Arial; margin: 30px;">
+    <div id="content">
+	    <h1>Benchmark results for methods in class org.apache.commons.ognl.performance.PerformanceOldOgnlTest</h1>
+
+        <ul class="expander"><li id="orientation" class="expanded"><a href="#">Orientation</a></li></ul>
+	    <div id="chart" ></div>
+	    <div id="raw-data"></div>
+
+	    <div id="help">
+	    Click on table headers to change the sorting order and redraw the chart.
+	    </div>
+
+	    <div>
+	        <ul class="expander"><li id="properties"><a href="#">Properties</a></li></ul>
+	        <pre id="proplist" style="display: none; background-color: #e0e0e0;">Run ID: 9
+Run timestamp: 2011-10-22 02:05:22.243
+JVM: 1.6.0_23-b05
+OS: i386
+</pre>
+	    </div>
+    </div>
+  </body>
+</html>

Propchange: commons/proper/ognl/3.0.3_HM/benchmark-ognl.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/3.0.3_HM/benchmark-ognl.json
URL: http://svn.apache.org/viewvc/commons/proper/ognl/3.0.3_HM/benchmark-ognl.json?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/3.0.3_HM/benchmark-ognl.json (added)
+++ commons/proper/ognl/3.0.3_HM/benchmark-ognl.json Sat Oct 22 01:05:29 2011
@@ -0,0 +1,30 @@
+{
+"cols": [
+{"label": "method", "type": "string"},
+{"label": "Average time [s]", "type": "number"},
+{"label": "StdDev", "type": "number"},
+{"label": "GC time [s]", "type": "number"},
+{"label": "GC average [s]", "type": "number"},
+{"label": "StdDev", "type": "number"},
+{"label": "GC calls", "type": "number"},
+{"label": "benchmark rounds", "type": "number"},
+{"label": "warmup rounds", "type": "number"},
+{"label": "Total benchmark time", "type": "number"},
+{"label": "Total warmup time", "type": "number"}
+],
+"rows": [
+{"c": [{"v": "oldOgnlFieldCache"}, {"v": 0.19}, {"v": 0.01}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.16}, {"v": 0.04}]},
+{"c": [{"v": "newOgnlFieldCache"}, {"v": 0.02}, {"v": 0.03}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.11}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlFindParameterTypeCache"}, {"v": 6.31}, {"v": 0.27}, {"v": 0.04}, {"v": 0.0}, {"v": 0.0}, {"v": 30}, {"v": 50}, {"v": 0}, {"v": 6.64}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlFindParameterTypeCache"}, {"v": 5.65}, {"v": 0.3}, {"v": 0.03}, {"v": 0.01}, {"v": 0.04}, {"v": 29}, {"v": 50}, {"v": 0}, {"v": 6.0}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlConstructorCache"}, {"v": 0.01}, {"v": 0.01}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.05}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlConstructorCache"}, {"v": 0.06}, {"v": 0.05}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.15}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlMethodParameterTypeCache"}, {"v": 12.13}, {"v": 0.54}, {"v": 0.02}, {"v": 0.0}, {"v": 0.0}, {"v": 22}, {"v": 50}, {"v": 0}, {"v": 1.31924194817E9}, {"v": 1.31924193549E9}]},
+{"c": [{"v": "newOgnlMethodParameterTypeCache"}, {"v": 1.82}, {"v": 0.25}, {"v": 0.02}, {"v": 0.01}, {"v": 0.04}, {"v": 22}, {"v": 50}, {"v": 0}, {"v": 2.1}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlPermissionCache"}, {"v": 1.12}, {"v": 0.18}, {"v": 0.02}, {"v": 0.0}, {"v": 0.0}, {"v": 21}, {"v": 50}, {"v": 0}, {"v": 1.32}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlPermissionCache"}, {"v": 1.95}, {"v": 0.23}, {"v": 0.02}, {"v": 0.0}, {"v": 0.01}, {"v": 24}, {"v": 50}, {"v": 0}, {"v": 2.16}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlPrimitiveCache"}, {"v": 2.05}, {"v": 0.43}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 2.42}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlPrimitiveCache"}, {"v": 4.28}, {"v": 0.64}, {"v": 0.0}, {"v": 0.0}, {"v": 0.03}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 4.71}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlGetMethod"}, {"v": 1.08}, {"v": 0.04}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 1.1}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlGetMethod"}, {"v": 2.55}, {"v": 0.07}, {"v": 0.01}, {"v": 0.0}, {"v": 0.0}, {"v": 11}, {"v": 50}, {"v": 0}, {"v": 2.64}, {"v": 0.0}]}
+]}

Added: commons/proper/ognl/3.0.3_RRWL/benchmark-ognl.html
URL: http://svn.apache.org/viewvc/commons/proper/ognl/3.0.3_RRWL/benchmark-ognl.html?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/3.0.3_RRWL/benchmark-ognl.html (added)
+++ commons/proper/ognl/3.0.3_RRWL/benchmark-ognl.html Sat Oct 22 01:05:29 2011
@@ -0,0 +1,145 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
+    <title>Benchmark results for methods in class org.apache.commons.ognl.performance.PerformanceOldOgnlTest</title>
+
+    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
+    <script type="text/javascript">
+      google.load("jquery", "1.4.2");
+      google.load('visualization', '1', {packages: ['barchart', 'columnchart', 'table']});
+    </script>
+
+    <style type="text/css">
+		#content {
+		  width: 800px ;
+		  margin-left: auto;
+		  margin-right: auto;
+		}
+
+		#chart {
+		  width: 600px;
+		  height: 400px;
+		  margin-left: auto;
+		  margin-right: auto;
+		  margin-bottom: 10px;
+		  display: block;
+		}
+
+		#help {
+		  text-align: center;
+		  margin-top: 10px;
+		  font-size: .8em;
+		  color: gray;
+		}
+		
+		ul.expander {
+	      display: inline;
+          margin-left: 0;
+          padding-left: 0;
+          font-size: .8em;
+		}
+
+		ul.expander li {
+		  margin-left: 0;
+          list-style: none;
+          display: inline;
+		}
+
+		ul.expander li:before {
+          content: "\25BA\0020";  // 25B8
+        }
+
+        ul.expander li.expanded:before {
+          content: "\25BC\0020";  // 25BE
+        }
+    </style>
+
+    <script type="text/javascript">
+      var horizontal = false;
+      var view;
+      var data;
+      var table;
+
+      function redrawChart() {
+          var chart = (horizontal 
+                  ? new google.visualization.BarChart(document.getElementById('chart'))
+                  : new google.visualization.ColumnChart(document.getElementById('chart')));
+
+          chart.draw(view, {
+              legend: "none",
+              titleY: view.getColumnLabel(1),
+              colors: ['#8888FF'],
+              min: 0.0,max: 1.0,
+              showCategories: true,
+              isStacked: false,
+          });
+      }
+
+      function visualize(jsonData, className) {
+        data = new google.visualization.DataTable(jsonData);
+
+        table = new google.visualization.Table(document.getElementById('raw-data'));
+        table.draw(data);
+
+        view = new google.visualization.DataView(data);
+        view.setColumns([0, 1]);
+        redrawChart();
+
+        google.visualization.events.addListener(table, 'sort',
+			function(event) {
+			  if (event.column > 0) {
+				  view.setColumns([0, event.column]);
+			  }
+
+              view.setRows(data.getSortedRows([{column: event.column, desc: !event.ascending}]));
+			  redrawChart();
+		});
+      }
+
+      google.setOnLoadCallback(function() {
+	        $.ajax({
+	          url: "benchmark-ognl.json",
+	          method: "GET",
+	          success: function(data) {
+	            visualize(data, "org.apache.commons.ognl.performance.PerformanceTest");
+	          }
+	        });
+
+          $("#properties").click(function () {
+        	  $(this).toggleClass("expanded"); 
+              $("#proplist").slideToggle();
+          });
+
+          $("#orientation").click(function () {
+              $(this).toggleClass("expanded");
+              horizontal = !horizontal; 
+              redrawChart();
+          });
+      });
+    </script>
+  </head>
+
+  <body style="font-family: Arial; margin: 30px;">
+    <div id="content">
+	    <h1>Benchmark results for methods in class org.apache.commons.ognl.performance.PerformanceOldOgnlTest</h1>
+
+        <ul class="expander"><li id="orientation" class="expanded"><a href="#">Orientation</a></li></ul>
+	    <div id="chart" ></div>
+	    <div id="raw-data"></div>
+
+	    <div id="help">
+	    Click on table headers to change the sorting order and redraw the chart.
+	    </div>
+
+	    <div>
+	        <ul class="expander"><li id="properties"><a href="#">Properties</a></li></ul>
+	        <pre id="proplist" style="display: none; background-color: #e0e0e0;">Run ID: 10
+Run timestamp: 2011-10-22 02:09:54.96
+JVM: 1.6.0_23-b05
+OS: i386
+</pre>
+	    </div>
+    </div>
+  </body>
+</html>

Propchange: commons/proper/ognl/3.0.3_RRWL/benchmark-ognl.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/3.0.3_RRWL/benchmark-ognl.json
URL: http://svn.apache.org/viewvc/commons/proper/ognl/3.0.3_RRWL/benchmark-ognl.json?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/3.0.3_RRWL/benchmark-ognl.json (added)
+++ commons/proper/ognl/3.0.3_RRWL/benchmark-ognl.json Sat Oct 22 01:05:29 2011
@@ -0,0 +1,30 @@
+{
+"cols": [
+{"label": "method", "type": "string"},
+{"label": "Average time [s]", "type": "number"},
+{"label": "StdDev", "type": "number"},
+{"label": "GC time [s]", "type": "number"},
+{"label": "GC average [s]", "type": "number"},
+{"label": "StdDev", "type": "number"},
+{"label": "GC calls", "type": "number"},
+{"label": "benchmark rounds", "type": "number"},
+{"label": "warmup rounds", "type": "number"},
+{"label": "Total benchmark time", "type": "number"},
+{"label": "Total warmup time", "type": "number"}
+],
+"rows": [
+{"c": [{"v": "oldOgnlFieldCache"}, {"v": 0.1}, {"v": 0.01}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.08}, {"v": 0.03}]},
+{"c": [{"v": "newOgnlFieldCache"}, {"v": 0.03}, {"v": 0.04}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.11}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlFindParameterTypeCache"}, {"v": 6.1}, {"v": 0.26}, {"v": 0.04}, {"v": 0.0}, {"v": 0.0}, {"v": 30}, {"v": 50}, {"v": 0}, {"v": 6.37}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlFindParameterTypeCache"}, {"v": 5.29}, {"v": 0.54}, {"v": 0.03}, {"v": 0.0}, {"v": 0.0}, {"v": 29}, {"v": 50}, {"v": 0}, {"v": 5.78}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlConstructorCache"}, {"v": 0.03}, {"v": 0.03}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.07}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlConstructorCache"}, {"v": 0.05}, {"v": 0.04}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.15}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlMethodParameterTypeCache"}, {"v": 11.57}, {"v": 0.62}, {"v": 0.02}, {"v": 0.0}, {"v": 0.0}, {"v": 22}, {"v": 50}, {"v": 0}, {"v": 12.31}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlMethodParameterTypeCache"}, {"v": 1.84}, {"v": 0.24}, {"v": 0.02}, {"v": 0.02}, {"v": 0.06}, {"v": 22}, {"v": 50}, {"v": 0}, {"v": 2.11}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlPermissionCache"}, {"v": 0.8}, {"v": 0.17}, {"v": 0.02}, {"v": 0.01}, {"v": 0.03}, {"v": 21}, {"v": 50}, {"v": 0}, {"v": 1.04}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlPermissionCache"}, {"v": 2.02}, {"v": 0.28}, {"v": 0.02}, {"v": 0.01}, {"v": 0.06}, {"v": 24}, {"v": 50}, {"v": 0}, {"v": 2.29}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlPrimitiveCache"}, {"v": 2.04}, {"v": 0.29}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 2.41}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlPrimitiveCache"}, {"v": 3.82}, {"v": 0.34}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 1.31924223198E9}, {"v": 1.31924222786E9}]},
+{"c": [{"v": "oldOgnlGetMethod"}, {"v": 0.16}, {"v": 0.02}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.2}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlGetMethod"}, {"v": 2.3}, {"v": 0.13}, {"v": 0.02}, {"v": 0.0}, {"v": 0.0}, {"v": 11}, {"v": 50}, {"v": 0}, {"v": 2.45}, {"v": 0.0}]}
+]}

Added: commons/proper/ognl/benchmark-commons-ognl.html
URL: http://svn.apache.org/viewvc/commons/proper/ognl/benchmark-commons-ognl.html?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/benchmark-commons-ognl.html (added)
+++ commons/proper/ognl/benchmark-commons-ognl.html Sat Oct 22 01:05:29 2011
@@ -0,0 +1,146 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
+    <title>Benchmark results for methods in class org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest</title>
+
+    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
+    <script type="text/javascript">
+      google.load("jquery", "1.4.2");
+      google.load('visualization', '1', {packages: ['barchart', 'columnchart', 'table']});
+    </script>
+
+    <style type="text/css">
+		#content {
+		  width: 800px ;
+		  margin-left: auto;
+		  margin-right: auto;
+		}
+
+		#chart {
+		  width: 600px;
+		  height: 400px;
+		  margin-left: auto;
+		  margin-right: auto;
+		  margin-bottom: 10px;
+		  display: block;
+		}
+
+		#help {
+		  text-align: center;
+		  margin-top: 10px;
+		  font-size: .8em;
+		  color: gray;
+		}
+		
+		ul.expander {
+	      display: inline;
+          margin-left: 0;
+          padding-left: 0;
+          font-size: .8em;
+		}
+
+		ul.expander li {
+		  margin-left: 0;
+          list-style: none;
+          display: inline;
+		}
+
+		ul.expander li:before {
+          content: "\25BA\0020";  // 25B8
+        }
+
+        ul.expander li.expanded:before {
+          content: "\25BC\0020";  // 25BE
+        }
+    </style>
+
+    <script type="text/javascript">
+      var horizontal = false;
+      var view;
+      var data;
+      var table;
+
+      function redrawChart() {
+          var chart = (horizontal 
+                  ? new google.visualization.BarChart(document.getElementById('chart'))
+                  : new google.visualization.ColumnChart(document.getElementById('chart')));
+
+          chart.draw(view, {
+              legend: "none",
+              titleY: view.getColumnLabel(1),
+              colors: ['#8888FF'],
+              min: 0.0,max: 1.0,
+              showCategories: true,
+              isStacked: false,
+          });
+      }
+
+      function visualize(jsonData, className) {
+        data = new google.visualization.DataTable(jsonData);
+
+        table = new google.visualization.Table(document.getElementById('raw-data'));
+        table.draw(data);
+
+        view = new google.visualization.DataView(data);
+        view.setColumns([0, 1]);
+        redrawChart();
+
+        google.visualization.events.addListener(table, 'sort',
+			function(event) {
+			  if (event.column > 0) {
+				  view.setColumns([0, event.column]);
+			  }
+
+              view.setRows(data.getSortedRows([{column: event.column, desc: !event.ascending}]));
+			  redrawChart();
+		});
+      }
+
+      google.setOnLoadCallback(function() {
+	        $.ajax({
+	          url: "benchmark-commons-ognl.json",
+	          method: "GET",
+	          success: function(data) {
+	            visualize(data, "org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest");
+	          }
+	        });
+
+          $("#properties").click(function () {
+        	  $(this).toggleClass("expanded"); 
+              $("#proplist").slideToggle();
+          });
+
+          $("#orientation").click(function () {
+              $(this).toggleClass("expanded");
+              horizontal = !horizontal; 
+              redrawChart();
+          });
+      });
+    </script>
+  </head>
+
+  <body style="font-family: Arial; margin: 30px;">
+    <div id="content">
+	    <h1>Benchmark results for methods in class org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest</h1>
+
+        <ul class="expander"><li id="orientation" class="expanded"><a href="#">Orientation</a></li></ul>
+	    <div id="chart" ></div>
+	    <div id="raw-data"></div>
+
+	    <div id="help">
+	    Click on table headers to change the sorting order and redraw the chart.
+	    </div>
+
+	    <div>
+	        <ul class="expander"><li id="properties"><a href="#">Properties</a></li></ul>
+	        <pre id="proplist" style="display: none; background-color: #e0e0e0;">Run ID: 3
+Run timestamp: 2011-10-22 02:52:51.555
+JVM: 1.6.0_23-b05
+OS: i386
+Custom key: HM
+</pre>
+	    </div>
+    </div>
+  </body>
+</html>

Propchange: commons/proper/ognl/benchmark-commons-ognl.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/benchmark-commons-ognl.json
URL: http://svn.apache.org/viewvc/commons/proper/ognl/benchmark-commons-ognl.json?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/benchmark-commons-ognl.json (added)
+++ commons/proper/ognl/benchmark-commons-ognl.json Sat Oct 22 01:05:29 2011
@@ -0,0 +1,24 @@
+{
+"cols": [
+{"label": "method", "type": "string"},
+{"label": "Average time [s]", "type": "number"},
+{"label": "StdDev", "type": "number"},
+{"label": "GC time [s]", "type": "number"},
+{"label": "GC average [s]", "type": "number"},
+{"label": "StdDev", "type": "number"},
+{"label": "GC calls", "type": "number"},
+{"label": "benchmark rounds", "type": "number"},
+{"label": "warmup rounds", "type": "number"},
+{"label": "Total benchmark time", "type": "number"},
+{"label": "Total warmup time", "type": "number"}
+],
+"rows": [
+{"c": [{"v": "constructorCache"}, {"v": 0.52}, {"v": 0.04}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.41}, {"v": 0.16}]},
+{"c": [{"v": "declaredMethodCache"}, {"v": 2.31}, {"v": 0.17}, {"v": 0.03}, {"v": 0.0}, {"v": 0.0}, {"v": 18}, {"v": 50}, {"v": 0}, {"v": 2.47}, {"v": 0.0}]},
+{"c": [{"v": "fieldCache"}, {"v": 0.01}, {"v": 0.01}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 1}, {"v": 50}, {"v": 0}, {"v": 0.09}, {"v": 0.0}]},
+{"c": [{"v": "findParameterTypeCache"}, {"v": 6.06}, {"v": 0.34}, {"v": 0.02}, {"v": 0.0}, {"v": 0.0}, {"v": 28}, {"v": 50}, {"v": 0}, {"v": 6.36}, {"v": 0.0}]},
+{"c": [{"v": "methodCache"}, {"v": 0.16}, {"v": 0.04}, {"v": 0.0}, {"v": 0.0}, {"v": 0.01}, {"v": 1}, {"v": 50}, {"v": 0}, {"v": 0.22}, {"v": 0.0}]},
+{"c": [{"v": "methodParameterTypeCache"}, {"v": 2.72}, {"v": 0.33}, {"v": 0.02}, {"v": 0.0}, {"v": 0.0}, {"v": 22}, {"v": 50}, {"v": 0}, {"v": 3.04}, {"v": 0.0}]},
+{"c": [{"v": "permissionCache"}, {"v": 2.74}, {"v": 0.22}, {"v": 0.02}, {"v": 0.0}, {"v": 0.0}, {"v": 25}, {"v": 50}, {"v": 0}, {"v": 2.96}, {"v": 0.0}]},
+{"c": [{"v": "primitiveCache"}, {"v": 2.65}, {"v": 0.3}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 2.97}, {"v": 0.0}]}
+]}

Added: commons/proper/ognl/benchmark-ognl.html
URL: http://svn.apache.org/viewvc/commons/proper/ognl/benchmark-ognl.html?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/benchmark-ognl.html (added)
+++ commons/proper/ognl/benchmark-ognl.html Sat Oct 22 01:05:29 2011
@@ -0,0 +1,146 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
+    <title>Benchmark results for methods in class org.apache.commons.ognl.performance.PerformanceTest</title>
+
+    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
+    <script type="text/javascript">
+      google.load("jquery", "1.4.2");
+      google.load('visualization', '1', {packages: ['barchart', 'columnchart', 'table']});
+    </script>
+
+    <style type="text/css">
+		#content {
+		  width: 800px ;
+		  margin-left: auto;
+		  margin-right: auto;
+		}
+
+		#chart {
+		  width: 600px;
+		  height: 400px;
+		  margin-left: auto;
+		  margin-right: auto;
+		  margin-bottom: 10px;
+		  display: block;
+		}
+
+		#help {
+		  text-align: center;
+		  margin-top: 10px;
+		  font-size: .8em;
+		  color: gray;
+		}
+		
+		ul.expander {
+	      display: inline;
+          margin-left: 0;
+          padding-left: 0;
+          font-size: .8em;
+		}
+
+		ul.expander li {
+		  margin-left: 0;
+          list-style: none;
+          display: inline;
+		}
+
+		ul.expander li:before {
+          content: "\25BA\0020";  // 25B8
+        }
+
+        ul.expander li.expanded:before {
+          content: "\25BC\0020";  // 25BE
+        }
+    </style>
+
+    <script type="text/javascript">
+      var horizontal = false;
+      var view;
+      var data;
+      var table;
+
+      function redrawChart() {
+          var chart = (horizontal 
+                  ? new google.visualization.BarChart(document.getElementById('chart'))
+                  : new google.visualization.ColumnChart(document.getElementById('chart')));
+
+          chart.draw(view, {
+              legend: "none",
+              titleY: view.getColumnLabel(1),
+              colors: ['#8888FF'],
+              min: 0.0,max: 1.0,
+              showCategories: true,
+              isStacked: false,
+          });
+      }
+
+      function visualize(jsonData, className) {
+        data = new google.visualization.DataTable(jsonData);
+
+        table = new google.visualization.Table(document.getElementById('raw-data'));
+        table.draw(data);
+
+        view = new google.visualization.DataView(data);
+        view.setColumns([0, 1]);
+        redrawChart();
+
+        google.visualization.events.addListener(table, 'sort',
+			function(event) {
+			  if (event.column > 0) {
+				  view.setColumns([0, event.column]);
+			  }
+
+              view.setRows(data.getSortedRows([{column: event.column, desc: !event.ascending}]));
+			  redrawChart();
+		});
+      }
+
+      google.setOnLoadCallback(function() {
+	        $.ajax({
+	          url: "benchmark-ognl.json",
+	          method: "GET",
+	          success: function(data) {
+	            visualize(data, "org.apache.commons.ognl.performance.PerformanceTest");
+	          }
+	        });
+
+          $("#properties").click(function () {
+        	  $(this).toggleClass("expanded"); 
+              $("#proplist").slideToggle();
+          });
+
+          $("#orientation").click(function () {
+              $(this).toggleClass("expanded");
+              horizontal = !horizontal; 
+              redrawChart();
+          });
+      });
+    </script>
+  </head>
+
+  <body style="font-family: Arial; margin: 30px;">
+    <div id="content">
+	    <h1>Benchmark results for methods in class org.apache.commons.ognl.performance.PerformanceTest</h1>
+
+        <ul class="expander"><li id="orientation" class="expanded"><a href="#">Orientation</a></li></ul>
+	    <div id="chart" ></div>
+	    <div id="raw-data"></div>
+
+	    <div id="help">
+	    Click on table headers to change the sorting order and redraw the chart.
+	    </div>
+
+	    <div>
+	        <ul class="expander"><li id="properties"><a href="#">Properties</a></li></ul>
+	        <pre id="proplist" style="display: none; background-color: #e0e0e0;">Run ID: 2
+Run timestamp: 2011-10-22 02:35:03.511
+JVM: 1.6.0_23-b05
+OS: i386
+Custom key: CHM
+</pre>
+	    </div>
+    </div>
+  </body>
+</html>

Propchange: commons/proper/ognl/benchmark-ognl.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/benchmark-ognl.json
URL: http://svn.apache.org/viewvc/commons/proper/ognl/benchmark-ognl.json?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/benchmark-ognl.json (added)
+++ commons/proper/ognl/benchmark-ognl.json Sat Oct 22 01:05:29 2011
@@ -0,0 +1,30 @@
+{
+"cols": [
+{"label": "method", "type": "string"},
+{"label": "Average time [s]", "type": "number"},
+{"label": "StdDev", "type": "number"},
+{"label": "GC time [s]", "type": "number"},
+{"label": "GC average [s]", "type": "number"},
+{"label": "StdDev", "type": "number"},
+{"label": "GC calls", "type": "number"},
+{"label": "benchmark rounds", "type": "number"},
+{"label": "warmup rounds", "type": "number"},
+{"label": "Total benchmark time", "type": "number"},
+{"label": "Total warmup time", "type": "number"}
+],
+"rows": [
+{"c": [{"v": "oldOgnlFieldCache"}, {"v": 0.34}, {"v": 0.04}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.36}, {"v": 0.04}]},
+{"c": [{"v": "newOgnlFieldCache"}, {"v": 0.05}, {"v": 0.05}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.14}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlFindParameterTypeCache"}, {"v": 6.04}, {"v": 0.3}, {"v": 0.04}, {"v": 0.0}, {"v": 0.0}, {"v": 30}, {"v": 50}, {"v": 0}, {"v": 6.34}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlFindParameterTypeCache"}, {"v": 5.5}, {"v": 0.5}, {"v": 0.02}, {"v": 0.0}, {"v": 0.02}, {"v": 29}, {"v": 50}, {"v": 0}, {"v": 5.86}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlConstructorCache"}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.05}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlConstructorCache"}, {"v": 0.16}, {"v": 0.05}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.27}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlMethodParameterTypeCache"}, {"v": 11.81}, {"v": 0.58}, {"v": 0.03}, {"v": 0.0}, {"v": 0.0}, {"v": 22}, {"v": 50}, {"v": 0}, {"v": 12.41}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlMethodParameterTypeCache"}, {"v": 1.92}, {"v": 0.22}, {"v": 0.02}, {"v": 0.0}, {"v": 0.0}, {"v": 22}, {"v": 50}, {"v": 0}, {"v": 2.17}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlPermissionCache"}, {"v": 0.86}, {"v": 0.14}, {"v": 0.02}, {"v": 0.0}, {"v": 0.01}, {"v": 21}, {"v": 50}, {"v": 0}, {"v": 1.05}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlPermissionCache"}, {"v": 1.89}, {"v": 0.33}, {"v": 0.02}, {"v": 0.0}, {"v": 0.0}, {"v": 24}, {"v": 50}, {"v": 0}, {"v": 2.18}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlPrimitiveCache"}, {"v": 1.91}, {"v": 0.36}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 2.18}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlPrimitiveCache"}, {"v": 2.94}, {"v": 0.57}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 3.29}, {"v": 0.0}]},
+{"c": [{"v": "oldOgnlGetMethod"}, {"v": 0.83}, {"v": 0.01}, {"v": 0.0}, {"v": 0.0}, {"v": 0.0}, {"v": 0}, {"v": 50}, {"v": 0}, {"v": 0.84}, {"v": 0.0}]},
+{"c": [{"v": "newOgnlGetMethod"}, {"v": 1.68}, {"v": 0.15}, {"v": 0.01}, {"v": 0.0}, {"v": 0.0}, {"v": 11}, {"v": 50}, {"v": 0}, {"v": 1.88}, {"v": 0.0}]}
+]}

Added: commons/proper/ognl/org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest.html
URL: http://svn.apache.org/viewvc/commons/proper/ognl/org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest.html?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest.html (added)
+++ commons/proper/ognl/org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest.html Sat Oct 22 01:05:29 2011
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
+    <title>Benchmark results for methods in class org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest</title>
+
+    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
+    <script type="text/javascript">
+      google.load("jquery", "1.4.2");
+      google.load('visualization', '1', {packages: ['linechart', 'table']});
+    </script>
+
+    <style type="text/css">
+        #content {
+          width: 800px ;
+          margin-left: auto;
+          margin-right: auto;
+        }
+
+        #chart {
+          width: 600px;
+          height: 400px;
+          margin-left: auto;
+          margin-right: auto;
+          margin-bottom: 10px;
+          display: block;
+        }
+        
+        ul.expander {
+          display: inline;
+          margin-left: 0;
+          padding-left: 0;
+          font-size: .8em;
+        }
+
+        ul.expander li {
+          margin-left: 0;
+          list-style: none;
+          display: inline;
+        }
+
+        ul.expander li:before {
+          content: "\25BA\0020";  // 25B8
+        }
+
+        ul.expander li.expanded:before {
+          content: "\25BC\0020";  // 25BE
+        }
+    </style>
+
+    <script type="text/javascript">
+      var chart; 
+
+      function drawData(data, labelColumn) {
+        var labelColumns = [0, 1, 2];
+        labelColumns.splice(labelColumn, 1);
+
+        var view = new google.visualization.DataView(data);
+        view.hideColumns(labelColumns);
+
+        chart.draw(view, {
+            titleY: "Round time [s]",
+            min: 0.0,max: 1.0,
+        });
+      }
+
+      function visualize(jsonData, className) {
+		var data = new google.visualization.DataTable(jsonData);
+		
+		var table = new google.visualization.Table(document.getElementById('raw-data'));
+		table.draw(data, {
+		    sort: "event",
+		});
+		
+		google.visualization.events.addListener(table, 'sort',
+		 function(event) {
+		   if (event.column >= 0 && event.column <= 2) {
+			   drawData(data, event.column);
+		   }
+		 }
+		);
+		
+		chart = new google.visualization.LineChart(document.getElementById('chart'));
+		drawData(data, 01);
+      }
+
+      google.setOnLoadCallback(function() {
+          $.ajax({
+            url: "org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest.json",
+            method: "GET",
+            success: function(data) {
+              visualize(data, "org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest");
+            }
+          });
+
+          $("#properties").click(function () {
+              $(this).toggleClass("expanded"); 
+              $("#proplist").slideToggle();
+          });
+      });
+    </script>
+  </head>
+
+  <body style="font-family: Arial; margin: 30px;">
+    <div id="content">
+        <h1>Benchmark results for methods in class org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest</h1>
+
+        <div id="chart" ></div>
+        <div id="raw-data"></div>
+
+        <div>
+            <ul class="expander"><li id="properties"><a href="#">Properties</a></li></ul>
+            <pre id="proplist" style="display: none; background-color: #e0e0e0;">Shows historical runs: 20</pre>
+        </div>
+    </div>
+  </body>
+</html>

Propchange: commons/proper/ognl/org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest.json
URL: http://svn.apache.org/viewvc/commons/proper/ognl/org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest.json?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest.json (added)
+++ commons/proper/ognl/org.apache.commons.ognl.performance.PerformanceCommonsOgnlTest.json Sat Oct 22 01:05:29 2011
@@ -0,0 +1,18 @@
+{
+"cols": [
+{"label": "Run", "type": "string"},
+{"label": "Custom key", "type": "string"},
+{"label": "Timestamp", "type": "string"},
+{"label": "constructorCache", "type": "string"} ,
+{"label": "declaredMethodCache", "type": "string"} ,
+{"label": "fieldCache", "type": "string"} ,
+{"label": "findParameterTypeCache", "type": "string"} ,
+{"label": "methodCache", "type": "string"} ,
+{"label": "methodParameterTypeCache", "type": "string"} ,
+{"label": "permissionCache", "type": "string"} ,
+{"label": "primitiveCache", "type": "string"} ],
+"rows": [
+{"c": [{"v": "1"}, {"v": "RRWL"}, {"v": "2011-10-22 02:49:51.796"}, {"v": 0.496}, {"v": 2.234}, {"v": 0.13}, {"v": 5.844}, {"v": 0.243}, {"v": 1.815}, {"v": 1.887}, {"v": 2.997}]},
+{"c": [{"v": "2"}, {"v": "CHM"}, {"v": "2011-10-22 02:51:35.212"}, {"v": 0.418}, {"v": 3.079}, {"v": 0.213}, {"v": 5.728}, {"v": 0.213}, {"v": 2.818}, {"v": 2.732}, {"v": 2.867}]},
+{"c": [{"v": "3"}, {"v": "HM"}, {"v": "2011-10-22 02:52:51.555"}, {"v": 0.523}, {"v": 2.312}, {"v": 0.01}, {"v": 6.059}, {"v": 0.155}, {"v": 2.72}, {"v": 2.741}, {"v": 2.648}]}
+]}

Added: commons/proper/ognl/pom.xml
URL: http://svn.apache.org/viewvc/commons/proper/ognl/pom.xml?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/pom.xml (added)
+++ commons/proper/ognl/pom.xml Sat Oct 22 01:05:29 2011
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+
+
+  <groupId>org.apache.commons.ognltest</groupId>
+  <artifactId>ognltest</artifactId>
+  <version>1.0.0-SNAPSHOT</version>
+  <name>Apache Commons OGNL :: Test</name>
+  <packaging>jar</packaging>
+
+  <properties>
+  </properties>
+
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>2.9</version>
+        <configuration>
+          <argLine>-Xmx512m -Xms512m -XX:MaxDirectMemorySize=512m</argLine>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>ognl</groupId>
+      <artifactId>ognl</artifactId>
+      <version>3.0.3</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-ognl</artifactId>
+      <version>4.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <version>1.6.1</version>
+      <type>jar</type>
+    </dependency>
+
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+      <version>1.3.158</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.carrotsearch</groupId>
+      <artifactId>junit-benchmarks</artifactId>
+      <version>0.3.0-SNAPSHOT</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.10</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-core</artifactId>
+      <version>0.9.26</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-classic</artifactId>
+      <version>0.9.26</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+</project>

Propchange: commons/proper/ognl/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/FieldInvocation.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/FieldInvocation.java?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/FieldInvocation.java (added)
+++ commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/FieldInvocation.java Sat Oct 22 01:05:29 2011
@@ -0,0 +1,24 @@
+package org.apache.commons.ognl.performance.invocation;
+
+import org.apache.commons.ognl.performance.runtime.RuntimeWrapper;
+
+/**
+ * User: mcucchiara
+ * Date: 18/10/11
+ * Time: 16.28
+ */
+public class FieldInvocation extends RepeatableInvocation {
+    public FieldInvocation(RuntimeWrapper runtimeWrapper) throws Exception {
+        super(runtimeWrapper);
+    }
+
+    public FieldInvocation(RuntimeWrapper runtimeWrapper, int times) throws Exception {
+        super(runtimeWrapper, times);
+    }
+
+    @Override
+    protected void invoke(Class<?> c) throws Exception {
+        getRuntime().getFields(c);
+    }
+
+}

Propchange: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/FieldInvocation.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/FindParameterTypesInvocation.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/FindParameterTypesInvocation.java?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/FindParameterTypesInvocation.java (added)
+++ commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/FindParameterTypesInvocation.java Sat Oct 22 01:05:29 2011
@@ -0,0 +1,29 @@
+package org.apache.commons.ognl.performance.invocation;
+
+
+import org.apache.commons.ognl.performance.runtime.RuntimeWrapper;
+
+import java.lang.reflect.Method;
+
+/**
+ * User: mcucchiara
+ * Date: 18/10/11
+ * Time: 16.37
+ */
+public class FindParameterTypesInvocation extends RepeatableInvocation {
+
+    public FindParameterTypesInvocation(RuntimeWrapper runtimeWrapper, int times) throws Exception {
+        super(runtimeWrapper, times);
+    }
+
+    public FindParameterTypesInvocation(RuntimeWrapper runtimeWrapper) throws Exception {
+        super(runtimeWrapper);
+    }
+
+    @Override
+    protected void invoke(Class<?> c) throws Exception {
+        for (Method method : c.getMethods()) {
+            getRuntime().findParameterTypes(String.class, method);
+        }
+    }
+}

Propchange: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/FindParameterTypesInvocation.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetConstructorsInvocation.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetConstructorsInvocation.java?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetConstructorsInvocation.java (added)
+++ commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetConstructorsInvocation.java Sat Oct 22 01:05:29 2011
@@ -0,0 +1,24 @@
+package org.apache.commons.ognl.performance.invocation;
+
+
+import org.apache.commons.ognl.performance.runtime.RuntimeWrapper;
+
+/**
+ * User: mcucchiara
+ * Date: 18/10/11
+ * Time: 16.21
+ */
+public class GetConstructorsInvocation extends RepeatableInvocation {
+    public GetConstructorsInvocation(RuntimeWrapper runtimeWrapper) throws Exception {
+        super(runtimeWrapper);
+    }
+
+    public GetConstructorsInvocation(RuntimeWrapper runtimeWrapper, int times) throws Exception {
+        super(runtimeWrapper, times);
+    }
+
+    @Override
+    protected void invoke(Class<?> c) throws Exception {
+        getRuntime().getConstructors(c);
+    }
+}

Propchange: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetConstructorsInvocation.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetDeclaredMethodsInvocation.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetDeclaredMethodsInvocation.java?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetDeclaredMethodsInvocation.java (added)
+++ commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetDeclaredMethodsInvocation.java Sat Oct 22 01:05:29 2011
@@ -0,0 +1,27 @@
+package org.apache.commons.ognl.performance.invocation;
+
+import org.apache.commons.ognl.performance.runtime.RuntimeWrapper;
+
+/**
+ * User: mcucchiara
+ * Date: 18/10/11
+ * Time: 15.57
+ */
+public class GetDeclaredMethodsInvocation
+    extends RepeatableInvocation {
+
+    public GetDeclaredMethodsInvocation( RuntimeWrapper runtimeWrapper ) throws Exception {
+        super(runtimeWrapper);
+    }
+
+    public GetDeclaredMethodsInvocation( RuntimeWrapper runtimeWrapper, int times ) throws Exception {
+        super(runtimeWrapper, times);
+    }
+
+    @Override
+    protected void invoke(Class<?> c) throws Exception {
+        getRuntime().getDeclaredMethods(c, "class", false);
+        getRuntime().getDeclaredMethods(c, "class", true);
+    }
+
+}

Propchange: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetDeclaredMethodsInvocation.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetMethodsInvocation.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetMethodsInvocation.java?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetMethodsInvocation.java (added)
+++ commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetMethodsInvocation.java Sat Oct 22 01:05:29 2011
@@ -0,0 +1,26 @@
+package org.apache.commons.ognl.performance.invocation;
+
+import org.apache.commons.ognl.performance.runtime.RuntimeWrapper;
+
+/**
+ * User: mcucchiara
+ * Date: 18/10/11
+ * Time: 15.57
+ */
+public class GetMethodsInvocation extends RepeatableInvocation {
+
+    public GetMethodsInvocation(RuntimeWrapper runtimeWrapper) throws Exception {
+        super(runtimeWrapper);
+    }
+
+    public GetMethodsInvocation(RuntimeWrapper runtimeWrapper, int times) throws Exception {
+        super(runtimeWrapper, times);
+    }
+
+    @Override
+    protected void invoke(Class<?> c) throws Exception {
+        getRuntime().getMethods(c, false);
+        getRuntime().getMethods(c, true);
+    }
+
+}

Propchange: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/GetMethodsInvocation.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/InvokeMethodInvocation.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/InvokeMethodInvocation.java?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/InvokeMethodInvocation.java (added)
+++ commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/InvokeMethodInvocation.java Sat Oct 22 01:05:29 2011
@@ -0,0 +1,29 @@
+package org.apache.commons.ognl.performance.invocation;
+
+import org.apache.commons.ognl.performance.runtime.RuntimeWrapper;
+
+import java.lang.reflect.Method;
+
+/**
+ * User: mcucchiara
+ * Date: 18/10/11
+ * Time: 16.45
+ */
+public class InvokeMethodInvocation extends RepeatableInvocation {
+    public InvokeMethodInvocation(RuntimeWrapper runtimeWrapper) throws Exception {
+        super(runtimeWrapper);
+    }
+
+    public InvokeMethodInvocation(RuntimeWrapper runtimeWrapper, int times) throws Exception {
+        super(runtimeWrapper, times);
+    }
+
+    @Override
+    protected void invoke(Class<?> c) throws Exception {
+        Object o;
+        o = c.newInstance();
+
+        Method toString = c.getMethod("toString");
+        getRuntime().invokeMethod(o, toString, new Object[0]);
+    }
+}

Propchange: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/InvokeMethodInvocation.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/MethodParameterTypesInvocation.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/MethodParameterTypesInvocation.java?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/MethodParameterTypesInvocation.java (added)
+++ commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/MethodParameterTypesInvocation.java Sat Oct 22 01:05:29 2011
@@ -0,0 +1,32 @@
+package org.apache.commons.ognl.performance.invocation;
+
+import org.apache.commons.ognl.performance.runtime.RuntimeWrapper;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Method;
+
+/**
+ * User: mcucchiara
+ * Date: 18/10/11
+ * Time: 16.35
+ */
+public class MethodParameterTypesInvocation extends RepeatableInvocation {
+
+    public MethodParameterTypesInvocation(RuntimeWrapper runtimeWrapper) throws Exception {
+        super(runtimeWrapper);
+    }
+
+    public MethodParameterTypesInvocation(RuntimeWrapper runtimeWrapper, int times) throws Exception {
+        super(runtimeWrapper, times);
+    }
+
+    @Override
+    protected void invoke(Class<?> c) throws Exception {
+        for (Method method : c.getMethods()) {
+            getRuntime().getParameterTypes(method);
+        }
+        for (Constructor<?> constructor : c.getConstructors()) {
+            getRuntime().getParameterTypes(constructor);
+        }
+    }
+}

Propchange: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/MethodParameterTypesInvocation.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/PermissionInvocation.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/PermissionInvocation.java?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/PermissionInvocation.java (added)
+++ commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/PermissionInvocation.java Sat Oct 22 01:05:29 2011
@@ -0,0 +1,31 @@
+package org.apache.commons.ognl.performance.invocation;
+
+
+import org.apache.commons.ognl.performance.runtime.RuntimeWrapper;
+
+import java.lang.reflect.Method;
+
+/**
+ * User: mcucchiara
+ * Date: 18/10/11
+ * Time: 16.25
+ */
+public class PermissionInvocation extends RepeatableInvocation {
+
+    public PermissionInvocation(RuntimeWrapper runtimeWrapper) throws Exception {
+        super(runtimeWrapper);
+    }
+
+    public PermissionInvocation(RuntimeWrapper runtimeWrapper, int times) throws Exception {
+        super(runtimeWrapper, times);
+    }
+
+    @Override
+    protected void invoke(Class<?> c) throws Exception {
+        Method[] methods = c.getMethods();
+        for (Method method : methods) {
+            getRuntime().getPermission(method);
+        }
+    }
+
+}

Propchange: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/PermissionInvocation.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/PrimitiveDefaultInvocation.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/PrimitiveDefaultInvocation.java?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/PrimitiveDefaultInvocation.java (added)
+++ commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/PrimitiveDefaultInvocation.java Sat Oct 22 01:05:29 2011
@@ -0,0 +1,31 @@
+package org.apache.commons.ognl.performance.invocation;
+
+import org.apache.commons.ognl.performance.runtime.RuntimeWrapper;
+
+/**
+ * User: Maurizio Cucchiara
+ * Date: 10/22/11
+ * Time: 1:02 AM
+ */
+public class PrimitiveDefaultInvocation
+    extends RepeatableInvocation
+{
+    public PrimitiveDefaultInvocation( RuntimeWrapper runtimeWrapper )
+        throws Exception
+    {
+        super( runtimeWrapper );
+    }
+
+    public PrimitiveDefaultInvocation( RuntimeWrapper runtimeWrapper, int times )
+        throws Exception
+    {
+        super( runtimeWrapper, times );
+    }
+
+    @Override
+    protected void invoke( Class<?> c )
+        throws Exception
+    {
+        getRuntime( ).getPrimitiveDefaultValue( c );
+    }
+}

Propchange: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/PrimitiveDefaultInvocation.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/RepeatableInvocation.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/RepeatableInvocation.java?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/RepeatableInvocation.java (added)
+++ commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/RepeatableInvocation.java Sat Oct 22 01:05:29 2011
@@ -0,0 +1,138 @@
+package org.apache.commons.ognl.performance.invocation;
+
+import org.apache.commons.ognl.performance.objects.BaseBean;
+import org.apache.commons.ognl.performance.objects.BaseGeneric;
+import org.apache.commons.ognl.performance.objects.BaseIndexed;
+import org.apache.commons.ognl.performance.objects.BaseObjectIndexed;
+import org.apache.commons.ognl.performance.objects.BaseSyntheticObject;
+import org.apache.commons.ognl.performance.objects.Bean1;
+import org.apache.commons.ognl.performance.objects.Bean2;
+import org.apache.commons.ognl.performance.objects.Bean3;
+import org.apache.commons.ognl.performance.objects.BeanProvider;
+import org.apache.commons.ognl.performance.objects.BeanProviderAccessor;
+import org.apache.commons.ognl.performance.objects.BeanProviderImpl;
+import org.apache.commons.ognl.performance.objects.Component;
+import org.apache.commons.ognl.performance.objects.ComponentImpl;
+import org.apache.commons.ognl.performance.objects.ComponentSubclass;
+import org.apache.commons.ognl.performance.objects.Copy;
+import org.apache.commons.ognl.performance.objects.CorrectedObject;
+import org.apache.commons.ognl.performance.objects.Cracker;
+import org.apache.commons.ognl.performance.objects.Entry;
+import org.apache.commons.ognl.performance.objects.EvenOdd;
+import org.apache.commons.ognl.performance.objects.FirstBean;
+import org.apache.commons.ognl.performance.objects.FormComponentImpl;
+import org.apache.commons.ognl.performance.objects.FormImpl;
+import org.apache.commons.ognl.performance.objects.GameGeneric;
+import org.apache.commons.ognl.performance.objects.GameGenericObject;
+import org.apache.commons.ognl.performance.objects.GenericCracker;
+import org.apache.commons.ognl.performance.objects.GenericObject;
+import org.apache.commons.ognl.performance.objects.GenericRoot;
+import org.apache.commons.ognl.performance.objects.GenericService;
+import org.apache.commons.ognl.performance.objects.GenericServiceImpl;
+import org.apache.commons.ognl.performance.objects.GetterMethods;
+import org.apache.commons.ognl.performance.objects.IComponent;
+import org.apache.commons.ognl.performance.objects.IContentProvider;
+import org.apache.commons.ognl.performance.objects.IForm;
+import org.apache.commons.ognl.performance.objects.IFormComponent;
+import org.apache.commons.ognl.performance.objects.ITreeContentProvider;
+import org.apache.commons.ognl.performance.objects.Indexed;
+import org.apache.commons.ognl.performance.objects.IndexedMapObject;
+import org.apache.commons.ognl.performance.objects.IndexedSetObject;
+import org.apache.commons.ognl.performance.objects.Inherited;
+import org.apache.commons.ognl.performance.objects.ListSource;
+import org.apache.commons.ognl.performance.objects.ListSourceImpl;
+import org.apache.commons.ognl.performance.objects.MenuItem;
+import org.apache.commons.ognl.performance.objects.Messages;
+import org.apache.commons.ognl.performance.objects.Model;
+import org.apache.commons.ognl.performance.objects.MyMap;
+import org.apache.commons.ognl.performance.objects.MyMapImpl;
+import org.apache.commons.ognl.performance.objects.ObjectIndexed;
+import org.apache.commons.ognl.performance.objects.OtherObjectIndexed;
+import org.apache.commons.ognl.performance.objects.PersonGenericObject;
+import org.apache.commons.ognl.performance.objects.PropertyHolder;
+import org.apache.commons.ognl.performance.objects.Root;
+import org.apache.commons.ognl.performance.objects.SearchCriteria;
+import org.apache.commons.ognl.performance.objects.SearchTab;
+import org.apache.commons.ognl.performance.objects.SecondBean;
+import org.apache.commons.ognl.performance.objects.SetterReturns;
+import org.apache.commons.ognl.performance.objects.Simple;
+import org.apache.commons.ognl.performance.objects.SimpleEnum;
+import org.apache.commons.ognl.performance.objects.SimpleNumeric;
+import org.apache.commons.ognl.performance.objects.SubclassSyntheticObject;
+import org.apache.commons.ognl.performance.objects.TestClass;
+import org.apache.commons.ognl.performance.objects.TestImpl;
+import org.apache.commons.ognl.performance.objects.TestInherited1;
+import org.apache.commons.ognl.performance.objects.TestInherited2;
+import org.apache.commons.ognl.performance.objects.TestModel;
+import org.apache.commons.ognl.performance.objects.TreeContentProvider;
+import org.apache.commons.ognl.performance.objects.Two;
+import org.apache.commons.ognl.performance.runtime.RuntimeWrapper;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * User: Maurizio Cucchiara
+ * Date: 10/22/11
+ * Time: 12:20 AM
+ */
+public abstract class RepeatableInvocation
+{
+    private RuntimeWrapper runtimeWrapper;
+
+    private int times=1000;
+
+    private List<Class<?>> classes =
+        Arrays.asList( ComponentImpl.class, BaseObjectIndexed.class, TestInherited2.class, MenuItem.class,
+                       BaseIndexed.class, ListSourceImpl.class, GenericService.class, Copy.class, Inherited.class,
+                       MyMapImpl.class, GenericCracker.class, MyMap.class, SecondBean.class, SetterReturns.class,
+                       IContentProvider.class, FirstBean.class, CorrectedObject.class, BeanProviderImpl.class,
+                       TestClass.class, TestImpl.class, TreeContentProvider.class, Messages.class, Two.class,
+                       IndexedMapObject.class, SimpleNumeric.class, GameGeneric.class, Entry.class,
+                       SubclassSyntheticObject.class, SimpleEnum.class, Model.class, Simple.class,
+                       BaseSyntheticObject.class, ObjectIndexed.class, IComponent.class, SearchCriteria.class,
+                       FormImpl.class, TestInherited1.class, IndexedSetObject.class, SearchTab.class,
+                       GenericObject.class, GenericRoot.class, Bean1.class, FormComponentImpl.class,
+                       ComponentSubclass.class, IForm.class, OtherObjectIndexed.class, Cracker.class, Indexed.class,
+                       EvenOdd.class, PersonGenericObject.class, Bean2.class, GenericServiceImpl.class,
+                       IFormComponent.class, ListSource.class, PropertyHolder.class, Bean3.class, BaseGeneric.class,
+                       GetterMethods.class, BeanProviderAccessor.class, BeanProvider.class, GameGenericObject.class,
+                       ITreeContentProvider.class, TestModel.class, BaseBean.class, Component.class, Root.class );
+
+    public RepeatableInvocation( RuntimeWrapper runtimeWrapper )
+        throws Exception
+    {
+        this.runtimeWrapper = runtimeWrapper;
+        invoke( );
+
+    }
+
+    public RepeatableInvocation( RuntimeWrapper runtimeWrapper, int times )
+        throws Exception
+    {
+
+        this.runtimeWrapper = runtimeWrapper;
+        this.times = times;
+        invoke( );
+    }
+
+    private void invoke( )
+        throws Exception
+    {
+        for ( int i = 0; i < times; i++ )
+        {
+            for ( Class<?> c : classes )
+            {
+                invoke( c );
+            }
+        }
+    }
+
+    protected abstract void invoke( Class<?> c )
+        throws Exception;
+
+    protected RuntimeWrapper getRuntime( )
+    {
+        return runtimeWrapper;
+    }
+}

Propchange: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/invocation/RepeatableInvocation.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseBean.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseBean.java?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseBean.java (added)
+++ commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseBean.java Sat Oct 22 01:05:29 2011
@@ -0,0 +1,57 @@
+/*
+ * $Id: BaseBean.java 1103095 2011-05-14 13:18:29Z simonetripodi $
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+/**
+ *
+ */
+package org.apache.commons.ognl.performance.objects;
+
+/**
+ * Base class used to test inheritance class casting.
+ */
+public abstract class BaseBean
+{
+
+    public abstract String getName();
+
+    public boolean getActive()
+    {
+        return true;
+    }
+
+    public boolean isActive2()
+    {
+        return true;
+    }
+
+    public Two getTwo()
+    {
+        return new Two();
+    }
+
+    public String getMessage( String mes )
+    {
+        return "[" + mes + "]";
+    }
+
+    public boolean hasChildren( String name )
+    {
+        return name.length() > 2;
+    }
+}

Propchange: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseBean.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseGeneric.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseGeneric.java?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseGeneric.java (added)
+++ commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseGeneric.java Sat Oct 22 01:05:29 2011
@@ -0,0 +1,70 @@
+/*
+ * $Id: BaseGeneric.java 1103095 2011-05-14 13:18:29Z simonetripodi $
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.commons.ognl.performance.objects;
+
+import java.io.Serializable;
+
+/**
+ * Used to test ognl handling of java generics.
+ */
+public class BaseGeneric<E extends GenericObject, I extends Serializable>
+{
+
+    E _value;
+
+    GenericService _service;
+
+    protected I[] ids;
+
+    public BaseGeneric()
+    {
+        _service = new GenericServiceImpl();
+    }
+
+    public void setIds( I[] ids )
+    {
+        this.ids = ids;
+    }
+
+    public I[] getIds()
+    {
+        return this.ids;
+    }
+
+    public String getMessage()
+    {
+        return "Message";
+    }
+
+    public E getValue()
+    {
+        return _value;
+    }
+
+    public GenericService getService()
+    {
+        return _service;
+    }
+
+    public String format( Object value )
+    {
+        return value.toString();
+    }
+}

Propchange: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseGeneric.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseIndexed.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseIndexed.java?rev=1187613&view=auto
==============================================================================
--- commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseIndexed.java (added)
+++ commons/proper/ognl/src/main/java/org/apache/commons/ognl/performance/objects/BaseIndexed.java Sat Oct 22 01:05:29 2011
@@ -0,0 +1,32 @@
+/*
+ * $Id: BaseIndexed.java 1103095 2011-05-14 13:18:29Z simonetripodi $
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.commons.ognl.performance.objects;
+
+/**
+ * Class used to test inheritance.
+ */
+public class BaseIndexed
+{
+
+    public Object getLine( int index )
+    {
+        return "line:" + index;
+    }
+}