You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2007/03/03 00:34:49 UTC
svn commit: r514013 - in /jakarta/jmeter/branches/rel-2-2:
src/components/org/apache/jmeter/visualizers/
src/core/org/apache/jmeter/config/gui/
src/core/org/apache/jmeter/visualizers/ src/jorphan/org/apache/jorphan/gui/
src/jorphan/org/apache/jorphan/r...
Author: sebb
Date: Fri Mar 2 15:34:47 2007
New Revision: 514013
URL: http://svn.apache.org/viewvc?view=rev&rev=514013
Log:
Remove formatting from Calculator classes
Add unit tests for Functor method calls
Added:
jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jorphan/TestFunctorUsers.java
Modified:
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/StatVisualizer.java
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/SummaryReport.java
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/TableVisualizer.java
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/visualizers/SamplingStatCalculator.java
jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/ObjectTableModel.java
jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/reflect/Functor.java
jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java
jakarta/jmeter/branches/rel-2-2/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java
jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
Modified: jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java?view=diff&rev=514013&r1=514012&r2=514013
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java Fri Mar 2 15:34:47 2007
@@ -42,6 +42,7 @@
import javax.swing.JTable;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;
+import javax.swing.table.TableCellRenderer;
import org.apache.jmeter.gui.action.ActionNames;
import org.apache.jmeter.gui.action.ActionRouter;
@@ -57,7 +58,10 @@
import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
import org.apache.jorphan.gui.JLabeledChoice;
import org.apache.jorphan.gui.JLabeledTextField;
+import org.apache.jorphan.gui.NumberRenderer;
import org.apache.jorphan.gui.ObjectTableModel;
+import org.apache.jorphan.gui.RateRenderer;
+import org.apache.jorphan.gui.RendererUtils;
import org.apache.jorphan.logging.LoggingManager;
import org.apache.jorphan.reflect.Functor;
import org.apache.log.Logger;
@@ -147,7 +151,9 @@
public StatGraphVisualizer() {
super();
- model = new ObjectTableModel(COLUMNS, new Functor[] {
+ model = new ObjectTableModel(COLUMNS,
+ SamplingStatCalculator.class,
+ new Functor[] {
new Functor("getLabel"), //$NON-NLS-1$
new Functor("getCount"), //$NON-NLS-1$
new Functor("getMeanAsNumber"), //$NON-NLS-1$
@@ -156,9 +162,9 @@
new Object[] { new Float(.900) }),
new Functor("getMin"), //$NON-NLS-1$
new Functor("getMax"), //$NON-NLS-1$
- new Functor("getErrorPercentageString"), //$NON-NLS-1$
- new Functor("getRateString"), //$NON-NLS-1$
- new Functor("getPageSizeString") }, //$NON-NLS-1$
+ new Functor("getErrorPercentage"), //$NON-NLS-1$
+ new Functor("getRate"), //$NON-NLS-1$
+ new Functor("getPageSize") }, //$NON-NLS-1$
new Functor[] { null, null, null, null, null, null, null, null, null, null },
new Class[] { String.class, Long.class, Long.class, Long.class, Long.class, Long.class,
Long.class, String.class, String.class, String.class });
@@ -166,6 +172,26 @@
init();
}
+ // Column renderers
+ private static final TableCellRenderer[] RENDERERS =
+ new TableCellRenderer[]{
+ null, // Label
+ null, // count
+ null, // Mean
+ null, // median
+ null, // 90%
+ null, // Min
+ null, // Max
+ new NumberRenderer("#0.00%"), // Error %age
+ new RateRenderer("#.0"), // Throughpur
+ new NumberRenderer("#.0"), // pageSize
+ };
+
+ public static boolean testFunctors(){
+ StatGraphVisualizer instance = new StatGraphVisualizer();
+ return instance.model.checkFunctors(null,instance.getClass());
+ }
+
public String getLabelResource() {
return "aggregate_graph_title"; //$NON-NLS-1$
}
@@ -221,6 +247,7 @@
myJTable = new JTable(model);
myJTable.setPreferredScrollableViewportSize(new Dimension(500, 80));
+ RendererUtils.applyRenderers(myJTable, RENDERERS);
myScrollPane = new JScrollPane(myJTable);
graph = new VerticalPanel();
Modified: jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/StatVisualizer.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/StatVisualizer.java?view=diff&rev=514013&r1=514012&r2=514013
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/StatVisualizer.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/StatVisualizer.java Fri Mar 2 15:34:47 2007
@@ -33,6 +33,7 @@
import javax.swing.JTable;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;
+import javax.swing.table.TableCellRenderer;
//import javax.swing.table.AbstractTableModel;
//import javax.swing.table.TableModel;
@@ -41,7 +42,10 @@
import org.apache.jmeter.testelement.TestElement;
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
+import org.apache.jorphan.gui.NumberRenderer;
import org.apache.jorphan.gui.ObjectTableModel;
+import org.apache.jorphan.gui.RateRenderer;
+import org.apache.jorphan.gui.RendererUtils;
import org.apache.jorphan.reflect.Functor;
/**
@@ -79,6 +83,7 @@
public StatVisualizer() {
super();
model = new ObjectTableModel(COLUMNS,
+ SamplingStatCalculator.class,
new Functor[] {
new Functor("getLabel"), //$NON-NLS-1$
new Functor("getCount"), //$NON-NLS-1$
@@ -88,9 +93,9 @@
new Object[] { new Float(.900) }),
new Functor("getMin"), //$NON-NLS-1$
new Functor("getMax"), //$NON-NLS-1$
- new Functor("getErrorPercentageString"), //$NON-NLS-1$
- new Functor("getRateString"), //$NON-NLS-1$
- new Functor("getPageSizeString") //$NON-NLS-1$
+ new Functor("getErrorPercentage"), //$NON-NLS-1$
+ new Functor("getRate"), //$NON-NLS-1$
+ new Functor("getPageSize") //$NON-NLS-1$
},
new Functor[] { null, null, null, null, null, null, null, null, null, null },
new Class[] { String.class, Long.class, Long.class, Long.class, Long.class,
@@ -99,6 +104,26 @@
init();
}
+ // Column renderers
+ private static final TableCellRenderer[] RENDERERS =
+ new TableCellRenderer[]{
+ null, // Label
+ null, // count
+ null, // Mean
+ null, // median
+ null, // 90%
+ null, // Min
+ null, // Max
+ new NumberRenderer("#0.00%"), // Error %age
+ new RateRenderer("#.0"), // Throughpur
+ new NumberRenderer("#.0"), // pageSize
+ };
+
+ public static boolean testFunctors(){
+ StatVisualizer instance = new StatVisualizer();
+ return instance.model.checkFunctors(null,instance.getClass());
+ }
+
public String getLabelResource() {
return "aggregate_report"; //$NON-NLS-1$
}
@@ -156,6 +181,7 @@
// new SortFilterModel(myStatTableModel);
myJTable = new JTable(model);
myJTable.setPreferredScrollableViewportSize(new Dimension(500, 70));
+ RendererUtils.applyRenderers(myJTable, RENDERERS);
myScrollPane = new JScrollPane(myJTable);
this.add(mainPanel, BorderLayout.NORTH);
this.add(myScrollPane, BorderLayout.CENTER);
@@ -167,7 +193,6 @@
* haven't implemented this yet, it needs some non-trivial work done to it to
* support our dynamically-sizing TableModel for this visualizer.
*
- * @version $Revision$
*/
//class SortFilterModel extends AbstractTableModel {
Modified: jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/SummaryReport.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/SummaryReport.java?view=diff&rev=514013&r1=514012&r2=514013
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/SummaryReport.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/SummaryReport.java Fri Mar 2 15:34:47 2007
@@ -110,7 +110,7 @@
public static boolean testFunctors(){
SummaryReport instance = new SummaryReport();
- return instance.model.checkFunctors(null);
+ return instance.model.checkFunctors(null,instance.getClass());
}
public String getLabelResource() {
Modified: jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/TableVisualizer.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/TableVisualizer.java?view=diff&rev=514013&r1=514012&r2=514013
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/TableVisualizer.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/TableVisualizer.java Fri Mar 2 15:34:47 2007
@@ -109,7 +109,7 @@
public static boolean testFunctors(){
TableVisualizer instance = new TableVisualizer();
- return instance.model.checkFunctors(null);
+ return instance.model.checkFunctors(null,instance.getClass());
}
Modified: jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java?view=diff&rev=514013&r1=514012&r2=514013
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java Fri Mar 2 15:34:47 2007
@@ -341,14 +341,23 @@
* Initialize the table model used for the arguments table.
*/
protected void initializeTableModel() {
- tableModel = new ObjectTableModel(new String[] { COLUMN_NAMES_0, COLUMN_NAMES_1 }, new Functor[] {
+ tableModel = new ObjectTableModel(new String[] { COLUMN_NAMES_0, COLUMN_NAMES_1 },
+ Argument.class,
+ new Functor[] {
new Functor("getName"), // $NON-NLS-1$
new Functor("getValue") }, // $NON-NLS-1$
- new Functor[] { new Functor("setName"), // $NON-NLS-1$
+ new Functor[] {
+ new Functor("setName"), // $NON-NLS-1$
new Functor("setValue") }, // $NON-NLS-1$
new Class[] { String.class, String.class });
}
+ public static boolean testFunctors(){
+ ArgumentsPanel instance = new ArgumentsPanel();
+ instance.initializeTableModel();
+ return instance.tableModel.checkFunctors(null,instance.getClass());
+ }
+
/**
* Resize the table columns to appropriate widths.
*
Modified: jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/visualizers/SamplingStatCalculator.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/visualizers/SamplingStatCalculator.java?view=diff&rev=514013&r1=514012&r2=514013
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/visualizers/SamplingStatCalculator.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/visualizers/SamplingStatCalculator.java Fri Mar 2 15:34:47 2007
@@ -19,7 +19,6 @@
package org.apache.jmeter.visualizers;
import java.io.Serializable;
-import java.text.DecimalFormat;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -36,17 +35,10 @@
* the stats out with whatever methods you prefer.
*
* @author James Boutcher
- * @version $Revision$
*/
public class SamplingStatCalculator implements Serializable {
private static final Logger log = LoggingManager.getLoggerForClass();
- private static DecimalFormat rateFormatter = new DecimalFormat("#.0");
-
- private static DecimalFormat errorFormatter = new DecimalFormat("#0.00%");
-
- private static DecimalFormat kbFormatter = new DecimalFormat("#0.00");
-
private final StatCalculator calculator = new StatCalculator();
private final List storedValues = new Vector();
@@ -143,41 +135,6 @@
}
/**
- * Returns a String that represents the throughput associated for this
- * sampler, in units appropriate to its dimension:
- * <p>
- * The number is represented in requests/second or requests/minute or
- * requests/hour.
- * <p>
- * Examples: "34.2/sec" "0.1/sec" "43.0/hour" "15.9/min"
- *
- * @return a String representation of the rate the samples are being taken
- * at.
- */
- public String getRateString() {
- double rate = getRate();
-
- if (rate == Double.MAX_VALUE) {
- return "N/A";
- }
-
- String unit = "sec";
-
- if (rate < 1.0) {
- rate *= 60.0;
- unit = "min";
- }
- if (rate < 1.0) {
- rate *= 60.0;
- unit = "hour";
- }
-
- String rval = rateFormatter.format(rate) + "/" + unit;
-
- return (rval);
- }
-
- /**
* Should calculate the average page size, which means divide the bytes by number
* of samples - actually calculates the throughput in bytes / second
*
@@ -196,16 +153,6 @@
return rate;
}
- /**
- * formats the Page Size
- *
- * @return
- */
- public String getPageSizeString() {
- double rate = getPageSize() / 1024;
- return kbFormatter.format(rate);
- }
-
public String getLabel() {
return label;
}
@@ -301,8 +248,7 @@
/**
* Returns the raw double value of the percentage of samples with errors
- * that were recorded. (Between 0.0 and 1.0) If you want a nicer return
- * format, see {@link #getErrorPercentageString()}.
+ * that were recorded. (Between 0.0 and 1.0)
*
* @return the raw double value of the percentage of samples with errors
* that were recorded.
@@ -318,23 +264,7 @@
}
/**
- * Returns a String which represents the percentage of sample errors that
- * have occurred. ("0.00%" through "100.00%")
- *
- * @return a String which represents the percentage of sample errors that
- * have occurred.
- */
- public String getErrorPercentageString() {
- double myErrorPercentage = this.getErrorPercentage();
- if (myErrorPercentage < 0) {
- myErrorPercentage = 0.0;
- }
-
- return (errorFormatter.format(myErrorPercentage));
- }
-
- /**
- * For debugging purposes, mainly.
+ * For debugging purposes, only.
*/
public String toString() {
StringBuffer mySB = new StringBuffer();
@@ -343,8 +273,8 @@
mySB.append("Avg: " + this.getMean() + " ");
mySB.append("Min: " + this.getMin() + " ");
mySB.append("Max: " + this.getMax() + " ");
- mySB.append("Error Rate: " + this.getErrorPercentageString() + " ");
- mySB.append("Sample Rate: " + this.getRateString());
+ mySB.append("Error Rate: " + this.getErrorPercentage() + " ");
+ mySB.append("Sample Rate: " + this.getRate());
return (mySB.toString());
}
Modified: jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/ObjectTableModel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/ObjectTableModel.java?view=diff&rev=514013&r1=514012&r2=514013
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/ObjectTableModel.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/ObjectTableModel.java Fri Mar 2 15:34:47 2007
@@ -218,15 +218,20 @@
return (Class) classes.get(arg0);
}
- /*
- * Check all registered functors
+ /**
+ * Check all registered functors.
+ * <p>
+ * <b>** only for use in unit test code **</b>
+ * </p>
*
- * @param value - an instance of the table model row data item (default the class provided to the ctr)
+ * @param value - an instance of the table model row data item
+ * (if null, use the class passed to the constructor).
*
- * ** only for use in unit test code
- * @return false if at least one Functor cannot be found
+ * @param caller - class of caller.
+ *
+ * @return false if at least one Functor cannot be found.
*/
- public boolean checkFunctors(Object _value){
+ public boolean checkFunctors(Object _value, Class caller){
Object value;
if (_value == null && objectClass != null) {
try {
@@ -245,16 +250,16 @@
for(int i=0;i<getColumnCount();i++){
Functor setMethod = (Functor) writeFunctors.get(i);
if (setMethod != null) {
- if (!setMethod.checkMethod(value)){
+ if (!setMethod.checkMethod(value,getColumnClass(i))){
status=false;
- log.warn("Cannot find setMethod "+setMethod.toString());
+ log.warn(caller.getName()+" is attempting to use nonexistent "+setMethod.toString());
}
}
Functor getMethod = (Functor) readFunctors.get(i);
if (getMethod != null) {
if (!getMethod.checkMethod(value)){
status=false;
- log.warn("Cannot find getMethod "+getMethod.toString());
+ log.warn(caller.getName()+" is attempting to use nonexistent "+getMethod.toString());
}
}
Modified: jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/reflect/Functor.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/reflect/Functor.java?view=diff&rev=514013&r1=514012&r2=514013
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/reflect/Functor.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/reflect/Functor.java Fri Mar 2 15:34:47 2007
@@ -173,7 +173,7 @@
}
/*
- * Check if a Functor method is valid.
+ * Check if a read Functor method is valid.
*
* @deprecated ** for use by Unit test code only **
*
@@ -184,6 +184,24 @@
this.invokee=_invokee;
try {
m = createMethod(getTypes());
+ } catch (Exception e){
+ // ignored
+ }
+ return null != m;
+ }
+
+ /*
+ * Check if a write Functor method is valid.
+ *
+ * @deprecated ** for use by Unit test code only **
+ *
+ * @return true if method exists
+ */
+ public boolean checkMethod(Object _invokee, Class c){
+ Method m = null;
+ this.invokee=_invokee;
+ try {
+ m = createMethod(new Class[]{c});
} catch (Exception e){
// ignored
}
Modified: jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java?view=diff&rev=514013&r1=514012&r2=514013
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java Fri Mar 2 15:34:47 2007
@@ -42,13 +42,28 @@
private static final String INCLUDE_EQUALS = JMeterUtils.getResString("include_equals");
protected void initializeTableModel() {
- tableModel = new ObjectTableModel(new String[] { ArgumentsPanel.COLUMN_NAMES_0, ArgumentsPanel.COLUMN_NAMES_1,
- ENCODE_OR_NOT, INCLUDE_EQUALS }, new Functor[] { new Functor("getName"), new Functor("getValue"),
- new Functor("isAlwaysEncoded"), new Functor("isUseEquals") }, new Functor[] { new Functor("setName"),
- new Functor("setValue"), new Functor("setAlwaysEncoded"), new Functor("setUseEquals") }, new Class[] {
- String.class, String.class, Boolean.class, Boolean.class });
+ tableModel = new ObjectTableModel(new String[] {
+ ArgumentsPanel.COLUMN_NAMES_0, ArgumentsPanel.COLUMN_NAMES_1, ENCODE_OR_NOT, INCLUDE_EQUALS },
+ HTTPArgument.class,
+ new Functor[] {
+ new Functor("getName"),
+ new Functor("getValue"),
+ new Functor("isAlwaysEncoded"),
+ new Functor("isUseEquals") },
+ new Functor[] {
+ new Functor("setName"),
+ new Functor("setValue"),
+ new Functor("setAlwaysEncoded"),
+ new Functor("setUseEquals") },
+ new Class[] {String.class, String.class, Boolean.class, Boolean.class });
}
+ public static boolean testFunctors(){
+ HTTPArgumentsPanel instance = new HTTPArgumentsPanel();
+ instance.initializeTableModel();
+ return instance.tableModel.checkFunctors(null,instance.getClass());
+ }
+
protected void sizeColumns(JTable table) {
int resizeMode = table.getAutoResizeMode();
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
Modified: jakarta/jmeter/branches/rel-2-2/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java?view=diff&rev=514013&r1=514012&r2=514013
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java Fri Mar 2 15:34:47 2007
@@ -36,6 +36,7 @@
import javax.swing.table.TableCellEditor;
import org.apache.jmeter.config.gui.AbstractConfigGui;
+import org.apache.jmeter.config.gui.ArgumentsPanel;
import org.apache.jmeter.testelement.TestElement;
import org.apache.jmeter.testelement.property.PropertyIterator;
import org.apache.jmeter.util.JMeterUtils;
@@ -321,11 +322,18 @@
*/
protected void initializeTableModel() {
tableModel = new ObjectTableModel(new String[] { COLUMN_NAMES[0], COLUMN_NAMES[1], COLUMN_NAMES[2] },
+ LDAPArgument.class,
new Functor[] { new Functor("getName"), new Functor("getValue"), new Functor("getOpcode") },
new Functor[] { new Functor("setName"), new Functor("setValue"), new Functor("setOpcode") },
new Class[] { String.class, String.class, String.class });
}
+ public static boolean testFunctors(){
+ LDAPArgumentsPanel instance = new LDAPArgumentsPanel();
+ instance.initializeTableModel();
+ return instance.tableModel.checkFunctors(null,instance.getClass());
+ }
+
/*
* protected void initializeTableModel() { tableModel = new
* ObjectTableModel( new String[] { ArgumentsPanel.COLUMN_NAMES_0,
Added: jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jorphan/TestFunctorUsers.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jorphan/TestFunctorUsers.java?view=auto&rev=514013
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jorphan/TestFunctorUsers.java (added)
+++ jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jorphan/TestFunctorUsers.java Fri Mar 2 15:34:47 2007
@@ -0,0 +1,67 @@
+/*
+ * 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.jorphan;
+
+import org.apache.jmeter.config.gui.ArgumentsPanel;
+import org.apache.jmeter.junit.JMeterTestCase;
+import org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel;
+import org.apache.jmeter.protocol.ldap.config.gui.LDAPArgumentsPanel;
+import org.apache.jmeter.visualizers.StatGraphVisualizer;
+import org.apache.jmeter.visualizers.StatVisualizer;
+import org.apache.jmeter.visualizers.SummaryReport;
+import org.apache.jmeter.visualizers.TableVisualizer;
+
+/*
+ * Unit tests for classes that use Functors
+ *
+ */
+public class TestFunctorUsers extends JMeterTestCase {
+
+ public TestFunctorUsers(String arg0) {
+ super(arg0);
+ }
+
+ public void testSummaryReport() throws Exception{
+ assertTrue("SummaryReport Functor",SummaryReport.testFunctors());
+ }
+
+ public void testTableVisualizer() throws Exception{
+ assertTrue("TableVisualizer Functor",TableVisualizer.testFunctors());
+ }
+
+ public void testStatGraphVisualizer() throws Exception{
+ assertTrue("StatGraphVisualizer Functor",StatGraphVisualizer.testFunctors());
+ }
+
+ public void testStatVisualizer() throws Exception{
+ assertTrue("StatVisualizer Functor",StatVisualizer.testFunctors());
+ }
+
+ public void testArgumentsPanel() throws Exception{
+ assertTrue("ArgumentsPanel Functor",ArgumentsPanel.testFunctors());
+ }
+
+ public void testHTTPArgumentsPanel() throws Exception{
+ assertTrue("HTTPArgumentsPanel Functor",HTTPArgumentsPanel.testFunctors());
+ }
+
+ public void testLDAPArgumentsPanel() throws Exception{
+ assertTrue("LDAPArgumentsPanel Functor",LDAPArgumentsPanel.testFunctors());
+ }
+}
Modified: jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml?view=diff&rev=514013&r1=514012&r2=514013
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml (original)
+++ jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml Fri Mar 2 15:34:47 2007
@@ -36,7 +36,7 @@
<p>
Bug 22510 - JMeter always uses the first entry in the keystore.
</p>
-<h4>Incompatible changes:</h4>
+<h4>Incompatible changes (usage):</h4>
<p>
Bug 41104: JMeterThread behaviour was changed so that PostProcessors are run in forward order
(as they appear in the test plan) rather than reverse order as previously.
@@ -49,6 +49,11 @@
so the temporary work-round of using '\' and '@' in the username to delimit the domain and realm
has been removed.
</p>
+<h4>Incompatible changes (development):</h4>
+<p>
+Calulator and SamplingStatCalculator classes no longer provide any formatting of their data.
+Formatting should now be done using the jorphan.gui Renderer classes.
+</p>
<h4>New functionality:</h4>
<ul>
<li>Added httpclient.parameters.file to allow HttpClient parameters to be defined</li>
@@ -64,10 +69,15 @@
<li>Bug 33964 - send file as entire post body if name/type are omitted</li>
<li>HTTP Mirror Server Workbench element</li>
<li>Bug 41253 - extend XPathExtractor to work with non-NodeList XPath expressions</li>
-<li>Change to htmlparser 2.0</li>
-<li>Updated to xstream 1.2.1/xpp3_min-1.1.3.4.O</li>
<li>Bug 39717 - use icons in the results tree instead of colors</li>
<li>Added __V variable function to resolve nested variable names</li>
+</ul>
+
+<h4>Non-functional improvements:</h4>
+<ul>
+<li>Change to htmlparser 2.0</li>
+<li>Updated to xstream 1.2.1/xpp3_min-1.1.3.4.O</li>
+<li>Functor calls can now be unit tested</li>
</ul>
<h4>Bug fixes:</h4>
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org