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 ms...@apache.org on 2002/05/21 05:36:45 UTC
cvs commit: jakarta-jmeter/src_1/org/apache/jmeter/util SearchByClass.java
mstover1 02/05/20 20:36:44
Modified: src/org/apache/jmeter/engine RemoteJMeterEngine.java
RemoteJMeterEngineImpl.java
src/org/apache/jmeter/reporters FileReporter.java
src_1/org/apache/jmeter NewDriver.java
src_1/org/apache/jmeter/config/gui AbstractConfigGui.java
ArgumentsPanel.java LoginConfigGui.java
src_1/org/apache/jmeter/engine RemoteJMeterEngine.java
RemoteJMeterEngineImpl.java
StandardJMeterEngine.java
src_1/org/apache/jmeter/gui MainFrame.java
src_1/org/apache/jmeter/gui/action EditCommand.java
src_1/org/apache/jmeter/gui/tree JMeterTreeListener.java
src_1/org/apache/jmeter/gui/util JMeterMenuBar.java
src_1/org/apache/jmeter/protocol/ftp/config/gui
FtpConfigGui.java
src_1/org/apache/jmeter/protocol/http/config/gui
UrlConfigGui.java
src_1/org/apache/jmeter/protocol/http/control
CookieManager.java
src_1/org/apache/jmeter/protocol/http/gui AuthPanel.java
CookiePanel.java HeaderPanel.java
src_1/org/apache/jmeter/protocol/jdbc/config/gui
DbConfigGui.java PoolConfigGui.java
SqlConfigGui.java
src_1/org/apache/jmeter/reporters FileReporter.java
src_1/org/apache/jmeter/resources messages.properties
messages_ja.properties messages_no.properties
src_1/org/apache/jmeter/threads TestCompiler.java
ThreadGroup.java
src_1/org/apache/jmeter/util SearchByClass.java
Added: src_1/org/apache/jmeter/protocol/java/config JavaConfig.java
src_1/org/apache/jmeter/protocol/java/config/gui
JavaConfigGui.java
src_1/org/apache/jmeter/protocol/java/control/gui
JavaTestSamplerGui.java
src_1/org/apache/jmeter/protocol/java/sampler
JavaSampler.java JavaSamplerClient.java
src_1/org/apache/jmeter/protocol/java/test SleepTest.java
Log:
Fixing numerous bugs and enhancements. New Java protocol.
Revision Changes Path
1.6 +1 -1 jakarta-jmeter/src/org/apache/jmeter/engine/RemoteJMeterEngine.java
Index: RemoteJMeterEngine.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/org/apache/jmeter/engine/RemoteJMeterEngine.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- RemoteJMeterEngine.java 26 Jul 2001 00:34:44 -0000 1.5
+++ RemoteJMeterEngine.java 21 May 2002 03:36:43 -0000 1.6
@@ -66,7 +66,7 @@
***********************************************************/
public interface RemoteJMeterEngine extends Remote
{
- void addThreadGroup(ThreadGroup tGroup) throws RemoteException;
+ void addThreadGroup(org.apache.jmeter.threads.ThreadGroup tGroup) throws RemoteException;
void runTest() throws RemoteException;
1.10 +1 -1 jakarta-jmeter/src/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java
Index: RemoteJMeterEngineImpl.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- RemoteJMeterEngineImpl.java 28 Aug 2001 21:28:31 -0000 1.9
+++ RemoteJMeterEngineImpl.java 21 May 2002 03:36:43 -0000 1.10
@@ -98,7 +98,7 @@
* attribute
*@exception RemoteException Description of Exception
***********************************************************/
- public void addThreadGroup(ThreadGroup tGroup) throws RemoteException
+ public void addThreadGroup(org.apache.jmeter.threads.ThreadGroup tGroup) throws RemoteException
{
backingEngine.addThreadGroup(tGroup);
}
1.7 +18 -4 jakarta-jmeter/src/org/apache/jmeter/reporters/FileReporter.java
Index: FileReporter.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/org/apache/jmeter/reporters/FileReporter.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- FileReporter.java 4 Mar 2002 23:08:54 -0000 1.6
+++ FileReporter.java 21 May 2002 03:36:43 -0000 1.7
@@ -87,16 +87,30 @@
String line;
while ((line = reader.readLine()) != null) {
try {
- if (line.startsWith("#") || line.trim().length() == 0) continue;
- StringTokenizer st = new StringTokenizer(line, " ,");
- String key = (String) st.nextToken();
- Integer value = new Integer((String) st.nextToken());
+ line.trim();
+ if (line.startsWith("#") || line.length() == 0)
+ continue;
+ int splitter = line.lastIndexOf(' ');
+ String key = line.substring(0, splitter);
+ int len = line.length() - 1;
+ Integer value = null;
+ if (line.charAt(len) == ',') {
+ value = new Integer(
+ line.substring(splitter + 1, len));
+ } else {
+ value = new Integer(
+ line.substring(splitter + 1));
+ }
Vector v = getData(key);
if (v == null) {
v = new Vector();
this.data.put(key, v);
}
v.addElement(value);
+ } catch (NumberFormatException nfe) {
+ System.out.println(nfe.toString());
+ System.out.println("This line could not be parsed: "
+ + line);
} catch (Exception e) {
System.out.println(e.toString());
}
1.5 +1 -2 jakarta-jmeter/src_1/org/apache/jmeter/NewDriver.java
Index: NewDriver.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/NewDriver.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- NewDriver.java 20 May 2002 13:05:50 -0000 1.4
+++ NewDriver.java 21 May 2002 03:36:43 -0000 1.5
@@ -90,13 +90,12 @@
JMeterTreeModel treeModel = new JMeterTreeModel();
JMeterTreeListener treeLis = new JMeterTreeListener(treeModel);
+ treeLis.setActionHandler(ActionRouter.getInstance());
GuiPackage guiPack = GuiPackage.getInstance(treeLis, treeModel);
MainFrame main = new MainFrame(ActionRouter.getInstance(),
treeModel, treeLis);
- guiPack.setMainFrame(main);
main.setTitle("Apache JMeter");
main.setIconImage(JMeterUtils.getImage("jmeter.jpg").getImage());
- treeLis.setActionHandler(ActionRouter.getInstance());
ComponentUtil.centerComponentInWindow(main,80);
main.show();
ActionRouter.getInstance().actionPerformed(new ActionEvent(
1.3 +33 -1 jakarta-jmeter/src_1/org/apache/jmeter/config/gui/AbstractConfigGui.java
Index: AbstractConfigGui.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/config/gui/AbstractConfigGui.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AbstractConfigGui.java 29 Apr 2002 17:08:07 -0000 1.2
+++ AbstractConfigGui.java 21 May 2002 03:36:43 -0000 1.3
@@ -65,12 +65,44 @@
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
*
*@author Michael Stover
- *@created $Date: 2002/04/29 17:08:07 $
+ *@created $Date: 2002/05/21 03:36:43 $
*@version 1.0
***************************************/
public abstract class AbstractConfigGui extends JPanel implements JMeterGUIComponent
{
+
+ private NamePanel namePanel;
+
+ public AbstractConfigGui()
+ {
+ namePanel = new NamePanel();
+ setName(getStaticLabel());
+ }
+
+ public void setName(String name)
+ {
+ namePanel.setName(name);
+ }
+ public String getName()
+ {
+ return namePanel.getName();
+ }
+
+ protected NamePanel getNamePanel()
+ {
+ return namePanel;
+ }
+
+ /****************************************
+ * !ToDo (Method description)
+ *
+ *@param element !ToDo (Parameter description)
+ ***************************************/
+ public void configure(TestElement element)
+ {
+ setName((String)element.getProperty(TestElement.NAME));
+ }
/****************************************
* !ToDo (Method description)
1.5 +3 -25 jakarta-jmeter/src_1/org/apache/jmeter/config/gui/ArgumentsPanel.java
Index: ArgumentsPanel.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/config/gui/ArgumentsPanel.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ArgumentsPanel.java 9 May 2002 01:58:37 -0000 1.4
+++ ArgumentsPanel.java 21 May 2002 03:36:43 -0000 1.5
@@ -93,7 +93,6 @@
{
tableModel = new InnerTableModel();
init();
- setName(getStaticLabel());
}
/****************************************
@@ -107,27 +106,6 @@
}
/****************************************
- * !ToDo (Method description)
- *
- *@param name !ToDo (Parameter description)
- ***************************************/
- public void setName(String name)
- {
- super.setName(name);
- this.name = name;
- }
-
- /****************************************
- * !ToDoo (Method description)
- *
- *@return !ToDo (Return description)
- ***************************************/
- public String getName()
- {
- return name;
- }
-
- /****************************************
* !ToDoo (Method description)
*
*@return !ToDo (Return description)
@@ -155,7 +133,7 @@
***************************************/
public void configure(TestElement el)
{
- setName((String)el.getProperty(TestElement.NAME));
+ super.configure(el);
if(el instanceof Arguments)
{
tableModel.args = (Arguments)el;
@@ -339,8 +317,8 @@
* Inner class to handle table model calls
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/09 01:58:37 $
- *@version $Revision: 1.4 $
+ *@created $Date: 2002/05/21 03:36:43 $
+ *@version $Revision: 1.5 $
***************************************/
private class InnerTableModel extends DefaultTableModel
{
1.3 +2 -17 jakarta-jmeter/src_1/org/apache/jmeter/config/gui/LoginConfigGui.java
Index: LoginConfigGui.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/config/gui/LoginConfigGui.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- LoginConfigGui.java 29 Apr 2002 17:08:07 -0000 1.2
+++ LoginConfigGui.java 21 May 2002 03:36:43 -0000 1.3
@@ -74,7 +74,6 @@
{
JTextField username = new JTextField(15);
JTextField password = new JPasswordField(15);
- NamePanel namePanel;
private boolean displayName = true;
/****************************************
@@ -93,23 +92,9 @@
public LoginConfigGui(boolean displayName)
{
this.displayName = displayName;
- namePanel = new NamePanel();
- setName(getStaticLabel());
init();
}
-
- public void setName(String name)
- {
- super.setName(name);
- namePanel.setName(name);
- }
-
- public String getName()
- {
- return namePanel.getName();
- }
-
public String getStaticLabel()
{
return JMeterUtils.getResString("Login Config Element");
@@ -117,7 +102,7 @@
public void configure(TestElement element)
{
- setName((String)element.getProperty(TestElement.NAME));
+ super.configure(element);
username.setText((String)element.getProperty(ConfigTestElement.USERNAME));
password.setText((String)element.getProperty(ConfigTestElement.PASSWORD));
}
@@ -137,7 +122,7 @@
if(displayName)
{
- this.add(namePanel);
+ this.add(getNamePanel());
}
this.add(createUsernamePanel());
1.3 +3 -3 jakarta-jmeter/src_1/org/apache/jmeter/engine/RemoteJMeterEngine.java
Index: RemoteJMeterEngine.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/engine/RemoteJMeterEngine.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- RemoteJMeterEngine.java 29 Apr 2002 17:08:07 -0000 1.2
+++ RemoteJMeterEngine.java 21 May 2002 03:36:43 -0000 1.3
@@ -54,9 +54,9 @@
*/
package org.apache.jmeter.engine;
-import java.rmi.*;
-import org.apache.jmeter.samplers.RemoteSampleListener;
-import org.apache.jmeter.threads.ThreadGroup;
+import java.rmi.Remote;
+import java.rmi.RemoteException;
+
import org.apache.jmeter.util.ListedHashTree;
/************************************************************
1.3 +3 -5 jakarta-jmeter/src_1/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java
Index: RemoteJMeterEngineImpl.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- RemoteJMeterEngineImpl.java 29 Apr 2002 17:08:07 -0000 1.2
+++ RemoteJMeterEngineImpl.java 21 May 2002 03:36:43 -0000 1.3
@@ -53,13 +53,11 @@
* <http://www.apache.org/>.
*/
package org.apache.jmeter.engine;
-import java.io.*;
-import java.rmi.*;
+import java.rmi.Naming;
+import java.rmi.RemoteException;
-import java.util.*;
-import org.apache.jmeter.threads.JMeterThread;
-import org.apache.jmeter.threads.ThreadGroup;
import org.apache.jmeter.util.ListedHashTree;
+
/************************************************************
* Description of the Class
1.5 +2 -3 jakarta-jmeter/src_1/org/apache/jmeter/engine/StandardJMeterEngine.java
Index: StandardJMeterEngine.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/engine/StandardJMeterEngine.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- StandardJMeterEngine.java 2 May 2002 22:54:58 -0000 1.4
+++ StandardJMeterEngine.java 21 May 2002 03:36:43 -0000 1.5
@@ -69,8 +69,8 @@
* !ToDo (Class description)
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/02 22:54:58 $
- *@version $Revision: 1.4 $
+ *@created $Date: 2002/05/21 03:36:43 $
+ *@version $Revision: 1.5 $
***********************************************************/
public class StandardJMeterEngine implements JMeterEngine,JMeterThreadMonitor
{
@@ -114,7 +114,6 @@
// and the listeners, and the timer
JMeterThread[] threads;
Iterator iter = searcher.getSearchResults().iterator();
- System.out.println("found " + searcher.getSearchResults().size() + " threadgroups");
notifyTestListenersOfStart();
while(iter.hasNext())
{
1.6 +6 -4 jakarta-jmeter/src_1/org/apache/jmeter/gui/MainFrame.java
Index: MainFrame.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/MainFrame.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- MainFrame.java 20 May 2002 13:05:51 -0000 1.5
+++ MainFrame.java 21 May 2002 03:36:43 -0000 1.6
@@ -67,7 +67,7 @@
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
*
*@author Michael Stover
- *@created $Date: 2002/05/20 13:05:51 $
+ *@created $Date: 2002/05/21 03:36:43 $
*@version 1.0
***************************************/
@@ -104,6 +104,7 @@
this.treeListener = treeListener;
this.actionHandler = actionHandler;
this.treeModel = treeModel;
+ GuiPackage.getInstance().setMainFrame(this);
init();
this.setDefaultCloseOperation(this.DO_NOTHING_ON_CLOSE);
}
@@ -269,10 +270,11 @@
{
menuBar = new JMeterMenuBar();
createToolBar();
- createTreePanel();
createMainPanel();
+ createTreePanel();
addThemAll();
addWindowListener(new WindowHappenings());
+ tree.setSelectionRow(1);
}
private TreeCellRenderer getCellRenderer()
@@ -361,8 +363,8 @@
* !ToDo (Class description)
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/20 13:05:51 $
- *@version $Revision: 1.5 $
+ *@created $Date: 2002/05/21 03:36:43 $
+ *@version $Revision: 1.6 $
***************************************/
private class WindowHappenings extends WindowAdapter
{
1.5 +13 -1 jakarta-jmeter/src_1/org/apache/jmeter/gui/action/EditCommand.java
Index: EditCommand.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/action/EditCommand.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- EditCommand.java 2 May 2002 22:54:58 -0000 1.4
+++ EditCommand.java 21 May 2002 03:36:43 -0000 1.5
@@ -8,7 +8,7 @@
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
*
*@author Michael Stover
- *@created $Date: 2002/05/02 22:54:58 $
+ *@created $Date: 2002/05/21 03:36:43 $
*@version 1.0
***************************************/
@@ -36,6 +36,18 @@
GuiPackage guiPackage = GuiPackage.getInstance();
guiPackage.getMainFrame().setMainPanel((javax.swing.JComponent)
guiPackage.getTreeListener().getCurrentNode().getUserObject());
+ guiPackage.getMainFrame().setEditMenu(
+ ((JMeterGUIComponent)guiPackage.getTreeListener().getCurrentNode().getUserObject()).createPopupMenu());
+ if(!(guiPackage.getTreeListener().getCurrentNode().getUserObject() instanceof NamePanel))
+ {
+ guiPackage.getMainFrame().setFileLoadEnabled(true);
+ guiPackage.getMainFrame().setFileSaveEnabled(true);
+ }
+ else
+ {
+ guiPackage.getMainFrame().setFileLoadEnabled(false);
+ guiPackage.getMainFrame().setFileSaveEnabled(false);
+ }
}
/****************************************
1.4 +1 -2 jakarta-jmeter/src_1/org/apache/jmeter/gui/tree/JMeterTreeListener.java
Index: JMeterTreeListener.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/tree/JMeterTreeListener.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JMeterTreeListener.java 20 May 2002 13:05:51 -0000 1.3
+++ JMeterTreeListener.java 21 May 2002 03:36:43 -0000 1.4
@@ -297,10 +297,9 @@
{
currentPath = tree.getPathForLocation(e.getX(), e.getY());
}
- actionHandler.actionPerformed(new ActionEvent(this, e.getID(), JMeterUtils.getResString("edit")));
if(selRow != -1)
{
- updateMainMenu(((JMeterGUIComponent)getCurrentNode().getUserObject()).createPopupMenu());
+ //updateMainMenu(((JMeterGUIComponent)getCurrentNode().getUserObject()).createPopupMenu());
if(isRightClick(e))
{
if(tree.getSelectionCount() < 2)
1.3 +30 -14 jakarta-jmeter/src_1/org/apache/jmeter/gui/util/JMeterMenuBar.java
Index: JMeterMenuBar.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/util/JMeterMenuBar.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JMeterMenuBar.java 29 Apr 2002 17:08:09 -0000 1.2
+++ JMeterMenuBar.java 21 May 2002 03:36:43 -0000 1.3
@@ -1,8 +1,18 @@
package org.apache.jmeter.gui.util;
-import java.awt.event.*;
-import java.util.*;
-import javax.swing.*;
-import org.apache.jmeter.gui.action.*;
+import java.awt.Component;
+import java.awt.event.KeyEvent;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedList;
+
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+import javax.swing.JMenuItem;
+import javax.swing.JPopupMenu;
+import javax.swing.KeyStroke;
+import javax.swing.MenuElement;
+import javax.swing.UIManager;
+import org.apache.jmeter.gui.action.ActionRouter;
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jmeter.util.SSLManager;
@@ -11,7 +21,7 @@
* Apache Foundation
*
*@author Michael Stover
- *@created $Date: 2002/04/29 17:08:09 $
+ *@created $Date: 2002/05/21 03:36:43 $
*@version 1.0
***************************************/
@@ -125,8 +135,20 @@
public void setEditMenu(JPopupMenu menu)
{
- editMenu.removeAll();
- editMenu.add(menu);
+ if(menu != null)
+ {
+ editMenu.removeAll();
+ Component[] comps = menu.getComponents();
+ for(int i = 0;i < comps.length;i++)
+ {
+ editMenu.add(comps[i]);
+ }
+ editMenu.setEnabled(true);
+ }
+ else
+ {
+ editMenu.setEnabled(false);
+ }
}
/****************************************
@@ -235,13 +257,7 @@
fileMenu.add(file_exit);
// EDIT MENU
- editMenu = new JMenu(JMeterUtils.getResString("menu_edit"));
- editMenu.setMnemonic('E');
- edit_remove = new JMenuItem(JMeterUtils.getResString("remove"));
- edit_remove.setMnemonic('R');
- edit_remove.addActionListener(ActionRouter.getInstance());
- edit_remove.setEnabled(false);
- editMenu.add(edit_remove);
+ editMenu = new JMenu(JMeterUtils.getResString("edit"));
// From the Java Look and Feel Guidelines: If all items in a menu
// are disabled, then disable the menu. Makes sense.
editMenu.setEnabled(false);
1.3 +3 -18 jakarta-jmeter/src_1/org/apache/jmeter/protocol/ftp/config/gui/FtpConfigGui.java
Index: FtpConfigGui.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/ftp/config/gui/FtpConfigGui.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- FtpConfigGui.java 29 Apr 2002 17:08:10 -0000 1.2
+++ FtpConfigGui.java 21 May 2002 03:36:43 -0000 1.3
@@ -70,7 +70,7 @@
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
*
*@author Michael Stover
- *@created $Date: 2002/04/29 17:08:10 $
+ *@created $Date: 2002/05/21 03:36:43 $
*@version 1.0
***************************************/
@@ -84,8 +84,6 @@
private boolean displayName = true;
- private NamePanel namePanel;
-
/****************************************
* !ToDo (Constructor description)
***************************************/
@@ -99,20 +97,9 @@
return JMeterUtils.getResString("ftp_sample_title");
}
- public void setName(String name)
- {
- super.setName(name);
- namePanel.setName(name);
- }
-
- public String getName()
- {
- return namePanel.getName();
- }
-
public void configure(TestElement element)
{
- setName((String)element.getProperty(TestElement.NAME));
+ super.configure(element);
server.setText((String)element.getProperty(FTPSampler.SERVER));
filename.setText((String)element.getProperty(FTPSampler.FILENAME));
}
@@ -134,8 +121,6 @@
public FtpConfigGui(boolean displayName)
{
this.displayName = displayName;
- namePanel = new NamePanel();
- setName(getStaticLabel());
init();
}
@@ -181,7 +166,7 @@
mainPanel.add(panelTitleLabel);
// NAME
- mainPanel.add(namePanel);
+ mainPanel.add(getNamePanel());
// LOOP
mainPanel.add(createServerPanel());
1.5 +5 -38 jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java
Index: UrlConfigGui.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- UrlConfigGui.java 29 Apr 2002 17:08:10 -0000 1.4
+++ UrlConfigGui.java 21 May 2002 03:36:43 -0000 1.5
@@ -73,7 +73,7 @@
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
*
*@author Michael Stover
- *@created $Date: 2002/04/29 17:08:10 $
+ *@created $Date: 2002/05/21 03:36:43 $
*@version 1.0
***************************************/
@@ -88,10 +88,6 @@
* !ToDo (Field description)
***************************************/
protected ArgumentsPanel argsPanel;
- /****************************************
- * !ToDo (Field description)
- ***************************************/
- protected NamePanel namePanel;
private static String DOMAIN = "domain";
private static String PORT = "port";
private static String PATH = "path";
@@ -125,34 +121,12 @@
***************************************/
public UrlConfigGui(boolean display)
{
- namePanel = new NamePanel();
displayName = display;
init();
setName(getStaticLabel());
}
/****************************************
- * !ToDo (Method description)
- *
- *@param name !ToDo (Parameter description)
- ***************************************/
- public void setName(String name)
- {
- super.setName(name);
- namePanel.setName(name);
- }
-
- /****************************************
- * !ToDoo (Method description)
- *
- *@return !ToDo (Return description)
- ***************************************/
- public String getName()
- {
- return namePanel.getName();
- }
-
- /****************************************
* !ToDoo (Method description)
*
*@return !ToDo (Return description)
@@ -228,16 +202,6 @@
}
/****************************************
- * !ToDoo (Method description)
- *
- *@return !ToDo (Return description)
- ***************************************/
- protected NamePanel getNamePanel()
- {
- return namePanel;
- }
-
- /****************************************
* !ToDo (Method description)
***************************************/
protected void init()
@@ -274,7 +238,10 @@
mainPanel.add(panelTitleLabel);
// NAME
- mainPanel.add(getNamePanel());
+ if(displayName)
+ {
+ mainPanel.add(getNamePanel());
+ }
mainPanel.add(webServerPanel);
mainPanel.add(webRequestPanel);
1.4 +20 -7 jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/control/CookieManager.java
Index: CookieManager.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/control/CookieManager.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- CookieManager.java 29 Apr 2002 17:08:10 -0000 1.3
+++ CookieManager.java 21 May 2002 03:36:43 -0000 1.4
@@ -56,26 +56,39 @@
package org.apache.jmeter.protocol.http.control;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.Serializable;
import java.net.URL;
-import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.StringTokenizer;
+import java.util.TimeZone;
+import java.util.Vector;
-import org.apache.jmeter.config.*;
-import org.apache.jmeter.util.JMeterUtils;
import org.apache.jmeter.testelement.AbstractTestElement;
+import org.apache.jmeter.testelement.PerThreadClonable;
+import org.apache.jmeter.util.JMeterUtils;
/**
* This class provides an interface to the netscape cookies file to
* pass cookies along with a request.
*
* @author <a href="mailto:sdowd@arcmail.com">Sean Dowd</a>
- * @version $Revision: 1.3 $ $Date: 2002/04/29 17:08:10 $
+ * @version $Revision: 1.4 $ $Date: 2002/05/21 03:36:43 $
*/
public class CookieManager extends AbstractTestElement implements
- Serializable
+ Serializable,PerThreadClonable
{
public static final String COOKIES = "CookieManager.cookies";
1.5 +8 -32 jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/gui/AuthPanel.java
Index: AuthPanel.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/gui/AuthPanel.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AuthPanel.java 2 May 2002 22:54:58 -0000 1.4
+++ AuthPanel.java 21 May 2002 03:36:44 -0000 1.5
@@ -73,8 +73,8 @@
* user selects.
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/02 22:54:58 $
- *@version $Revision: 1.4 $
+ *@created $Date: 2002/05/21 03:36:44 $
+ *@version $Revision: 1.5 $
***************************************/
public class AuthPanel extends AbstractConfigGui implements ActionListener
{
@@ -90,7 +90,6 @@
JButton loadButton;
JButton saveButton;
JPanel authManagerPanel;
- private NamePanel namePanel;
/****************************************
* Default Constructor
@@ -99,7 +98,6 @@
{
tableModel = new InnerTableModel();
init();
- setName(getStaticLabel());
}
/****************************************
@@ -121,7 +119,7 @@
***************************************/
public void configure(TestElement el)
{
- setName((String)el.getProperty(TestElement.NAME));
+ super.configure(el);
tableModel.manager = (AuthManager)el;
}
@@ -136,27 +134,6 @@
}
/****************************************
- * !ToDo (Method description)
- *
- *@param name !ToDo (Parameter description)
- ***************************************/
- public void setName(String name)
- {
- super.setName(name);
- namePanel.setName(name);
- }
-
- /****************************************
- * !ToDoo (Method description)
- *
- *@return !ToDo (Return description)
- ***************************************/
- public String getName()
- {
- return namePanel.getName();
- }
-
- /****************************************
* Shows the main authentication panel for this object
***************************************/
public void init()
@@ -178,8 +155,7 @@
panelTitleLabel.setFont(new Font(curFont.getFontName(), curFont.getStyle(), curFontSize));
authManagerPanel.add(panelTitleLabel);
- namePanel = new NamePanel();
- authManagerPanel.add(namePanel);
+ authManagerPanel.add(getNamePanel());
JPanel authTablePanel = createAuthTablePanel();
authManagerPanel.add(authTablePanel);
@@ -399,8 +375,8 @@
* !ToDo (Class description)
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/02 22:54:58 $
- *@version $Revision: 1.4 $
+ *@created $Date: 2002/05/21 03:36:44 $
+ *@version $Revision: 1.5 $
***************************************/
private class InnerTableModel extends AbstractTableModel
{
@@ -553,8 +529,8 @@
* !ToDo (Class description)
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/02 22:54:58 $
- *@version $Revision: 1.4 $
+ *@created $Date: 2002/05/21 03:36:44 $
+ *@version $Revision: 1.5 $
***************************************/
private class PasswordCellRenderer extends JPasswordField implements TableCellRenderer
{
1.5 +5 -29 jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/gui/CookiePanel.java
Index: CookiePanel.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/gui/CookiePanel.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- CookiePanel.java 2 May 2002 22:54:59 -0000 1.4
+++ CookiePanel.java 21 May 2002 03:36:44 -0000 1.5
@@ -73,8 +73,8 @@
* for this service.
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/02 22:54:59 $
- *@version $Revision: 1.4 $
+ *@created $Date: 2002/05/21 03:36:44 $
+ *@version $Revision: 1.5 $
***************************************/
public class CookiePanel extends AbstractConfigGui implements ActionListener
{
@@ -88,7 +88,6 @@
JPanel cookieManagerPanel;
JTextPane nicknameTextPane;
JTextArea nicknameText;
- NamePanel namePanel;
/****************************************
* Default constructor
@@ -97,7 +96,6 @@
{
tableModel = new InnerTableModel();
init();
- setName(getStaticLabel());
}
/****************************************
@@ -248,32 +246,11 @@
***************************************/
public void configure(TestElement el)
{
- setName((String)el.getProperty(TestElement.NAME));
+ super.configure(el);
tableModel.manager = (CookieManager)el;
}
/****************************************
- * !ToDo (Method description)
- *
- *@param name !ToDo (Parameter description)
- ***************************************/
- public void setName(String name)
- {
- super.setName(name);
- namePanel.setName(name);
- }
-
- /****************************************
- * !ToDoo (Method description)
- *
- *@return !ToDo (Return description)
- ***************************************/
- public String getName()
- {
- return namePanel.getName();
- }
-
- /****************************************
* Shows the main cookie configuration panel
***************************************/
public void init()
@@ -295,8 +272,7 @@
panelTitleLabel.setFont(new Font(curFont.getFontName(), curFont.getStyle(), curFontSize));
cookieManagerPanel.add(panelTitleLabel);
- namePanel = new NamePanel();
- cookieManagerPanel.add(namePanel);
+ cookieManagerPanel.add(getNamePanel());
JPanel cookieTablePanel = createCookieTablePanel();
cookieManagerPanel.add(cookieTablePanel);
@@ -394,7 +370,7 @@
*
*@author mike
*@created July 14, 2001
- *@version $Revision: 1.4 $
+ *@version $Revision: 1.5 $
***************************************/
public class InnerTableModel extends AbstractTableModel
{
1.5 +8 -32 jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/gui/HeaderPanel.java
Index: HeaderPanel.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/gui/HeaderPanel.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- HeaderPanel.java 2 May 2002 22:54:59 -0000 1.4
+++ HeaderPanel.java 21 May 2002 03:36:44 -0000 1.5
@@ -72,8 +72,8 @@
* parameters for this service.
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/02 22:54:59 $
- *@version $Revision: 1.4 $
+ *@created $Date: 2002/05/21 03:36:44 $
+ *@version $Revision: 1.5 $
***************************************/
public class HeaderPanel extends AbstractConfigGui implements ActionListener
{
@@ -84,7 +84,6 @@
* A table to show the authentication information
***************************************/
JTable headerTable;
- NamePanel namePanel;
JButton addButton;
JButton deleteButton;
@@ -99,7 +98,6 @@
{
tableModel = new InnerTableModel();
init();
- setName(getStaticLabel());
}
/****************************************
@@ -121,7 +119,7 @@
***************************************/
public void configure(TestElement el)
{
- setName((String)el.getProperty(TestElement.NAME));
+ super.configure(el);
tableModel.manager = (HeaderManager)el;
}
@@ -136,27 +134,6 @@
}
/****************************************
- * !ToDo (Method description)
- *
- *@param name !ToDo (Parameter description)
- ***************************************/
- public void setName(String name)
- {
- super.setName(name);
- namePanel.setName(name);
- }
-
- /****************************************
- * !ToDoo (Method description)
- *
- *@return !ToDo (Return description)
- ***************************************/
- public String getName()
- {
- return namePanel.getName();
- }
-
- /****************************************
* Gets a HeaderManager to manage the file that is currently selected. Null is
* returned if no file is currently selected. Null will also be returned if
* there is a problem reading the file while getting the HeaderManager.
@@ -187,8 +164,7 @@
panelTitleLabel.setFont(new Font(curFont.getFontName(), curFont.getStyle(), curFontSize));
headerManagerPanel.add(panelTitleLabel);
- namePanel = new NamePanel();
- headerManagerPanel.add(namePanel);
+ headerManagerPanel.add(getNamePanel());
JPanel headerTablePanel = createHeaderTablePanel();
headerManagerPanel.add(headerTablePanel);
@@ -404,8 +380,8 @@
* Updates a header record
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/02 22:54:59 $
- *@version $Revision: 1.4 $
+ *@created $Date: 2002/05/21 03:36:44 $
+ *@version $Revision: 1.5 $
***************************************/
class HeaderUpdater implements ActionListener
{
@@ -561,8 +537,8 @@
* !ToDo (Class description)
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/02 22:54:59 $
- *@version $Revision: 1.4 $
+ *@created $Date: 2002/05/21 03:36:44 $
+ *@version $Revision: 1.5 $
***************************************/
private class InnerTableModel extends AbstractTableModel
{
1.1 jakarta-jmeter/src_1/org/apache/jmeter/protocol/java/config/JavaConfig.java
Index: JavaConfig.java
===================================================================
/*
* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache JMeter" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* "Apache JMeter", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.jmeter.protocol.java.config;
import java.io.Serializable;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.JavaSampler;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerClient;
import org.apache.jmeter.testelement.AbstractTestElement;
import org.apache.log4j.Category;
/**
*
* The <code>JavaConfig</code> class contains the configuration data
* necessary for the Java protocol.
*
*@author Brad Kiewel
*@created $Date: 2002/05/21 03:36:44 $
*@version $Revision: 1.1 $
*/
public class JavaConfig extends AbstractTestElement implements Serializable
{
/** Logging */
private static Category cat = Category.getInstance(JavaConfig.class);
private transient JavaSamplerClient javaClient = null;
/**
* Constructor for the JavaConfig object
*/
public JavaConfig()
{
setArguments(new Arguments());
}
/**
* Sets the Classname attribute of the JavaConfig object
*
*@param classname The new Classname value
*/
public void setClassname(String classname)
{
setProperty(JavaSampler.CLASSNAME, classname);
}
/**
* Gets the Classname attribute of the JavaConfig object
*
*@return The Classname value
*/
public String getClassname()
{
return (String) getPropertyAsString(JavaSampler.CLASSNAME);
}
public void addArgument(String name,String value)
{
Arguments args = this.getArguments();
args.addArgument(name,value);
}
public void removeArguments()
{
this.setProperty(JavaSampler.ARGUMENTS,new Arguments());
}
public void setArguments(Arguments args)
{
setProperty(JavaSampler.ARGUMENTS,args);
}
/**
* Gets the Arguments attribute of the JavaConfig object
*
*@return The Arguments value
*/
public Arguments getArguments()
{
return (Arguments) getProperty(JavaSampler.ARGUMENTS);
}
}
1.1 jakarta-jmeter/src_1/org/apache/jmeter/protocol/java/config/gui/JavaConfigGui.java
Index: JavaConfigGui.java
===================================================================
/*
* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache JMeter" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* "Apache JMeter", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.jmeter.protocol.java.config.gui;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.ArrayList;
import javax.swing.BorderFactory;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.config.gui.AbstractConfigGui;
import org.apache.jmeter.config.gui.ArgumentsPanel;
import org.apache.jmeter.gui.NamePanel;
import org.apache.jmeter.gui.util.VerticalLayout;
import org.apache.jmeter.protocol.java.config.JavaConfig;
import org.apache.jmeter.protocol.java.sampler.JavaSampler;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerClient;
import org.apache.jmeter.testelement.TestElement;
import org.apache.jmeter.util.ClassFinder;
import org.apache.jmeter.util.JMeterUtils;
import org.apache.log4j.Category;
/**
* The <code>JavaConfigGui</code> class provides the user interface for
* the JavaConfig object.
* @author Brad Kiewel
* @version $Revision: 1.1 $
*/
public class JavaConfigGui extends AbstractConfigGui
{
private static Category cat = Category.getInstance(JavaConfigGui.class);
private static String CLASSNAMECOMBO = "classnamecombo";
private JComboBox classnameCombo;
protected boolean displayName = true;
private ArgumentsPanel argsPanel;
public JavaConfigGui()
{
this(true);
}
public String getStaticLabel()
{
return JMeterUtils.getResString("Java Request Defaults");
}
public JavaConfigGui(boolean displayNameField)
{
this.displayName = displayNameField;
init();
}
protected void init()
{
this.setLayout(new VerticalLayout(5, VerticalLayout.LEFT, VerticalLayout.TOP));
JPanel classnameRequestPanel = new JPanel();
classnameRequestPanel.setLayout(new VerticalLayout(5, VerticalLayout.LEFT, VerticalLayout.TOP));
classnameRequestPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), JMeterUtils.getResString("protocol_java_border")));
classnameRequestPanel.add(getClassnamePanel());
classnameRequestPanel.add(getParameterPanel());
if (displayName)
{
// MAIN PANEL
JPanel mainPanel = new JPanel();
Border margin = new EmptyBorder(10, 10, 5, 10);
mainPanel.setBorder(margin);
mainPanel.setLayout(new VerticalLayout(5, VerticalLayout.LEFT));
// TITLE
JLabel panelTitleLabel = new JLabel(JMeterUtils.getResString("protocol_java_config_tile"));
Font curFont = panelTitleLabel.getFont();
int curFontSize = curFont.getSize();
curFontSize += 4;
panelTitleLabel.setFont(new Font(curFont.getFontName(), curFont.getStyle(), curFontSize));
mainPanel.add(panelTitleLabel);
// NAME
mainPanel.add(getNamePanel());
mainPanel.add(classnameRequestPanel);
this.add(mainPanel);
}
else
{
this.add(classnameRequestPanel);
}
}
protected JPanel getClassnamePanel()
{
JPanel panel = new JPanel();
panel.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 10));
panel.add(new JLabel(JMeterUtils.getResString("protocol_java_classname")));
ArrayList possibleClasses = null;
try {
// Find all the classes which implement the JavaSamplerClient interface
possibleClasses = ClassFinder.findClassesByInterface(JMeterUtils.split(JMeterUtils.getPropDefault("search_paths", ".;ApacheJMeter.jar"), ";"),new Class[]{JavaSamplerClient.class});
// Remove the JavaConfig class from the list since it only implements the interface for
// error conditions.
possibleClasses.remove("org.apache.jmeter.protocol.java.config.JavaConfig");
} catch (Exception e) {
cat.debug("Exception getting interfaces.",e);
}
classnameCombo = new JComboBox(possibleClasses.toArray());
classnameCombo.setName(CLASSNAMECOMBO);
classnameCombo.setEditable(false);
panel.add(classnameCombo);
return panel;
}
protected JPanel getParameterPanel()
{
argsPanel = new ArgumentsPanel();
return argsPanel;
}
public void configure(TestElement config)
{
super.configure(config);
argsPanel.configure((Arguments)config.getProperty(JavaSampler.ARGUMENTS));
classnameCombo.setSelectedItem(config.getPropertyAsString(JavaSampler.CLASSNAME));
}
public TestElement createTestElement()
{
JavaConfig config = new JavaConfig();
this.configureTestElement(config);
config.setArguments((Arguments)argsPanel.createTestElement());
config.setClassname(classnameCombo.getSelectedItem().toString());
return config;
}
}
1.1 jakarta-jmeter/src_1/org/apache/jmeter/protocol/java/control/gui/JavaTestSamplerGui.java
Index: JavaTestSamplerGui.java
===================================================================
/*
* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache JMeter" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* "Apache JMeter", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.jmeter.protocol.java.control.gui;
import java.awt.Font;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;
import org.apache.jmeter.gui.util.VerticalLayout;
import org.apache.jmeter.protocol.java.config.JavaConfig;
import org.apache.jmeter.protocol.java.config.gui.JavaConfigGui;
import org.apache.jmeter.protocol.java.sampler.JavaSampler;
import org.apache.jmeter.samplers.gui.AbstractSamplerGui;
import org.apache.jmeter.testelement.TestElement;
import org.apache.jmeter.util.JMeterUtils;
/**
* The <code>JavaTestSamplerGui</code> class provides the user interface
* for the JavaTestSampler.
*
* @author Brad Kiewel
* @version $Revision: 1.1 $
*/
public class JavaTestSamplerGui extends AbstractSamplerGui {
private JavaConfigGui javaPanel = null;
/**
* Constructor for JavaTestSamplerGui
*
public JavaTestSamplerGui(LayoutManager arg0, boolean arg1) {
super(arg0, arg1);
}
/**
* Constructor for JavaTestSamplerGui
*
public JavaTestSamplerGui(LayoutManager arg0) {
super(arg0);
}
/**
* Constructor for JavaTestSamplerGui
*
public JavaTestSamplerGui(boolean arg0) {
super(arg0);
}
/**
* Constructor for JavaTestSamplerGui
*/
public JavaTestSamplerGui() {
super();
init();
}
public String getStaticLabel()
{
return JMeterUtils.getResString("Java Request");
}
private void init() {
this.setLayout(new VerticalLayout(5, VerticalLayout.LEFT, VerticalLayout.TOP));
// MAIN PANEL
JPanel mainPanel = new JPanel();
Border margin = new EmptyBorder(10, 10, 5, 10);
mainPanel.setBorder(margin);
mainPanel.setLayout(new VerticalLayout(5, VerticalLayout.LEFT));
// TITLE
JLabel panelTitleLabel = new JLabel(JMeterUtils.getResString("protocol_java_test_title"));
Font curFont = panelTitleLabel.getFont();
int curFontSize = curFont.getSize();
curFontSize += 4;
panelTitleLabel.setFont(new Font(curFont.getFontName(), curFont.getStyle(), curFontSize));
mainPanel.add(panelTitleLabel);
// NAME
mainPanel.add(getNamePanel());
javaPanel = new JavaConfigGui(false);
mainPanel.add(javaPanel);
this.add(mainPanel);
}
public TestElement createTestElement()
{
JavaConfig config = (JavaConfig)javaPanel.createTestElement();
JavaSampler sampler = new JavaSampler();
this.configureTestElement(sampler);
sampler.addTestElement(config);
return sampler;
}
public void configure(TestElement el)
{
super.configure(el);
javaPanel.configure(el);
}
}
1.1 jakarta-jmeter/src_1/org/apache/jmeter/protocol/java/sampler/JavaSampler.java
Index: JavaSampler.java
===================================================================
/*
* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache JMeter" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* "Apache JMeter", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.jmeter.protocol.java.sampler;
import java.util.HashMap;
import java.util.Iterator;
import org.apache.jmeter.config.Argument;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.config.JavaConfig;
import org.apache.jmeter.samplers.AbstractSampler;
import org.apache.jmeter.samplers.Entry;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.testelement.TestElement;
import org.apache.log4j.Category;
/**
*
*/
public class JavaSampler extends AbstractSampler implements JavaSamplerClient {
/** Handle to Java client. **/
public final static String CLASSNAME = "classname";
public final static String ARGUMENTS = "arguments";
private JavaSamplerClient javaClient = null;
/** Logging */
private static Category cat = Category.getInstance(JavaSampler.class);
public JavaSampler() {
setArguments(new Arguments());
}
public void setArguments(Arguments args)
{
this.setProperty(ARGUMENTS,args);
}
public Arguments getArguments()
{
return (Arguments)getProperty(ARGUMENTS);
}
public void addCustomTestElement(TestElement el)
{
if(el instanceof JavaConfig)
{
mergeIn(el);
}
}
/**
* Releases Java Client.
*/
public void releaseJavaClient () {
if (javaClient != null) {
javaClient.teardownTest(createArgumentsHashMap(getArguments()));
}
javaClient = null;
}
/**
* Sets the Classname attribute of the JavaConfig object
*
*@param classname The new Classname value
*/
public void setClassname(String classname)
{
this.setProperty(CLASSNAME, classname);
}
/**
* Gets the Classname attribute of the JavaConfig object
*
*@return The Classname value
*/
public String getClassname()
{
return this.getPropertyAsString(CLASSNAME);
}
/**
* Performs a test sample.
*
* The <code>sample()</code> method retrieves the reference to the
* Java client and calls its <code>runTest()</code> method.
* @see Sampler#sample()
* @see JavaSamplerClient#runTest()
*
* @return test SampleResult
*/
public SampleResult sample(Entry entry) {
return createJavaClient().runTest(createArgumentsHashMap(getArguments()));
}
public HashMap createArgumentsHashMap(Arguments args)
{
HashMap newArgs = new HashMap();
Iterator iter = args.iterator();
while (iter.hasNext())
{
Argument item = (Argument)iter.next();
newArgs.put(item.getName(),item.getValue());
}
return newArgs;
}
/**
* Returns reference to <code>JavaSamplerClient</code>.
*
* The <code>createJavaClient()</code> method uses reflection
* to create an instance of the specified Java protocol client.
* If the class can not be found, the method returns a reference
* to <code>this</code> object.
*
* @return JavaSamplerClient reference.
*/
public JavaSamplerClient createJavaClient() {
if (javaClient == null) {
try {
Class javaClass = Class.forName(getClassname().trim());
java.lang.reflect.Constructor[] constructors = javaClass.getConstructors();
for (int i = 0; i < constructors.length; i++) {
Class[] params = constructors[i].getParameterTypes();
if (params.length == 0) {
Object[] args = {};
javaClient = (JavaSamplerClient)constructors[i].newInstance(args);
javaClient.setupTest(createArgumentsHashMap(getArguments()));
if (cat.isDebugEnabled()) {
cat.debug(whoAmI() + "\tCreated:\t"+ getClassname()+ "@" + Integer.toHexString(javaClient.hashCode()));
}
break;
}
}
} catch (Exception e) {
cat.error(whoAmI() + "\tException creating: " + getClassname(),e);
javaClient = this;
}
}
return javaClient;
}
/**
* Retrieves reference to JavaSamplerClient.
*
* Convience method used to check for null reference without
* actually creating a JavaSamplerClient
*
* @return reference to JavaSamplerClient
*/
public JavaSamplerClient retrieveJavaClient() {
return javaClient;
}
/**
* Provide default setupTest() implementation for error conditions.
* @see JavaSamplerClient#setupTest()
*/
public void setupTest(HashMap arguments) {
cat.debug(whoAmI() + "\tsetupTest");
}
/**
* Provide default teardownTest() implementation for error conditions.
* @see JavaSamplerClient#teardownTest()
*/
public void teardownTest(HashMap arguments) {
cat.debug(whoAmI() + "\tteardownTest");
javaClient = null;
}
/**
* Return SampleResult with data on error.
* @see JavaSamplerClient#runTest()
*/
public SampleResult runTest(HashMap arguments) {
cat.debug(whoAmI() + "\trunTest");
Thread.yield();
SampleResult results = new SampleResult();
results.setTime(0);
results.setSuccessful(false);
results.setResponseData(new String("Class not found: " + getClassname()).getBytes());
results.setSampleLabel("ERROR: " + getClassname());
return results;
}
private String whoAmI() {
StringBuffer sb = new StringBuffer();
sb.append(Thread.currentThread().getName());
sb.append("@");
sb.append(Integer.toHexString(hashCode()));
return sb.toString();
}
}
1.1 jakarta-jmeter/src_1/org/apache/jmeter/protocol/java/sampler/JavaSamplerClient.java
Index: JavaSamplerClient.java
===================================================================
/*
* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache JMeter" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* "Apache JMeter", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.jmeter.protocol.java.sampler;
import java.util.HashMap;
import org.apache.jmeter.samplers.SampleResult;
/**
*<code>JavaSamplerClient</code> provides a standard
* interface to execute external Java programs within JMeter.
*
* @author Brad Kiewel
* @version $Revision: 1.1 $
*/
public interface JavaSamplerClient {
/**
* Setup any resources need for each test run.
*/
public void setupTest(HashMap arguments);
/**
* Perform any clean up at the end of a test run.
*/
public void teardownTest(HashMap arguments);
/**
* Performs test for each iteration.
*
* The <code>runTest()</code> method performs one test interation
* each time it is called. The method returns a SampleResult object.
* The method should, has a minimum, place the response time in
* the SampleResult object.
*
* @return SampleResult object with results of the test run.
*/
public SampleResult runTest(HashMap arguments);
}
1.1 jakarta-jmeter/src_1/org/apache/jmeter/protocol/java/test/SleepTest.java
Index: SleepTest.java
===================================================================
/*
* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache JMeter" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* "Apache JMeter", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.jmeter.protocol.java.test;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerClient;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.log4j.Category;
/**
* The <code>SleepTest</code> class is a simple example class for a
* JMeter Java protocol client. The class implements the
* <code>JavaSamplerClient</code> interface.
*/
public class SleepTest implements JavaSamplerClient {
/** Define category for logging */
private static Category cat = Category.getInstance(SleepTest.class);
/** */
private long sleepTime = 1000;
/** */
private long sleepMask = 0x3ff;
/**
* Default constructor for <code>SleepTest</code>.
*
* {@link org.apache.jmeter.protocol.java.config.JavaConfig JavaConfig}
* uses the default constructor to instantiate an instance of
* the client class.
*/
public SleepTest() {
cat.debug(whoAmI() + "\tConstruct");
}
/**
* @see JavaSamplerClient#setupTest()
*
* setupTest() provides a way to do any initialization that may be required.
*/
public void setupTest(HashMap arguments) {
cat.debug(whoAmI() + "\tsetupTest()");
Iterator argsIt = arguments.entrySet().iterator();
while (argsIt.hasNext()) {
Entry entry = (Entry)argsIt.next();
cat.debug(entry.getKey().toString() + "=" + entry.getValue().toString());
}
if (arguments.containsKey("SleepTime")) {
setSleepTime(arguments.get("SleepTime"));
}
if (arguments.containsKey("SleepMask")) {
setSleepMask(arguments.get("SleepMask"));
}
}
/**
* @see JavaSamplerClient#teardownTest()
*
* teardownTest() provides a way to do any clean-up that may be required.
*/
public void teardownTest(HashMap arguments) {
cat.debug(whoAmI() + "\tteardownTest()");
Iterator argsIt = arguments.entrySet().iterator();
while (argsIt.hasNext()) {
Entry entry = (Entry)argsIt.next();
cat.debug(entry.getKey().toString() + "=" + entry.getValue().toString());
}
}
/**
* @see JavaSamplerClient#runTest()
*
* runTest() is called for each sample. The method returns a
* <code>SampleResult</code> object. The method must calculate
* how long the sample took to execute.
*/
public SampleResult runTest(HashMap arguments) {
SampleResult results = new SampleResult();
try {
//
// Generate a random value using the current time.
//
long ct = System.currentTimeMillis();
ct %= getSleepMask();
//
// Record sample start time.
//
long start = System.currentTimeMillis();
//
// Execute the sample. In this case sleep for the
// specified time.
//
Thread.sleep(getSleepTime() + ct);
//
// Record end time and populate the results.
//
long end = System.currentTimeMillis();
results.setTime(end - start);
results.setSuccessful(true);
results.setSampleLabel("Sleep Test: time = "+getSleepTime() + ct);
} catch (Exception e) {
}
if (cat.isDebugEnabled()) {
cat.debug(whoAmI() + "\trunTest()" + "\tTime:\t" + results.getTime());
Iterator argsIt = arguments.entrySet().iterator();
while (argsIt.hasNext()) {
Entry entry = (Entry)argsIt.next();
cat.debug(entry.getKey().toString() + "=" + entry.getValue().toString());
}
}
return results;
}
private String whoAmI() {
StringBuffer sb = new StringBuffer();
sb.append(Thread.currentThread().toString());
sb.append("@");
sb.append(Integer.toHexString(hashCode()));
return sb.toString();
}
private long getSleepTime() {return sleepTime;}
private long getSleepMask() {return sleepMask;}
private void setSleepTime(Object arg) {
try {
sleepTime = Long.parseLong((String)arg);
} catch (Exception e) {
cat.debug("Exception getting sleepTime:\t",e);
sleepTime = 1000l;
}
}
private void setSleepMask(Object arg) {
try {
sleepMask = Long.parseLong((String)arg);
} catch (Exception e) {
cat.debug("Exception getting sleepMask:\t",e);
sleepMask = 0x3ff;
}
}
}
1.4 +3 -17 jakarta-jmeter/src_1/org/apache/jmeter/protocol/jdbc/config/gui/DbConfigGui.java
Index: DbConfigGui.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/jdbc/config/gui/DbConfigGui.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DbConfigGui.java 29 Apr 2002 17:08:12 -0000 1.3
+++ DbConfigGui.java 21 May 2002 03:36:44 -0000 1.4
@@ -71,7 +71,7 @@
* Title: Description: Copyright: Copyright (c) 2001 Company:
*
*@author Michael Stover
- *@created $Date: 2002/04/29 17:08:12 $
+ *@created $Date: 2002/05/21 03:36:44 $
*@version 1.0
***************************************/
@@ -85,7 +85,6 @@
private JTextField driverField = new JTextField(20);
private boolean displayName;
- private NamePanel namePanel;
private LoginConfigGui loginGui;
/****************************************
@@ -104,22 +103,9 @@
public DbConfigGui(boolean displayName)
{
this.displayName = displayName;
- namePanel = new NamePanel();
- setName(getStaticLabel());
init();
}
- public void setName(String name)
- {
- super.setName(name);
- namePanel.setName(name);
- }
-
- public String getName()
- {
- return namePanel.getName();
- }
-
public String getStaticLabel()
{
return JMeterUtils.getResString("database_login_title");
@@ -137,7 +123,7 @@
public void configure(TestElement element)
{
- setName((String)element.getProperty(TestElement.NAME));
+ super.configure(element);
urlField.setText((String)element.getProperty(JDBCSampler.URL));
driverField.setText((String)element.getProperty(JDBCSampler.DRIVER));
loginGui.configure(element);
@@ -164,7 +150,7 @@
mainPanel.add(panelTitleLabel);
// NAME
- mainPanel.add(namePanel);
+ mainPanel.add(getNamePanel());
// URL and JDBC PROPS
JPanel urlJDBCPanel = new JPanel();
1.4 +3 -7 jakarta-jmeter/src_1/org/apache/jmeter/protocol/jdbc/config/gui/PoolConfigGui.java
Index: PoolConfigGui.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/jdbc/config/gui/PoolConfigGui.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- PoolConfigGui.java 29 Apr 2002 17:08:12 -0000 1.3
+++ PoolConfigGui.java 21 May 2002 03:36:44 -0000 1.4
@@ -70,7 +70,7 @@
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
*
*@author Michael Stover
- *@created $Date: 2002/04/29 17:08:12 $
+ *@created $Date: 2002/05/21 03:36:44 $
*@version 1.0
***************************************/
@@ -85,8 +85,6 @@
private boolean displayName;
- private NamePanel namePanel;
-
/****************************************
* !ToDo (Constructor description)
***************************************/
@@ -103,14 +101,12 @@
public PoolConfigGui(boolean displayName)
{
this.displayName = displayName;
- namePanel = new NamePanel();
- setName(getStaticLabel());
init();
}
public void configure(TestElement element)
{
- setName(element.getProperty(TestElement.NAME).toString());
+ super.configure(element);
connField.setText(element.getProperty(JDBCSampler.CONNECTIONS).toString());
maxUseField.setText(element.getProperty(JDBCSampler.MAXUSE).toString());
}
@@ -200,7 +196,7 @@
mainPanel.add(panelTitleLabel);
// NAME
- mainPanel.add(namePanel);
+ mainPanel.add(getNamePanel());
// CONNECTION POOL
JPanel connPoolPanel = new JPanel();
1.4 +3 -6 jakarta-jmeter/src_1/org/apache/jmeter/protocol/jdbc/config/gui/SqlConfigGui.java
Index: SqlConfigGui.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/jdbc/config/gui/SqlConfigGui.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- SqlConfigGui.java 29 Apr 2002 17:08:12 -0000 1.3
+++ SqlConfigGui.java 21 May 2002 03:36:44 -0000 1.4
@@ -70,14 +70,13 @@
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
*
*@author Michael Stover
- *@created $Date: 2002/04/29 17:08:12 $
+ *@created $Date: 2002/05/21 03:36:44 $
*@version 1.0
***************************************/
public class SqlConfigGui extends AbstractConfigGui
{
private JTextField sqlField = new JTextField(30);
- private NamePanel namePanel;
private boolean displayName;
/****************************************
@@ -96,8 +95,6 @@
public SqlConfigGui(boolean displayName)
{
this.displayName = displayName;
- namePanel = new NamePanel();
- setName(getStaticLabel());
init();
}
@@ -109,7 +106,7 @@
public void configure(TestElement element)
{
sqlField.setText(element.getProperty(JDBCSampler.QUERY).toString());
- setName(element.getProperty(TestElement.NAME).toString());
+ super.configure(element);
}
public TestElement createTestElement()
@@ -141,7 +138,7 @@
mainPanel.add(panelTitleLabel);
// NAME
- mainPanel.add(namePanel);
+ mainPanel.add(getNamePanel());
// SQL
mainPanel.add(createSqlPanel());
1.4 +18 -4 jakarta-jmeter/src_1/org/apache/jmeter/reporters/FileReporter.java
Index: FileReporter.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/reporters/FileReporter.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- FileReporter.java 29 Apr 2002 17:08:13 -0000 1.3
+++ FileReporter.java 21 May 2002 03:36:44 -0000 1.4
@@ -87,16 +87,30 @@
String line;
while ((line = reader.readLine()) != null) {
try {
- if (line.startsWith("#") || line.trim().length() == 0) continue;
- StringTokenizer st = new StringTokenizer(line, " ,");
- String key = (String) st.nextToken();
- Integer value = new Integer((String) st.nextToken());
+ line.trim();
+ if (line.startsWith("#") || line.length() == 0)
+ continue;
+ int splitter = line.lastIndexOf(' ');
+ String key = line.substring(0, splitter);
+ int len = line.length() - 1;
+ Integer value = null;
+ if (line.charAt(len) == ',') {
+ value = new Integer(
+ line.substring(splitter + 1, len));
+ } else {
+ value = new Integer(
+ line.substring(splitter + 1));
+ }
Vector v = getData(key);
if (v == null) {
v = new Vector();
this.data.put(key, v);
}
v.addElement(value);
+ } catch (NumberFormatException nfe) {
+ System.out.println(nfe.toString());
+ System.out.println("This line could not be parsed: "
+ + line);
} catch (Exception e) {
System.out.println(e.toString());
}
1.10 +7 -1 jakarta-jmeter/src_1/org/apache/jmeter/resources/messages.properties
Index: messages.properties
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/resources/messages.properties,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- messages.properties 20 May 2002 13:05:51 -0000 1.9
+++ messages.properties 21 May 2002 03:36:44 -0000 1.10
@@ -220,4 +220,10 @@
insert_before=Insert Before
insert_after=Insert After
add_as_child=Add as Child
-cancel=Cancel
\ No newline at end of file
+cancel=Cancel
+protocol_java_classname=Classname:
+protocol_java_config_tile=Configure Java Sample
+protocol_java_border=Java class
+protocol_java_test_title=Java Testing
+java_request=Java Request
+java_request_defaults=Java Request Defaults
\ No newline at end of file
1.9 +7 -1 jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_ja.properties
Index: messages_ja.properties
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_ja.properties,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- messages_ja.properties 20 May 2002 13:05:51 -0000 1.8
+++ messages_ja.properties 21 May 2002 03:36:44 -0000 1.9
@@ -214,4 +214,10 @@
insert_before=Insert Before
insert_after=Insert After
add_as_child=Add as Child
-cancel=Cancel
\ No newline at end of file
+cancel=Cancel
+protocol_java_classname=Classname:
+protocol_java_config_tile=Configure Java Sample
+protocol_java_border=Java class
+protocol_java_test_title=Java Testing
+java_request=Java Request
+java_request_defaults=Java Request Defaults
\ No newline at end of file
1.9 +7 -1 jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_no.properties
Index: messages_no.properties
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_no.properties,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- messages_no.properties 20 May 2002 13:05:51 -0000 1.8
+++ messages_no.properties 21 May 2002 03:36:44 -0000 1.9
@@ -205,4 +205,10 @@
insert_before=Insert Before
insert_after=Insert After
add_as_child=Add as Child
-cancel=Cancel
\ No newline at end of file
+cancel=Cancel
+protocol_java_classname=Classname:
+protocol_java_config_tile=Configure Java Sample
+protocol_java_border=Java class
+protocol_java_test_title=Java Testing
+java_request=Java Request
+java_request_defaults=Java Request Defaults
\ No newline at end of file
1.5 +5 -6 jakarta-jmeter/src_1/org/apache/jmeter/threads/TestCompiler.java
Index: TestCompiler.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/threads/TestCompiler.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- TestCompiler.java 2 May 2002 22:55:00 -0000 1.4
+++ TestCompiler.java 21 May 2002 03:36:44 -0000 1.5
@@ -29,7 +29,7 @@
* Company: </p>
*
*@author unascribed
- *@created $Date: 2002/05/02 22:55:00 $
+ *@created $Date: 2002/05/21 03:36:44 $
*@version 1.0
***************************************/
@@ -135,7 +135,6 @@
ObjectPair pair = new ObjectPair(child, stack.getLast());
if(!pairing.contains(pair))
{
- System.out.println("Adding "+child+" to "+stack.getLast());
((TestElement)stack.getLast()).addTestElement(child);
pairing.add(pair);
}
@@ -165,8 +164,8 @@
* !ToDo (Class description)
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/02 22:55:00 $
- *@version $Revision: 1.4 $
+ *@created $Date: 2002/05/21 03:36:44 $
+ *@version $Revision: 1.5 $
***************************************/
public static class Test extends junit.framework.TestCase
{
@@ -213,8 +212,8 @@
* !ToDo (Class description)
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/02 22:55:00 $
- *@version $Revision: 1.4 $
+ *@created $Date: 2002/05/21 03:36:44 $
+ *@version $Revision: 1.5 $
***************************************/
private class ObjectPair
{
1.4 +12 -12 jakarta-jmeter/src_1/org/apache/jmeter/threads/ThreadGroup.java
Index: ThreadGroup.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/threads/ThreadGroup.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ThreadGroup.java 29 Apr 2002 17:08:14 -0000 1.3
+++ ThreadGroup.java 21 May 2002 03:36:44 -0000 1.4
@@ -53,33 +53,33 @@
* <http://www.apache.org/>.
*/
package org.apache.jmeter.threads;
-import java.io.*;
-import java.util.*;
-import org.apache.jmeter.config.ConfigElement;
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
import org.apache.jmeter.control.Controller;
import org.apache.jmeter.control.LoopController;
-import org.apache.jmeter.gui.*;
-import org.apache.jmeter.gui.util.MenuFactory;
import org.apache.jmeter.samplers.RemoteSampleListener;
import org.apache.jmeter.samplers.SampleEvent;
import org.apache.jmeter.samplers.SampleListener;
+import org.apache.jmeter.samplers.Sampler;
import org.apache.jmeter.testelement.AbstractTestElement;
+import org.apache.jmeter.testelement.PerThreadClonable;
import org.apache.jmeter.testelement.TestElement;
-import org.apache.jmeter.timers.Timer;
-import org.apache.jmeter.util.JMeterUtils;
-import org.apache.jmeter.samplers.Sampler;
/****************************************
* Title: Apache JMeter Description: Copyright: Copyright (c) 2000 Company:
* Apache Foundation
*
*@author Michael Stover
- *@created $Date: 2002/04/29 17:08:14 $
+ *@created $Date: 2002/05/21 03:36:44 $
*@version 1.0
***************************************/
public class ThreadGroup extends AbstractTestElement implements SampleListener,
- Serializable,Controller
+ Serializable,Controller,PerThreadClonable
{
/****************************************
@@ -256,8 +256,8 @@
* issues.
*
*@author $Author: mstover1 $
- *@created $Date: 2002/04/29 17:08:14 $
- *@version $Revision: 1.3 $
+ *@created $Date: 2002/05/21 03:36:44 $
+ *@version $Revision: 1.4 $
***************************************/
private class SampleQueue implements Runnable, Serializable
{
1.5 +0 -4 jakarta-jmeter/src_1/org/apache/jmeter/util/SearchByClass.java
Index: SearchByClass.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/util/SearchByClass.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- SearchByClass.java 1 May 2002 23:48:53 -0000 1.4
+++ SearchByClass.java 21 May 2002 03:36:44 -0000 1.5
@@ -29,10 +29,6 @@
tree.set(node, subTree);
subTrees.put(node, tree);
}
- else
- {
- System.out.println(" - NOT assignable from "+searchClass);
- }
}
public static class Test extends junit.framework.TestCase {
public Test(String name) {
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>