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/10/22 01:59:20 UTC

svn commit: r586976 - /jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java

Author: sebb
Date: Sun Oct 21 16:59:19 2007
New Revision: 586976

URL: http://svn.apache.org/viewvc?rev=586976&view=rev
Log:
Add -G option: send properties to remote servers

Modified:
    jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java

Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java?rev=586976&r1=586975&r2=586976&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java Sun Oct 21 16:59:19 2007
@@ -80,7 +80,7 @@
 import com.thoughtworks.xstream.converters.ConversionException;
 
 /**
- * @author mstover
+ * Main JMeter class; processes options and starts the GUI, non-GUI or server as appropriate.
  */
 public class JMeter implements JMeterPlugin {
 
@@ -108,6 +108,7 @@
     private static final int VERSION_OPT        = 'v';// $NON-NLS-1$
 
     private static final int SYSTEM_PROPERTY    = 'D';// $NON-NLS-1$
+    private static final int JMETER_GLOBAL_PROP = 'G';// $NON-NLS-1$
 	private static final int PROXY_HOST         = 'H';// $NON-NLS-1$
     private static final int JMETER_PROPERTY    = 'J';// $NON-NLS-1$
     private static final int LOGLEVEL           = 'L';// $NON-NLS-1$
@@ -166,6 +167,9 @@
 			new CLOptionDescriptor("jmeterproperty", CLOptionDescriptor.DUPLICATES_ALLOWED
 					| CLOptionDescriptor.ARGUMENTS_REQUIRED_2, JMETER_PROPERTY, 
                     "Define additional JMeter properties"),
+			new CLOptionDescriptor("globalproperty", CLOptionDescriptor.DUPLICATES_ALLOWED
+					| CLOptionDescriptor.ARGUMENTS_REQUIRED_2, JMETER_GLOBAL_PROP, 
+                    "Define Global properties (sent to servers)"),
 			new CLOptionDescriptor("systemproperty", CLOptionDescriptor.DUPLICATES_ALLOWED
 					| CLOptionDescriptor.ARGUMENTS_REQUIRED_2, SYSTEM_PROPERTY, 
                     "Define additional system properties"),
@@ -189,6 +193,8 @@
 	//transient boolean testEnded = false;
 
 	private JMeter parent;
+	
+	private Properties remoteProps; // Properties to be sent to remote servers
 
 	/**
 	 * Starts up JMeter in GUI mode
@@ -472,6 +478,7 @@
 		}
 
 		Properties jmeterProps = JMeterUtils.getJMeterProperties();
+		remoteProps = new Properties();
 
 		// Add local JMeter properties, if the file is found
 		String userProp = JMeterUtils.getPropDefault("user.properties",""); //$NON-NLS-1$
@@ -574,6 +581,12 @@
 					jmeterProps.remove(name);
 				}
 				break;
+			case JMETER_GLOBAL_PROP:
+				if (value.length() > 0) { // Set it
+					log.info("Setting Global property: " + name + "=" + value);
+					remoteProps.setProperty(name, value);
+				}
+				break;
 			case LOGLEVEL:
 				if (value.length() > 0) { // Set category
 					log.info("LogLevel: " + name + "=" + value);
@@ -609,7 +622,8 @@
 		} catch (InternalError e){
 			// ignored
 		}
-		JMeter driver = new JMeter();
+		JMeter driver = new JMeter();// TODO - why does it create a new instance?
+		driver.remoteProps = this.remoteProps;
 		driver.parent = this;
 		PluginManager.install(this, false);
 
@@ -790,6 +804,7 @@
 			System.exit(1);
 		}
 		engine.configure(testTree);
+		engine.setProperties(remoteProps);
 		return engine;
 	}
 



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org